yazılım kalitesi

14
Yazılım Kalitesi ve Kalite Özellikleri

Upload: arda-cetinkaya

Post on 18-Dec-2014

3.468 views

Category:

Documents


2 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Yazılım Kalitesi

Yazılım Kalitesi ve

Kalite Özellikleri

Page 2: Yazılım Kalitesi

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

Page 3: Yazılım Kalitesi

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.

Page 4: Yazılım Kalitesi

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?

Page 5: Yazılım Kalitesi

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

Page 6: Yazılım Kalitesi

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

Page 7: Yazılım Kalitesi

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ı

Page 8: Yazılım Kalitesi

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

Page 9: Yazılım Kalitesi

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

• Süreç de sorgulanabilmeli

Page 10: Yazılım Kalitesi

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

Page 11: Yazılım Kalitesi

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)

• ....• ..• .

Page 12: Yazılım Kalitesi

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• ..• .

Page 13: Yazılım Kalitesi

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

• Maddi• Manevi

Page 14: Yazılım Kalitesi

Haydi sor sor...

?

Teşekkürler (: