BODY PRÍPADOV POUŽITIA ALEBO AKO MERAŤ SOFTVÉR

Similar documents
Odhady v softvérových projektoch. 1. časť

Databázové systémy. SQL Window functions

Testovanie bieleho šumu

Aplikačný dizajn manuál

Obsah. SOA REST REST princípy REST výhody prest. Otázky

Manažment rizík v softvérovom projekte

MERANIE SOFTVÉRU. Jakub Šimko MSI

Podporné prostriedky pre riadenie softvérového projektu

kucharka exportu pro 9FFFIMU

PODPORNÉ PROSTRIEDKY PRE VERZIOVANIE: VHODNÝ VÝBER PRE NÁŠ TÍM?

VYLEPŠOVANIE KONCEPTU TRIEDY

Microsoft Azure platforma pre Cloud Computing. Juraj Šitina, Microsoft Slovakia

Efektívna analýza a plánovanie rizík v softvérových projektoch malého a stredného rozsahu

LL LED svietidlá na osvetlenie športovísk. MMXIII-X LEADER LIGHT s.r.o. Všetky práva vyhradené. Uvedené dáta podliehajú zmenám.

Plánovanie a agilné metodológie vývoja softvéru

Government Cloud. Stratégia využitia Cloud Computing-u vo Verejnej správe SR. Peter Kišša

Tvorba softvéru v treťom tisícročí Hobiti

Agilné metódy vývoja softvéru a rozsah projektu

Manažment kvality a testovanie softvéru

Spájanie tabuliek. Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c)

Hodnotenie kvality produktu

ÚMRTNOSŤ NA ÚRAZY MOZGU VO VYBRANÝCH EURÓPSKYCH KRAJINÁCH

Crestron Mercury. Univerzálny Videokonferenčný a Kolaboračný systém

Podporované grantom z Islandu, Lichtenštajnska a Nórska prostredníctvom Finančného mechanizmu EHP a Nórskeho finančného mechanizmu

Kvalita, výsledok plánovania a riadenia

AKO ZVÍŤAZIŤ NAD SOFTVÉROVÝM PROJEKTOM

Rýchlosť Mbit/s (download/upload) 15 Mbit / 1 Mbit. 50 Mbit / 8 Mbit. 80 Mbit / 10 Mbit. 10 Mbit / 1 Mbit. 12 Mbit / 2 Mbit.

Mesačná kontrolná správa

Tvorba plánov DÁVID KOVÁČ

Význam manažmentu rizík pre úspešnosť projektu

Registrácia účtu Hik-Connect

Tvorba softvéru v tretom tisícrocí

Plánovanie SCRUM šprintu pomocou nástroja Redmine

SOFTVÉROVÁ PODPORA PLÁNOVANIA PROJEKTOV V MALÝCH TÍMOCH

Riešenia a technológie pre jednotnú správu používateľov

Anycast. Ľubor Jurena CEO Michal Kolárik System Administrator

NIKY a NIKY S. JEDNOFÁZOVÉ UPS od 600 do 3000 VA SVETOVÝ ŠPECIALISTA PRE ELEKTRICKÉ INŠTALÁCIE A DIGITÁLNE SYSTÉMY BUDOV

AKO NA RIZIKÁ. Hurá metóda asi nebude správna. Jaroslav Grega. Čo je riziko? Čo je manažment rizík

Február Scrum: Vyvinuli a udržiavajú Ken Schwaber a Jeff Sutherland

JEDNOTNÝ SYSTÉM ANALÝZY A RIADENIA RIZÍK RICHARD KURACINA UNIFORM SYSTEM FOR RISK ANALYSIS AND RISK MANAGEMENT

Mesačná kontrolná správa

Recipient Configuration. Štefan Pataky MCP, MCTS, MCITP

Trendy a inovatívne prístupy v podnikových procesoch 2016, roč. 19 Trends and Innovative Approaches in Business Processes 2016, Vol.

Copyright 2016 by Martin Krug. All rights reserved.

Algoritmy deterministickej a stochastickej optimalizácie a ich počítačová realizácia

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY

Problém Big Data a ako ho riešiť pomocou NoSQL. Ján Zázrivec Softec

