SROVNÁNÍ METOD COCOMO A ANALÝZY FUNCTION POINTS THE COMPARISON OF METHODS COCOMO AND FUNCTION POINTS ANALYSIS. Zdeněk Struska, Robert Pergl

Podobné dokumenty
a) Fakulta informatiky MU v Brně, b) Ekonomická fakulta VŠB-TU Ostrava,

Odhadování pracnosti IT projektů

14 Úvod do plánování projektu Řízení projektu

14 Úvod do plánování projektu Řízení projektu

METODY ODHADU SLOŽITOSTI VÝVOJE MODERNÍHO SOFTWARU

Agilní metodiky vývoje softwaru

V Brně dne a

Analýza a Návrh. Analýza

CASE. Jaroslav Žáček

Metadata. RNDr. Ondřej Zýka

CASE nástroje. Jaroslav Žáček

NSWI /2011 ZS. Principy cpypočítačůčů aoperačních systémů ARCHITEKTURA

Chyby software. J. Sochor, J. Ráček 1

TÉMATICKÝ OKRUH Softwarové inženýrství

Smysl metodiky IS/IT. Koncentrovaná zkušenost Checklist na nic nezapomeneme

ACOUSTIC EMISSION SIGNAL USED FOR EVALUATION OF FAILURES FROM SCRATCH INDENTATION

Odhady, nabídky, měření a historie

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

10 Metody a metodologie strukturované analýzy

SWI041: Hledáme odpověď na otázku: Jak dlouho a za kolik?

X36SIN: Softwarové inženýrství. Životní cyklus a plánování

AKTUÁLNÍ VÝVOJOVÉ TRENDY V OBLASTI KONSTRUKCE A MECHANICKÉ HLUČNOSTI BRZDOVÝCH SYSTÉMŮ

POŘÍZENÍ A IMPLEMENTACE INFORMAČNÍCH SYSTÉMŮ

Nové vývojové nástroje i5/os Rational Developer for System i V7.1

1 Úvod 1.1 Vlastnosti programového vybavení (SW)

ROZVOJ ICT A PDA ZAŘÍZENÍ THE DEVELOPMENT OF ICT AND PDA DEVICES Jiří Vaněk

Odhady, nabídky, měření a historie

ODHAD SLOŽITOSTI SOFTWAROVÉHO PRODUKTU V ETAPĚ SPECIFIKACE POŽADAVKŮ

BETON V ENVIRONMENTÁLNÍCH SOUVISLOSTECH

Architektura softwarových systémů

Účel, použití, analýza rizik Milan Turinský Únor 2018

Testování SW produktů. Jiří Sochor, Jaroslav Ráček 1

UML a jeho použití v procesu vývoje. Jaroslav Žáček jaroslav.zacek@osu.cz

Znalostní systém nad ontologií ve formátu Topic Maps

Design systému. Komponentová versus procesní architektura

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

SAP Solution Manager. Verze 7.2 a mnohem víc 1

30/10/2017. Odhady, nabídky, měření a historie. Dotazy na event #L554

Rizikové procesy. 1. Spuštění modulu Rizikové procesy. 2. Popis prostředí a ovládacích prvků modulu Rizikové procesy

Zapojení studentů VŠPJ do vývoje mobilních aplikací na platformě Recon Jet

BIG DATA je oveľa viac ako Hadoop. Martin Pavlík

Návrh IS - UML. Jaroslav Žáček

Telekomunikační sítě Protokolové modely

Kategorická data METODOLOGICKÝ PROSEMINÁŘ II TÝDEN 7 4. DUBNA dubna 2018 Lukáš Hájek, Karel Höfer Metodologický proseminář II 1

Česká zemědělská univerzita v Praze. Provozně ekonomická fakulta. Katedra informačních technologií

Úvod do datového a procesního modelování pomocí CASE Erwin a BPwin

ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ FAKULTA STAVEBNÍ Katedra technologie staveb BAKALÁŘSKÁ PRÁCE. Stavebně-technologický projekt přístavba ZŠ Dobřichovice

Budování architektury pomocí IAA

Teorie systémů TES 7. Výrobní informační systémy

Stabilita v procesním průmyslu

Business Intelligence

Obsah. Zpracoval:

DELPHI - NÁSTROJ PRO VÝUKU INFORMAČNÍCH SYSTÉMŮ?

