Araştırma Makalesi
BibTex RIS Kaynak Göster

Yazılım Çaba Tahmininde Yapay Sinir Ağları İçin Optimum Yapının Belirlenmesi

Yıl 2021, Sayı: 22, 43 - 48, 31.01.2021
https://doi.org/10.31590/ejosat.847712

Öz

Bir yazılım projesinin çabasını tahmin etmek projenin yönetimi ve başarısı için önem teşkil etmektedir. Bu çalışmada, yazılım çaba tahminini gerçekleştirmek için yapay zekâ tekniklerinden yapay sinir ağları yöntemi kullanılmıştır. Çalışmada veri seti olarak iyi bilinen ve bu çalışmalarda sıklıkla kullanılan NASA proje veri seti kullanılmaktadır. Veri sayısının az olmasından dolayı 10 katmanlı çapraz doğrulama yöntemi kullanılmıştır. Veri seti rastgele 10 farklı gruba ayrılmış; gruplardan biri eğitim amaçlı kullanılırken geri kalanı test amaçlı kullanılmıştır. Her grup için modelde bu işlem tekrarlanarak tüm veri hem eğitilmiş hem de test edilmiştir. Böylece modelin doğruluğu arttırılmıştır. Yapay sinir ağ modelinde, geliştirme satırı ve metodoloji olmak üzere iki giriş değişkeni; çıkış değişkeni olarak yazılım çabası kullanılmıştır. Yapay sinir ağ tasarımında gizli katman sayısını ve nöron sayısı modelin başarısını etkilemektedir. Bu çalışmada 20 farklı YSA modeli geliştirilerek en başarılı model belirlenmiştir. Çalışma sonucunda R2 0,926, RMSE 0,078, MSE 0,006 ve MAE 0,058 olan 2 gizli katman ve 2 nörondan oluşan model en başarılı model olmuştur. Modeller arasında en başarılı sonucu veren model ile en başarısız modelin R2 değerleri arasında %55 fark bulunmaktadır. Bu sonuçlar yazılım çaba tahmini için parametre seçiminin önemini göstermektedir.

