yazilim proje yÖnetİmİ Öğr. gör. dr. emin borandaĞ eminb @ maltepe .tr

58
YAZILIM PROJE YÖNETİMİ Öğr. Gör. Dr. Emin BORANDAĞ [email protected] Maltepe Üniversitesi Mühendislik Fakültesi YZM 403

Upload: mark-olsen

Post on 01-Jan-2016

64 views

Category:

Documents


5 download

DESCRIPTION

YAZILIM PROJE YÖNETİMİ Öğr. Gör. Dr. Emin BORANDAĞ eminb @ maltepe .edu.tr. Maltepe Üniversitesi Mühendislik Fakültesi. YZM 403. 4. BÖLÜM. YAZILIM BÜYÜKLÜK ve EMEK KESTİRİMİ. Genel Bakış…. Yazılım büyüklük ve emek kestirimine giriş Yazılımda ölçme Yazılım kestirimi için temeller - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: YAZILIM PROJE YÖNETİMİ Öğr. Gör. Dr. Emin BORANDAĞ eminb @ maltepe .tr

YAZILIM PROJE YÖNETİMİÖğr. Gör. Dr. Emin BORANDAĞ

[email protected]

Maltepe Üniversitesi Mühendislik FakültesiYZM 403

Page 2: YAZILIM PROJE YÖNETİMİ Öğr. Gör. Dr. Emin BORANDAĞ eminb @ maltepe .tr

2

4. BÖLÜM

YAZILIM BÜYÜKLÜK

ve EMEK KESTİRİMİ

YZM 403 - Yazılım Proje Yönetimi

Page 3: YAZILIM PROJE YÖNETİMİ Öğr. Gör. Dr. Emin BORANDAĞ eminb @ maltepe .tr

YZM 403 - Yazılım Proje Yönetimi

3

• Yazılım büyüklük ve emek kestirimine giriş

• Yazılımda ölçme

• Yazılım kestirimi için temeller

• Yazılım büyüklük kestirim teknikleri- Teknik büyüklük kestirim yöntemleri- İşlevsel büyüklük kestirim yöntemleri

• Yazılım emek kestirim teknikleri- Algoritmik Olmayan Emek Kestirim Yöntemleri

- Algoritmik Emek Kestirim Yöntemleri

Genel Bakış…

Page 4: YAZILIM PROJE YÖNETİMİ Öğr. Gör. Dr. Emin BORANDAĞ eminb @ maltepe .tr

YZM 403 - Yazılım Proje Yönetimi

4

Giriş

• Yazılım geliştirme sürecinin başında, büyüklük, emek ve maliyet kestirimleri geliştiricilerin ve yöneticilerin karşılaştığı en önemli problemlerdir.

• Yazılım proje yönetiminde çok önemli olan ölçme ve bu kavram çerçevesinde yapılanan kestirim yöntemleri aracılığı ile zaman ve işgücü gibi planlamaların yapılabilme gereği açıktır.

Page 5: YAZILIM PROJE YÖNETİMİ Öğr. Gör. Dr. Emin BORANDAĞ eminb @ maltepe .tr

YZM 403 - Yazılım Proje Yönetimi

5

Yazılımda Ölçme

• Her yazılım projesinin temel hedefi, müşterinin ihtiyaçlarını karşılayan, öngörülmüş bütçe ile zamanında teslim edilen hatasız bir yazılım geliştirmektir.

• Yazılımda ölçüm yöntemlerinin kullanılması, yazılım sektöründe gittikçe önem kazanır olmuştur.

• Kurumlar üç ana amaçla yazılımda ölçümü gündemlerine almaktadırlar:

- Yazılım projesini anlamak ve modellemek,

- Yazılım projelerinin yönetilmesine yol göstermek,

- Yazılım süreç geliştirme ve iyileştirme çalışmalarını yön vermek,

Page 6: YAZILIM PROJE YÖNETİMİ Öğr. Gör. Dr. Emin BORANDAĞ eminb @ maltepe .tr

YZM 403 - Yazılım Proje Yönetimi

6

Yazılımda Ölçme (devam…)

• Yazılımın ölçülebilmesi, harcanılan zaman, emek, proje büyüklüğü ve kalite gibi faktörlerin belirlenmesine olanak sağlamaktadır.

• Organizasyonlar, bu verilere dayanarak ileride alacakları projeler için kestirim yapabilme imkânı bulabileceklerdir.

• Yazılım projelerinde kaliteyi arttırmak, her şeyden önce doğru ölçme yöntemlerine bağlıdır. Birden fazla kestirim yöntemi kullanılmalıdır.

Page 7: YAZILIM PROJE YÖNETİMİ Öğr. Gör. Dr. Emin BORANDAĞ eminb @ maltepe .tr

YZM 403 - Yazılım Proje Yönetimi

7

Beş Temel Yazılım Ölçütü

• Büyüklük (Size),

• Emek (Effort),

• Maliyet (Cost),

• Zaman (Duration),

• Kalite (Quality).

Page 8: YAZILIM PROJE YÖNETİMİ Öğr. Gör. Dr. Emin BORANDAĞ eminb @ maltepe .tr

YZM 403 - Yazılım Proje Yönetimi

8

Yazılım Büyüklük Kestirim Yöntemleri

• Yazılım büyüklük kestiriminde kullanılan yöntemler;- teknik büyüklük kestirim yöntemleri,- işlevsel büyüklük kestirim yöntemleri

olarak sınıflandırılmıştır.

Page 9: YAZILIM PROJE YÖNETİMİ Öğr. Gör. Dr. Emin BORANDAĞ eminb @ maltepe .tr

YZM 403 - Yazılım Proje Yönetimi

Teknik Büyüklük Kestirim Yöntemleri

• Satır Sayısı (Lines of Code - LOC): Uygulamanın büyüklüğünü anlamak için bilgisayar programlarındaki kodların satırlarını sayma en geleneksel ve en yaygın şekilde kullanılan yazılım ölçümüdür.

• Satır Sayısı, kod içerisindeki satır sayısını temsil eder.

- Kod satır sayısı kestiriminde, proje tahmin edilen alt birimlerine ayrıştırılır. Her bir alt birim için satır sayıları önerilir. Bu kestirimler yapılırken de en küçük, en olası ve en büyük ihtimaller belirlenip, bunlarla bir ortalama işlemi yapılır.

- Satır sayısı kestirimi: (k+4o+b)/6 şeklinde hesaplanabilir.

9

Page 10: YAZILIM PROJE YÖNETİMİ Öğr. Gör. Dr. Emin BORANDAĞ eminb @ maltepe .tr

YZM 403 - Yazılım Proje Yönetimi

Teknik Büyüklük Kestirim Yöntemleri (devam…)

• Satır Sayısı (Lines of Code - LOC)

Tabi ki 1000 LOC değeri olan bir Java programı, 100 LOC değerine sahip bir Java programından 10 kat daha büyüktür. Fakat bu sayının içinde yorum satırları var mı? Yorum satırlarını dahil etmeli miyiz? (Yorum Satırının Avantajı)

Deneyim ile kod oluşturumu (Aynı özellik farklı kod sayısı)

Programlaa dili farkı Assembler <> Visual Basic