Příprava dat v softwaru Statistica

FORTANNS. 22. února 2010

DF FA Novinky v Simotion Scout

Úvod. Programovací paradigmata

Programování II. Modularita 2017/18

PRVNÍ ELASTICKÝ INFORMAČNÍ SYSTÉM : QI

Řízení kvality SW produktů Jiří Sochor, Jaroslav Ráček 1

Aplikace metodiky hodnocení kvality systému elektronické výměny dat mezi podnikem a státní správou

DATABÁZOVÉ SYSTÉMY. Metodický list č. 1

Od klasického reportingu k SAP BO Design studio na BW power by HANA Pavel Strnad

V Brně dne 10. a

Návrh IS - UML. Jaroslav Žáček

ČESKÁ ZEMĚDĚLSKÁ UNIVERZITA

Tvorba webových aplikací s využitím Open Source CMS. Lukáš Dubina. Vedoucí práce. PaedDr. Petr Pexa

SČÍTÁNÍ BEZDOMOVCŮ V PRAZE V ROCE 2010

2. Začlenění HCI do životního cyklu software

Prototypování, testování prototypů

Metadata. MI-DSP 2013/14 RNDr. Ondřej Zýka,

Ekonomické srovnání dodavatelů dřevodomků pro stanovený etalon rodinného domu

Softwarové inženýrství 01. doc. Ing. František Huňka, CSc.

Dotazy tvorba nových polí (vypočítané pole)

Aplikační inteligence a identity management jako základ bezpečné komunikace

Státnice odborné č. 12

ROZDÍLY V NÁVRZÍCH RELAČNÍCH A OBJEKTOVÝCH DATABÁZÍ A JEJICH DŮSLEDKY PRO TRANSFORMACI MODELŮ

Metoda Monte Carlo a její aplikace v problematice oceňování technologií. Manuál k programu

Olga Rudikova 2. ročník APIN

Moderní technologie dokončování velmi přesných děr vystržováním a její vliv na užitné vlastnosti výrobků

MST - sběr dat pomocí mobilních terminálů on-line/off-line

Analýza a modelování dat. Helena Palovská

Regresní model pro odhadování nákladů. Bc. Dagmar Janečková

Jak postupovat při hodnocení jakosti softwarových produktů

MVC (Model-View-Controller)

Aplikace pro srovna ní cen povinne ho ruc ení

E.C.S. řada nová generace obrat o 360 ( Systém vyvinut ve Florencii v r.2009 )

MSA-Analýza systému měření

Orsoft Open Finanční účetnictví VÁCLAV KAŠPAR

Modelování magnetického pole v okolí podzemního vysokonapěťového kabelu

Sémantický web 10 let poté

Wonderware Historian 10.0

Databázové systémy. Doc.Ing.Miloš Koch,CSc.

Metody tvorby ontologií a sémantický web. Martin Malčík, Rostislav Miarka

Zadávací dokumentace

Vývoj informačních systémů. Architektura, návrh Vzory: Doménová logika

Architektura v organizaci

SOUVISLOSTI PROBLEMATIKY SYSTÉMOVÉHO MODELOVÁNÍ A TVORBY INFORMAČNÍCH SYSTÉMŮ RELATIONS BETWEEN SYSTEM MODELLING AND INFORMATION SYSTEM DEVELOPMENT

BCS calculator V1. Michal Richter1, Jeffrey Bewley2 1. Agrovýzkum Rapotín s.r.o., Oddělení výživy zvířat a kvality živočišných produktů 2

SPECIFIKA CERTIFIKACE PODLE ČSN EN ISO 9001:2001 V ORGANIZACÍCH, KTERÉ SE ZABÝVAJÍ VÝVOJEM SOFTWARE

Transkript:

SROVNÁNÍ METOD A ANALÝZY FUNCTION POINTS THE COMPARISON OF METHODS AND FUNCTION POINTS ANALYSIS Zdeněk Struska, Robert Pergl Anotace: Článek představuje a porovnává metody Cocomo a analýzu function points, které se používají v počátečních fázích pro odhad složitosti vývoje informačních systému. Článek se zaměřuje na rozdílné přístupy obou metod a na výhody a nevýhody jednotlivých postupů. Klíčová slova Bezporuchovost, dostupnost systému, metoda function points, Cocomo 1.1, Cocomo 2.0., použitelnost, rychlost odhadu, složitost. Annotation: The paper introduces and compares Cocomo and Function Points Analysis methods, which are used in the first phases for the estimation of information system complexity. As well it tries to advise of the differences in individual procedure. Keywords: Reliability, system accessability, funtion points method, Cocomo 1.1, Cocomo 2.0, reuseability, speed of estimation, complexity. ÚVOD Článek staví vedle sebe dvě metody, které se používají pro odhad složitosti softwaru v době, kdy je znalost tohoto údaje klíčová, jde o počáteční fáze vývoje IS. Metoda IFPUG vzešla z dílny mezinárodní organizace International Function Point User Group a navázala na koncept A. Albrechta, který vyvinul základní koncept metody funtion points v laboratořích IBM na konci sedmdesatých let minulého století. Metoda se pokouší odhadovat pracnost vyvíjeného softwaru v počátečních fázích jeho vývoje prostřednictvím funkcí požadovaných od IS a podmínek, ve kterých je IS vytvářen. Původní metoda Cocomo 1.1 (COnstructive COst MOdel) byla vyvinuta na přelomu sedmdesátých a osmdesátých let minulého století Hary Boehmem. V průběhu vývoje v oblasti tvorby informačních systémů byl původní ohad Cocomo nahrazen novou verzí, která je známa pod označením Cocomo 2.0. Nová verze odráží vývoj v oblasti IT ve vztahu s postupným přechodem na objektové prostředí. CÍL Příspěvek si klade za cíl krátké představení vybraných metod zaměřených na odhad složitosti softwaru. Záměrem je především porovnat přístupy a postupy obou metod v procesu odhadování. Vypíchnout jednotlivé přednosti a nedostatky každé z nich a v závěru porovnat jejich skutečnou použitelnost. 808

1. DVA PŘÍSTUPY K ODHADU SLOŽITOSTI SOFTWARU Existuje několik kategorií, do kterých lze zahrnout vybrané metody použitelné pro odhad složitosti/pracnosti výoje informačních systémů. Z této množiny jsem si vybral kategorii Odhadů založených na modelech. Článek se dále soustředí na metodu function points, kterou považuji za jednu z klíčových metod, jenž svým způsobem ovlivňovala rozvoj v oblasti odhadu vývoje informačních systémů. Jako druhou je zvolena metoda Cocomo (COnstructive COst MOdel), kterou považuji za jednu z nejznámějších. Původní koncept metody Cocomo nese označení 1.1 a v porovnání s metodou function points byla jeho použitelnost limitována faktorem znalosti počtu zdrojových řádků. Tento handicap by měla odstranit nová verze označovaná jako Cocomo 2.0. Metoda function points Metoda funkčních jednic (FP) nepředstavuje jediný ucelený návod, ale spíše soubor návodů, které se navzájem liší podle typu produktu, který bude vytvářen. V tomto směru nabízí metoda funkčních jednic prostor pro vznik různých modifikací. Pro tento článek jsem si vybral metodu známou pod označením IFPUG (International Function Point Users Group). Důvodem je, že metoda je nejčistčí verzí původního konceptu metody FP, která byla navržena v laboratořích IBM v sedmdesátých letech minulého století. Metoda funguje jako nástroj pro měření funkční hodnoty obchodních požadavků aplikačního softwaru viděného z pohledu uživatele softwaru. Prostřednictvím uživatelského pohledu je vytvořen formální popis obchodních požadavků na vytvářený SW pomocí uživatelského jazyka. Aby mohly být uživatelské požadavky promítnuty do výsledného SW, musí je vývojový pracovníci přeložit do programovacího jazyka. Přístup vychází z představy, že detailnější část funkcionality, která musí být vyvinuta, zůstává uživatelsko-obchodním potřebám skryta. Jednoduchým příkladem je, že pro budoucího uživatele není příliš podstatné, zda je požadovaná funkcionalita zajištěna využitím jednoho procesoru či distribuována na několik vzájemně spolupracujících procesorech. Uživatel vidí pouze výslednou funkcionalitu a jen jednu hodnotu bez ohledu na další implementační úvahy. Z tohoto hlediska je funkcionalita softwaru v jednotlivých vrstvách pod aplikační úrovní pro normálního uživatele neviditelná a další potřeba měnit její funkčnost je ignorována. Další podmínkou je, že dávka toku procesů, jedná se především o základní procesy, které jsou měřeny, zachycuje jen vstupy a výstupy přecházející vnější hranici, tzn. musí být viděny normálním uživatelem. Jakákoli další funkcionalita, která není rozeznatelnou částí těchto procesů, je ignorována. Metoda Cocomo 1.1 (COnstructive COst MOdel) je jedním z nejznámějších a nejpopulárnějších modelů pro odhad nákladů. Metoda byla vyvinuta na přelomu sedmdesátých a osmdesátých let minulého století Barry Boehmem. Jeho první model se skládal z hierarchie tří modelů s rostoucím významem detailu základní model, střední model a pokročilý model. Tyto modely byly vyvinuty pro odhad projektů 809