Základná(umelecká(škola(Jána(Albrechta Topoľčianska(15

Dlhodobé udržanie motivácie v malom vývojovom tíme pracujúcom metódou SCRUM

VYUŽITIE METÓDY RISKIT PRI RIADENÍ RIZÍK V MIESTNEJ SAMOSPRÁVE

Transactions of the VŠB Technical University of Ostrava, Mechanical Series No. 2, 2008, vol. LIV, article No. 1632

MSI KIVT FEI STU Bratislava

Zabezpečenie kvality v softvérovom projekte

Tvorba plánov v softvérovom projekte, rozdelenie úloh, plnenie a aktualizácia plánov

Analýza a praktická implementácia softvérových metrík pre oblasť Adaptability SW produktu

Resource Estimation for Objectory Projects

SLOVENSKÁ POĽNOHOSPODÁRSKA UNIVERZITA V NITRE TECHNICKÁ FAKULTA ON-LINE TESTOVANIE V PREDMETE PROGRAMOVANIE Stanislav Pohuba, Bc.

Analýza a vizualizácia veľkých dát

VŠB Technická univerzita Ostrava. Fakulta elektrotechniky a informatiky. Katedra informatiky

POROVNANIE GUI VYBRANÝCH SOFTVÉROVÝCH NÁSTROJOV

Databázy (1) Prednáška 11. Alexander Šimko

Tvorba a potreba plánov v softvérovom projekte

Automatizované testování webových aplikací. Gabriel Ečegi

Vnímanie neviditeľného [Holographic Eyes]

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY POKROČILÝ MERAČ ČASU BAKALÁRSKA PRÁCA.

}w!"#$%&'()+,-./012345<ya

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MANAGEMENTU VYUŽITEĽNOSŤ OPEN SOURCE SOFTVÉRU V PODNIKANÍ NA SLOVENSKU

Analýza osobností v softvérovom projekte MIROSLAV JACKOVIČ

Tvorba informačných systémov. 4. prednáška: Návrh IS

Ochrana koncových staníc pomocou Cisco Security Agent 6.0. Ľubomír Varga.

Projekt implementace projektového řízení do společnosti HRAZDIL stav, s.r.o. Bc. Monika Bušová

MS Exchange 2010 Prechod Ing. Peter Záhradník

BÁZA ZNALOSTÍ A ZRUČNOSTÍ ŠTUDENTOV

MANAŽMENT RIZÍK A METÓDY IDENTIFIKÁCIE RIZÍK: ZÁKLAD PRE ŠTUDENTA

eduscrum príručka Pravidlá hry December 2013 Vyvinuté eduscrum tímom Autori: Arno Delhij & Rini van Solingen Review: Jeff Sutherland

Jazyk SQL. Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c)

AKO NEPREHRAŤ NÁROČNÚ HRU PROJEKTOVÉHO MANAŽMENTU

Univerzita Karlova v Praze. Matematicko-fyzikální fakulta. Diplomová práce. Bc. Lukáš Slivka. Aplikace pro hodnocení výkonnosti zaměstnanců

NÁVRH ICT PROJEKTU A APLIKACE METODIKY PROJEKTOVÉHO MANAGEMENTU V PODNIKU DESIGN OF ICT PROJECT AND PROJECT MANAGEMENT APPLICATION IN COMPANY

RIEŠENIE A REKONŠTRUKCIA V RÁMCI KOMPLEXNEJ OBNOVY ZAMERANEJ NA SPOLOČNOSŤ

Využití nástroje QFD pro určování strategie společnosti Sensus Slovensko a.s.. Bc.Jana Martinusová

NOVÉ NORMY PRE SYSTÉMY MANAŽÉRSTVA

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ

COST ESTIMATION FOR DISTRIBUTED SYSTEMS USING USE CASE DIAGRAM

Metody projektového řízení

Manažérsky sen dokonalej tímovej práce

Constraint satisfaction problems (problémy s obmedzujúcimi podmienkami)

Jednoradové ložiská s kosouhlým stykom - katalóg Single-Row Angular Contact Ball Bearings - Catalogue

Osobovo-orientovaný prístup vývoja softvéru

Návrh systému pre vyhodnocovanie dát vstupnej kontroly vo vybranej spoločnosti

Coordinates ordering in parallel coordinates views

Grid Computing Implementácia služby v Globus Toolkite (Diplomová práca)

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

SLOVENSKÁ POĽNOHOSPODÁRSKA UNIVERZITA TECHNICKÁ FAKULTA

Princípy softvérového inžinierstva

PV030 Textual Information Systems

POSÚDENIE INFORMAČNÉHO SYSTÉMU PODNIKU A NÁVRH ZMIEN ENTERPRISE INFORMATION SYSTEM ANALYSIS AND IMPROVEMENT PROPOSALS

AGILNE A KVALITNE. Kvalita je to, keď sa vracia z{kazník a nie tovar. Maroš Unčík. Úvod

METODICKÁ SMERNICA NA AKREDITÁCIU METHODICAL GUIDELINE FOR ACCREDITATION. VALIDÁCIA SKÚŠOBNÝCH METÓD Všeobecné zásady a požiadavky

Systém merania ako podsystém systému manažérstva kvality

Transcription:

BODY PRÍPADOV POUŽITIA ALEBO AKO MERAŤ SOFTVÉR Pre efektívne riadenie celého projektu je potrebné merať jeho veľkosť Ondrej Jurčák Slovenská technická univerzita Fakulta informatiky a informačných technológií Ilkovičova 3, 842 16 Bratislava jurcakondrej@gmail.com Abstrakt. Monitorovanie a kontrolovanie priebehu vývoja v každej etape procesu je kľúčovou úlohou manažmentu. Nato aby sme dokázali dobre viesť projekt, naplánovať a kontrolovať jeho priebeh, zabezpečiť dostatočné množstvo zdrojov, je potrebné určiť jeho veľkosť hneď v prvých fázach vývoja. Keďže vývoj softvéru nie je homogénny proces a ovplyvňuje ho množstvo faktorov a charakteristík projektu, odhadovanie je zložitý problém. Najväčším problémom je že na začiatku vidíme len vrchol celého ľadovca, čím je vývoj softvéru, a našou úlohou je určiť z relatívne tak mála informácií, ktoré máme na začiatku, aká veľká časť je ponorená pod vodou. Pri vývoji softvéru hrajú významnú rolu prípady použitia. Vychádzajú z požiadaviek na systém a opisujú jeho funkcionalitu. Obodovaním prípadov použitia je možné odhadnúť veľkosť softvéru a úsilia potrebného na jeho vývoj čo dáva základ dostatočné množstvo informácií na vytvorenie hlavnej línie projektu. Body prípadov použitia vychádzajú z metódy funkčných bodov a boli prezentované Gustavom Karnerom v roku 1993. Keďže je táto metóda už relatívne dlho známa, jej použitie na rôzne projekty ukazuje na výhody jej použitia pri odhadoch. Ale tak ako má svoje pre má aj svoje proti. V eseji opisujem výhody a nevýhody využitia metódy prípadov použitia v rôznych projektoch. Kľúčové slová: body prípadov použitia, analýza vyrobenej hodnoty, EVA, USECASE Points. Manažment projektov softvérových a informačných systémov, 2011, s. 1-5

2 Ondrej Jurčák Úvod Manažment projektu je v súčasnosti doslova umenie. Prepojenie využitia technológií, ekonomiky a ľudskej spolupráce v kontexte softvérového projektu je ťažká úloha. Úspešnosť softvérového projektu závisí od spokojnosti ľudí stojacich za jeho vznikom, tak ako aj ľudí, ktorí softvérový systém používajú a spravujú. Používatelia vyžadujú robustný, používateľsky prívetivý systém. Zadávateľ chce, aby bol produkt spoľahlivo dodaný v stanovenom čase a aby nepresiahol rozpočet. Šéfovia majú ambiciózne ciele, vyžadujú zisk a nechcú nepríjemné prekvapenia. Podporný tím vyžaduje produkt dobre dokumentovaný, ľahko modifikovateľný a bez chýb. Členovia vývojového tímu(často nadaní niekedy nezvládnuteľní) vyžadujú zaujímavé technické výzvy. Vývoj softvérového systému je zložitý proces, ktorý je od začiatku po jeho koniec potrebné riadiť. Každý projekt má určité ciele, ktorých výsledkom v konečnom dôsledku je konkrétny systém. V softvérovom projekte k dosiahnutiu cieľa vedie množstvo ciest, ktoré môžu viesť priamo alebo môžu ísť okľukou a tým presiahnuť stanovený plán a rozpočet. Vybranie konkrétnej cesty a udržanie celého projektu na nej je dôležité pre úspešné ukončenie celého projektu. Je potrebné stále sledovanie priebehu celej cesty aby pri odklonení projektu od stanoveného kurzu bol opäť nasmerovaný na cieľ. Aby mohol byť priebeh celého vývojového procesu efektívne kontrolovaný musí, je potrebné presne odhadnúť jeho veľkosť. Mnohé metódy používajú rôzne metriky ako sú napríklad riadky textov programu, funkčné body, počty modulov, atď.. Jedno riešenie ponúka metóda Bodov prípadov použitia. Body prípadov použitia Prípady použitia sú artefakty dôležité pri vývoji každého, malého či veľkého systému. Prípady použitia zachytávajú požiadavky na systém a opisujú jeho funkcionalitu. Obodovanie prípadov použitia a aktérov, figurujúcich v modeli, je základ pre metódu nazývanú Body prípadov použitia. Algoritmus metódy je zachytený v tabuľke Tab. 1. Tab.1.Metóda Bodov prípadov použitia[1]. Krok Akcia Výstup 1 Klasifikácia aktérov a) Jednoduchý, WF = 1 b) Priemerný, WF = 2 c) Zložitý, WF = 3 2 Klasifikácia prípadov použitia a) Jednoduchý - transakcie<=3, WF = 1 b) Priemerný 4 <=transakcie<=7, WF = 2 c) Zložitý transakcie > 7, WF = 3 3 Výpočet neupravených Bodov prípadov použitia Neupravená váha hráčov(unadjusted actor weights UAW) UAF = (počet aktérov * WF) Neupravená váha prípadov použitia(unadjusted Use Case weights UUCW) UUCF = (počet prípadov použitia * WF) UUCP = UAW +