Değişkenlerin tanımlanması LOC olarak sayılmalı mıdır?

10

Page 11: YAZILIM PROJE YÖNETİMİ Öğr. Gör. Dr. Emin BORANDAĞ eminb @ maltepe .tr

YZM 403 - Yazılım Proje Yönetimi

Teknik Büyüklük Kestirim Yöntemleri (devam…)

• Satır Sayısı (Lines of Code - LOC)

İki başlıca LOC Kaynak Kod Satır Sayısı ölçüm çeşidi vardır. Bunlar;- Fiziksel LOC- Mantıksal LOC

Örnek 1:- for (i=0; i<100; ++i) printf ("hello"); /* How many lines of code is this? */

1 Fiziksel Kod Satırı

2 Mantıksal Kod Satırı (for ve printf ifadesi)

1 Yorum Satırı

11

Page 12: YAZILIM PROJE YÖNETİMİ Öğr. Gör. Dr. Emin BORANDAĞ eminb @ maltepe .tr

YZM 403 - Yazılım Proje Yönetimi

Teknik Büyüklük Kestirim Yöntemleri (devam…)

• Satır Sayısı (Lines of Code - LOC)

Örnek 2:- Programcıya göre ve/veya kodlama standartlarına göre Örnek

1’deki kod aşağıdaki şekilde de yazılabilir.

for (i=0; i<100; ++i)

{

printf("hello");

} /* Now how many lines of code is this? */

4 Fiziksel Kod Satırı

2 Mantıksal Kod Satırı (for ve printf ifadesi)

1 Yorum Satırı

12

Page 13: YAZILIM PROJE YÖNETİMİ Öğr. Gör. Dr. Emin BORANDAĞ eminb @ maltepe .tr

YZM 403 - Yazılım Proje Yönetimi

İşlevsel Büyüklük Kestirim Yöntemleri

• İşlevsel Büyüklük Ölçümü (Functional Size Measurement - FSM), kullanıcıya teslim edilecek yazılımın işlevselliğini temel alır.

• FSM, işleve göre karmaşıklığın ve büyüklüğün belirlenmesi ile ölçülmektedir.

• Teknik Büyüklük Ölçütleri - geliştirici bakış açısından…

• İşlevsel Büyüklük Ölçütleri - kullanıcı bakış açısından…

13

Page 14: YAZILIM PROJE YÖNETİMİ Öğr. Gör. Dr. Emin BORANDAĞ eminb @ maltepe .tr

YZM 403 - Yazılım Proje Yönetimi

İşlevsel Büyüklük Kestirim Yöntemleri (devam…)

• İşlev Puanı (Function Points - FP), • IFPUG İşlev Puanı Analizi (IFPUG Function Points Analysis – IFPUG FPA), • Mark II İşlev Puanı (Mark II Function Points – MK II FP), • Nesma İşlev Puanı (Nesma Function Points), • Tam İşlev Puanı (Full Function Points – FFP), • COSMIC Tam İşlev Puanı (COSMIC Full Function Points – COSMIC FFP), • Nesne Puanı (Object Points), • Nesne-Tabanlı İşlev Puanı (Object-Oriented Function Points – OO FP), • Nesne-Tabanlı Yöntem İşlev Puanı (Object-Oriented Method Function Points – OOmFP),

14

Page 15: YAZILIM PROJE YÖNETİMİ Öğr. Gör. Dr. Emin BORANDAĞ eminb @ maltepe .tr

YZM 403 - Yazılım Proje Yönetimi

İşlev Puanı (Function Points)

• Bu yaklaşım, verimliliğin üretilen işlev puanına göre adam-ay olarak belirlenmesini öngörür.

• Eğer proje ile ilgili girdi çıktı gibi özellikler tahmin edilebiliyorsa, bunlar kullanılarak geliştirilecek sisteme ait bir İşlev Puanı (Function Points) hesabı yapılabilir ve sonuçlar Satır Sayısına (LOC) çevrilebilir. Bu satır sayısından maliyet, emek ve süre tahmini yapılabilir.

15

Page 16: YAZILIM PROJE YÖNETİMİ Öğr. Gör. Dr. Emin BORANDAĞ eminb @ maltepe .tr

YZM 403 - Yazılım Proje Yönetimi

İşlev Puanı (Function Points) (devam…)

16

İşlev Puanı SLOC’a dönüştürmeSLOCFP

•Dış Girdilerin sayısı •Dış Çıktıların sayısı •Dış Sorguların sayısı •İç Mantıksal dosyaların sayısı •Dış Arayüz Dosyalarının sayısı

Ağırlık Faktörleri ile ayarlanma

İşlev Puanını, SLOC’a dönüştürmek için

programlama diline göre saptanan faktörler

kullanılır.

Teknik Karmaşıklık Faktörleriyle ayarlama

Page 17: YAZILIM PROJE YÖNETİMİ Öğr. Gör. Dr. Emin BORANDAĞ eminb @ maltepe .tr

YZM 403 - Yazılım Proje Yönetimi

İşlev Puanı (Function Points)

UFP = Dış Girdiler x W(1) + Dış Çıktılar x W(2) + Dış Sorgular x W(3) +

İç Dosyalar x W(4) + Dış Arayüz Dosyaları x W(5)

17

Bileşenler Basit Orta Karmaşık

(1) Dış Girdiler 3 5 6

(2) Dış Çıktılar 4 6 7

(3) Dış Sorgular 3 5 6

(4) İç Dosyalar 7 13 15

(5) Dış Arayüz Dosyaları 5 9 10

Her bir bileşenin zorluk derecesi basit, orta ve karmaşık gibi Tablo’da verilen rakamsal değerlere bağlı olarak ölçülebilmektedir. Bu ölçülen değerler toplanarak Düzeltilmemiş İşlev Puanı’nı (Unadjusted Function Points - UFPs) oluşturmaktadır.

Page 18: YAZILIM PROJE YÖNETİMİ Öğr. Gör. Dr. Emin BORANDAĞ eminb @ maltepe .tr

YZM 403 - Yazılım Proje Yönetimi

İşlev Puanı (Function Points) (devam…)

14 Genel Sistem Özelliğine göre sistemin beklenilen uygulama zorluğu için ilave bir teknik karmaşıklık faktörü hesaplanır.

18

Genel Sistem Özellikleri Kısa Açıklama

1 Veri İletişimleri Sistemin uygulaması ile bilgi değişimi veya transferinde yardımcı olmak için kaç tane iletişim aracı vardır?

2 Dağıtılan Veri/İşleme Dağıtılan bilgi ve işleme fonksiyonları nasıl idare edilmektedir?

3 Performans Hedefler, yanıtlama zamanı ve iş çıkarma performansı önemli midir?

4 Çok Kullanılan Konfigürasyon Uygulamanın idare edileceği mevcut donanım platformu ne kadar yoğun kullanılmaktadır?

5 İşlem Oranı İşlem oranı yüksek midir?

6 Çevrimiçi Veri Girişi Hangi oranda bilgi çevrimiçi girilmektedir?

7 Son Kullanıcı Verimliliği Uygulama son kullanıcı verimliliği için mi tasarlanmıştır?

