280 likes | 401 Views
Odhady pracnosti a doby řešení. COCOMO a Function Points. Hofstadtlerův „ zákon “. ” V softwaru vše stojí více a trvá déle, a to i tehdy, když provedeme na tuto skutečnost korekci původního odhadu“. Důvody problémů.
E N D
Odhady pracnosti a doby řešení COCOMO a Function Points
Hofstadtlerův „zákon“ ”V softwaru vše stojí více a trvá déle, a to i tehdy, když provedeme na tuto skutečnost korekci původníhoodhadu“
Důvody problémů 1. Lidé obecně mají tendenci být příliš optimističtí a očekávají, že se záležitosti budou vyvíjet spíše příznivě.Mezi odhadem doby realizacet a skutečnou dobou realizacea(t)platí vztaha(t) 4/3t . 2. Dosavadní zkušenosti se berou v úvahu jen zčásti. Jestliže se projektuje nějaký systém, odhaduje se jeho rozsah analogií s podobným systémem. Přitom se mlčky soustřeďujeme na rozsah programů realizujícíchvlastní,”hlavní“, úkoly systému. Tyto části často vyžadují pouze menší část prací na systému. Většinu pracípohltí takové úkoly jako reakce na chybu, přesuny dat, konverze dat, generace návodů (HELP), kontrolavstupních a výstupních dat atd. ”Užitečné funkce“, zajišťuje někdy jen několik procent kódu
ACAP – míra schopnosti analytiků. AEXP – míra zkušeností programátorů s podobnými aplikacemi. PCAP – míra kvality programátorů. VEXP – míra zkušenosti s počítačem. LEXP – míra zkušenosti s programovacím jazykem. MODP – míra použití moderních metod vývoje softwaru. TOOL – míra použití moderních prostředků vývoje softwaru. SCED – ”ostrost“ požadavků na dobu realizace. Opravné koeficienty
RELY – míra požadavků na spolehlivost. DATA – míra rozsahu datové základny. CPLX – složitost produktu. TIME – míra požadavků na dobu odezvy. STOR – míra využitelnosti paměti. VIRT – míra proměnlivosti OS počítače TURN – míra rychlosti oběhu úlohy počítačem Opravné koeficienty COCOMO 1
Přechod na COCOMO II • Mění se i exponent
Obtíže odhadů - shrnutí 1. Silná závislost všech parametrů výsledného produktu, jako jsou náklady, kvalita řešení atd., na kvalitěřešitelského týmu. 2. Rychle se měnící podmínky (vlastnosti hardwaru,měnící se způsoby používání počítačů,.) silně snižují opakovatelnost řešení. Jedná se tedy o stanovení pracnosti úkolu, který je do značné míry unikátní. 3. V programování se dosud neustálily pracovní postupy. 4. Rychlý vývoj -ke změnám podmínek řešení (know-how, hardware) může dojít i během řešení jediného úkolu.
Dva principy odhadu • Přes odhad velikosti – COCOMO • Pomocí odhadů složitosti interakce s okolím – Function Points • V obou případech opravné (Pišvejcovy) konstanty • V obou případech dvě varianty odhadu použitelné v různých etapách životního cyklu
COCOMO 81 Dvě základní rovnice, Deljsou efektivní tisíce řádků Pracčm = a*Delb Dobaměs = 2.5*Pracc Koeficient a se počítá jako součin a = a0 * 115Fi
COCOMO II • Odhad délky používá metodiku Function Points • Exponenty odhadovány z atributů projektu • Odhady pro jednotlivé etapy vývoje • Jiné koeficienty resp. jejich hodnocení • Doplněny postupy na znovupoužití • Jen slabé prostředky pro iterativní a inkrementální vývoj a obecně pro p2p
COCOMO II Pracčm = a*Delb Dobaměs = Q*Pracc kde a = a0 * 119, a0 = 2.94 b =B + 0.01 15 c=D+0.002 15Fi´=D+0.2(b-B) Q=3.67, D = 0.28 Fi a Hi se hodnotí známkami 0 až 5
COCOMO II, Fi PREC míra podobnosti s předchozími projekty FLEX neměnnost specifikací a externích rozhraní RESL míra kritičnosti a TEAM problémy s týmem (dohoadování s uživateli, noví lidé, nevhodné složení) PMAT kvalita SW procesů podle CMM dotazníků
COCOMO II, Hi, počáteční odhad RCPX spolehlivost a složitost systému RUSE požadovaná znovupoužitelnost PDIF míra interakce s platformou (využití, novost) PERS kvalita lidí PREX zkušenosti lidí SCED ostrost termínu FCIL použití a znalost nástrojů, nutnost cestování
Function points Základ je hodnocení složitosti rozhraní systému a jeho částí
Principy • Function points 1 • Ze složitosti I/O se vypočtou neadjustované FP • Takto získaný odhad se znásobí funkcí číslených hodnocení atributů projektu a kalibrační konstantou. • Tím se získá odhad pracnosti resp. délky • Dále se postupuje podobně jako v COCOMO • FP II Neadjustované body součtem bodů transakcí, používá se více charakteristik projektu
FP1 Del = cF, Prac = d*Delb • IN a OUT je počet logicky nebo formátem odlišných vstupů a výstupů • ENQ je totéž pro komunikaci s terminálem (jinou aplikací) • FILE obdoba pro zápisy a čtení do vlastních DB • FILEE totéž pro společné DB • Některé metodiky zjemňují odhad zavedením hodnocení složitostí jednotlivých příkazů
Výpočet c c = 2/3 + 0.001 14Fi Fi jsou atributÿ projektu hodnocené od 0 do 5 podle následujícího hodnoceni 0 – daný faktor neexistuje nebo nemá vliv, 1 – nevýznamný vliv, 2 – mírný vliv, 3 – průměrný vliv, 4 – významný vliv, 5 – velmi silný vliv na celou architekturu a programování
Atributy 1. Ovládání a vstup dat přes sít’ (remote job entry, remote data entry). 2. Distribuované zpracování. 3. Ostré požadavky na výkonnost ovlivňují návrh, realizaci a instalaci. 4. Plné využití dané konfigurace. 5. Množství transakcí, které se provádějí, silně ovlivnilo návrh. 6. On-line vstup dat, např. vstup dat z terminálu. 7. On-line funkce, např. ovládání funkcí z terminálu.
Atributy 8. Interaktivní přímé změny dat z cizích aplikací 9. Složitost zpracování:mnoho bodů rozhodování a řídicích interakcí,algoritmicky složité úlohy,mnoho zpracování výjimek vedoucích k opakovanému provádění. 10. Obecná použitelnost výsledného produktu. 11. Snadná instalace a přenositelnost. 12. Snadnost práce se systémem za provozu. 13. Použití systému více organizacemi s různým způsobem využití a jinou podnikovou kulturou. 14. Snadnost změn výsledného produktu.
Funkční body II • Neadjustované body součtem bodů elemetárních akcí (transakcí) • Více atributů projektů a jiné hodnocení atributů
Hodnocení faktorů Hodnocení faktorů • 0 – žádný vliv, • 1 – průměrný vliv, • 3 – kritický vliv. • FP2 uvažuje celkem 19 faktorů. 14 faktorů je převzato z FP, doplněno je následujících pět faktorů:
Doplněné faktory • 15. Budování a udržování rozhraní na jiné aplikace. • 16. Audit a ochrana dat a systému. • 17. Umožnění přístupu k datům pro cizí systémy přes veřejnou síť. • 18. Vývoj školicích prostředků pro uživatele. • 19. Zvýšené nároky na dokumentaci.
Normy pro funkční body ISO/IEC 14143-1 Software Measurement--Functional Size Measurement-Part1: Definition of Concepts ISO/IEC 14143-2 Software Measurement--Functional Size Measurement-Conformity evaluation of software size measurement methods to ISO/IEC 14143-1:1998 ISO/IEC 19761 COSMIC-FFP - A Functional Size Measurement Method ISO/IEC 20926 IFPUG 4.1 Unadjusted functional size measurement method. Counting practices manual iSO/IEC 20968 Mark IIFunction Point Analysis Counting Manual
Hodnocení nástrojů odhadu • Vhodné spíše pro IS s nepříliš složitými jednotlivými akcemi • Asi se nehodí na RT systémy. • Nepřesné, vyžaduje zkušenosti, málo dat , podceňování statistiky • Funkční body asi lepší