Tez No İndirme Tez Künye Durumu
201388
Yazılım projeleri ölçüm sonuçları veri tabanının oluşturulması ve yeni yazılım projelerinin maliyet tahmininde kullanimi / Construction of software projects measurement result database and usage in new software projects' cost estimations
Yazar:MURAT AYYILDIZ
Danışman: PROF. DR. OYA KALIPSIZ
Yer Bilgisi: Yıldız Teknik Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı
Konu:Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control
Dizin:Maliyet tahmini = Cost estimation ; Yazılım mühendisliği = Software engineering
Onaylandı
Doktora
Türkçe
2007
124 s.
Bilgisayar yazılımlarında maliyet tahmini son zamanlarda oldukça önem kazanmıştır. Yazılım geliştirme maliyeti her geçen gün artmaktadır. Yazılım maliyet tahmini hem devletler, hem de organizasyonlar için çok önemli bir problemdir. Planlanan zaman ve bütçeyi aşan çok sayıda proje mevcuttur. Bunun temelinde baştan bütçe ve zaman tahminini doğru yapamamaktan kaynaklanan başarısızlıklar yatmaktadır. Yazılım geliştirme giderek pahallılaşmakta ve bilgi sistem bütçelerinin içinde büyük bir maliyet faktörü olmaktadır. Yazılım geliştirme maliyetleri ölçüm ve kestirim metodolojilerinin yokluğundan dolayı sık sık kontrol dışına çıkmaktadır. Geçen on yıl içinde, bazı araştırmacılar maliyet tahminleme konusunda çalışmışlardır ancak sonuçlar tatmin edici olmaktan uzaktır. Bu çalışmada yeni bir yazılım ölçüt kümesi oluşturma, oluşturulan yazılım ölçüt kümesi için veri toplama ve bu veri kümesi ile bir yapay sinir ağı kullanılarak yazılım maliyet tahmini modeli geliştirme gerçekleştirilmiştir. Bu çalışmada, yapay sinir ağı temelli yazılım maliyet tahminleme uygulama sonuçları, başarısızlık nedenleri incelenmiş ve bir yapay sinir ağıyla yeni hazırladığımız ölçüt kümesini kullanarak bir model oluşturulmuştur. Yazılım maliyet tahminleme çalışmalarında ölçüt kümesi seçiminin hayati bir rolü vardır. Özellikle yapay sinir ağı bazlı çalışmalarda ölçüt kümesinin seçiminin önemi göz ardı edildiği görülmüştür. Çalışma sonucu oluşturulan model ile elde edilen sonuçlar, geleneksel ölçütler kullanarak yapılan önceki çalışma sonuçlarıyla karşılaştırılmıştır. Karşılaştırmayı yapabilmek için iki tip veri kullanılmıştır. Birinci kısım önceki çalışmalarda genellikle kullanılan yapıcı maliyet modeli verileri (COCOMO : Constructive Cost Model) ve ikinci kısım olarak yeni oluşturulan ölçüt kümesine uygun olarak Türkiye'de bulunan uluslararası bir firmadan toplanan veriler kullanılmıştır. Yazılım maliyet tahminleme çalışmalarında olan bir diğer zorluk veri toplamanın zaman ve dikkat gerektirdiği gerçeğidir. Üstelik reel sektörde rekabet açısından dezavantaj oluşturma olasılığı nedeniyle, birçok kurum bu konuda topladığı verileri eğitim amaçlı da olsa kullandırmayı uygun görmemektedirler. Literaturde yaptığımız incelemede yapay sinir ağı kullanarak yapılan maliyet tahminleme yöntemleri çalışmalarında genellikle MLP kullanıldığı saptanmıştır. Bu tez çalışmasında Yapay sinir ağı kullanılarak yapılan yazılım maliyet tahmini modeli oluşturmak için MLP (Multi Layer Perseptron) ve bu alanda kullanılmayan Elman yapay sinir ağı modeli uygulanmıştır. Kıyaslamayı sağlayabilmek için MLP ve Elman modellerinin ikisinde kullanımında COCOMO 81 ve yeni oluşturulan ölçüt kümesi YEEM (Yıldız Effort Estimation Metrics) kullanılmıştır. Hatasız karşılaştırabilmek için veri kümelerinde eşit sayıda örnek ile test edilmiştir. Daha iyi araştırma adına yeni oluşturulan veri kümesi için daha büyük bir küme ile de çalışmalar yapılmıştır. Ölçüt kümelerinin karakteristiği ve veri miktarı bu çalışmanın incelediği konulardan biridir. YEEM ölçüt kümesi yapay sinir ağı topolojisini oluşturmakta kullanılmıştır. YEEM için toplanan veriler ile MLP ve Elman yapay sinir ağları kullanılarak ağ eğitilmiş ve test edilmiştir. Toplanan verilerin daha bütünsel kullanımı için çapraz onaylama metodu kullanılmıştır. Toplanan verinin sınırlı sayıda olması nedeniyle %5,%10 ve %15'lik çapraz onaylama teknikleri uygulanmıştır. Doğru ve nitelikli bir ölçüt kümesi kullanıldığı sürece yapay sinir ağları yazılım maliyet tahminleme çalışmalarında başarıyla kullanılabileceği görülmüştür.
Cost estimation of computer software is getting more important. Software development becomes increasingly expensive. Software cost estimation is a very important problem for governments and organizations. There are a lot of projects which exceeded planned budged and time. Incorrect budget and time planning at the beginning is the main failure reason. Software becomes increasingly expensive to develop and is a major cost factor in any information system budget. Software development costs often get out of control due to lack of measurement and estimation methodologies. During last decade, some researches on cost estimation have been conducted. In the search of new methodologies to estimate the software development costs but the results were far from being satisfying. In this study, a new software engineering metric set was developed and the data was collected according to new metric set and a new software cost estimation model was developed by using neural network. In this study we have explored the reasons of the disappointing results of the existing software cost estimation with neural network studies and implemented different neural network models using augmented new metrics. The metric-set selection has a vital role in software cost estimation studies; its importance has been ignored especially in neural network based studies. The results obtained are compared with previous studies using traditional metrics. To be able to make comparisons, two types of data have been used. The first part of the data is taken from the Constructive Cost Model which is commonly used in previous studies and the second part is collected according to new metrics in a leading international company in Turkey. Another difficulty associated with the cost estimation studies is the fact that the data collection requires time and care. Futhermore, many companies do not share their data because of competition disadvantage possibilities. In recent literature, we have explored that MLP had been used in software cost estimation with neural network studies. In this study, software cost estimation by using neural network models presented here are based on Multi-Layer Perceptron (MLP) and Elman neural networks which has not been used for this aim. The results obtained are compared with previous studies using traditional metrics. The models presented here are based on Multi- Layer Perceptron and Elman Networks for both COCOMO?81 metric set and for the augmented metric set (YEEM : Yıldız Effort Estimation Metrics). To be able to compare the results accurately tests were run for datasets containing the same number of samples. To investigate further, we have also experimented with larger datasets formed according to augmented metrics. Addressing the issues of the dataset characteristics and the amount of samples in the datasets is one of the purposes of this research. YEEM has been used to construct the neural network topology. The MLP and Elman neural networks has been trainned and tested by using data for YEEM. To make a more thorough use of the samples collected, k-fold, cross validation method is also implemented. Since the amount of samples we have collected are still limited, 5-fold, 10 fold and 15-fold cross validation techniques have been also applied. It is concluded that, as long as an accurate and quantifiable set of metrics are defined and measured correctly, neural networks can be applied in software cost estimation studies with success.