YazILIm MühendİSLİĞİ İÇİN Malİyet Hesaplama

Slides:



Advertisements
Benzer bir sunumlar
Dr. Şeyda Serdar-Asan İTÜ Endüstri Mühendisliği Bölümü
Advertisements

Dört Bölüm 1.Tanıtım ve Mevcut Durum 2.Hedefler 4.Demo 3.Yeni Sürüm Planlaması.
Yazılım Geliştirme ve Java
Karmaşıklık Giriş.
Sinan Doğan, Esra Beyoğlu
UML Unified Modeling Language
Enerji Performans Uygulamaları,
Component’e Dayalı Yazılım Mühendisliğinde Çözümleme Süreci “Component-Based Software Engineering Analysis” Yusuf Altunel İstanbul Kültür Üniversitesi,
Konuları hakkında temel bilgi sahip olacaksınız.
G İ R İŞ VE GENEL KAVRAMLAR Tıp, İnşaat, Elektronik, Eğlence, Alışveriş gibi bir çok sektörde kullanılır Analiz, tasarım, geliştirme, test, canlı ortam.
Yazılım Proje Yöneticisinde Arananlar…
İşletim Sistemlerine Giriş
Maltepe Üniversitesi Mühendislik Fakültesi
Yazılım Mühendisliği Bölüm - 6 Gerçekleştirim
İnsan Kaynakları Planlaması
Arş. Gör. Cevdet KIZIL Kadir Has Üniversitesi 21/02/2005
END3061 SİSTEM ANALİZİ VE MÜHENDİSLİĞİ
Maltepe Üniversitesi Mühendislik Fakültesi
İnsan Kaynakları Planlaması (İKP)
Bora GÜRSEL CBÜ BAUM Proje Yöneticisi
TÜMLEŞİK MODELLEME DİLİ
END3061 SİSTEM ANALİZİ VE MÜHENDİSLİĞİ Güz Yarıyılı.
Yazılım Proje Yönetimi
Nesneye Dayalı Programlama
Intelligent Network and Mobile Agents Agent kavramı 90’ların başında çıkmıştır. Agent kelimesinin kesin bir tanımı bulunmamaktadır. Bazı yerlerde uygulama.
PROJE YÖNETİMİ FARUK ÇUBUKÇU 8/10/2004.
Prof. Dr. Turgay ONARGAN Prof. Dr. C. Okay AKSOY MTS 3022 TÜNEL AÇMA
NESNEYE DAYALI PROGRAMLAMA
4. Hafta.  % Parametreler %   A = 3; % genlik  f = 440; % frekans (Hz)  phi = -pi/4; % faz  fs = 20e3; % örnekleme oranı (20 kHz)  Ts = 0; %
Yazılım Projelerinde Use Case Nokta Modeliyle Maliyet Tahmini
Nesneye yönelİk analİz ve tasarima gİrİş
Proje Yönetimi Proje Yönetimine Giriş
YAZILIM TABANLI RADYO UYGULAMALARI
Şişecam S ayısal Yönetimle Verim VIII. "Türkiye'de İnternet" Konferansı 20 ARALIK 2002 Canan Özcan Türkiye Şişe ve Cam Fab. A.Ş.
Chapter 1: Giriş.
BENZETİM Prof.Dr.Berna Dengiz 5. Ders.
FIZ 172 BİLGİSAYARA GİRİŞ II
Prof. Dr. Turgay ONARGAN Prof. Dr. C. Okay AKSOY
Quest Atlantis Dünya Üzerine Yayılmış Çok-Kullanıcılı Çevrim-İçi Eğitsel Bir Bilgisayar Oyununun Teknik Yapısı.
Çeviride Bilgi Teknolojileri Arş. Gör. Sinem Canım
Çevik Metodolojiler mi Geleneksel Metodolojiler mi?
Kurumsal Kaynak Planlama ( Enterprise Resource Plannning)
ALİ FINDIK Galatasaray Ünİversİtesİ 2015
FIRAT ÜNİVERSİTESİ PERSONEL OTOMASYONU
Özgür Kayaş Müzeyyen Tekinşen
Karar Bilimi 1. Bölüm.
Bulanık Mantık Bulanık Mantığın Temel Kavramları
Bulanık Mantık Mamdani Bulanık Netice Ve Bulanık Çıkarma
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
KALİTE YÖNETİM SİSTEMİ
(Proje Yönetimi ve Danışmanlık Metodları)
İNSAN KAYNAKLARI YÖNETİMİ
Bilgisayar Mühendisliğindeki Yeri
ÇEVİK (Agile) SÜREÇLER Değişen gereksinimler, teknik riskler gibi önceden belirlenemeyen durumlara ve yazılım ürününü etkileyebilecek her tür değişikliğe.
Yazılım Mühendisliğine Giriş YYurtaY. Ders İçeriği o Yazılım mühendisliğine giriş, o Yazılım mühendisliği ve etik, o Yazılım mühendisli ğ inin önemi ve.
Yazılım Mühendisliği YYurtaY. Ekip çalışması
Sistem Analizi ve Tasarımı
Partnership for the Future United Nations Development Programme Programme funded by the European Union UNDP-PFF Nasıl Web Sitesi Sahibi.
YAZILIM ÖLÇÜMÜ Yazılım mühendisliği, yazılım ürününü oluşturmaya, mühendislik yaklaşımı uygulamakla ilgili olan teknikler toplamını tanımlamak için kullanılan.
Ders 3: Yazılım Geliştirme Aşamaları
YZM 305 – Profesyonel Yazılım Mühendisliği Uygulamal
SAP SE, merkezi Walldorf, Almanya'da bulunan, Avrupa'nın en büyük yazılım şirketidir.
SAĞLIK KURUMLARINDA KARAR VERME YÖNTEMLERİ
SÜREÇ YÖNETİMİ İNŞAAT ŞİRKETLERİ İÇİN PERFORMANS DEĞERLENDİRME VE YÖNETİMİ.
BİLGİSAYAR DESTEKLİ EĞİTİM İÇİN ÖĞRETİM TASARIMI
5- Zaman Yönetimi: Pert/cpm
Yazılım Mühendisliği Temel Süreçler - Sistem Analizi
Yazılım Mühendisliği Temel Süreçler – PLANLAMA II
Dünya Üzerine Yayılmış Çok-Kullanıcılı Çevrim-İçi Eğitsel
Çağdaş Gelişmeler Işığında Ana Dili Öğretimi
Sunum transkripti:

YazILIm MühendİSLİĞİ İÇİN Malİyet Hesaplama MEHMET KAYKISIZ/11541504 Yrd. Doç.Dr. Resul DAŞ 

Önemli Açıklama Burada gösterilen metotlar sadece açıklama içindir. Ayrıntılı olarak sadece Use-Case Point anlatılmıştır. Bu metotları çoğu matematiksel olduğu için inşaat sektöründe bile kullanılabilmektedir. Amaç iş süresi vb. Parametrelere göre maliyet hesaplamaktır.

Maliyet Hesaplama Metotları Analysis Effort method COCOMO COCOMO™ II COSYSMO Evidence-based Scheduling  Function Point Analysis Proxy-based estimating Program Evaluation and Review Technique (PERT) SEER-SEM  SLIM The Planning Game (from Extreme Programming) Weighted Micro Function Points (WMFP) Wideband Delphi The Use Case Points method (UCP) CETIN[1]

Analysis Effort Method Analysis Effort Method metodu, yazılım projelerinin ne kadar süreceğini hesaplamak içindir.Burada amaç başlangıçta bir işi gerçekleştirme süresi belirlemektir. Bu yönteme girişler Boyut (S), Yakınlık (F) ve Karmaşıklık (C) gibi sayısal faktörlerdir. Bir yazılımın incelenmesi için önceki tecrübelere dayanarak bir tahmin yapılır. Tasarım, Kodlama, Birim Testleri, Testler değerlendirme parametreleridir. Eğitim ve Proje Yönetimi bu hesapların dışındadır. Bu yöntem tecrübelere dayalı tahminlerle yürütülür. [2]