8 Çevrimiçi Güncelleme Kaç veri dosyası çevrimiçi güncellenmektedir?

9 Karmaşık İşlem Yapma Dâhili işlem yapma karmaşık mıdır?

10 Yeniden Kullanılabilirlik Uygulama yeniden kullanılabilir olması için mi tasarlanmıştır?

11 Dönüştürme/Kurulum Kolaylığı Sistemde otomatik dönüşüm ve kurulum da dâhil edilmiş midir?

12 İşlevsel Kolaylık Yedekleme, başlatma ve kurtarma gibi operasyonlar ne kadar otomatiktir?

13 Çoklu Saha Kullanımı Uygulama çoklu örgüte sahip çoklu sahalar için özellikle mi tasarlanmış, geliştirilmiş ve desteklenmiştir?

14 Değişimi KolaylaştırmaUygulama kullanıcı tarafından kullanım kolaylığı ve değişimi kolaylaştırmak için özel olarak mı tasarlanmış, geliştirilmiş ve desteklenmiştir?

• 0: hiç yok ya da etkisiz, • 1: önemsiz etki, • 2: az etkili , • 3:orta düzeyde etkili • 4: önemli düzeyde etkili, • 5: güçlü etki

DI = i=1.. 14 Cevapi

TCF: Technical Complexity FactorsDI: Total Degree of Influence

TCF = 0,65 + 0,01 x DI

Page 19: YAZILIM PROJE YÖNETİMİ Öğr. Gör. Dr. Emin BORANDAĞ eminb @ maltepe .tr

YZM 403 - Yazılım Proje Yönetimi

İşlev Puanı (Function Points) (devam…)

• İşlev Puanı aşağıdaki formül ile hesaplanır:

- FP = UFP x TCF

• İşlev Puanı’nı, Satır Sayısına dönüştürmek için aşağıdaki formülden yararlanılır.- LOC = İşlev Puanı x Programlama Dili LOC Katsayısı

19

Programlama Dili LOC/FP

C ++ 53

COBOL 107

DELPHI 5 18

JAVA 2 46

VISUAL BASIC 6 24

SQL 13

Page 20: YAZILIM PROJE YÖNETİMİ Öğr. Gör. Dr. Emin BORANDAĞ eminb @ maltepe .tr

YZM 403 - Yazılım Proje Yönetimi

İşlev Puanı (Function Points) – Örnek Proje

1. Kan tahlili yapan bir laboratuarın aynı şehir içerisinde 5 şubesi vardır. Her şubede yaklaşık 10 adet veri giriş operatörü bulunmaktadır.

2. Sistem laboratuardaki tahlillerin fiyatlarını tutacaktır.3. Hasta bilgileri kaydedilecektir. 4. Yeni tahliller eklenebilecek, güncelleme yapılabilecektir.5. Tahlil sonuçları laboratuar yetkilisi tarafından onaylandıktan sonra görüntülenebilecektir.6. İstenen laboratuar tahlillerinin tutarı hesaplanacak ve faturası basılacaktır.7. Sonuç raporları basılacaktır. Eğer müşterinin daha önceki kayıtları varsa rapor önceki sonuçları da

içerecektir.8. Müşteriler sisteme web üzerinden verilecek şifrelerle bağlanarak tahlil no ile sonuçlarını

öğrenebileceklerdir. 9. Sistemin kan analiz cihazıyla arayüzü olacak, sonuçlar direkt olarak cihazdan sisteme aktarılacaktır.10. Sistem malzeme yönetimi yapacak, malzeme stok bilgilerini tutacaktır. Her laboratuar ana depodan

haftalık malzeme isteği yapacaktır. Laboratuarlardan birinde ana malzeme deposu yer alacak, depoya girişler ve birimlere çıkışlar kaydedilecektir. Her malzeme için kritik stok seviyesinin altına düşen malzemeler için sistem uyarı verecek ve rapor yayınlayacaktır. Birim bazında aylık malzeme raporu yayınlanacaktır.

11. Laboratuarın ana sunucusu şubelerden birinde yer alacak ve herhangi bir arıza olduğunda sistem diğer şubedeki yedek sunucuya bağlanacak ve oradan işleme kesintisiz devam edecektir. İletişim altyapısında leased line kullanılacaktır.

12. Sistemi geliştirecek ekip, Java konusunda ve analiz konularında orta deneyimdedir. İşlevsellik konusunda çok fazla deneyimi yoktur. Bir kaç benzer yönetim bilgi sistemi geliştirmiştir. CASE aracı kullanılacaktır.

20

Page 21: YAZILIM PROJE YÖNETİMİ Öğr. Gör. Dr. Emin BORANDAĞ eminb @ maltepe .tr

YZM 403 - Yazılım Proje Yönetimi

Örnek Proje – Üst Düzey Sistem Mimarisi21

A

B

D

C Yedek Sunucu

Ana SunucuE

Router

Switch

SistemSistem Fiber Optik

Page 22: YAZILIM PROJE YÖNETİMİ Öğr. Gör. Dr. Emin BORANDAĞ eminb @ maltepe .tr

YZM 403 - Yazılım Proje Yönetimi

Örnek Proje – Laboratuar Sistemi22

Laboratuar Sistemi

Tahlil Bilgileri

Hasta Bilgileri

Tahlil Onayı

Malzeme İsteği

Stok Bilgileri (Depo Giriş/Çıkış)

Tahlil Sonuç Raporu

Karşılaştırmalı Tahlil Sonuç

Raporu

Kritik Stok Seviyesi Uyarısı

Kritik Stok Seviyesi RaporuKan analiz cihazı

Sonuçlar

Fatura Bilgileri

Şifre,

Tahlil NoSonuç

Web Üzerinden Sorgu

Fatura

Aylık Malzeme Raporu

Page 23: YAZILIM PROJE YÖNETİMİ Öğr. Gör. Dr. Emin BORANDAĞ eminb @ maltepe .tr

YZM 403 - Yazılım Proje Yönetimi

Örnek Proje – Düzeltilmemiş İşlev Puanı23

Girdiler: 6 Karmaşık

Çıktılar: 6 Karmaşık

İç Dosyalar : 4 Orta– Hasta Dosyası

– Tahliller dosyası

– Faturalar Dosyası

– Malzeme Stok Dosyası

Dış sorguların sayısı: 1 Orta

Dış Arayüz Dosyaları: 1 Orta

Basit Orta Karmaşık

(1) Dış Girdiler 3 5 6

(2) Dış Çıktılar 4 6 7

(3) Dış Sorgular 3 5 6

(4) İç Dosyalar 7 13 15

(5) Dış Arayüz Dosyaları 5 9 10

UFP = 6x6 + 6x7+ 4x13 + 1x5 + 1x9 = 144

UFP = Dış Girdiler x W(1) + Dış Çıktılar x W(2) +

Dış Sorgular x W(3) + İç Dosyalar x W(4) +

Dış Arayüz Dosyaları x W(5)

Page 24: YAZILIM PROJE YÖNETİMİ Öğr. Gör. Dr. Emin BORANDAĞ eminb @ maltepe .tr

YZM 403 - Yazılım Proje Yönetimi

Örnek Proje – Düzeltilmiş İşlev Puanı24

