Yazılımın Kalite Etkenleri
Yazılımın kalitesinin garanti altına alınması ve iyileşme sağlanabilmesi , sürekli ölçümleme ve iyileştirme ile olabilir. Gerekli iyileştirmeler ölçümleme sonucu elde edilen bilgilere dayanılarak yapılabilir. Ölçümleme yapılmadan hazırlanan eylem planları kesinlikle gerekçesiz ve gelişigüzel olacaktır.
Yazılımda Kalite
Yazılım endüstrisindeki gelişmeler, yazılım geliştirme sürecini etkileyerek bu süreci proje yönetimi çerçevesinde geliştirilen faaliyetler haline getirmiştir. Günümüzde artık küçük ölçekli yazılımlar bile sadece bir kişinin değil, iyi yönetilen bir yazılım ekibinin birlikte gerçekleştirdiği, binlerce kod satırından meydana gelen projelerdir. Yazılım projelerinin gittikçe büyümesi, karmaşıklaşması ve boyutlarının sürekli artması yazılımın kalitesini de etkilemekte, bakım maliyetlerinin zaman ve çaba olarak artması problemlerini de beraberinde getirmektedir.
- Doğruluk
- Güvenilirlik
- Verimlilik
- Güvenlik(Bütünlük)
- Kullanılabilirlik
- Hata bulma kolaylığı
- Esneklik
- Test kolaylığı
- Taşınabilirlilik
- Tekrar kullanılabilirlik
- Birlikte çalışabilirlik
Yazılım Kalite Metrikleri
Code Coverage
Yazılan testlerin kodun ne kadarını kapsadığını ölçer. Code coverage için %80 gibi bir oran oldukça iyi görünse de aslında az sayıda basit test yazarak dahi bu orana ulaşılabildiği gözlemlendiği için hedeflenen oranın %100 olması önerilir.
Cohesion
Bu ölçüm sınıfın sorumlu olduğu işlerin kendi içindeki uyumluluğunu ölçer. Her sınıfın tek bir sorumluluğu olmalıdır.Uyumluluk LCOM (Lack of Cohesionin Methods) adı verilen ölçüt ile bulunur. Değişik türleri bulunan LCOM sınıfta yer alan alanlara metodların ortak erişim sayısını temel alan bir ölçümdür. LCOM3 için bu değer 0 ile 2 arasında değişir ve 1'in üzerindeyse sınıf bölünmelidir.
Specialization Index (SIX)
Kod karmaşıklığını ve bakım maliyetlerini arttırmasından dolayı overload edilmiş fonksiyon sayısının mümkün olduğunca az olması istenir. Bundan dolayı SIX = (Overload Edilmiş Metot Sayısı * DIT) / NOM şeklinde hesaplanır. 1.2 (veya %120)'ye kadar normal kabul edilir.
Sınıfın Methot Sayısı
İdeal değerler 6 ile 20 arasında değişse de 40'ın üzerinde sınıf kesinlikle bölünmelidir. Ancak tek başına bir gösterge olmaktan çok LCOM ile birlikte değerlendirilmelidir.
Sınıfın Tetiklediği Metot Sayısı ( RFC )
Bir sınıftan bir nesnenin metotları çağrılması durumunda, bu nesnenin tetikleyebileceği tüm metotların sayısı RFC değerini verir.Kısaca bir sınıfta yazılan ve çağrılan toplam metot sayısıdır. Bu metrik kullanılarak yazılımın anlaşılabilirlik, dayanıklılık, karmaşıklık, test edilebilirlik gibi özelliklerini ölçmek söz konusudur.
Alt Sınıf Sayısı ( NOC )
Bir sınfıtan direk olarak türetilmiş alt sınıfların sayısını gösteren metriktir. Eğer alt sınıf sayısı fazla ise yeniden kullanım yüksek, hata riski fazladır. Bu metrik ile yazılımın verimlilik,yeniden kullanılabilirlik, test edilebilirlik gibi özelliklerini ölçmek mümkündür.
Verimlilik
Yazılımın ihtiyaç duyulan ölçüde yeterli performansla çalışabilme becerisi olarak tanımlanmaktadır. Zaman ve kaynak kullanımı konuları bu sınıf altında incelenmektedir.
Taşınabilirlik
Yazılımın çalıştığı ortam değişikliklerine uyum sağlayabilme yeteneği olarak tanımlanmaktadır. Adaptasyon yeteneği, yüklenebilirlik özellikleri, ortam değiştirme imkânı ve diğer yazılımlarla uyum konuları bu sınıf altında incelenmektedir.
Güvenilirlik
Yazılımın düzgün çalışma halini muhafaza edebilme becerisi olarak tanımlanmaktadır. Olgunluk, hata toleransı ve geri kurtarma konuları bu sınıf altında incelenmektedir.
8.Kullanılabilirlik
Yazılımın kullanım kolaylığı sağlayan yetenekleri olarak tanımlanmaktadır. Öğrenebilme, anlaşılabilirlik, işletilebilirlik ve kullanıcı etkileşimi konuları bu sınıf altında incelenmektedir.