Constructive Cost Model (COCOMO) Constructive Cost Model (COCOMO), Barry W. Boehm tarafından 1981 yılında geliştirilmiştir. Şuan ki ve gelecekteki verilerin regrasyon analizini kullanır. 2000 satır ile 10000 satır arasındaki dönemin büyük projelerinde maliyet hesaplaması için kullanıldı. COBOL, PL/I programlama dilleri kullananlar tarafından tercih edildi. Şelale geliştirme modeline dayanan bir temeli vardı. Bu metot COCOMO 81 olarakta bilinir. [3]

Constructive Cost Model (COCOMO) İş Gücü (K) K= a x Sb Zaman (T) T= c x Kd S: Bin tipinde satır sayısı a,b,c,d : 3 farklı model için katsayılar   Ayrık Projeler İçin: a=2,4 , b=1,05 , c=2,5 , d= 0,38 Yarı – Gömülü Projeler İçin: a=3,0 , b=1,12 , c=2,5 , d= 0,35 Gömülü Projeler İçin: a=3,6 , b=1,20 , c=2,5 , d= 0,32 [4]  

COCOMO 2 COCOMO 81 in arkasından 2000 yılında gerçekleştirildi. Veritabanlarının kullanıldığı modern projelerde ve daha kapsamlı ve sağlı sonuçlar sağladı. Yatırım veya bir yazılım geliştirme sırasında gereken diğer finansal kararlar Planlama ve kontrolü için temel olarak proje bütçeleri ve programları ayarı Karar veya yazılım maliyet, zamanlama, işlevsellik, performans veya kalite faktörleri arasında denge sağlamak Yazılım maliyet ve zamanlama risk yönetimi kararları Yazlım sistem parçalarının hangisilerinin yeniden alınaca, kiralanacak vb. Kararları alabilmek Yeniden kullanımı yoluyla, kuruluşun yazılım yeteneğini geliştirmek için karma yatırım stratejileri ayarlama, araçlar, süreç olgunluk, dış kaynak kullanımı, vb [5]

Constructive Systems Engineering Cost Model (COSYSMO) Ricordo Valerdi tarafından 2002’de üretildi. Bu metot donanım ve yazılım projeleri üzerinde sisteme, personel ve iş süresinin bir tahmini verilerek hesaplanır. Başlangıçta 2002 yılında geliştirilen, modeli şimdi Raytheon, Northrop Grumman, Lockheed Martin, SAIC, General Dynamics ve BAE Systems gibi büyük havacılık ve savunma şirketi tarafından sağlanan 50'den fazla projede kullanılıyor. [6]

Constructive Systems Engineering Cost Model (COSYSMO)

Evidence-based Scheduling Evidence-based Scheduling, Joel Spolsky tarafından oluşturuldu. Amaç yazılım müh. İlkeleri üzerinde bir yorumcu tarafıdan oluşturulan yazılım tahmin yaklaşımıdır. Bu yaklaşımda, süre hesabı yapılırken akıla gelen tüm parametreler alınır. Hastalıktan, Çay, Sigara molasına kadar herşey önemlidir.[7]

Function Point Function Point , bilgi sisteminde, bir kullanıcıya verdiği işin işlevsellik miktarını ifade ölçüttür. Tek bir birimin maliyeti(dolar/saat) geçmiş projelere göre hesaplanır. 1979 yılında IBM’de Allan Albrecht tarafından verimlilik ölçmek için hazırlandı. Yazılımın işlevsel gereksinimleri belirlenir ve her biri şu beş türe göre sınıflandırılır; Çıkışlar, sorular, girişler, iç dosyalar ve dış arayüzler. Fonksiyonlar bunlara göre katagorize edilir, karmaşıklığına göre puanlandırılarak dereceleri belirlenir.[8]

