Yazlm Mhendislii Temel Sreler YAZILIM BAKIMI ENFYL851502 Do
Yazılım Mühendisliği Temel Süreçler – YAZILIM BAKIMI ENFYL-851502 Doç. Dr. Recep ERYİĞİT 1
HEDEFLER üBakım Süreci üSistem Dokümantasyonu üProgram Geliştirme Dinamikleri üBakım Masrafları üBakım Ölçümü 2
Bakım üKullanıma alınmış programın değiştirilmesi üBakım yönetimi, değişim sürecinin planlanması ve gerçeklenmesi ile ilgilidir. 3
üSistemin gereksinimleri, zaman geçtiği için sistem geliştirilirken muhtemelen değişecektir. Dolayısıyla, teslim edilen bir sistem gereksinimleri karşılamayacak! üSistemler çevrelerine sıkıya bağlıdırlar. Bir sistem bir ortamda kurulduğunda o ortamı değiştirir ve bu nedenle sistem gereksinimlerini değiştirir. üSistemin kullanıcı gereksinimlerini karşılaması isteniyorsa bakım yapılması zorunludur. 4
Bakım Türleri İyileştirme (perfective) Bakımı üBir sistemi, gereksinimlerini daha etkili bir şekilde karşılamak için değiştirme Uyarlama (Adaptive) Bakımı üBir sistemi yeni gereksinimleri karşılamak üzere değiştirme Düzeltici (corrective) Bakım üBir sistemi, eksikliklerin gereksinimlerine uygun şekilde düzeltmek için değiştirme 5
Bakım Oranları Düzeltici %17 Uyarlama %18 İyileştirme %65 6
Sistemin Geliştirilmesi Sisteme geliştirildikten sonra sisteme yeni işlevsellik ekleme genellikle sistem geliştirilme aşamasına göre fazla maliyet gerektirir. üBakım personeli çoğu zaman deneyimsizdir ve uygulama alanına yabancıdır. üProgramlar kötü yapılandırılmış ve anlaşılması zor olabilir üSistemin karmaşıklığı, etki değerlendirmesini zorlaştırdığı için değişiklikler yeni hatalar getirebilir üSürekli değişimden dolayı yapı bozulabilir üProgramı açıklayan belgeler mevcut olmayabilir 7
Bakım Yönetimi üZorlayıcı ve yaratıcı olarak görülmeyen bakım, geliştirme kadrosunda zayıf bir imaja sahiptir. üYazılım muhafaza edildiğinde bakım maliyetleri artar mı? üSürdürülebilecek yazılım miktarı zamanla artar üYetersiz yapılandırma yönetimi sıklıkla bir sistemin farklı gösterimlerinin adım dışı olduğu anlamına gelir 8
üBakım, müşterilerin değişim talepleri veya pazarlama gereksinimleri tarafından tetiklenir üDeğişiklikler normalde sistemin yeni bir sürümünde toplanır ve uygulanır üProgramlar bazen eksiksiz bir süreç yinelemesi yapılmaksızın onarılmaya ihtiyaç duyarlar, ancak dokümantasyon ve programların adım uygulanmasına yol açtığı için bu tehlikelidir (düzeltici ve uyarlama bakımları) 9
BAKIM SÜRECİ Değişiklik İsteği Etki Analizleri Sistem değişim planı İyileştirici Bakım Uyarlama Bakımı Değişikliğin Yapılması Değişimin uygulanması Düzeltici Bakım 10
DEĞİŞİM SÜREÇLERİ Arıza onarım süreci Değişiklik İsteği Kaynak kod Analizi Değişiklik Analizi Kaynak kodda düzeltme Bakımı yapılmış sistem teslimi Gereksinim Güncelleme Yazılım Geliştirme Yinelemeli geliştirme süreci 11
SİSTEM BELGELERİ üGereksinim Belgesi üProgram Tasarım Belgeleri üKaynak Kodu Listeleri üTest Planları ve Geçerlilik Raporları üSistem Bakım Kılavuzu 12
BELGE ÜRETİMİ üOkuyucuyu daha ayrıntılı teknik tanımlamalara yönlendiren genel bakışları içeren dokümanlar dökümanlar hazırlayın üKaliteli, okunabilir el kitapları hazırlayın - 20 yıl sürmelidirler üMümkün olduğunca araç tarafından üretilen belgeleri kullanın. 13
BAKIM ÜCRETLERİ üGenellikle geliştirme maliyetlerinden daha büyüktür (uygulamaya bağlı olarak 2 * ila 100 *) üHem teknik hem de teknik olmayan faktörlerden etkilenir üYazılım devam ettikçe artar. Bakım, yazılım yapısını bozar, bu nedenle daha fazla bakım yapılmasını zorlaştırır. üYaşlanma yazılım destek ücretini arttırır mı? (Örneğin, eski diller, derleyiciler vb. ) 14
Geliştirme/Bakım Ücretleri 15
Bakım Ücret Faktörleri üModül bağımsızlığı Bir modülü diğer modülleri etkilemeksizin değiştirmek mümkün olmalıdır üProgramlama dili Üst düzey bir dilde geliştirilmiş programların bakımı daha kolaydır üProgramlama stili İyi yapılandırılmış programların bakımı kolaydır üProgram doğrulama ve test İyi test sonuçlarına sahip programlar daha az düzeltici bakıma ihtiyaç duyarlar. 16
Bakım Ücret Faktörleri üBelgeleme İyi belgeler, programların anlaşılmasını kolaylaştırır üKonfigürasyon yönetimi İyi konfigürasyon yönetimi, programlar ile belgeler arasındaki bağlantıların korunduğu anlamına gelir. üUygulama alanı İyi anlaşılmış uygulama alanlarında bakım daha kolaydır üPersonel istikrarı üGeliştirmede çalışan personelin bakıma aktarımı veya bakım süresince personel istikrarı bakım ücretlerini azaltır. 17
Bakım Ücret Faktörleri üProgram yaşı Daha eski program, daha pahalı (genellikle) üDış ortam Bir program dış ortama bağımlıysa, çevresel değişiklikleri yansıtacak şekilde değiştirilmesi gerekebilir üDonanım istikrarı Stabil donanım için tasarlanan programlar, donanım değişiklikleri gibi değişime ihtiyaç duymazlar 18
Bakım Metrikleri üKontrol karmaşıklığı: Programındaki koşullu ifadeleri inceleyerek ölçülebilir üVeri karmaşıklığı: Veri yapıları ve bileşen ara yüzlerinin karmaşıklığı. üTanımlayıcı adlarının uzunluğu: Daha uzun isimleri ima eder mi? Okunabilirlik üProgram yorumları: Belki daha fazla yorum? Daha kolay bakım demek 19
Bakım Metrikleri üKullanıcı etkileşimi: Programın fazla kullanıcı Girdi / Çıktı gerektirmesi değişiklik istek miktarını arttırır. üHız ve yer gereksinimleri: Geliştirilmesi zor, bakımı daha zor 20
- Slides: 20