1. Sistem güvenilir yedekleme ve kurtarma gerektiriyor mu? 52. Veri iletişimi gerekiyor mu? 33. Dağıtık fonksiyon var mı? 34. Performans kritik mi? 45. Sistem çok kullanılan bir işletim ortamında mı çalışacak? 46. Sistem on-line veri girişi gerektiriyor mu? 57. On-line veri girişi, giriş işlemlerinin birden fazla ekran ya da işlem üzerinden olmasını mı gerektiriyor? 58. Ana dosyalar on-line mı güncelleniyor? 59. Girdiler, çıktılar, dosyalar ve sorgular karmaşık mı? 4

10. Kod yeniden kullanabilir olarak mı tasarlanmış? 311. İç süreç karmaşık mı? 312. Dönüşüm ve kurulum tasarım içerisinde mi? 313. Uygulama değişik kuruluşlarda birden fazla kurulum gerektirecek şekilde mi tasarlanmış? 314. Uygulama kullanıcı tarafından kolaylıkla kullanmayı ve değiştirmek üzere mi tasarlanmış? 3

DI = i=1.. 14 Cevapi = 53

FP = UFP x (0,65 + 0,01 x DI) = 144 x (0, 65 + 0,01 x 53) = 169.92

LOC = 46 x 169.92 = 7816,3

Page 25: YAZILIM PROJE YÖNETİMİ Öğr. Gör. Dr. Emin BORANDAĞ eminb @ maltepe .tr

YZM 403 - Yazılım Proje Yönetimi

IFPUG İşlev Puanı Analizi

• IFPUG - International Function Point Users Group (1984)

• IFPUG uygulama yazılımı geliştirme ve bakım faaliyetlerinin yönetiminde FPA’nın kullanımını teşvik etmektedir.

• Resmi IFPUG Ölçüm Uygulama Kılavuzları sırasıyla 1986, 1988, 1990, 1994, 1999, 2004 ve 2009’da yayınlanmıştır.

• IFPUG FPA en yaygın olarak kullanılan FSM yöntemidir.

25

Page 26: YAZILIM PROJE YÖNETİMİ Öğr. Gör. Dr. Emin BORANDAĞ eminb @ maltepe .tr

YZM 403 - Yazılım Proje Yönetimi

Mark II İşlev Puanı

• Charles Symons’a göre;- Bir uygulamanın bileşenlerinin belirlenmesi Albrecht’in FPA’sında zordur,

- Albrecht yaklaşımı iç karmaşıklıkla ilgili hiçbir düşünceye sahip değildir,

- On dört ayarlama faktörü yeterli değildir.

• 1980’lerde İngiltere’de MKII İşlev Puanı geliştirildi.

• MK II, kullanıcıya sağlanan işlevselliğin değerinden çok işlevselliği üretmek için gerekli emeğe odaklamak için tasarlanmış bir yöntem.

• MK II, uygulamayı mantıksal işlem gruplarına ayrıştırmaktadır. Symons mantıksal bir işlemi; “bilgi almak için bir gereksinim ya da kullanıcıyı ilgilendiren bir olay ile tetiklenen benzersiz bir girdi/işlem/çıktı birleşimi” olarak tanımlar.

26

Page 27: YAZILIM PROJE YÖNETİMİ Öğr. Gör. Dr. Emin BORANDAĞ eminb @ maltepe .tr

YZM 403 - Yazılım Proje Yönetimi

Nesma İşlev Puanı

• Netherlands Software Metrics Users Association – NESMA, 1989.

• NESMA, Avrupa’daki en büyük FPA kullanıcı grubudur.

• İşlev Puanı Analizinin uygulanması ile ilgili tanımlar ve ölçüm kılavuzunun ilk versiyonu 1990’da yayınlanmıştır.

• Bu yöntem, IFPUG FPA yönteminin ilkelerini temel almaktadır. IFPUG FPA’a benzer olarak işlevselliğin büyüklüğü için, Dış Giriş, Dış Çıkış, Dış Sorgu, İç Mantıksal Dosya ve Dış Arayüz Dosyası gibi işlev türlerini kullanmaktadır.

27

Page 28: YAZILIM PROJE YÖNETİMİ Öğr. Gör. Dr. Emin BORANDAĞ eminb @ maltepe .tr

YZM 403 - Yazılım Proje Yönetimi

COSMIC Tam İşlev Puanı

• COSMIC - Common Software Measurement International Consortium

• Yeni bir işlevsel büyüklük ölçüm yöntemi olarak COSMIC FFP Kasım 1999’da yayınlamıştır.

• COSMIC FFP yöntemi, geliştirici ve son kullanıcı bakış açıları olmak üzere birçok ölçüm bakış açısına sahiptir.

• Yazılımın işlevsel büyüklüğü, dört İşlevsel Tabanlı Bileşeni temel alarak ölçülmektedir. İşlevsel Tabanlı Bileşenler; Giriş (Entry), Çıkış (Exit), Okuma (Read) ve Yazma (Write) dır.

28

Page 29: YAZILIM PROJE YÖNETİMİ Öğr. Gör. Dr. Emin BORANDAĞ eminb @ maltepe .tr

YZM 403 - Yazılım Proje Yönetimi

Emek Kestirimi

- Emek (işgücü) genelde adam-saat, adam-gün ya da adam-ay cinsinden ölçülür.

- 10 adam-ay: 10 kişi 1 ay 1 kişi 10 ay 2 kişi 5 ay anlamına gelebilir.

29

Page 30: YAZILIM PROJE YÖNETİMİ Öğr. Gör. Dr. Emin BORANDAĞ eminb @ maltepe .tr

YZM 403 - Yazılım Proje Yönetimi

Emek Kestirim Yöntemleri30

                                                                                                  

                                                                                  

Yöntemler

Geçmiş proje verilerinden yararlanılması

Emek = Büyüklük / Üretim Oranı

Üretim oranı her satır kod, her fonksiyon noktası, her modül için gereken zaman ile ölçülür

Modellerin kullanılması

Constructive Cost Model (COCOMO) (Boehm)

Putnam’s Model (SLIM)

Use-case Points

Class Points

UML Points

Büyüklük Tahmini

Emek Tahmini

Yöntemler: Satır Sayısı, Function Points, Geçmiş Proje Verileri

SLOC

Page 31: YAZILIM PROJE YÖNETİMİ Öğr. Gör. Dr. Emin BORANDAĞ eminb @ maltepe .tr

YZM 403 - Yazılım Proje Yönetimi

Emek Kestirim Yöntemleri

• Emek kestirim yöntemleri algoritmik ve algoritmik olmayan kestirim yöntemleri olmak üzere iki şekilde sınıflandırılmaktadır.

- Algoritmik kestirim yöntemleri • COCOMO (Constructive Costing Model)

• Use-Case Points

• Class Points

• UML Points

- Algoritmik olmayan kestirim yöntemleri• Uzman kararı,

• Benzerlik ile kestirim,

• Büyüklük verisi kullanarak kıyaslama.

31

Page 32: YAZILIM PROJE YÖNETİMİ Öğr. Gör. Dr. Emin BORANDAĞ eminb @ maltepe .tr

