• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Yazilim projeleri maliyet tahmini ve cocomo modeli
 

Yazilim projeleri maliyet tahmini ve cocomo modeli

on

  • 5,418 views

Yazılım projelerinde maliyet tahmini ve cocomo modeli

Yazılım projelerinde maliyet tahmini ve cocomo modeli

Statistics

Views

Total Views
5,418
Views on SlideShare
5,416
Embed Views
2

Actions

Likes
5
Downloads
0
Comments
0

1 Embed 2

https://twitter.com 2

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Yazilim projeleri maliyet tahmini ve cocomo modeli Yazilim projeleri maliyet tahmini ve cocomo modeli Presentation Transcript

    • Yazılım Projeleri Maliyet Tahmini ve COCOMO ModeliZAFER DÜZEN ÜMİT KAYGUSUZ11501023 11505027
    • Ajanda Giriş Yazılım Projesi Maliyet Tahmini Basic Cocomo Intermediate COCOMO Detailed COCOMO Function Point Sonuç
    • Giriş Tüm mühendislik alanlarında genel amaç ölçmeler yaparak en düşük maliyette en yüksek verimi almaktır. Ancak yazılım projelerinde ölçme kısmı genelde göz ardı edilmektedir. Yazılım mühendisliğini gerçek bir mühendislik alanına dönüştürmek için evrensel kurallar konulmalı ve ölçme disiplinleri uygulanmalıdır. Ölçme işi açıkça tanımlanmış kurallara ve modellere göre yapılabilir. Günümüzdeki yazılım projelerinde ölçme kavramı için belirli hedefleri olmadığı için tahminlerde genellikle başarısız olunmaktadır.
    • Yazılım Projesi Maliyet Tahmini Yazılım projeleri genellikle belirlenen zaman ve bütçe planlarına uymamaktadır. Bunun sebebi ise harcanan efor tahminin proje başlangıcında yanlış hesap etmektir. Gereksinim analizleri ve diğer tüm planlar da belirlenen bu hesaplara göre düzenlediğinden proje yanlışlar zinciri ile devam etmektedir. Bu yüzden proje belirlenen maliyetten çok daha yüksek maliyetlere çıkmaktadır. Bu problemleri en düşük seviyeye indirmek için ise projede gerekli olan iş gücü ve maliyeti tahmin etmek yönünde daha fazla çalışmalar yapılmalıdır.
    • Yazılım Projesi Maliyet Tahmini Yazılım projelerinde maliyet tahmini yapmak projenin başlangıcı için en önemli adımlardan biridir. Maliyet tahmini ilk olarak önceki projelerden elde edinilen deneyimlerle yapılırken 1950’li yıllardan itibaren yazılım projeleri belirli parametrik değerlerle ölçülerek, matematiksel denklemler kullanılarak hesaplanmaya başlanmıştır. Geçmiş yüzyılın ortalarında birçok parametrik model ortaya konulmuş ve bunlar genel kabul görmüş matematiksel denklemlere dönüştürülerek benzer projelerde maliyet tahminleri yapılmıştır.
    • COCOMO COCOMO modeli regresyon tabanlı bir yazılım maliyet tahmin yöntemidir . Bary Boehm tarafından 1981 yılında geliştirilmiş ve dünyada şu an en çok kullanılan ve en çok atıf yapılan yöntemdir. Tek değişkenli ve büyük ölçekli projeler için lineer olmayan bir yöntemdir. COCOMO modelinde proje büyüklüğü belirlendikten sonra proje boyutuna göre belirli parametreler kullanılarak hesaplamalar yapılır. Model proje boyutlarına göre belirli tiplere ayrılır. Ayrıca modelin doğru sonuç vermesi de garanti edilemez. Projeniz için yapacağınız hesabın doğruya yakın sonuç vermesi Boehm’in yaptığı çalışmalara ne kadar yakın olduğu ile alakalıdır.
    • COCOMO – Basic COCOMO Basic COCOMO modeli hızlı maliyet tahmini yapılması gereken durumlarda kullanılır. Bu yöntemde projenin maliyetini belirleyecek olan değişkenler tam olarak belli olmadığından, proje maliyeti belirlenmesinde hata olasılığı yüksektir. Basic COCOMO, proje için harcanan eforu ve geliştirme için gerekli olan süreyi proje büyüklüğünün bir fonksiyonu olarak kod satır sayısı cinsinden hesaplar.Efor = ABasic x (LOC)^BBasic (Adam x Ay)Geliştirme Süresi = CBasic x (LOC)^DBasic (Ay)Gerekli Çalışan Sayısı = Efor /Geliştirme Süresi (Adam)
    • COCOMO – Basic COCOMOFarklı proje türlerine göre Basic COCOMO hesabıyapabilmek için ABasic, BBasic, CBasic, DBasicparametrelerinin değerleri Şekil 1’de verilmiştir .(Boehm, 1981, pp. 57-71)
    • COCOMO – Intermediate COCOMOİntermediate COCOMO’da aynı denklem kullanılır ancak bu tiptekullanılan hesaplamalarda proje karakteristiklerini belirleyen ve 20’yekadar çıkabilen yeni çarpanlar eklenir. Daha detaylı ve güvenilir birhesaplama yapılır.Her karakteristik için çok az dan çok fazlaya doğru olan bir spektrumdadeğer belirlenir ve bu değere karşılık gelen çarpan hesaplamayakatılır.Bu bilgilerin tutulduğu tabloya “Effort Adjustment Factor(EAF)”tablosu denir. Eğer bir tip risk normal olarak belirleniyorsa bunakarşılık gelen çarpan “1” dir ve toplam hesapta bir değişikliye yol açmaz.Intermediate COCOMO hesabında kullanılan parametreler Şekil 2’deverilmiştir.
    • COCOMO – Intermediate COCOMO Efor = AInt. x (KLOC)^BInt. x EAF (Adam x Ay) Geliştirme Süresi = CInt. x (KLOC)^DInt. (Ay)
    • COCOMO – Detailed COCOMODetailed COCOMO, Intermediate COCOMO’nunüzerine projenin test, development ve design vb.Fazlarının ve ürünün system, alt-sistem ve modül gibi3 farklı seviyesine gore maliyet hesaplamalarınınyapıldığı COCOMO modelidir.
    • Function Point Yazılım maliyet tahmini yapılırken yazılım büyüklük tahmini de yapmak gerekmektedir. Maliyet tahminlerinde genellikle hesaplamalar toplam kod satır sayısı üzerinden yapılmaktadır. Kod satır sayısı da genellikle eski projelerden veya deneyimli kişilerin tahminleriyle ortaya çıkarıldığından çok bilimsel olduğu söylenemez. “Function Point Analizi” adlı yöntem ise minimum düzeyde programlama bilgisi ile yazılım büyüklüğü tahmini için modellenmiştir. Bu yöntem Albrecht tarafından 1980lerde ortaya konulmuş bir metottur ve yazılım büyüklüğünü “Function Point” olarak kategorilendirip kod satır sayısı cinsinden bir ölçü verir. Yöntem şu an da dünyada yaygınlıkla kullanılmaktadır.
    • Function Point Function point analiz yönteminin geliştirilme amacı minimum düzeyde programlama bilgisi ile bir yazılım projesinin büyüklüğünü ölçmektir. Proje büyüklüğü, projedeki fonksiyonel gereksinimler analiz edilerek ve bunlara bağlı olarak function pointler belirlenerek elde edilir. Function point yazılım projelerindeki sayılabilir veya ölçülebilir birimlerden olan dış girdi-çıktılar ve arayüzler gibi sistem özellikleri kullanılarak bulunan bir ölçü birimidir. Bu yüzden sistemin fonksiyonalitesine bakarak harcanan efor projenin nasıl geliştirildiğinden bağımsız olarak bulunabilir. Function pointler 5 kategoriye ayrılırlar.
    • Function Point Dış Arayüzler (External Interfaces) Projenin geliştirme kapsamı dışında yer alan bir sistemle veri alışverişi ihtiyacı duyulan işlevselliklere verilen addır. Örneğin, devlet servislerinden kimlik numarası kullanarak kişi bilgilerini almak. Acil Kullanıcı Müdaheleleri (User inquires) Yazılımın yönettiği sistemde beklenmedik bir durum olduğunda, kullanıcılara uyarı gönderilmesi(yazılım üzerinden, e-posta ya da SMS ile bilgilendirme) ve kullanıcının müdahalesini kapsayan işlevsellik durumlarına verilen addır. Örneğin sunucuların devre dışı kalması durumu veya bir e-ticaret projesinde veritabanındaki şişme durumları. Kullanıcı ile Paylaşılan Veriler (User outputs) Sistemin herhangi bir işlemi tamamladığında veya o işlemi yaparken alınan hata durumlarında kullanıcıya veri ya da rapor iletmesi. Kullanıcının Giriş Yaptığı Veriler (User inputs) Sistemin herhangi bir işlemi gerçekleştirmesi için kullanıcılardan veri alması ve bunların işlenmesi durumları. İç Arayüzler (Internal Interfaces) Uygulamanın içerisinde yer alan farklı modüllerin veri alışverişini kapsamaktadır. Veritabanı yedeklemeleri ve sistem durum loglamarı bu grupta yer almaktadır.
    • Function Point Function point hesaplamak için ilk olarak her bir kategoriden elde edilen function pointler hesaplanmalıdır. Karmaşıklık tablosundan her birinin karmaşıklık ağırlığı da belirlenmelidir. Daha sonra her kategori için belirlenen karmaşıklık ağırlığı ve function point bilgisi çarpılarak toplam function point bilgisi hesap edilir. Function Point’ler ağırlıklarına ve programlama dillerine denk gelen değişkenlerle çarpıldığında. FP’nin geliştirilmesi için gerekli kod satır sayısı elde edilebilir. Şirket bünyesinde tutulan tarihsel bilgilere ve çevresel faktörlere dayanarak (performans gereksinimleri, tekrar kullanılabilirlik, değişiklik isteği gelme ihtimali vs.) FP’ler bir düzenleme katsayısı ile (0,95 - 1,1 gibi) çarpılabilir.
    • Function Point Funtion Point analizi için teknik bir uzman görüşüne ihtiyaç duyulmamaktadır. Doğru çıkartılmış Function Point’ler ile gerçeğe yakın kestirimler yapılabilir. Fakat karmaşıklık ağırlığı gibi sonucu ciddi oranda etkileyebilecek kararların tamamen kişisel olarak verilmesi zorunluluğu Function Point yönteminin dezavantajları arasındadır.
    • Sonuç Yazılım projelerinde maliyet tahmini ölçümü için 1980lerden itibaren kullanılmaya başlayan COCOMO modeli, modelin oluşturulduğu yönteme yakın projelerde genellikle başarılı sonuçlar vermektedir. Ancak günümüzde projeler çok farklılaştığından ve COCOMO için proje büyüklüğü belirlemek gerektiğinden tüm projelere uygulanması söz konusu değildir. Proje büyüklüğü belirlemek için kullanılan yöntemler ise genellikle kod satır sayısı tabanlı olarak çalışırlar. Bu makalede kullanılan yöntem olan “Function Point ” yöntemi daha detaylı inceleme yapıldığından, programlama bilgisine minimum düzeyde ihtiyaç duyduğundan ve evrensel olarak kabul gördüğünden daha tutarlı sonuçlar vermektedir.
    • Kaynaklar Kalıpsız, O., 2009. Yazılım Geliştirme Projelerinde Maliyet Tahminleme Çalışmasında Kullanılabilinecek Bir Ölçev Kümesi Ve Bir Yapay Sinir Ağı Topolojisi Önerisi, Yıldız Teknik Üniversitesi, Bilgisayar Mühendisliği Bölümü, Barbaros Bulvarı Yıldız, İstanbul Aroba, J., 2008. Segmented software cost estimation models based on fuzzy clustering, Information Technologies Department, University of Huelva, Ctra. Huelva-La Ra´ bida s/n, 21071 Huelva, Spain Attarzadeh, I., 2010, Proposing a New Software Cost Estimation Model Based on Artificial Neural Networks, Siew Hock Ow Department of Software Engineering Faculty of Computer Science & Information Technology University of Malaya, 50603 Kuala Lumpur, MALAYSIA Vickers, P., 2003, An Introduction to Function Point Analysis, Northumbria University, Newcastle Çolak, E., 2010, Sofware Size EstimationPerformance Of Small And Middle Size Firms In Turkey. Felfernig, A., 2010, Applying Function Point Analysis to Effort Estimation in Configurator Development, Department of Business Informatics and Application Systems, Klagenfurt, Austria
    • Teşekkürler…