Master'sOpen Access

Nesneye dayalı yazılımların tasarım kalitesini ölçmek için öğrenme tabanlı bir yöntem

2015
0 views
0 downloads
Advisor: Doç. Dr. Feza Buzluca

Abstract (TR)

Bilgisayar yazılımlarının insan hayatına her geçen gün daha çok girmesi sonucunda kaliteli yazılım geliştirmek ve bunun paralelinde yazılım kalitesini ölçebilmek önem kazanmaya başlamıştır. Yazılım projelerinde kalite kavramı projenin başından itibaren değerlendirilmesi gereken bir olgudur. Bununla birlikte yazılım kalitesi ölçülmesinin de proje başından itibaren belirlenen kalite özelliklerine uygun şekilde yapılmalıdır. Çalışmamızda ISO/IEC 25010:2011[28] kalite modeli temel alınarak projeye uygun kalite özelliklerinin proje başında seçilmesi ve buna uygun metrikler belirlenerek projenin başından itibaren kalite özelliklerinin nasıl değiştiğinin takip edilmesi ve ölçülebilir kalitesi olan bir ürünün müşteriye sunulması hedeflenmiştir. Yazılım sektöründe en temel sorunlardan biri müşteri gereksinimlerindeki değişikliktir. Bu sorunun çözümü olarak çevik yazılım geliştirme metotları ortaya çıkmıştır. Günümüzde Scrum, Unified Process, XP gibi çevik yazılım geliştirme metodolojileri yazılım firmalar tarafından kullanılmaktadır. Bu metodolojilerle, ürün gereksinimlerini bölmek, ürün tam olarak bitmeden önce müşteriden geri bildirim almak ve bu geri bildirimlerle değişen gereksinimlere ayak uydurabilmek ya da gereksinimlerin değişmesini asgari seviyede tutmak amaçlanır. Ancak müşterinin her zaman ne istediğini tam olarak anlatamamasından, yazılımcının alan bilgisi eksikliğinden dolayı yinelemeli olarak ilerleyen bir süreç sonunda bile gereksinim değişikliği talebi gelmektedir. Bu yüzden bakımı kolay yazılım geliştirmek yazılım firmalarının çalışan ve zaman maliyetini düşürmek için önem teşkil etmektedir. Çalışmada, amaçlanan tanı eksikliğine bağlı olarak yazılımda düzenlenecek bölümlerin belirlenmesinde, düzeltilmesinde ve test edilmesinde gereken çabanın bulunmasıdır. Bunun için bunların karşılığı olan ISO/IEC 25010:2011[28] kalite modelinde belirlenen bakım kolaylığı temel alınmıştır. Bu modelde, bakım kolaylığının ISO/IEC 25010:2011[28] kalite modelinde bulunan alt kriterlerinden Analiz edilebilirlik, Yeniden kullanılabilirlik, Test edilebilirlik ve Değiştirilebilirlik seçilmiştir. Yazılımda Analiz edilebilirlik, Yeniden kullanılabilirlik, Test edilebilirlik ve Değiştirilebilirliğin nasıl değiştiğinin takip edilebilmesi, proje yürütücüleri için projenin ilerleyişinin izlenebilmesi, geliştiriciler için ortaya çıkabilecek sorunların önceden tahmin edilmesi açısından önem taşımaktadır. Bu kapsamda yazılım kalitesini ölçmeye dayalı metrikler ve istatistiksel analizler kullanılarak yazılım sınıflarının kalitesine ait değerlendirmeler yapılmıştır. Değerlendirmeler neticesinde kalite özelliklerini karşılayan metrik kümeleri oluşturulmuştur. Metrik kümeleri oluşturulurken, yazılımın statik analizinden çıkan metrik kümelerini dışında, proje ekibinde çalışan kişilerin yazılım ile ilgili alan bilgileri ve tecrübelerini içeren metrikler eklenmiştir. Ayrıca her sürümde çıkan hata sayısı ve hataların çözülme süreleri de metrik kümelerine dahil edilmiştir. Veri kümeleri kullanılarak hazırlanan veri seti karar ağacı ve Naive Bayes yöntemlerine tabi tutulmuş ve ilerleyen sürümlerde alt kalite özellikleri temel alınarak bakım kolaylığının nasıl değişebileceğinin tahmin edilmesi sağlanmıştır. Çalışmanın sonucunda, projenin önceki sürümlerine ait sınıf bilgilerinin kullanılması ile projenin bakım kolaylığı alt özelliklerinin gelecek sürümlerinde nasıl değişeceğinin tahmin edilmesine yönelik başarılı sonuçlar alınmıştır. Sonuçlar yazılım ekibi ve yöneticileri ile de değerlendirildiğinde sonuçları başarılı olduğu gözlenmiştir. İlerleyen aşamalarda farklı veri madenciliği ve istatiksel yöntemler kullanılarak analiz yönteminin geliştirilmesi planlanmaktadır.

Author

Dr. Nurdan Canbaz

How to Cite

Nurdan Canbaz (Yüksek Lisans Tezi). Nesneye dayalı yazılımların tasarım kalitesini ölçmek için öğrenme tabanlı bir yöntem, 2015, Istanbul Technical University.

Keywords

License

Tüm Hakları Saklıdır

This work is shared under the specified license terms.

More theses from Istanbul Technical University