YZM 403 - Yazılım Proje Yönetimi

Algoritmik Kestirim Yöntemleri

• Bu yöntemler, emek kestirimi için matematiksel modeller (matematiksel formüller) kullanılırlar.

• Bu tür modellerde geçmişe ait veriler, kod satır sayısı, fonksiyon sayısı vb. istatistikler ile yazılım projelerine doğrudan etki eden çevresel ve teknik faktörler girdi olarak verilir. Model belirli  bir doğruluk aralığında sonuç üretir.

• Bu tür modellerin içinde bulunan ortama göre bazı parametrelerinin "kalibre" edilmesi gerekmektedir.

32

Page 33: YAZILIM PROJE YÖNETİMİ Öğr. Gör. Dr. Emin BORANDAĞ eminb @ maltepe .tr

YZM 403 - Yazılım Proje Yönetimi

COCOMO (Constructive Costing Model)

- COCOMO, Barry Boehm tarafından geliştirilmiş algoritmik bir yazılım maliyet kestirim yöntemidir.

- Bu yöntem, geçmiş proje verileri ve mevcut proje özelliklerinden türetilen parametreler ile beraber temel bir regresyon formülü kullanır.

- Yapılacak hesapların kapsamları açısından basit, orta ve detaylı olmak üzere üç değişik modelden oluşur. Ayrıca bu modellerde kullanılacak problemler, “organik, yarı ayrık ve gömülü sınıflar” altında toplanmıştır.

33

Page 34: YAZILIM PROJE YÖNETİMİ Öğr. Gör. Dr. Emin BORANDAĞ eminb @ maltepe .tr

YZM 403 - Yazılım Proje Yönetimi

COCOMO (Constructive Costing Model) devam…

34

COCOMOModeli

Satır Sayısıİş G

ücü (Emek)

Zaman

• Orijinal COCOMO modeli yaygın bir merak konusu uyandırdı.

• Herkese açık bir modeldir. Bunun anlamı denklemlerin, varsayımların, tanımların herkese açık olmasıdır.

• Orijinal COCOMO modeli 63 proje çalışmasına ve kestirme modelleri sıradüzeni temellerine dayanır.

Page 35: YAZILIM PROJE YÖNETİMİ Öğr. Gör. Dr. Emin BORANDAĞ eminb @ maltepe .tr

YZM 403 - Yazılım Proje Yönetimi

35

COCOMO - Proje Sınıfları

• Ayrık Projeler; Boyutları küçük, Deneyimli personel tarafından gerçekleştirilmiş, LAN üzerinde çalışan, insan kaynakları yönetim sistemi gibi projeler...

• Yarı Ayrık Projeler: Hem bilgi boyutu, hem donanım sürme boyutu olan projeler…

• Gömülü Projeler: Donanım sürmeyi hedefleyen projeler (pilotsuz uçağı süren yazılım -

donanım kısıtları yüksek)

Page 36: YAZILIM PROJE YÖNETİMİ Öğr. Gör. Dr. Emin BORANDAĞ eminb @ maltepe .tr

YZM 403 - Yazılım Proje Yönetimi

COCOMO (Constructive Costing Model) devam…

36

• COCOMO bu model ve proje sınıfı saptamalarından sonra ortaya çıkan formüllerle tahmin hesaplama yolunu önerir.

Proje Emek Süre

Ayrık Emek = 2.4 (KLOC)1.05 Süre = 2.5 (Emek)0.38

Yarı Ayrık Emek = 3 (KLOC)1.12 Süre = 2.5 (Emek)0.35

Gömülü Emek = 3.6 (KLOC)1.20 Süre = 2.5 (Emek)0.32

Basit COCOMO Modeli İçin Emek ve Süre Formülleri

• Basit COCOMO modeli, küçük-orta boy projeler için hızlı kestirim yapmak amacıyla kullanılır.

Page 37: YAZILIM PROJE YÖNETİMİ Öğr. Gör. Dr. Emin BORANDAĞ eminb @ maltepe .tr

YZM 403 - Yazılım Proje Yönetimi

COCOMO (Constructive Costing Model) devam…

37

• Orta COCOMO modeli sistemin (güvenilirlik, veri tabanı büyüklüğü, işletme ve kayıt sınırlandırmaları, personel özellikleri ve kullanılan yazılım araçları gibi) diğer özelliklerinin hesaba katılması amaçlanmıştır.

Orta COCOMO Modeli İçin Emek Formülleri

Problem Emek

Ayrık Emek = 3.2 (KLOC)1.05 x EAF

Yarı Ayrık Emek = 3.0 (KLOC)1.12 x EAF

Gömülü Emek = 2.8 (KLOC)1.20 x EAF

Belirli bir dizi özelliğin, proje açısından etkileri ayrı ayrı ağırlandırılarak katsayılar ortaya çıkarılır.

Page 38: YAZILIM PROJE YÖNETİMİ Öğr. Gör. Dr. Emin BORANDAĞ eminb @ maltepe .tr

YZM 403 - Yazılım Proje Yönetimi

COCOMO (Constructive Costing Model) devam…

38

Emek Ayarlama Faktörü için sözü geçen etkenleri dört grupta toplayarak, yandaki tabloda görüldüğü gibi sıralayabiliriz.

EAF (Emek Ayarlama Faktörü) orta ve detaylı seviyede kullanılır.

Detaylı COCOMO modeli projenin evrelerine bağlı olarak süreç içinde değişiklikleri hesaba katarak arada bir kestirim hesaplamasını önerir.

Cost Drivers

Ratings

very low low nominal high very high extra high

Product Attributes

RELY Required Software Reliability 0,75 0,88 1 1,15 1,4

DATA Database Size 0,94 1 1,08 1,16

CPLX Product Complexity 0,7 0,85 1 1,15 1,3 1,65

Computer Attributes

TIME Execution Time Constraint 1 1,11 1,3 1,66

STOR Main Storage Constraint 1 1,06 1,21 1,56

VIRT Virtual Machine Volatility 0,87 1 1,15 1,3

TURN Computer Turnaround Time 0,87 1 1,05 1,15

Personnel Attributes

ACAP Analyst Capability 1,46 1,19 1 0,86 0,71

AEXP Application Experience 1,29 1,13 1 0,91 0,82

PCAP Programmer Capability 1,42 1,17 1 0,86 0,7

VEXP Virtual Machine Experience 1,21 1,1 1 0,9

LEXPProgramming Language Experience

1,14 1,07 1 0,95

Project Attributes

MODP Modern Programming Practices 1,24 1,1 1 0,91 0,82

TOOL Use of Software Tools 1,24 1,1 1 0,91 0,83

SCED Schedule Constraints 1,23 1,08 1 1,04 1,1

Page 39: YAZILIM PROJE YÖNETİMİ Öğr. Gör. Dr. Emin BORANDAĞ eminb @ maltepe .tr

YZM 403 - Yazılım Proje Yönetimi

39

COCOMO – Emek Ayarlama Faktörü

• Ürün Özellikleri RELY: Yazılımın güvenirliği. DATA: Veritabanının büyüklüğü. CPLX: Karmaşıklığı.

