Yüksek LisansAçık Erişim

Yazılım projelerinde iş gücü tahmini için makine öğrenmesi yöntemlerinin karşılaştırılması

Bu tez size mi ait?

Bu kayıt toplu arşivden geldi. Sizinse profilinize bağlayın.

2018
0 görüntülenme
0 i̇ndirme

Özet (TR)

Yazılım projeleri, sektörden bağımsız olarak neredeyse tüm şirketlerin operasyonlarını yürütmelerinde stratejik bir öneme sahiptir. Son 10 yılda bu önem giderek artmıştır. Hem yazılım şirketleri hem de temel iş alanı yazılım olmayan çeşitli boyutlarda birçok şirket kendi bünyesinde yazılımlar geliştirmekte ve yazılım evlerine yazılım projeleri yaptırmaktadır. Yazılım projelerinin planlanmasında iş gücünün doğru olarak tahmin edilmesi, proje maliyetlerinin doğru olarak öngörülmesi ve projelerin zamanında bitirilmesi açısından önemlidir. Yazılım efor tahmini alanında uzun zamandan beri çalışmalar yapılmaktadır. Yazılım efor tahmini yöntemleri algoritmik yöntemler, istatistiksel yöntemler, Makine Öğrenmesi tabanlı yöntemler gibi alt başlıklarda incelenmektedir. Tez kapsamında bu çalışmalar değerlendirilmiş ve literatür taraması yapılarak öne çıkan metodolojiler literatür araştırması bölümünde sunulmuştur. Tez konusu olarak Makine Öğrenmesi tabanlı üç farklı efor tahmin yöntemi seçilmiştir. Bu yöntemler Karar Ağacı, Naive Bayes ve Çoklu Regresyon analizi modellerini baz almaktadır. Modellerin çalıştırılması için Windows tabanlı bir masaüstü uygulaması geliştirilmiştir. Piyasada genel kullanıma açık olarak bulunan Makine Öğrenmesi bileşenleri seçilmiş ve modellerin yazılıma aktarılmasında kullanılmıştır. Modellerin eğitilmesinde ve test edilmesinde kullanılan parametrelerin seçiminde daha önceki birçok çalışma incelenmiş ve baz alınmışsa da bazı projelere ait tüm parametrelerin geçmişe dönük olarak elde edilememesinden ve bazı parametrelere ait değerlerin ayırt edici olmamasından dolayı parametrelerde eleme yapılmıştır. Her üç model aynı eğitim veri kümesiyle eğitilmiş ve aynı test veri kümesiyle test edilmiştir. Eğitim ve test verileri 10 yıldır ulusal yazılım piyasasında faaliyet gösteren bir yazılım evinden alınmıştır. 64 farklı yazılım projesine ait parametre verisi bulunmaktadır. Modellerin eğitilmesi ve test edilmesi için k-kat doğrulama yöntemi kullanılmıştır. Bu yöntemin kullanılmasıyla, veri kümesinde bulunan tüm verilerin hem eğitim hem test amacıyla değerlendirilmesi sağlanmıştır. Üç model için de algoritma test verileri üzerinde çalıştırıldıktan sonra elde edilen tahmini efor değerleri gerçek efor değerleriyle karşılaştırılarak Makine Öğrenmesi algoritmaları tarafından hesaplanan tahmini efor değerleri için hata katsayıları belirlenmiştir. Hata katsayılarının belirlenmesinde Bağıl Hata Büyüklüğü (MRE), Ortalama Bağıl Hata Büyüklüğü (MMRE) ve Tahmin Kalitesi (PRED(25)) değerleri kullanılmıştr. Elde edilen sonuçlar karşılaştırıldığında, Çoklu Regresyon Analizi modelinin en doğru tahminleme sonucunu elde ettiği görülmüştür. İkinci sırada Karar Ağacı, son sıradaysa Naive Bayes modeli yer almıştır. Bu durumun sebebinin, seçilen parametrelerin bir kısmının test kümesindeki değerlerinin yeteri kadar ayırt edici olmamasından kaynaklandığı düşünülmektedir. Sonuçların iyileştirilmesi için parametre setinin değiştirilmesi, modellerin farklı yazılım evlerinden veri toplanarak tekrar eğitilmesi, daha fazla proje verisi üzerinde eğitim ve test yapılması gibi yöntemler izlenebilir.

Yazar

Vehbi Yurdakurban

Bu Yayına Nasıl Atıf Yapılır

Vehbi Yurdakurban (Yüksek Lisans Tezi). Yazılım projelerinde iş gücü tahmini için makine öğrenmesi yöntemlerinin karşılaştırılması, 2018, İstanbul Technical University.

Anahtar Kelimeler

Lisans

Tüm Hakları Saklıdır

Bu eser belirtilen lisans koşulları altında paylaşılmaktadır.

İstanbul Technical University tezlerinden daha fazlası