Year 2021, Volume , Issue 23, Pages 415 - 426 2021-04-30

Yazılım Projelerinin Maliyet Tahmini için WEKA’da Makine Öğrenmesi Algoritmalarının Karşılaştırmalı Analizi

Şükran EBREN KARA [1] , Rüya ŞAMLI [2]


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.
Makine Öğrenmesi,, COCOMO,, Yazılım Maliyet Hesaplama,, WEKA
  • Adalier, O. (2008). Yapay Zeka Yöntemleri İle Yazılım Projelerinde Maliyet Kestirimi, Doktora Tezi, Ege Üniversitesi, İzmir.
  • Alpaydın, E. (2011). Yapay Öğrenme, Boğaziçi Üniversitesi Yayınevi, İstanbul.
  • ANSI/PMI. (2008). A Guide to the Project Management Body of Knowledge (PMBOK Guide), Project Management Institute, Inc., Newtown Square, Pennysylvania, ISBN: 978- 1-933890-51-7.
  • Aydın, S., Özkul, A. E. (2015). Veri Madenciliği Ve Anadolu Üniversitesi Açıköğretim Sisteminde Bir Uygulama, Eğitim ve Öğretim Araştırmaları Dergisi, 4(3), 38.
  • Ayyıldız, M. (2007). Yazılım Projeleri Ölçüm Sonuçları Veri Tabanının Oluşturulması ve Yeni Yazılım Projelerinin Maliyet Tahmininde Kullanımı, Doktora Tezi, Yıldız Teknik Üniversitesi, İstanbul.
  • Aydın, Z.,G., Samli, R. (2020). A Comparison of Software Defect Prediction Metrics Using Data Mining Algorithms, Journal of Innovative Science and Engineering. 4(1), 11-21.
  • Gültekin, M. (2019). Makine Öğrenmesi Tabanlı Yazılım Maliyet Tahmini Yöntemlerinin Karşılaştırmalı Analizi, Doktora Tezi, Yıldız Teknik Üniversitesi, İstanbul.
  • Kaluza, B. (2016). Machine Learning in Java, Pact Publishing.
  • Karataş, E.K. (2011). Yapay Sinir Ağları İle Yazılım Projesi Maliyet Tahmini, Yüksek Lisans Tezi, İstanbul Üniversitesi, İstanbul.
  • Kızılkaya, Y. M., Oğuzlar, A. (2018). Bazı Denetimli Öğrenme Algoritmalarının R Programlama Dili İle Kıyaslanması, Karadeniz Uluslararası Bilimsel Dergi, 37(37), 90 – 98.
  • Kulter, Y., Turhan, B., Baner, A. (2009). Ensemble of neural networks with associative memory (ENNA) for estimating software development costs, Knowledge-Based Systems, 395-402.
  • Kumari, S., Pushkar, S. (2013). Performance Analysis of the Software Cost Estimation Methods: A Review, International Journal of Advanced Research in Computer Science and Software Engineering, 229-238.
  • Marapelli, B. (2019). Software Development Effort Duration and Cost Estimation using Linear Regression and K-Nearest Neighbors Machine Learning Algorithms, International Journal of Innovative Technology and Exploring Engineering (IJITEE), 9(2), 2278-3075.
  • Niranjan, A., Prakash, A., Veena, N., Geetha, M., Deepa S., Venugopal, R. (2017). EBJRV: An Ensemble of Bagging, J48 and Random Committee by Voting for Efficient Classification of Intrusions, IEEE International WIE Conference on Electrical and Computer Engineering (WIECON-ECE), Dehradun, India.
  • Prabhakar and Maitreyee Dutta. (2013). Application of machine learning techniques for predicting software effort, Elixir Comp. Sci. & Eng. 56, 13677-13682.
  • Prowmes blog. (2019). Makine Öğrenmesi, http://www.prowmes.com/blog/makine-ogrenmesi [Erişim Tarihi: 14 Ağustos 2020]
  • Sezer, A. (2008). Yazılım Projelerinde Yapay Sinir Ağı Uygulaması İle Maliyet Tahmini, Yüksek Lisans Tezi, Haliç Üniversitesi, İstanbul.
  • Sommerville, I. (2000). Software Engineering (6th Edition), Addison-Wesley .
  • TDK. (2018). Yazılım, http://www.tdk.gov.tr [Erişim Tarihi: 22 Haziran 2018]
  • Torkul, O., Gülseçen, S., Uyaroğlu, Y., Çağıl, G., Uçar, M. K. (2017). Mühendislikte Yapay Zeka Uygulamaları, Sakarya Üniversitesi Kütüphanesi Yayınevi, Sakarya
  • Wikipedia. (2020). Korelasyon https://tr.wikipedia.org/wiki/ [Erişim Tarihi: 25 Ocak 2021]
Primary Language tr
Subjects Engineering
Journal Section Articles
Authors

Orcid: 0000-0003-3071-6942
Author: Şükran EBREN KARA (Primary Author)
Institution: ŞIRNAK ÜNİVERSİTESİ, CİZRE MESLEK YÜKSEKOKULU, BİLGİSAYAR TEKNOLOJİLERİ BÖLÜMÜ
Country: Turkey


Orcid: 0000-0002-8723-1228
Author: Rüya ŞAMLI
Institution: İSTANBUL ÜNİVERSİTESİ - CERRAHPAŞA, MÜHENDİSLİK FAKÜLTESİ, BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ
Country: Turkey


Dates

Publication Date : April 30, 2021

APA Ebren Kara, Ş , Şamlı, R . (2021). Yazılım Projelerinin Maliyet Tahmini için WEKA’da Makine Öğrenmesi Algoritmalarının Karşılaştırmalı Analizi . Avrupa Bilim ve Teknoloji Dergisi , (23) , 415-426 . DOI: 10.31590/ejosat.877296