• Bilgisayar Özellikleri TIME: İşletim zamanı kısıtı. STOR: Ana bellek kısıtı VIRT: Bilgisayar platform değişim olasılığı. Örn; bellek ve disk

kapasitesi artırımı, CPU upgrade… TURN: Bilgisayar iş geri dönüş zamanı. Örn; hata düzeltme süresi.

Page 40: YAZILIM PROJE YÖNETİMİ Öğr. Gör. Dr. Emin BORANDAĞ eminb @ maltepe .tr

YZM 403 - Yazılım Proje Yönetimi

40

COCOMO – Emek Ayarlama Faktörü (devam…)

• Personel Özellikleri ACAP: Analist yeteneği. Deneyim, birlikte çalışabilirlik. AEXP: Uygulama deneyimi. Proje ekibinin ortalama tecrübesi. PCAP: Programcı yeteneği. VEXP: Bilgisayar platformu deneyimi. Proje ekibinin geliştirilecek

platformu tanıma oranı. LEXP: Programlama dili deneyimi.

• Proje Özellikleri

MODP: Modern programlama teknikleri. Örn; Yapısal programlama,

görsel programlama, yeniden kullanılabilirlik.

TOOL: Yazılım geliştirme araçları kullanımı. Örn; CASE araçları, metin

düzenleyiciler, ortam yönetim araçları

SCED: Zaman kısıtı.

Page 41: YAZILIM PROJE YÖNETİMİ Öğr. Gör. Dr. Emin BORANDAĞ eminb @ maltepe .tr

YZM 403 - Yazılım Proje Yönetimi

Örnek: Laboratuar Sistemi için COCOMO ile Emek Kestirimi

41

Cost DriversRatings Proje

low very low nominal high very high extra high Oran

Product Attributes

RELY Required Software Reliability 0,75 0,88 1 1,15 1,4 1,4

DATA Database Size 0,94 1 1,08 1,16 1

CPLX Product Complexity 0,7 0,85 1 1,15 1,3 1,65 1

Computer Attributes

TIME Execution Time Constraint 1 1,11 1,3 1,66 1,11

STOR Main Storage Constraint 1 1,06 1,21 1,56 1,06

VIRT Virtual Machine Volatility 0,87 1 1,15 1,3 0,87

TURN Computer Turnaround Time 0,87 1 1,05 1,15 1

Personnel Attributes

ACAP Analyst Capability 1,46 1,19 1 0,86 0,71 1

AEXP Application Experience 1,29 1,13 1 0,91 0,82 1

PCAP Programmer Capability 1,42 1,17 1 0,86 0,7 1

VEXP Virtual Machine Experience 1,21 1,1 1 0,9 1

LEXP Programming Language Experience 1,14 1,07 1 0,95 1

Project Attributes

MODP Modern Programming Practices 1,24 1,1 1 0,91 0,82 0,91

TOOL Use of Software Tools 1,24 1,1 1 0,91 0,83 0,91

SCED Schedule Constraints 1,23 1,08 1 1,04 1,1 1,04

Emek Ayarlama Katsayısı: 1,23

Page 42: YAZILIM PROJE YÖNETİMİ Öğr. Gör. Dr. Emin BORANDAĞ eminb @ maltepe .tr

YZM 403 - Yazılım Proje Yönetimi

Örnek: Laboratuar Sistemi için COCOMO ile Emek Kestirimi (devam…)

42

•Emek = 3.0 x (KLOC)1.12 x EAF

•Emek = 3.0 x (7816)1.12 x 1,23 = 36,9 adam-ay

•Takvim= 2.5 x Emek 0,38= 2.5 x 36,90,38 = 9,84 ay (Geliştirme Zamanı)

•N = Emek / Geliştirme Zamanı → (N: ortalama personel sayısı)

•N = 36,9 / 9,84 = 3,75 – 4 kişi

Page 43: YAZILIM PROJE YÖNETİMİ Öğr. Gör. Dr. Emin BORANDAĞ eminb @ maltepe .tr

YZM 403 - Yazılım Proje Yönetimi

Use-Case Puanı (Use-Case Points - UCP)43

• Use-Case Points (UCP) yaklaşımı, bir yazılım proje emek kestirim yöntemi olarak Karner tarafından ortaya atılmıştır.

• Nesneye-tabanlı yazılım üretiminde, use-case’ler işlevsel gereksinimleri tanımlar.

Page 44: YAZILIM PROJE YÖNETİMİ Öğr. Gör. Dr. Emin BORANDAĞ eminb @ maltepe .tr

YZM 403 - Yazılım Proje Yönetimi

Use-Case Puanı (Use-Case Points - UCP) (devam…)

44

• Use-Case Puanı (UCP) sistemin use-case analizi ile elde edilebilir:• Use-case analizinin birinci adımı aktörlerin sınıflandırılmasıdır.

Aktör Tipi Açıklaması Ağırlık Faktörü

BasitTanımlı bir Uygulama Programlama Arayüzüne (API) sahip başka bir sistemi temsil eder.

1

OrtaTCP/IP gibi bir protokol ile haberleşen başka bir sistemi temsil eder.

2

KarmaşıkBir web sayfası veya GUI aracılığıyla karşılıklı etkileşen bir kullanıcıyı temsil eder.

3

Öncelikle toplam Düzeltilmemiş Aktör Ağırlığı (Unadjusted Actor Weights - UAW) hesaplanmaktadır.

Page 45: YAZILIM PROJE YÖNETİMİ Öğr. Gör. Dr. Emin BORANDAĞ eminb @ maltepe .tr

YZM 403 - Yazılım Proje Yönetimi

Use-Case Puanı (Use-Case Points - UCP) (devam…)

• Use-case analizinin ikinci adımı use-case’lerin sınıflandırılmasıdır.

45

Use-Case Tipi Açıklaması Ağırlık Faktörü

BasitBasit bir kullanıcı arayüzüne sahiptir. Tek bir veritabanı nesnesiyle iletişim kurar. Normal (başarılı) senaryosu 3 veya daha az basamaktan oluşur.

5

OrtaOrtalama bir kullanıcı arayüzüne sahiptir. İki veya daha fazla veritabanı nesnesi ile iletişim kurar. Normal (başarılı) senaryosu 4 ile 7 arasında basamaktan oluşur.

10

KarmaşıkKarmaşık bir kullanıcı arayüzüne sahiptir. Üç veya daha fazla veritabanı nesnesiyle iletişim kurar. Normal (başarılı) senaryosu 8 veya daha fazla basamaktan oluşur.

15

Düzeltilmemiş Use-Case Ağırlığını (Unadjusted Use-Case Weights - UUCW) elde etmek için:

• Use-case analizinin üçüncü adımı Düzeltilmemiş Use-Case Puanı (Unadjusted Use-Case Points - UUCP) nın hesaplanmasıdır:

Page 46: YAZILIM PROJE YÖNETİMİ Öğr. Gör. Dr. Emin BORANDAĞ eminb @ maltepe .tr

YZM 403 - Yazılım Proje Yönetimi

Use-Case Puanı (Use-Case Points - UCP) (devam…)

• Use-case analizinin dördüncü adımı Teknik Karmaşıklık Faktörünün hesaplanmasıdır.