Body prípadov použitia alebo ako merať softvér 3 4 Priradenie hodnôt pre technické faktory a faktory prostredia [0 5], vynásobenie ich váhami [-1..2], a výsledná suma(tfactor a EFactor). Výpočet TCF a EF. UUCW Faktor technickej zložitosti(technical Complexity Factor- TCF) = 0,6+(0,01*TFactor) Faktor prostredia(enviromental factor - EF)=1,4 + (-0,03* EFactor) 5 Výpočet Bodov prípadov použitia UCP = UUCP * TCF * EF 6 Odhad úsilia v hodinách/osoba E = UCP * PHperUCP 1) 1)20-36 hodín/osoba na bod prípadu použitia, závisí od faktora prostredia. Výhody Výhodou je možnosť plnej automatizácie odhadov na základe Bodov prípadov použitia. Pokiaľ je dokument s prípadmi použitia správne štruktúrovaný v rámci firmy je možné využiť automatický nástroj na odhady[3]. Je to výhodou hlavne veľkých projektov a veľkých firiem, v ktorých automatizácia tohto procesu môže zefektívniť prácu. Ďalšou výhodou je, že v rámci jednej organizácie je možné vypočítať priemerný čas potrebný na implementovanie jedného bodu použitia. Toto môže byť v budúcnosti užitočné pri vytváraní rozvrhu. Nanešťastie ale musí byť každý prípad použitia vytvorený na rovnakej úrovni zložitosti, čo môže byť často problém, keď prípady použitia vytvára viacero autorov.[3] Nevýhody Hlavnou nevýhodou prípadov použitia je, že odhady vytvorené na základe bodov prípadov použitia nie sú použiteľné na priebeh celého procesu. Body prípadov použitia analogicky môžeme použiť až v štádiu, keď ich máme vytvorené, čo môže byť až 10 20% celkového úsilia potrebného v softvérovom procese.[1][2] Ďalšou nevýhodou je, že prípad použitia je príliš veľká jednotka na použitie v plánovacom systéme. Pri vytváraní hrubého odhadu celého projektu môžu byť Body prípadov použitia výhodné. Na vytváranie plánu pre jednotlivé iterácie nie sú body prípadov použitia veľmi dobre použiteľné.[3] Ďalším relevantným problémom je, že neexistuje jednoznačné pravidlo na určenie, čo v sebe jednotka transakcia predstavuje. Počítanie jednotlivých krokov prípadov použitia je len odhad[3]. Každý krok nepredstavuje rovnakú zložitosť pri jeho implementovaní. Napríklad načítanie vstupu vyžaduje oveľa menšie úsilie ako vykreslenie 3D grafu. V celkovom výsledku to môže spôsobovať dosť veľké zmeny v úsilí potrebnom pri vývoji softvéru. Niektoré prípady použitia aj keď majú rovnaký počet transakcií môžu vyžadovať iné rozdielne úsilie pri ich realizácii.