Kaynakça

  • Agatonovic-Kustrin, S., & Beresford, R. (2000). Basic concepts of artificial neural network (ANN) modeling and its application in pharmaceutical research. Journal of pharmaceutical and biomedical analysis, 22(5), 717-727.
  • Alami, A. (2016). Why do information technology projects fail. Procedia Computer Science, 100(2016), 62-71.
  • Attarzadeh, I., Mehranzadeh, A., & Barati, A. (2012). Proposing an enhanced artificial neural network prediction model to improve the accuracy in software effort estimation. Paper presented at the 2012 Fourth International Conference on Computational Intelligence, Communication Systems and Networks.
  • Azzeh, M., Nassif, A. B., & Banitaan, S. (2017). Comparative analysis of soft computing techniques for predicting software effort based use case points. IET Software, 12(1), 19-29.
  • Bailey, J. W., & Basili, V. R. (1981). A meta-model for software development resource expenditures. Paper presented at the ICSE.
  • Baskeles, B., Turhan, B., & Bener, A. (2007). Software effort estimation using machine learning methods. Paper presented at the 2007 22nd international symposium on computer and information sciences.
  • Borade, J. G., & Khalkar, V. R. (2013). Software project effort and cost estimation techniques. International Journal of Advanced Research in Computer Science and Software Engineering, 3(8).
  • Braga, P. L., Oliveira, A. L., Ribeiro, G. H., & Meira, S. R. (2007). Bagging predictors for estimation of software project effort. Paper presented at the 2007 International Joint Conference on Neural Networks.
  • Dan, Z. (2013). Improving the accuracy in software effort estimation: Using artificial neural network model based on particle swarm optimization. Paper presented at the Proceedings of 2013 IEEE International Conference on Service Operations and Logistics, and Informatics.
  • de Barcelos Tronto, I. F., da Silva, J. D. S., & Sant'Anna, N. (2007). Comparison of artificial neural network and regression models in software effort estimation. Paper presented at the 2007 International Joint Conference on Neural Networks.
  • Hecht-Nielsen, R. (1988). Neurocomputing: picking the human brain. IEEE spectrum, 25(3), 36-41.
  • Heemstra, F. J. (1992). Software cost estimation. Information and software technology, 34(10), 627-639.
  • Heiat, A. (2002). Comparison of artificial neural network and regression models for estimating software development effort. Information and software technology, 44(15), 911-922.
  • Jorgensen, M., & Shepperd, M. (2006). A systematic review of software development cost estimation studies. IEEE Transactions on software engineering, 33(1), 33-53.
  • Lippmann, R. (1987). An introduction to computing with neural nets. IEEE Assp magazine, 4(2), 4-22.
  • Mieritz, L. (2012). Survey shows why projects fail. Gartner report. Retrieved from Gartner Database.
  • Nassif, A. B., Capretz, L. F., & Ho, D. (2012). Estimating software effort using an ANN model based on use case points. Paper presented at the 2012 11th International Conference on Machine Learning and Applications.
  • Pospieszny, P., Czarnacka-Chrobot, B., & Kobylinski, A. (2018). An effective approach for software project effort and duration estimation with machine learning algorithms. Journal of Systems and Software, 137, 184-196.
  • Shan, Y., McKay, R. I., Lokan, C. J., & Essam, D. L. (2002). Software project effort estimation using genetic programming. Paper presented at the IEEE 2002 International Conference on Communications, Circuits and Systems and West Sino Expositions.
  • Spalek, S. (2005). Critical Success Factors in Project Management: To Fail Or Not to Fail, that is the Question!
  • Srinivasan, K., & Fisher, D. (1995). Machine learning approaches to estimating software development effort. IEEE Transactions on software engineering, 21(2), 126-137.
  • Şahinarslan, F. V. (2019). Makine Öğrenmesi Algoritmaları İle Nüfus Tahmini: Türkiye Örneği. Sosyal Bilimler Enstitüsü
  • Tan, S. (2011). How to increase your IT project success rate. Gartner Research.
  • Viotti, P., Liuti, G., & Di Genova, P. (2002). Atmospheric urban pollution: applications of an artificial neural network (ANN) to the city of Perugia. Ecological Modelling, 148(1), 27-46.

The Determination of Optimum Structure for Artificial Neural Networks in Software Effort Estimation

Yıl 2021, Sayı: 22, 43 - 48, 31.01.2021
https://doi.org/10.31590/ejosat.847712

Öz

Estimating the efforts of a software project possesses a great importance for the management and success of the project. In this study, artificial neural networks method, one of the artificial intelligence techniques, was used to fulfil software effort estimation. The NASA project data set, which is well known as the data set and is frequently used in these studies, is utilized in the study. Due to the low number of data, a 10-layer cross-validation method was used. The data set was randomly divided into 10 different groups. While one of the groups is used for training; others are used for testing. This process is repeated for each group in the model, and all data are both trained and tested. Thus, the accuracy of the model is increased. In the artificial neural network model, development line and methodology as input variables and software effort as output variables are used. In artificial neural network design, the number of hidden layers and neurons affect the success of the model. In this study, 20 different ANN models were developed, and the most successful model was determined. As a result of the study, the model consisting of 2 hidden layers and 2 neurons, R2 0.926, RMSE 0.078, MSE 0.006 and MAE 0.058, became the most successful model. There is a 55% difference between the R2 values of the most successful model and the least successful model. These results show the importance of parameter selection for software effort estimation.