46

Teknik Faktör Açıklaması Ağırlık Faktörü

T1 Dağıtık Sistem 2

T2 Yanıt veya Çıktı Performans Hedefleri 1

T3 Son Kullanıcı Verimliliği 1

T4 Karmaşık Dâhili İşlem 1

T5 Kodun Yeniden Kullanılabilirliği 1

T6 Kurulum Kolaylığı 0.5

T7 Kullanım Kolaylığı 0.5

T8 Taşınabilirlik 2

T9 Değişim Kolaylığı 1

T10 Eş Zamanlılık 1

T11 Özel Güvenlik Özellikleri İçerme 1

T12 Üçüncü Parti Yazılımlar için Doğrudan Erişim Sağlama 1

T13 Kullanıcı Eğitim Gerekliliği 1

Page 47: YAZILIM PROJE YÖNETİMİ Öğr. Gör. Dr. Emin BORANDAĞ eminb @ maltepe .tr

YZM 403 - Yazılım Proje Yönetimi

Use-Case Puanı (Use-Case Points - UCP) (devam…)

• Use-case analizinin beşinci adımı Çevresel Karmaşıklık Faktörünün hesaplanmasıdır.

47

Çevresel Faktör Açıklaması Ağırlık Faktörü

E1 UML ile Tanışıklık 1.5

E2 Uygulama Deneyimi 0.5

E3 Nesneye-Tabanı Deneyim 1

E4 Lider Analist Yeteneği 0.5

E5 Motivasyon 1

E6 Sabit Gereksinimler 2

E7 Yarı-Zamanlı Çalışanlar -1

E8 Zor Programlama Dili -1

• Use-case analizinin altıncı adımı Use-Case Puanının hesaplanmasıdır:

• Use-case analizinin son adımı Emeğin hesaplanmasıdır:

Page 48: YAZILIM PROJE YÖNETİMİ Öğr. Gör. Dr. Emin BORANDAĞ eminb @ maltepe .tr

YZM 403 - Yazılım Proje Yönetimi

48

  PROJE

PROJE İLE İLGİLİ BİLGİLER A B C

Aktör Sayıları

Basit Tanımlı bir Uygulama Programlama Arayüzüne (API) sahip başka bir sistemi temsil eder. 0 1 0

Orta TCP/IP gibi bir protokol ile haberleşen başka bir sistemi temsil eder. 0 6 4

Karmaşık Bir web sayfası veya GUI aracılığıyla karşılıklı etkileşen bir kullanıcıyı temsil eder. 5 11 7

Düzeltilmemiş Aktör Ağırlıkları (DAA) 15 46 29

Use-Case Sayıları

BasitBasit bir kullanıcı arayüzüne sahiptir. Tek bir veritabanı nesnesiyle iletişim kurar. Normal (başarılı) senaryosu 3 veya daha az basamaktan oluşur ve tasarımı 5 veya daha az sınıf içerir.

8 0 2

OrtaOrtalama bir kullanıcı arayüzüne sahiptir. İki veya daha fazla veritabanı nesnesi ile iletişim kurar. Normal (başarılı) senaryosu 4 ile 7 arasında basamaktan oluşur ve tasarım 5 ile 10 arasında sınıf içerir.

12 21 17

KarmaşıkKarmaşık bir kullanıcı arayüzüne sahiptir. Üç veya daha fazla veritabanı nesnesiyle iletişim kurar. Normal (başarılı) senaryosu 8 veya daha fazla basamaktan oluşur ve tasarımı 11 veya daha fazla sınıf içerir.

5 63 8

Düzeltilmemiş Use-Case Ağırlıkları (DUCA) 235 1155 300

Teknik Faktörler

T1 Dağıtık Sistem 1 5 4T2 Yanıt veya Çıktı Performans Hedefleri 3 3 3T3 Son Kullanıcı Verimliliği 3 4 4T4 Karmaşık Dâhili İşlem 3 3 1T5 Kodun Yeniden Kullanılabilirliği 0 3 1T6 Kurulum Kolaylığı 0 1 0T7 Kullanım Kolaylığı 5 5 5T8 Taşınabilirlik 0 3 0T9 Değişim Kolaylığı 3 3 2

T10 Eş Zamanlılık 0 5 1T11 Özel Güvenlik Özellikleri İçerme 0 5 1T12 Üçüncü Parti Yazılımlar için Doğrudan Erişim Sağlama 3 3 1T13 Kullanıcı Eğitim Gerekliliği 0 3 1

Teknik Karmaşıklık Faktörü (TKF) 0,795 1,11 0,855

Çevresel Faktörler

E1 UML ile Tanışıklık 5 4 3E2 Uygulama Deneyimi 3 4 1E3 Nesneye-Tabanı Deneyim 5 5 3E4 Lider Analist Yeteneği 5 4 3E5 Motivasyon 5 5 4E6 Sabit Gereksinimler 3 2 3E7 Yarı-Zamanlı Çalışanlar 0 0 0E8 Zor Programlama Dili 0 4 0

Çevresel Karmaşıklık Faktörü (ÇKF) 0,575 0,8 0,815

Üretkenlik Faktörü 20 20 20

Use-Case Puanı 114 1066 229

Emek Tahmini (adam-saat) 2280 21320 4580

Harcanan Gerçek Emek (adam-saat) 3623 25686 5948

Fark (1 – Tahmin / Gerçek) 0,37 0,17 0,23

Page 49: YAZILIM PROJE YÖNETİMİ Öğr. Gör. Dr. Emin BORANDAĞ eminb @ maltepe .tr

YZM 403 - Yazılım Proje Yönetimi

Sınıf Puanı (Class Points - CP)

• Sınıf diyagramları, geliştirilen sistemin mantıksal blokları olan sınıf hiyerarşini ve hedef sistemin yapısal işlevselliğini içerir.

• Sınıf Puanı yaklaşımı, 1998’de ortaya atılmıştır. Bu yaklaşım, sayısal hesaplamaya dayanarak bir sistemin iç niteliklerini temsil eden işlev puanı analiz yaklaşımını temel almaktadır.

49

• CP1 ve CP2 olmak üzere iki ölçüm ortaya atılmıştır.

Page 50: YAZILIM PROJE YÖNETİMİ Öğr. Gör. Dr. Emin BORANDAĞ eminb @ maltepe .tr

YZM 403 - Yazılım Proje Yönetimi

Sınıf Puanı (Class Points - CP) (devam…)

1. Kullanıcı Sınıflarının Belirlenmesi ve Sınıflandırılması• Tasarım dokümanı analiz edilirken 4 tür sistem bileşeni kullanılır:

• Problem Alan Türü (Problem Domain Type – PDT),

• İnsan Etkileşim Türü (Human Interaction Type – HIT),

• Veri Yönetim Türü (Data Management Type),

• Görev Yönetim Türü (Task Management Type – TMT).

2. Sınıfların Karmaşıklık Düzeylerinin Belirlenmesi• CP1 içinde her bir sınıfın karmaşıklık düzeyi iki ölçüt ile belirlenmektedir:

• Dış Metotların Sayısı (Number of External Methods – NEM),

• Servis İsteklerinin Sayısı (Number of Services Requested – NSR)