4 Ondrej Jurčák Využitie v reálnych projektoch Podľa článku štúdie[1], v ktorom bolo porovnané využitie Bodov prípadov použitia na štyroch projektoch s rovnakými požiadavkami na systém. Tímy v každého projektu mali podobnú kvalifikáciu a taktiež funkcionalita vytvorených systémov bola takmer rovnaká. Tímy využívali rôzne procesy vývoja softvéru a taktiež kládli rôzne požiadavky na kvalitu kódu. Táto štúdia poukazuje na to, že vývojový proces a požiadavky na kvalitu kódu zvyšujú úsilie až o 100% a že metóda Bodov prípadov použitia nedokáže dostatočne zachytiť zvyšovanie úsilia súvisiaceho s výrobným procesom a kvalitou kódu. V prípadovej štúdii [2] bolo vytvorené porovnanie na veľkom projekte v ktorom boli dostupné aj odhady pomocou expertov. Štúdia ukazuje, že prípady použitia sú dobrým ukazovateľom pri vývoji softvéru ale taktiež zdôrazňuje fakt, že musia byť prípady použitia už vytvorené. Taktiež bolo celá štúdia založená len na jednom projekte, takže výsledky dostatočne neodzrkadľuje zmeny v úsilí, ktoré súvisia s vývojovým procesom a kvalitou. Záver Metóda Prípadov použitia je dobre známa metóda, ktorá je podobná metóde funkčných bodov. Vychádza z prípadov použitia v ktorých sú zachytené požiadavky na systém. Aj keď štúdie ukazujú, že táto metóda je použiteľná a používaná v reálnych projektoch, poukazujú na jeden dôležitý nedostatok a to je fakt, že prípady použitia už musia byť vytvorené. Na odstránenie tohto nedostatku by bola možná kombinácia prípadov použitia aj s metódami, ktoré do odhadov zahrňujú aj získavanie požiadaviek a vytvorenie prípadov použitia. Možný kandidát je napríklad Metóda funkčných bodov. Taktiež Body prípadov použitia nezachytávajú v dostatočnej miere zmeny vo vývojovom procese. Použitá literatúra 1. Anda, B.; Benestad, H.C.; Hove, S.E.;, "A multiple-case study of software effort estimation based on use case points," Empirical Software Engineering, 2005. 2005 International Symposium on,17-18 Nov. 2005 2. Anda, B. Comparing Effort Estimates Based on Use Case Points with Expert Estimates. In Empirical Assessment in Software Engineering (EASE 2002), Keele, UK, April 8-10, 2002 3. Koirala, S. (2004): How to Prepare Quotation Using Use Case Points, http://www.codeproject.com/gen/design/usecasepoints.asp,15 January 2007

Body prípadov použitia alebo ako merať softvér 5 Annotation UseCase points or how measure software Monitoring and controlling of project in every phase of development process is important task of management. For the best project control, planning and control its performance, provide sufficiency of resources, is important estimate size and required effort of project in early phases of development. Software development is not homogenous process and depends on many factors and project characteristic, so effort estimation is a very difficult task. Biggest issue is that we see on beginning only top of the iceberg, what is software development, and our task is estimate, from relative small amount of information, which we have on begging, what size of iceberg body is under water. Use cases play important role in software development. They depend from software requirements and describe its functionality. Making points of Use Cases we can estimate size and effort needed for software development, what is sufficient amount of information to create main line of project. Use Case Points outgoing from Function points and was first presented by Gustav Karner at 1993. However this method is known quite long time, it s using on different types of projects point on success usage of this method. So UseCase points have advantages and disadvantages. In the essay below is described disadvantages and advantages of using this method on different kind of projects.