Kaynakça

  • Agatonovic-Kustrin, S., & Beresford, R. (2000). Basic concepts of artificial neural network (ANN) modeling and its application in pharmaceutical research. Journal of pharmaceutical and biomedical analysis, 22(5), 717-727.
  • Alami, A. (2016). Why do information technology projects fail. Procedia Computer Science, 100(2016), 62-71.
  • Attarzadeh, I., Mehranzadeh, A., & Barati, A. (2012). Proposing an enhanced artificial neural network prediction model to improve the accuracy in software effort estimation. Paper presented at the 2012 Fourth International Conference on Computational Intelligence, Communication Systems and Networks.
  • Azzeh, M., Nassif, A. B., & Banitaan, S. (2017). Comparative analysis of soft computing techniques for predicting software effort based use case points. IET Software, 12(1), 19-29.
  • Bailey, J. W., & Basili, V. R. (1981). A meta-model for software development resource expenditures. Paper presented at the ICSE.
  • Baskeles, B., Turhan, B., & Bener, A. (2007). Software effort estimation using machine learning methods. Paper presented at the 2007 22nd international symposium on computer and information sciences.
  • Borade, J. G., & Khalkar, V. R. (2013). Software project effort and cost estimation techniques. International Journal of Advanced Research in Computer Science and Software Engineering, 3(8).
  • Braga, P. L., Oliveira, A. L., Ribeiro, G. H., & Meira, S. R. (2007). Bagging predictors for estimation of software project effort. Paper presented at the 2007 International Joint Conference on Neural Networks.
  • Dan, Z. (2013). Improving the accuracy in software effort estimation: Using artificial neural network model based on particle swarm optimization. Paper presented at the Proceedings of 2013 IEEE International Conference on Service Operations and Logistics, and Informatics.
  • de Barcelos Tronto, I. F., da Silva, J. D. S., & Sant'Anna, N. (2007). Comparison of artificial neural network and regression models in software effort estimation. Paper presented at the 2007 International Joint Conference on Neural Networks.
  • Hecht-Nielsen, R. (1988). Neurocomputing: picking the human brain. IEEE spectrum, 25(3), 36-41.
  • Heemstra, F. J. (1992). Software cost estimation. Information and software technology, 34(10), 627-639.
  • Heiat, A. (2002). Comparison of artificial neural network and regression models for estimating software development effort. Information and software technology, 44(15), 911-922.
  • Jorgensen, M., & Shepperd, M. (2006). A systematic review of software development cost estimation studies. IEEE Transactions on software engineering, 33(1), 33-53.
  • Lippmann, R. (1987). An introduction to computing with neural nets. IEEE Assp magazine, 4(2), 4-22.
  • Mieritz, L. (2012). Survey shows why projects fail. Gartner report. Retrieved from Gartner Database.
  • Nassif, A. B., Capretz, L. F., & Ho, D. (2012). Estimating software effort using an ANN model based on use case points. Paper presented at the 2012 11th International Conference on Machine Learning and Applications.
  • Pospieszny, P., Czarnacka-Chrobot, B., & Kobylinski, A. (2018). An effective approach for software project effort and duration estimation with machine learning algorithms. Journal of Systems and Software, 137, 184-196.
  • Shan, Y., McKay, R. I., Lokan, C. J., & Essam, D. L. (2002). Software project effort estimation using genetic programming. Paper presented at the IEEE 2002 International Conference on Communications, Circuits and Systems and West Sino Expositions.
  • Spalek, S. (2005). Critical Success Factors in Project Management: To Fail Or Not to Fail, that is the Question!
  • Srinivasan, K., & Fisher, D. (1995). Machine learning approaches to estimating software development effort. IEEE Transactions on software engineering, 21(2), 126-137.
  • Şahinarslan, F. V. (2019). Makine Öğrenmesi Algoritmaları İle Nüfus Tahmini: Türkiye Örneği. Sosyal Bilimler Enstitüsü
  • Tan, S. (2011). How to increase your IT project success rate. Gartner Research.
  • Viotti, P., Liuti, G., & Di Genova, P. (2002). Atmospheric urban pollution: applications of an artificial neural network (ANN) to the city of Perugia. Ecological Modelling, 148(1), 27-46.
Toplam 24 adet kaynakça vardır.

Ayrıntılar

Birincil Dil Türkçe
Konular Mühendislik
Bölüm Makaleler
Yazarlar

Mehmet Kayakuş 0000-0003-0394-5862

Yayımlanma Tarihi 31 Ocak 2021
Yayımlandığı Sayı Yıl 2021 Sayı: 22

Kaynak Göster

APA Kayakuş, M. (2021). Yazılım Çaba Tahmininde Yapay Sinir Ağları İçin Optimum Yapının Belirlenmesi. Avrupa Bilim Ve Teknoloji Dergisi(22), 43-48. https://doi.org/10.31590/ejosat.847712