Yazılım Çaba Tahmininde Yapay Sinir Ağları İçin Optimum Yapının Belirlenmesi
The Determination of Optimum Structure for Artificial Neural Networks in Software Effort Estimation
Yazar: Kayakuş, Mehmet
Dergi: Avrupa Bilim ve Teknoloji Dergisi No. 22, 2020
Anahtar kelimeler: Engineering ; Mühendislik ; Yazılım çabası tahmini,Yazılım mimarileri,Yapay sinir ağları,Çapraz doğrulama,gizli katman ; Software effort estimation,Software architectures,Artificial neural networks,Hidden layer,Cross-validation

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.

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.