One of the most important problems of software projects is software cost estimation. Software cost estimation is the estimation of the budget required during the actualization of the software. The project manager reduces the ambuguities in the project by estimating the project cost correctly. Otherwise, serious economic problems will arise. 60% of large projects exceeded the estimated project budgets. It has been observed that a number of projects were never completed due to a 15% cost overrun. As a result of the growth and complexity of software projects, new cost estimation methods are constantly being developed. In this study, the cost of software projects is tried to be estimated by using machine learning algorithms. Project cost estimation has been made by testing in 27 different machine learning algorithms in the waikato environment (WEKA) for information analysis. Algorithms were applied to COCOMO81, COCOMONASA and COCOMONASA2 datasets taken from PROMISE data store with 10-fold cross validation technique and results, performance criterion correlation coefficient, error rates mean absolute error (MAE), root mean square error (RMSE), relative absolute error (RAE) and root relative squared error (RRSE).When the results were examined, it was found that an algorithm does not always produce the best result, but produces different results with different data sets. It has been observed that some algorithms work very well in some data sets and may give poor results with different parameters and different data sets. Thanks to this study, the information about which algorithms can be used for software cost estimation, what the estimation results might be when these algorithms are applied to COCOMO data sets and which algorithms are the best working have been reached.
Yazılım projelerinin en önemli sorunlarından biri, yazılım maliyet tahminidir. Yazılım maliyet tahmini, yazılımın gerçekleştirilmesi aşamasında gereken bütçenin tahmin edilmesidir. Proje yöneticisi, proje maliyetini doğru tahmin ederek projedeki belirsizlikleri azaltır. Aksi takdirde çok ciddi ekonomik sıkıntılar doğmaktadır. Büyük projelerin %60’ı ön görülen proje bütçelerini aşmıştır. Bir takım projelerin %15 maliyet aşımı nedeniyle hiçbir zaman tamamlanmadığı gözlemlenmiştir. Yazılım projelerinin büyümesi ve karmaşıklaşması sonucunda sürekli yeni maliyet hesaplama yöntemleri geliştirilmektedir. Bu çalışmada yazılım projelerinin maliyeti, makine öğrenmesi algoritmaları kullanılarak tahmin edilmeye çalışılmıştır. Proje maliyet tahmini, bilgi analizi için Waikato ortamında (WEKA) bulunan 27 farklı makine öğrenmesi algoritmasında denenerek yapılmıştır. Algoritmalar 10 kat çapraz doğrulama tekniği ile PROMISE veri deposundan alınan COCOMO81, COCOMONASA ve COCOMONASA2 veri setlerine uygulanmış ve sonuçlar, performans ölçütü korelasyon katsayısı, hata oranları ortalama mutlak hata (mean absolute error - MAE), kök ortalama kare hata (root mean squared error - RMSE), bağıl mutlak hata(relative absolute error - RAE) ve kök bağıl kare hata (root relative squared error - RRSE) baz alınarak değerlendirilmiştir. Sonuçlar incelendiğinde bir algoritmanın her zaman en iyi sonucu üretmediği, farklı veri setleriyle farklı sonuçlar ürettiği bilgisine ulaşılmıştır. Bazı algoritmaların bazı veri setlerinde çok iyi çalışırken farklı parametrelerle ve farklı veri setlerinde kötü sonuçlar verebileceği gözlemlenmiştir. Bu çalışma sayesinde yazılım maliyet tahmini için hangi algoritmaların kullanılabileceği, bu algoritmaların COCOMO veri setlerine uygulandığında tahmin sonuçlarının neler olabileceği ve en iyi çalışan algoritmaların hangileri olduğu bilgisine ulaşılmıştır.
Birincil Dil | Türkçe |
---|---|
Konular | Mühendislik |
Bölüm | Makaleler |
Yazarlar | |
Yayımlanma Tarihi | 30 Nisan 2021 |
Yayımlandığı Sayı | Yıl 2021 Sayı: 23 |