Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Yazılım Kalitesi• “Ability to satisfy requirements” Deming, 1968• “Conformance to user requirements” Crosby, 1979• “Doing ...
Yazılım Kalitesi• Hepimizin belli süreçlerde hissettiği ama tanımlayamadğı bir  kavram.• Soyut ve yoruma açık.• Gereksinim...
Kalite Gereksinimleri• Fonksiyonel gereksinimler   • Yazılımın yapabildiği ya da     yapabileceği belirli aksiyonlar.   • ...
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ı   •...
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             ...
Kalite Nasıl Sağlanır?• Hata Ayıklama (Geleneksel)   • Verification and Validation(Doğrulama)• Hata Önleme   • Software Qu...
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....• K...
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...
Kötü Kod Kalitesi            Code Smell• Uzun method içerikleri• Uzun parametre listeleri• Tekrar eden kod• Büyük sınıf• Ö...
Kaliteli Yazılım• Uzun yaşar• Genişletilebilir• Sorun yaratmaz• Maliyetlidir   • Maddi   • Manevi
Haydi sor sor...            ?       Teşekkürler (:
Yazılım Kalitesi
Upcoming SlideShare
Loading in …5
×

Yazılım Kalitesi

6,169 views

Published on

  • Be the first to comment

Yazılım Kalitesi

  1. 1. 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
  2. 2. 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.
  3. 3. 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?
  4. 4. Kalite Özellikleri• Kalite Faktörleri(Sınıfları)...[klişe]
  5. 5. 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
  6. 6. 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 Entegre Sistemler Bakım ve destekSon kullanıcılar elemanları Geliştiriciler (:
  7. 7. 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
  8. 8. Kalite Nasıl Sağlanır?• Süreç içerisinde sürekli kontrol edilmelidir.• Süreç de sorgulanabilmeli
  9. 9. 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
  10. 10. 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)• ....• ..• .
  11. 11. Kötü Kod Kalitesi Code Smell• 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• ..• .
  12. 12. Kaliteli Yazılım• Uzun yaşar• Genişletilebilir• Sorun yaratmaz• Maliyetlidir • Maddi • Manevi
  13. 13. Haydi sor sor... ? Teşekkürler (:

×