zákaznického softwaru a softwaru stavěného na míru. Rovnice pro výpočet základního a středního modelu jsou k dispozici v tabulce 2 a 3. Cocomo 2.0 2.0 se objevilo v polovině 90. let kvůli neschopnosti původního modelu ( 1.1) přesně odhadovat objektově-orientovaný software, evoluční modely (evolutionary models) a software vyvinutý pro komerční účely na sklad (commercialoff-the-shelf software). Několik základních rozdílů mezi 1.1 a 2.0: Zatímco 1.1 musí znát rozsah softwaru v KSLOC (thousand source lines of code) jako vstup, 2.0 poskytuje rozdílný model odhadu pracnosti založený na vývojových etapách projektu Zatímco 1.1 poskytovalo bodové odhady pracnosti a časový plán, 2.0 poskytuje pravděpodobný rozsah odhadů reprezentující jednu standardní odchylku blížící se nejpravděpodobnějšímu odhadu. (viz. tabulky 2. a 3.) 2.0 je nastaveno pro znovupoužití softwaru a reinženýring, jsou zde užity automatické nástroje pro překlad existujícího softwaru. 1.1 poskytovalo malou přizpůsobitelnost pro tyto faktory. 2.0 také počítá s požadavky proměnlivosti ve svých odhadech. 2. ZÁKLADNÍ KONCEPTY METOD 2.1 Koncept metody IFPUG Jak už bylo v článku jednou naznačeno, je metoda IFPUG nejbližší modifikací původní metody function points vyvinuté v druhé polovině sedmdesátých let. Měřený software nebo-li jeho FUR (Functional User Requirements) jsou rozděleny do třech typů elementárních procesů (vstupy, výstupy a požadavky) a dvou typů souborů (vnitřní a vnější logické soubory). Každá komponenta je poté klasifikována dle stupnice jednoduchá průměrná složitá a je ohodnocena počtem funkčních bodů závisejících na její složitosti. Směr (do/ z) Hranice aplikace Uživatelé Vstupy Výstupy Požadavky Další aplikace Vnitřní logické soubory Vnější logické soubory 14 obecných charakteristik aplikace Rozsah (funkční jednice) = Nevyrovnané funkční jednice X Hodnota vyrovnávacího faktoru Informační rozsah procesu Obr. 1: Schéma výpočtu metody IFPUG Přízpůsobení pro technické a kvalitativní požadavky V prvním kroku dojde k ohodnocení složitosti funkčních souborů v ordinální stupnici: jednoduchý, průměrný a složitý. Komponenty se na počátku rozpadnou do dvou kategorií datových (EI, EO, EQ) a transakčních (ILF, EIF) funkcí. Po rozdělení každé funkce do jedné ze třech kategorií, přidělíme každé z nich stanovenou hodnotu (viz. tab. 1.), počet funkcí v kategorii roznásobíme s přidělenou jakousi váhou, sečteme v řádcích a následně v celém sloupci. Výsledkem je celkový počet nevyrovnaných funkčních jednic (UFP). 810

