yazılım kalitesi

Post on 18-Dec-2014

3.478 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

Yazılım Kalitesi ve

Kalite Özellikleri

Yazılım Kalitesi• “Ability to satisfy requirements” Deming, 1968• “Conformance to user requirements” Crosby, 1979• “Doing right it the first time” Price, 1985 • “Fitness for intended use” Juran, 1988

Yazılım Kalitesi• Hepimizin belli süreçlerde hissettiği ama tanımlayamadğı bir kavram.

• Soyut ve yoruma açık.• Gereksinimlerin karşılanma başarısı.

Yazılım kalitesi, yazılımın çözmeye çalıştığı problemlerin başarı derecesidir.

Kalite Gereksinimleri• Fonksiyonel gereksinimler

• Yazılımın yapabildiği ya da yapabileceği belirli aksiyonlar.

• İslevsellik(Functionality)• Fonksiyonel olmayan gereksinimler

• Güvenilirlik(Reliability)• Kullanılabilirlik(Usability)• Verimlilik(Efficiency)• Bakılabilirlik(Maintainability) • Taşınabilirlik(Portability)• ......

• Bu gereksinimlerin sorunsuz olarak karşılanması «kaliteli» anlamına gelir mi?

Kalite Özellikleri• Kalite Faktörleri(Sınıfları)...[klişe]

Nasıl Tanımlarız?• «You can’t manage what you can’t measure» Tom DeMarco

• Ölçebilmeliyiz...• Modeller

• Yol haritası• Kalite süreçlerinin karakteri

• Standartlar• SPICE

• İyileşme,iyileştirme

• Capability Maturity Model [CMM(I)]• Sertifikasyon ve yetenek belirleme

• ISO• Sertifikasyon

Nasıl Tanımlarız?• Yazılımın yaşam döngüsünde bulunan her «entity» için farklı şekilde tanımlıdır.

Müşteri

Son kullanıcılar

Geliştiriciler (:

EntegreSistemler

Bakım ve destekelemanları

Kalite Nasıl Sağlanır?• Hata Ayıklama (Geleneksel)

• Verification and Validation(Doğrulama)

• Hata Önleme• Software Quality Assurance(Kalite Güvence)

• Test-Driven Development(TDD)• Kalitenin sağlanması bir süreç dahilinde sürekli kontrol edilmelidir.

Hata Önleme > Hata Ayıklama

Kalite Nasıl Sağlanır?• Süreç içerisinde sürekli kontrol edilmelidir.

• Süreç de sorgulanabilmeli

Kalite Nasıl Ölçülür?• Feedback(Geri bildirim) en basit ölçme yöntemi ve aracı.• Müşteri,geliştirici,bakım,destek....

• Kod Kalitesi• Kod metrikleri• Kod review• Unit Test

Kod metrikleri• Sınıfın Ağırlıklı Metot Sayısı - Weighted Methods per Class (WMC)

• Kalıtım Ağacının Derinliği - Depth of Inheritance Tree (DIT)

• Alt Sınıf Sayısı - Number of Children (NOC)• Nesne Sınıfları Arasındaki Bağımlılık - Coupling Between Object Classes (CBO)

• Sınıfın Tetiklediği Metot Sayısı - Response For a Class (RFC)

• Metotların Uyumluğu - Lack of Cohesion in Methods (LCOM)

• ....• ..• .

Code SmellKötü Kod Kalitesi• Uzun method içerikleri• Uzun parametre listeleri• Tekrar eden kod• Büyük sınıf• Ölü kod• Veri objesi• Küçük sınıf• ..• .

Kaliteli Yazılım• Uzun yaşar• Genişletilebilir• Sorun yaratmaz• Maliyetlidir

• Maddi• Manevi

Haydi sor sor...

?

Teşekkürler (:

top related