250 likes | 384 Views
Metódy odhadu ceny. Lukáš Miňo a Martin Kukolos. O čom to bude. Úvod do problematiky CoCoMo Príklad. Odhad ceny. Náklady na tvorbu softvéru (programovacie prostredia, hardvér, údržba) Náklady na cestovanie a školenia
E N D
Metódy odhadu ceny Lukáš Miňo a Martin Kukolos
O čom to bude • Úvod do problematiky • CoCoMo • Príklad
Odhad ceny • Náklady na tvorbu softvéru (programovacie prostredia, hardvér, údržba) • Náklady na cestovanie a školenia • Náklady spojené s vynaloženým úsilím na vytvorenie výrobku a zabezpečenie služby (výplaty , réžia) • Cena = náklady + zisk
Vplyv na cenu • podmienky zmluvy • finančná situácia dodávateľa a strategické rozhodnutia • vytvorenie príležitostí na trhu • možnosti zákazníka
Jednoduché modely na odhady nákladov • Úloha: zistiť , ktoré parametre a ako výrazne vplývajú na výšku nákladov • Vynaložené úsilie = P*V • P- koeficient produktivity • V – veľkosť systému
Model COCOMO (Constructive cost model) • Barry Boehm. Software engineering economics. Englewood Cliffs, NJ:Prentice-Hall, 1981. ISBN 0-13-822122-7 • Empirický model na základe známeho odhadnutého rozsahu projektu programu (počet riadkov v programe) • Na základe súboru významových veličín (ovplyvňujú cenu a dobu riešenia projektu) • Vyhodnocuje cenu a dobu trvania vývojovej fázy programu • Riadenia projektu a práce spojené s dokumentáciou • Nepokrýva užívateľské školenie, inštaláciu konečného projektu
Úrovne • Základná úroveň (hrubé odhady) • Stredná úroveň (aj atribútyprojektu) • Podrobná úroveň (úrovne jednotlivých etáp)
Základná úroveň COCOMO (hrubé odhady) • E = a*(KDL)^b • T = c*(E)^d • E (effort/úsilie) - práca navývoji v človekomesiacoch • T – doba trvania v mesiacoch (1 mesiac=152 hodín) • KDL (kilo derivered lines) – tisíce riadkov strojových inštrukcii • a, b,c, d – empiricky zistené konštanty
Typ projektu (mód) • Organický mód • Prechodný mód • Viazaný mód
Organický mód • Relatívne malý tým pracuje na známej aplikácii v známom prostredí. • Malé náklady na komunikáciu, stabilní HW, známe algoritmy a dekompozície problému na menšie celky • do 50 KDL • a = 2.4 • b = 1.05 • c = 2.5 • d = 0.38
Prechodný mód • Prechod mezi ľahkým organickým a náročným viazaným módom. • Projekty obsahujú zložitějšie problémy, požiadavky na komunikáciu, čas a veľkosť programu sú vyššie • do 300 KDL • a = 3.0 • b = 1.12 • c = 2.5 • d = 0.35
Viazaný mód • rôzne obmedzenia projektu - krátke termíny, súčasné oživovanie HW a SW, neustále zmeny v požiadavkách , zásahy zákazníka, neznáma problémová oblasť atd. • Typické aplikácie majú tvrdé požiadavky na časovou odozvu (interaktívne, riadiace a operačné systémy) • a = 3.6 • b = 1.20 • c = 2.5 • d = 0.32
Stredná úroveň COCOMO (aj atribúty projektu) • E = [a*(KDL)^b]*fakt • ...práca na vývoj v človeko mesiacochT = c*(E)^d • ...doba trvania vývoja v mesiacochfakt = súčin faktorov ovplyvňujúcich výsledok
Faktory • Faktory výrobku • Faktory počítačového vybavenia • Faktory riešiteľov • Faktory projektu
Podrobná úroveň (úrovne jednotlivých etáp) • Rozdelenie úsilia medzi jednotlivé etapy • Objem práce v jednotlivých fázach (v%)
Príklad • Odhad nákladov na vytvorenie a údržbu IS (metodou COCOMO) • Jedná sa "stredne obtiažny projekt" uvažujeme, že výsledný program bude obsahovať 60 KDL (60 000 riadkov zdrojových inštrukcii). • E = [a*(KDL)^b]*fakt • ...práca na vývoj v človeko mesiacoch • T = c*(E)^d • ...doba trvania vývoje v mesiacoch • fakt = súčin faktorov ovplyvňujúcich výsledok
Faktory • Faktory výrobku: • RELY (spoľahlivosť výrobku) = 0,98 ...vysoká spoľahlivosť • DATA (rozsah dát) = 1 ...stredná databáza • CPLX (zložitosť výrobku) = 1 ...normálna zložitosť • TIME (rýchlosť programu) = 1,1 ...vysoká
Faktory • Faktory riešiteľov: • ACAP (znalosti a skúsenosti analytika) = 1,19 ...radšej pesimistickejší odhad • AEXP(znalosť aplikácie) = 1,13 ...priemerná skôr nižšia • PCAP (skúsenosti programátorov) = 1 ...predpokladáme čiastočne skúsených programátorov • VEXP (znalosť virtuálneho počítača) = 0,9 ...vysoká znalosť OS • LEXP (znalost prog. jazyka) = 0,95 ...vysoká znalosť programovacieho jazyka
Faktory • Faktory projektu: • MODP (moderné programovacie metódy) = 1 ...v určitých prípadoch • TOOL (použitie program. nástrojov ) = 0,91 ...áno • SCED (časový plán) = 1,04 ...mierne napätý
Konštanty • Výsledné faktorové číslo: • fakt = 0,98*1,1*1,19*1,13*0,9*0,95*0,91*1,04 = 1,17296489 • Empiricky zistené konštanty pre prechodný mód: • a = 3,0 (konštanta určená obtiažnosťou projektu) • b = 1,12 (konštanta určená obtiažnosťou projektu) • c = 2,5 (konštanta určená obtiažnosťou projektu) • d = 0,35 (konštanta určená obtiažnosťou projektu)
Výsledky • E = [a*(KDL)^b]*fakt = [3*(80)^1.12]*1.17296489=345,1 človeko-mesiacov • T = 2,5*(345,1)^0.35 = 19,329 mesiacov • Minimálny počet riešiteľov bude: • P = E/T = 345,1/19,329 = 17,85 ==> 18 • A cena produktu pri priemernom mesačnom platu 20 000 Sk bude: • C = 19,329*18*20000 = 6 958 440 Sk.
Údržba • Náklady na údržbu v človeko-mesiacoch: • M = Z*E = 0,1*345,1 = 34,51 čl-mes • Z = 0,1 ...koeficient zmeny programu pri údržbe • E = 345,1 ...náklady na tvorbu v čl-mes • Pri plate "údržbára" systému 10 000 vychádzajú ročné náklad na údržbu: • 34,51/12 = 2,87 ==> 3 ľudia ==> 3*10000*12 = 360 000 Sk ročne.
Literatúra • http://en.wikipedia.org/wiki/COCOMO • http://sunset.usc.edu/csse/research/COCOMOII/cocomo_main.html • http://www.cms4site.ru/utility.php?ecur=1.12&eafcur=1&utility=cocomoii&sloc=5000&pph=100 • http://cost.jsc.nasa.gov/COCOMO.html • http://sunset.usc.edu/research/COCOMOII/cocomo81_pgm/cocomo81.html • http://www.kasr.elf.stuba.sk/predmety/ppis/