Yazılım projelerinde yapay sinir ağı uygulaması ile maliyet tahmini
Cost estimation of software projects by using neural network and an application
Yazar: AYSUN SEZER
Danışman: PROF. DR. ALİ OKATAN
Haliç Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı
Derece: Yüksek Lisans, 2008
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control
Dizin: Maliyet analizi = Cost analysis ; Yapay zeka = Artificial intelligence

Özet:
Günümüzde, yazılım sistemleri bankacılıktan otomotiv sanayisine, sağlık bilgi sistemlerinden şirket yönetimine, telekomünikasyon sistemlerinden hava taşımacılığına kadar çok geniş alanlarda kullanılan bilgisayar sistemlerinin çok önemli ve kritik bir parçasını oluşturmaktadır. Yazılım geliştirme ise yazılım sistemlerinin mühendislik prensipleri çerçevesinde tasarımı, üretimi ve işletilmesini hedefler.Yazılımların giderek karmaşık ve kompleks yapı kazanmasından ölçme işlemini gerçekleştirmek zorlaşmaktadır. Yazılımların kullanıcılar tarafından kolay anlaşılır olması, hazırlanan modüllerin tekrar kullanılabilir olması, bakım yapılabilir olması, kullanıcıların beklentilerini sağlaması, beklenen maliyette tamamlanması ve güvenilir olması hedeflenmektedir. Belirlenen hedeflere ulaşabilmek için doğru gereksinim analizi, iyi bir fizibilite çalışması ve planlama yapılmalıdır. Yapılan planlamalar her zaman iyi tahminler üzerine olmalıdır. Yapılan doğru yazılımın büyüklüğü, işgücü, takvimi ile optimum yazılım maliyet tahmini yapılabilir. Yazılım maliyetini doğru kestirim ile gerçekleşebilecek yazılım riskleri önceden tespit edilerek uygun şekilde yönetimi sağlanabilir.Yazılım geliştirme maliyeti her geçen gün giderek artmakta ve yazılım firmaları proje geliştirmek için daha fazla harcama yapmaktadırlar. Bu çalışmada yazılım projelerinin maliyetini tahmin etmek amacıyla yapay sinir ağı uygulaması gerçekleştirilmiştir. Yazılım maliyetini en çok etkileyen faktörleri belirlemek için yazılım kestirim metotları olan satır sayısı, fonksiyon puanları, COCOMO 81 modeli ve COCOMO II modeli incelendi. Ayrıca yayın taraması yapılarak uzman görüşleri alındı. Belirlenen faktörlere göre yazılım firmalarından gerçekleşmiş yazılımların belirlenen kriterlere göre veriler toplandı. Elde edilen yazılım proje örneklerinin maliyetleri farklı tarihlere ait olduğu için bütün projelerin maliyeti günümüz maliyetine taşındı. Veriler üzerinde normalizasyon işleminden sonra test ve eğitim verileri olarak iki gruba ayrıldı. Yapay sinir ağı olarak çok katmanlı ileri beslemeli yapay sini ağı seçildi. Eğitim algoritması olarak Delta Algoritmasına karar verildi. Eğitim, örnek veri seti kullanılarak tamamlandıktan sonra test verileri ağa sunularak hedef çıktı elde edildi. Yapay sinir ağı uygulamasından elde edilen veriler COCOMO 2000 verileri ile karşılaştırıldı.

Abstract:
Nowadays, software systems having a so wide range of use; from banking to automotive sector, from health services to management and from telecommunication to air transport business etc. compose a very important and critic part of computer systems. Software innovation aims software design, production and operation on an engineering basis.Measurement procedures are getting harder due to the software systems which get even more complex everyday. The aim is to produce programs which are more reliable, understandable to users, to make modules to be reused, to supply an affordable and easy service, to overcome most of the customer expectations. For these purposes to achieve, exact analysis of requirements, a good feasibility search and planning are crucial. The plans must be constructed on realistic expectations. An optimum cost expectation can be done only with a high rate of accurate software and a fine work force calendar. To predict and manage the software costs, the risks must be predicted first.The cost of software innovation is expanding every day increasing the budget of software firms. In this paper we used neural network applications to predict the cost of software projects. To determine the factors which affect the software costs mostly, we observed the software estimation methods like source lines of codes, function points, COCOMO 81 and COCOMO II models. Besides we made literature search and take authorized support. We take data samples from actual Works of real firms. The costs were also updated. After normalization the data was separated into two groups as test and control groups. We selected multilayer feedforward backpropagation neural network and the Delta Algorithm as training algorithm. After training with example data the test data was given to the neural network application and outputs are obtained. The data taken from neural network application was compared to the COCOMO 2000 data .