• CP2 içinde, her bir sınıfın karmaşıklık düzeyini değerlendirmek üzere Niteliklerin Sayısı (Number Of Attributes – NOA) dikkate alınmaktadır.

50

Page 51: YAZILIM PROJE YÖNETİMİ Öğr. Gör. Dr. Emin BORANDAĞ eminb @ maltepe .tr

YZM 403 - Yazılım Proje Yönetimi

51

0 – 4 NEM 5 – 8 NEM ≥ 9 NEM

0 – 1 NSR Düşük Düşük Orta

2 – 3 NSR Düşük Orta Yüksek

≥ 4 NSR Orta Yüksek Yüksek

CP1 için Bir Sınıfın Karmaşıklık Düzeyini Değerlendirme CP2 için Bir Sınıfın Karmaşıklık Düzeyini Değerlendirme

0 – 2 NSR 0 – 5 NOA 6 – 9 NOA ≥ 10 NOA

0 – 4 NEM Düşük Düşük Orta

5 – 8 NEM Düşük Orta Yüksek

≥ 9 NEM Orta Yüksek Yüksek

3 – 4 NSR 0 – 4 NOA 5 – 8 NOA ≥ 9 NOA

0 – 3 NEM Düşük Düşük Orta

4 – 7 NEM Düşük Orta Yüksek

≥ 8 NEM Orta Yüksek Yüksek

≥ 5 NSR 0 – 3 NOA 4 – 7 NOA ≥ 8 NOA

0 – 2 NEM Düşük Düşük Orta

3 – 6 NEM Düşük Orta Yüksek

≥ 7 NEM Orta Yüksek Yüksek

(a)

(b)

(c)

Sınıf Puanı (Class Points - CP) (devam…)

Page 52: YAZILIM PROJE YÖNETİMİ Öğr. Gör. Dr. Emin BORANDAĞ eminb @ maltepe .tr

YZM 403 - Yazılım Proje Yönetimi

3. Toplam Düzeltilmemiş Sınıf Puanın (Total Unadjusted Class Point – TUCP) Hesaplanması

52

Sistem Bileşen Türü Açıklama Karmaşıklık

Düşük Orta Yüksek Toplam

PDT Problem Alan Türü … x 3 = … … x 6 = … … x 10 = … …

HIT İnsan Etkileşim Türü … x 4 = … … x 7 = … … x 12 = … …

DMT Veri Yönetim Türü … x 5 = … … x 8 = … … x 13 = … …

TMT Görev Yönetim Türü … x 4 = … … x 6 = … … x 9 = … …

Toplam Düzeltilmemiş Sınıf Puanı (TUCP):

Sınıf Puanı (Class Points - CP) (devam…)

Page 53: YAZILIM PROJE YÖNETİMİ Öğr. Gör. Dr. Emin BORANDAĞ eminb @ maltepe .tr

YZM 403 - Yazılım Proje Yönetimi

4. Teknik Karmaşıklık Faktörünün (Technical Complexity Factor – TCF) Hesaplanması

53

Sistem Karakteristiği ED Sistem Karakteristiği ED

C1 Veri İletişimi … C10 Yeniden Kullanılabilirlik …

C2 Dağıtık Fonksiyonlar … C11 Kurulum Kolaylığı …

C3 Performans … C12 İşlem Kolaylığı …

C4 Konfigürasyon Kullanım Yoğunluğu … C13 Çoklu Bölgeler …

C5 İşlem Oranı … C14 Değişim Kolaylığı …

C6 Online Veri Girişi … C15 Kullanıcı Uyarlanabilirliği …

C7 Son Kullanıcı Verimliliği … C16 Hızlı Prototipleme …

C8 Online Güncelleme … C17 Çoklu Kullanıcı Etkileşimi …

C9 Karmaşık İşlem … C18 Çoklu Arayüzler …

Toplam Etki Derecesi (Total Degree of Influence – TDI):

• Etkisi yok = 0• Önemsiz Etki = 1• Orta Karar Etki = 2• Ortalama Etki = 3• Önemli Etki = 4• Güçlü Etki = 5

Sınıf Puanı:

Sınıf Puanı (Class Points - CP) (devam…)

Page 54: YAZILIM PROJE YÖNETİMİ Öğr. Gör. Dr. Emin BORANDAĞ eminb @ maltepe .tr

YZM 403 - Yazılım Proje Yönetimi

Algoritmik Olmayan Kestirim Yöntemleri

• Algoritmik olmayan emek kestirim yöntemleri; uzman kararı, benzerlik ile kestirim ve büyüklük verisi kullanarak kıyaslama’dır.

54

Page 55: YAZILIM PROJE YÖNETİMİ Öğr. Gör. Dr. Emin BORANDAĞ eminb @ maltepe .tr

YZM 403 - Yazılım Proje Yönetimi

Uzman Kararı

• Uzman kararı yöntemi, yazılım endüstrisinde emek kestirimi için en çok kullanılan yöntemdir.

• Yıllardan beri proje yöneticileri kendi deneyimlerine güvenmişlerdir. Uzman kararında, pek çok uzman önerilen yazılımın uygulama alanı ve geliştirme tekniklerine göre proje emeğini tahmin etmektedir.

• Yeni proje daha önce tamamlanan projelerden çok farklı değilse ve deneyimli kestirimciler mevcutsa, emek kestirimi için en uygun yöntem uzman kararıdır.

55

Page 56: YAZILIM PROJE YÖNETİMİ Öğr. Gör. Dr. Emin BORANDAĞ eminb @ maltepe .tr

YZM 403 - Yazılım Proje Yönetimi

Benzerlik ile Kestirim

• Bu yöntemde, projelere ilişkin pek çok nitelik tanımlanır.

• Bu nitelikler tamamlanmış projeler arasından yeni projeye en çok benzeyen projeleri belirlemek için kullanılır.

• Yeni projenin emek kestirimi, yeni proje ile tamamlanmış projeler arasındaki farklılıklar dikkate alınarak belirlenir.

• Benzerlik esaslı kestirim için, daha önce tamamlanmış benzer projelere ait geçmiş veriler gereklidir. Bu nedenle, bu kestirim yöntemi tamamlanmış projelere ait verileri tutan veri tabanlarına gereksinim duymaktadır.

56

Page 57: YAZILIM PROJE YÖNETİMİ Öğr. Gör. Dr. Emin BORANDAĞ eminb @ maltepe .tr

YZM 403 - Yazılım Proje Yönetimi

Büyüklük Verisini Kullanarak Kıyaslama

• Bu yöntem, verimliliğin bir uygulama alanı ve büyüklük fonksiyonu olduğu düşüncesini temel almaktadır.

• Aşağıda verilen formüle göre, büyüklük verisini kullanarak kıyaslama ile emeği hesaplamak çok basittir; Emek Tahmini = Proje Büyüklüğü / Teslimat Oranı

57

Page 58: YAZILIM PROJE YÖNETİMİ Öğr. Gör. Dr. Emin BORANDAĞ eminb @ maltepe .tr

YZM 403 - Yazılım Proje Yönetimi

58

Stok Takip Sistemi

FP LOC Emek Zaman N(Personel Sayısı)