PRICE Systems PRICE Systems, 1975 yılında RCA şirketi tarafından bulundu. Genellikle parametrik maliyet tahmini, yazılımlar daha erken geliştirilmesi için kabul edilmiştir. Bu sistem şu anda bir uygulama şeklinde satılıyor. 1976 yılında Donanım Yaşam Döngüsü Maliyet Modeli olarak başlangıç yaptı. Daha sonra yazılım projeleri için sürece yeni yöntemler katıldı. Fakat uygulamanın arka planı hakkında yeterli bir bilgi yok. [9]

Proxy-based Estimating Proxy-based Estimating, bu sistem kişisel proje geliştirenler için tasarlanmıştır. Benzer projelerdeki çaba üzerine kurulu bir planı vardır, her proje aynı çabayla yapılır mantığına dayanır. [10]

Program (or Project) Evaluation and Review Technique Program (or Project) Evaluation and Review Technique, kısa adı PERT. Belirli bir projeyi tamamlayana kadar ki görevleri analiz ve temsil etmek için tasarlanmıştır. İlk olrak 1950’lerde ABD donanması tarafından geliştirilen yaygın kritik yön yöntemi ile birlikte kullanılmıştır. [11]

Program (or Project) Evaluation and Review Technique

Use Case Points (UCP) Use Case Points (UCP), yazılım projelerinde, projenin boyuutunu tahmin etmek için kullanılır.Yazılım tasarım ve geliştirme için kullanılan Unified Modeling Language (UML) ve Rational Unified Process (RUP) gibi metodolojiler kullanılır. UCP kavramı modelleme teknikleri UML kümesinin parçası olan kullanım durumlarını kullanılarak yazılmış olan sistem için gereksinimlere dayanmaktadır. Projelerde Emek hesabı için kullanılır. 1993’de Gustov Karner tarafından geliştirilmiştir.

Example Bir online alışveriş sistemi ele alınmıştır. Aşağıdaki diyagram geliştirilecek sistem için Use-Case Diyagramını gösteriyor.

Arındırılmamış Kullanım Durumu Ağırlık (UUCW) UUCW hesaplamak için,kullanım durumları tanımlanmalıdır ve her durum için işlem sayısı belirlenmeli. Alışveriş sistemimiz için 9 farklı kullanım mevcut durumda. Bu durumlar için 2 tane basit, 3 tane ortalama,4 tane karmaşık durumumuz olduğunu varsayalım. UUCW = (x 5 Basit Kullanım Durumları toplam sayısı) + (Toplam No Ortalama Kullanım Durumları x 10) + (Toplam No karmaşık Kullanım Durumları x 15) Online Alışveriş Sistemi, UUCW = (2 x 5) + (3 x 10) + (4 x 15) = 100 UUCW = 100

Düzeltilmemiş Aktör Ağırlık (UAW) UAW hesaplamak için aktörler hesap edilmelidir. Online Alışveriş Sistemi kullanma durumu diyagramında beş aktör görünmektedir; (Yani Online Müşteri, Pazarlama Yöneticisi, Depo Memuru, Ambar Müdürü) Ödeme İşleme Sisteminde; Bir ​​basit ve insan kullanıcıların aktörlerin her biri için dört kompleks durum aktör bulunmaktadır. UAW = (x 1 Basit Aktörler toplam sayısı) + (Toplam No Ortalama Aktörler x 2) + (Toplam No Complex Aktörler x 3) Online Alışveriş Sistemi, UAW = (1x 1) + (0 x 2) + (4 x 3) = 13 UAW = 13

Teknik karmaşıklık (TCF) Teknik karmaşıklıkta değerlerin her bir iş için yüküne bakılarak hesaplanır.