Typ komponenty Složitost komponent Nízký Průměrný Vysoký Celkem External Inputs x 3 = x 4 = x 6 = External Outputs x 4 = x 5 = x 7 = External Inquiries x 3 = x 4 = x 6 = Internal Logical Files x 7 = x 10 = x 15 = External Interface Files x 5 = x 7 = x 10 = Celkový počet nevyrovnaných funkčních jednic (UFP) Vynásobíme hodnotou vyrovnávacího faktoru (VAF) Upravené funkční jednice celkem (FP) Tab. 1: Váhy složitosti jednotlivých funkcí Dále je vyvíjený informační systém ohodnocen z pohledu podmínek, ve kterých je vyvíjen. Pracuje se se 14 předdefinovanými technickými a kvalitativními charakteristikami, každá z charakteristik se ocení váhou 0 až 5 dle vlivu dané charakteristiky na vyvíjený IS (0 faktor nemá žádný vliv, 5 faktor má velmi významný vliv). Poté se přidělené faktory roznásobí váhou každé z charakteristik a po jejich sečtení se dosazením do stanoveného vzorce získá hodnota vyrovnávacího faktoru (VAF). Suma hodnot UFP všech jejích komponent dává nevyrovnanou hodnotu části softwaru. Tato hodnota je dále roznásobena s faktorem VAF, který je určen příspěvky 14 technických a kvalitativních charakteristik poskytujících vyrovnávající část celkové hodnoty function points. Výsledkem je suma vyrovnaných funtion points. 2.2 Koncept metody Cocomo 2.0 Application Composition model (viz. tabulka 2, 3. řádek) užívá object points pro provedení odhadu. Model přejímá užití integrovaných CASE nástrojů. Objekty zahrnují obrazovky, reporty a moduly v programovacích jazycích třetí generace. Object points nejsou nutně navázany na objekty v objektově orientovaném programování. Počet nezpracovaných objektů je odhadnutý, složitost každého objektu je odhadnuta a je vypočítán vážený součet (Object-Point count). Procento užití a předpokládaná produktivita jsou odhadnuty také. S touto informací, může být spočítán i odhad pracnosti (viz. tabulka 2.) Model Name Effort Equation Parameters Basic Effort = a(ksloc) b Organic: a=2,4, b=1,05 Semidetached: a=3,0, b=1,12 Embedded: a=3,6, b=1,20 Intermediate Effort = EAF a (KSLOC) b EAF is the product of 15 cost driver attributes Organic: a=3,2, b=1,05 Semidetached: a=3,0, b=1,12 Embedded: a=2,8, b=1,20 811

Model Name Effort Equation Parameters 2.0 NOP Application Effort = Composition PROD Model ( % reuse] NOP = OP NOP is New Object Points PROD is Productivity Rate 4 very low 7 low PROD = 13 normal 25 high 50 very high 2.0 Early Design and Post Architecture Model Effort = AT ASLOC( ) BRAK b + a[ size(1 + )] πem ATPROD 1 b = 1,01+ SF j AT Size = KSLOC + KASLOC( ) AAM Tab. 2: Vzorce pro výpčet odhadů pracnosti a = 2,5 SF j = scale factor EM i = effort multiplier BRAK = percentagecode discarded due to requirements volatility ASLOC = size of adapted components AT = percent of components adapted ATPROD = Automatic Translation Productivity AAM = Adaptation Adjustment Multiplier Function points utvářejí rozsah vstupů pro model 2.0 Model Early Design. Model Name Schedule Equation Parameters Basic and Intermediate c Organic: c = 0,38 Schedule = 2, 5Effort Semidetached c = 0,35 2.0 0,33+ 0,2( b 1,01 SCED% Schedule = c[ Effort ] 1 b = 1,01+ SF j Tab. 3: Vzorce pro výpočet časových plánů Embedded c = 0,32 c = 3, 0 SFj = scale factor SCED% = schedule compression/expansion parameter DISKUSE Function Points jsou pravděpodobně jednodušeji odhadnutelné než prvotní KSLOC v životním cyklu. Metoda Cocomo2.0 pracuje s function points jako se vstupním údajem. ZÁVĚR Pro praktickou aplikaci představených metod bych doporučovat použít kombinaci výše představených metod. LITERATURA: [ 1 ] Vaníček, J.: Měření a hodnocení jakosti informačních systémů. PEF ČZU. Praha 2004. [ 2 ] International Function Point Users Group: IT Measurement. Practical Advice from the Experts. Addison-Wesley. Boston 2002 [ 3 ] McGibbon, T.: Modern Empirical Cost andschedule Estimation Tools. www.dacs.dtic.mil/tech/estimation/costtools.pdf Adresa autora: Ing. Zdeněk Struska, Ing. Robert Pergl, Katedra informačního inženýrství, PEF ČZU Praha, struska@pef.czu.cz 812