Yazılım Kalite Metrikleri
Yazılım Kalite Metrikleri
Herhangi bir yazılımın çeşitli
yönlerden belirli ölçütlere dayanarak değerlendirilmesi olarak tanımlanabilir.
Bu değerlendirmeler sonucu bir değer elde ederiz, bu değer bizim o yazılım
hakkında, yazılımı kullanmadan ön değerlendirme yapıp gözden geçirebilmemize
olanak sağlar. Özellikle karmaşık yapılarda bu değerlerin anlamlarından
sonuçlar çıkarabilme imkanı sunar.
Peki ya bir yazılım için
kalite ölçütleri nelerdir?
·
Maliyet
·
Zaman Test
·
Bakım
·
Tasarım Düzeni
·
Kullanım Kolaylığı
·
Anlaşılabilirlik
Nesneye yönelimli tasarım
kalitesini değerlendirmek için hiyerarşik bir model tanımlanabilir.Bu modelde sınıfların,
nesnelerin ve bunlar arasındaki ilişkilerin yapısal ve davranışsal tasarım
özellikleri nesne yönelimli tasarım metrikleri kullanılarak
değerlendirilmektedir. Nesne yönelimli tasarım metrikleri, geliştirilen
yazılımların, etkinlik/verimlilik, karmaşıklık, anlaşılırlık, yeniden
kullanılabilirlik, test edilebilirlik ve dayanıklılık gibi kalite özellik
düzeylerinin ölçülmesinde kullanılır
Peki neden ölçüyoruz ?
·
Hata bulma
·
Tersine mühendislik
·
Efor tahmini
·
Bileşen hata sınıflandırması
·
Bakım yapılabilirlik
·
Kalite
·
Kalite tahmini
·
İstatistiksel süreç kontrolü
·
Test durumu seçimi
·
Test edilebilirlik değerlendirmesi
·
Tasarım hatası tespiti
Peki methodları nelerdir ?
Büyüklük
(Size)
LOC
(SLOC,CLOC,BLoC, C&SLOC) Volume
Karmaşıklık
(Complexity)
Çevrimsel
Karmaşıkık (Cyclomatic Complexity), Mantıksal Yoğunluk (Logical Density)
Yapısallık
(Structure)
Esas Karmaşıklık
(Essential Complexity)
Modülerlik
(Modularity)
Entegrasyon
Karmaşıklığı(Integration Complexity)
Nesneye
Yönelik (Object Oriented)
Bağımlı Sınıf
Sayısı (Coupling Between Objects), Sınıf İçindeki Metod Sayısı (Weighted
Methods/Class), Türetilmiş Alt Sınıf Sayısı (Number of Children)...
Bakım
Yapılabilirlik (Maintainability)
3MI, 4MI
Gereksiz
Kod (Redundant Code)
Ölü Kod/Veri
Sayısı (Dead code/Data counts)
İşlev
Noktaları (Function Points)
İdeal olarak
orjinal dökümantasyondan üretilir ya da son çare olarak geri gelme yöntemiyle
kullanılabilir.
Gramer
(Grammar)
GOTO, ALTER, I/O,
IF, EVALUATE, max, IF/EVALUATE’de bulunan koşulları sayıları
Kod
Tekrarları (Duplicate Code)
Kopyala/Yapıştır
ile üretile kod satır sayıları
Chidamber & Kemerer Metrik Kümesi
İçerisinde altı adet metrik değeri
barındırır bunlar aşağıdaki gibi açıklanabilir:
1.Sınıfın Ağrılıklı Metod Sayısı (
WMC )
Bir sınıftaki
metodların karmaşıklık derecesi veya sayısıdır.Metotların karmaşıklık veya sayısı, sınıfın geliştrilmesine ve bakımına
harcanacak zaman-çaba hakkında fikir vermektedir. Bu metriği inceleyerek bir
sınıfın “anlaşılabilirlik, yeniden kullanılabilirlik ve dayanıklılık” ölçütü
üzerinde yorum yapmak mümkündür.
2.Kalıtım Ağacının Derinliği ( DIT )
Bir sınıfın kalıtım ağacının köküne
olan uzaklığını gösteren metriktir. Bu metrik yardımıyla yazılımın verimliliğini,
yeniden kullanımını, anlaşılırlığını, test edilebilirliğini ölçmek mümkündür.
Eğer bu değer yüksek ise test edilebilirliğin düşük olduğu anlaşılır.
3.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.
4.Nesne Sınıfları Arasındaki
Bağımlılık ( CBO )
Bir sınıf içindeki özellik ya da
metotların diğer sınıf ya da sınıflarda kullanılması ve sınıflar arasında
kalıtımın olmaması durumunda iki sınıf
arasında bağımlılık ilişkisi vardır. Bu metrik ile yazılımın verimlilik,
yeniden kullanırlık değerlerinin ölçülmesi söz konusudur.
5. 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.
6.Metotlardaki Uyum Eksikliği ( LCOM
)
N adet kümenin kesişiminden oluşan
kümelerdeki uyumsuzlukların sayısıdır ve metotlardaki benzerlik derecesini
ölçer. Bu metrik değeri kullanılarak yazılımın verimlilik , yeniden
kullanılabilirlik gibi değerlerinin ölçülmesi mümkündür.
Çok faydalı ve öz bir yazı! teşekkürler!
YanıtlaSil