Faktör Tanım Ağırlık Atanan Değeri Ağrlık X Atanan Değer T1 Dağıtık Sistem 2.0 5 10 T2 Tepki süresi / performans hedefleri 1.0 T3 Son kullanıcı verimliliği 3 T4 Dahili işleme karmaşıklığı 2 T5 Kodu yeniden kullanılabilirliği T6 Kolay kurulum 0.5 1 T7 Kolay Kullanım 2.5 T8 Diğer platformlar için taşınabilirlik 4 T9 Sistem bakım T10 Eşzamanlı / paralel işleme T11 Güvenlik özellikleri T12 Üçüncü taraflar için erişim T13 Son kullanıcı eğitimi Toplam (TF): 42

Teknik karmaşıklık (TCF) TCF = 0.6 + (TF/100) Online Alışveriş Sistemi, TCF için = 0.6 + (42/100) = 1.02 TCF = 1.02

Çevre Karmaşıklı Faktörü (ECF) Projeyi etkileyebilecek çevresel faktörlere birer değer atanınır ve ağırlık puanlarıyla hesaplanır.

Faktör Tanım Ağırlık Atanan Değer Ağrlık X Atanan Değer E1 Kullanılan geliştirme süreci ile aşinalık 1.5 3 4.5 E2 Uygulama deneyimi 0.5 E3 Takım Nesne yönelimli deneyimi 1.0 2 E4 Lier analist yeteneği 5 2.5 E5 Ekibinin Motivasyon E6 Şartları kararlılığı 2.0 1 E7 Part-time personel -1.0 E8 Zor bir programlama dili 4 -4 Total (EF): 10.5

Çevre Karmaşıklı Faktörü (ECF) ECF = 1.4 + (-0.03 x EF) Online Alışveriş Sistemi, ECF = 1.4 + (-0.03 * 10.5) = 1.085 ECF = 1.085

Use Case Points (UCP) Arındırılmamış Kullanım Durumu Ağırlık (UUCW), düzeltilmemiş Aktör Ağırlık (UAW), Teknik Karmaşıklık Faktörü (TCF) ve Çevre Karmaşıklık Faktörü (ECF) tespit edildikten sonra, Use Case Points (UCP) aşağıdaki formülle hesaplanır: UCP = (UUCW + UAW) x TCF x ECF Online Alışveriş Sistemi, UCP = (100 + 13) = 125.06 1.02 x 1,085 x UCP = 125.06

Use Case Points (UCP) Online Alışveriş Sistemi, yazılım geliştirmek için toplam tahmini büyüklüğü 125.06 Use Case Points. Şimdi Projenin büyüklüğünü bildiğimize göre; Kişi başı 28 saatten hesaplayarak süreci hesaplayalım. Tahmini Emek = UCP x Saat Online Alışveriş Sistemi; Tahmini Emek = 125.06 x 28 Tahmini Emek = 3501 Saat[12]

Ek Açıklamalar Günümüz Teknolojileri için yeni maliyet hesaplamaları mevcuttur. Fakat çok ileri konulardır. Ör;Bulanık Mantık:Optimized Fuzzy Logic Based Framework for Effort Estimation in Software Development Ör;Sinir Ağları:Optimized Fuzzy Logic Based Framework for Effort Estimation in Software Development

KAYNAKLAR http://en.wikipedia.org/wiki/Cost_estimation_in_software_engineering http://en.wikipedia.org/wiki/Analysis_Effort_method http://en.wikipedia.org/wiki/COCOMO http://blog.burakkutbay.com/etkin-maliyet-modeli-cocomo.html/ http://csse.usc.edu/csse/research/COCOMOII/cocomo_main.html http://en.wikipedia.org/wiki/COSYSMO Joel on Software: And on Diverse and Occasionally Related Matters That Will Prove of Interest to Software Developers, Designers, and Managers, and to Those Who, Whether by Good Fortune or Ill Luck, Work with Them in Some Capacity, Joel Spolsky, August 2, 2004 http://en.wikipedia.org/wiki/Function_point_analysis http://en.wikipedia.org/wiki/PRICE_Systems http://en.wikipedia.org/wiki/Proxy-based_estimating http://en.wikipedia.org/wiki/Program_Evaluation_and_Review_Technique http://en.wikipedia.org/wiki/Use_Case_Points