SOFTWARE PROJECT MANAGEMENT –YAZILIM MÜHENDİSLİĞİ DERSİ VİZE SONRASI
SOFTWARE COST ESTİMATION –YAZILIM MALİYET TAHMİNİ slaytı var mavi bişey ordan işliyor dersi
Slaytın altında
Ian sommerville 2004 software engineering 7th edition chapter 26 yazıyo ,aratırsanız google cıkar belki
Fundamental estimation questions ?
Temel tahmin soruları nelerdir dio 4 tane madde var
- Ne büyüklükte bir proje ?
- Kaç adamay ?
- Ne kadar sürede biter? Kac hafta ,ay vs olur ?
- Activitelerin toplam maliyeti ne kadardır ?
Slide 5 : software cost components : yani neler maliyettir bize
- Hardware and software maliyetimiz var
- Seyahat ,eğitim maliyeti var. İşcileri göndercen hani dimi ,bunlar
- İşgücü maliyeti var ,kaç işci calsıtırcan .her birinin maaşı yemesi içmesi vs
- Nwetworing maliyeti
- Restouran maliyeti ulaşım maliyeti vb.
- Say sayabilidigin kadar
Consting and pricing :
Ne kadar fiyat biçerim? Ne kdara mal olur ?ne kadara satabilriim ?
Geliştirme maliyeti ne kadar ? gibi sorular hani
Slide 7:
SOFTWARE PRICING FACTORS ?
İLK işe girerken ,yani yeni kurdugunda satıs yaparken fiyat tahmininde belirsizlk olabilir ,çünkü acemilik var
Müşteri bakım anlaşması yapıosa ucuza verir yazılımı ,ama sonra bakım yaparken alır zaten o parayı yazılım firmaları
Gereksinimler : müşteri yada kurumun gereksinimleri değişmesi
Finansal değişiklikler fiyatı belirler
Pazarlama hani ,iyi pazarlıyosan yüksekten verirsin ürününü piyasada
Slide 8 : SOFTWARE PRODUCTIVITY : üretkenliği ,verimliliği
Yazılım geliştiriciler ne sürede ,ne kadar büyüklükte bir proje ,yazılım geliştirmişler
Slide 9:
Productivity measures : üretkenliğin ölçülmesi , nasıl ölçcez bunu
2 yol var
Size related measures ve Function-related measures
Size realted da satır satır kodlara bakarsın ,sayısı LOC hani ,ne kadar cok kod satırı varsa o derece büyüktür poje mantıgı
Function-related measures ise adı üstünde nasıl bir iş yapıo bu proje ,Functıon points are the best known of this type of measure
Slide 10 :
Measurement problems : ölçüm problemleri
Bu büyüklükte bir projeyi kaç kişi yapcak ,ne yogunlukla ypacak bunları belirlemek vs
Line of code
What’s a line of code? What programs should be counted as part of the system?
This model assumes that there is a linear relationship between system size and volume of documentation.
Satır satır ölçmenin adıdır ,kodları say işin yoksa J KLOC var bi de daha gelişmişi mi desem
,daha kapsamılısı diiim
Slide 12: Productivity comparisons :
Daha yüksek seviyeli diller de örnegin java da dielim ,satır sayısı bir assembler göre azdır .adam java da yazsa kısa sürcek bitmesi ama assamblerda yapoan adam proje uzun sürmesine ragmen çok iş yapmış görüncek .nie satır sayısı çok olcakta o yüzden
Analiz tasarım vs aynı ama code fazla
Slide 14:
Function points
Based on a combination of program characteristics
- external inputs and outputs;
- user interactions;
- external interfaces;
- files used by the system.
Sistem tarafından kullanılan dosyalar
Kaç ekran kullanılacak
Kaç girdi çıktı var
User ınteraction :kaç farklı sorgu üretmiş oluyosun bu sorgu calıstıgında
Tümm bunlar yazılımbüyüklüğühakkında bilgi veriri bize *
14 soru var functıonal point te sorulan
Proje dagıtık mı ?
Backup alındımı ? vs die hatırla
FP kullnımı zor
Slide 16:
Object points (alternatively named application points) : FP in nesneye yönelik olarak cevrilmişi imiş
Uygulamalar için
Object points (alternatively named application points) are an alternative function-related measure to function points when 4Gls or similar languages are used for development.
Object points are NOT the same as object classes.
The number of object points in a program is a weighted estimate of
- The number of separate screens that are displayed;
- The number of reports that are produced by the system;
- The number of program modules that must be developed to supplement the database code;
- Object points are easier to estimate from a specification than function points as they are simply concerned with screens, reports and programming language modules.
- They can therefore be estimated at a fairly early point in the development process.
- At this stage, it is very difficult to estimate the number of lines of code in a system
Buraya kadar gördüklerimiz büyüklük ölçüleriymiş
Slide 18 : Productivity estimates
Real-time embedded systems, 40-160
LOC/P-month.
Systems programs , 150-400 LOC/P-month.
Commercial applications, 200-900
LOC/P-month.
In object points, productivity has been measured between 4 and 50 object points/month depending on tool support and developer capability.
Loc var loc/p – month var bunları kullanabiliyoruz üretkenlik tahmnlerinde
Slide 19 : Factors affecting productivity :verimliliği erkileyen faktörler ?
Applicatıons domain experience : Proje yazcagın alanı biliyosan bir sonraki uygulamada kolay olur ,çünkü hakimsin olaya
Process quality: kalite iyiyse sürec uzar ama kullım saglam ve kolay olur
Project size :kişi artarsa calısan ,proje kolay olabilir,ama belirli bir sayıda calısana kadar tabi
Technology support : teknoloji destegi önemli ,Hazır kodmu kullanıyon ,case mi kullanıyon vs
Working environment : sessiz ve sakin bir yerde,yogunlasıp ptroje yazarsan keyfin tıkırında olursa dio üretcken olursun J
Slide 20 : Quality and productivity :
Üretkenlik maliyeti de artırımış genel olarak ama bu ikisi arasındaki ilişki tam kesin değilmiş .artıradabilir artırmayada bilir demek istedi heralde
Slide 23: Estimation techniques : işte bu tam sınavlık J
- Algorithmic cost modelling.
- Expert judgement.
- Estimation by analogy.
- Parkinson’s Law.
- Pricing to win.
Algorithmic cost modelling :
geçmişe dönük maliyet bilgisi varsa olur bu yöntem.
Bilgi tutcan geçmiş projelerle ,tutmuyorsan yapamazsın bunu.Bitmiş projeden very toplıcan paso ki gelecek projerin tahmini hakkında fikir versin sana
Expert judgement: bilirkişi
En tecrübeli ,çok proje görmüş geçirmiş ola kişiin takdiri bu ne kadar sürer sorusuna
Yada maliyet vs
Deliphi yönetmi kullanılabilir burda
Estimation by analogy :
uzman tahminni gibi amaaaaa
Sadece o yazılım firmasında dedil aynı alanda tamamlanmış benzer projelere göre
Yeni prıjenin tahminni maliyeti nolcaktır.uzman bilmedigi bütçeyi benzetme ile tahmin eder
Parkinson’s Law. :
12 ayda 5 kişi tarafından gerckeleştiriliyorsa iş gücü 60 adamay olarak tahmin ediliyor . ne kadar süremiz var ,kapasitemiz var ona göre tahminb yürütmek
Eldeki imkanlara bakıp zaman,bütçe,kısıt 3 lüsüne nasıl sıgdırırız diye bakıyoruz
Pricing to win :
Müşteri ne kadar bütçe harcayacaksa ona göre müşterinin isteklerini küçültüp ,pazarlık yaparak onunla fiyatı belirlemektir.Proje sınırlarıyla oynayarak fiyatı belirlemektir
Top-down and bottom-up estimation :
Bottom up : önce geliştirilecek yazılımı alt modüllere bölün ,en alltan başlayarak ne kadar
Sürede yapılacagını belirlemeke
Toplaya toplaya yukarı cıkarısın toplam ,süreyi belirlersin
Süre cok uzun cıkabilir .bu seferde yukardan asagı inersin
Top-down :bütün fonsiyon için sistemin tamamının süresi öenmli burda, 2 sene de bitcek diosun mesela alltakilere ,sen şu sen şu kadar sürede bitircen işini dip süre vermek onlara
Slide 32:
Estimation accuracy(dogruluk) : GERCEK HALİ PROJE BİTTİĞİNDE ORTAYA CIKAR TAHMİN DOGRUMU DEĞİLMİ ?
COTS KULLANILMIŞMI ?HAZIR YAZILIMMI KULLNILMIŞ YOKSA
HANGİ PROGR. DİLİNİ KULLANDIK
SİSTEM ALGORTİMASININ ÖZELLİKLERİ NEDİR
GELİŞTİRME SÜRECİ İLERLEDİKÇE GERCEGE DAHA YAKIN OLACAK
Slide 33: Estimate uncertainty(belirsizliği) :
Slide 34 :the cocomo model : ilk maliyet tahmin modelidir.
Constactıve cost model
Cocomo 81 :
Simple ,moderate ve embedded var ,
Basitten karmasıga dogru gider
Project complexity |
Formula |
Description |
Simple |
PM = 2.4 (KDSI)1.05 ´ M |
Well-understood applications developed by small teams. |
Moderate |
PM = 3.0 (KDSI)1.12 ´ M |
More complex projects where team members may have limited experience of related systems. |
Embedded |
PM = 3.6 (KDSI)1.20 ´ M |
Complex projects where the software is part of a strongly coupled complex of hardware, software, regulations and operational procedures. |
Cocomo81 64 projeye göre geliştirilmiş
Sonradan cocomo2 cıkmış ,gelişmişi hani
COCOMO2 ALTMODELLERİ : The sub-models in COCOMO 2 are:
Application composition model :
Early design model:
Reuse model :
Post-artitechure model :
The reuse model :black box ve white box var iki tür *
Black box =code is not modified ,değişmemiş
White box =code is modified ,değişmiş
Cocomo güncelleniyor bunu bilin dedi sadece
Üstteki semayı baglantıları bilin dedi yeter