Funkční bod
Funkční body, též Metoda funkčních bodů, je metoda odhadování pracnosti vývoje software založená na hodnocení jeho složitosti. V angličtině se používá zkratka FP, popřípadě FPA (Functional Point Analysis). Cílem metody je poskytovat objektivní metriku použitelnou pro plánování, řízení vývoje a vyhodnocování software.
Původ metody a její rozšíření
Základy metody vytvořil Allan J. Albrecht v roce 1979 pro firmu IBM[1]. Metoda byla dále rozpracovávána a existuje i v mnoha dalších odvozených variantách (například Feature Points, MK II[2] a jiné). V současnosti (2015) je tato metodika shrnuta normou ISO/IEC 14143. Metoda je uznávána i mezinárodními organizacemi jako je například OMG (Object Management Group)[3]. Mezinárodní organizace IFPUG (INTERNATIONAL FUNCTION POINT USER GROUP) organizuje pravidelně konference na toto téma a mimo jiné také poskytuje několik stupňů certifikace ohledně Metody funkčních bodů.
Základní princip metody
Metodika patří do skupiny parametrických metrik a je postavena na hodnocení funkčnosti, kterou software obsahuje, nebo bude podle požadavků obsahovat. Hodnocení jen na základě požadavků umožňuje použít metodiku ve všech fázích tvorby software a to včetně fáze plánování vývoje. Funkční body jsou logickým jednotkami hodnocení. To je zásadní rozdíl ve srovnání s metodami hodnotícími fyzické elementy, jako je například počet řádků kódu. Funkční body jsou pak složeny ze vstupů a výstupů, dotazů, interních dat a dat externích rozhraní. Základní kroky při použití metody spočívají ve stanovení nebo ve výpočtech:
- typu aplikace (nová, upravovaná, hotová)
- rozsahu a hranic aplikace
- datových funkcí
- transakčních funkcí
- stanovení neupravených funkčních bodů
- vliv obecných charakteristik systému
- upravených funkčních bodů
Ve všech bodech je posuzování prováděno z pohledu koncového uživatele systému.
Výhody a nevýhody
Výhody
- Nezáleží na programovacím jazyce a množství kódu.
- Lze použít i u produktů postavených na kombinaci více technologií.
- Hodnocení na základě specifikovaných požadavků.
Nevýhody
- Vliv subjektivního posuzování.
- Relativně komplikované z pohledu výpočtu.
- Nezohledňuje kvalitu aplikace.
- Absence fyzikálního významu funkčních bodů.
Odkazy
Reference
- Allan J. Albrecht: Measuring Application Development Productivity, Proc. of IBM Application Development Symp. In IBM Application Development Symp. (October 1979), pp. 83-92.
- Symons, C. Software sizing and estimating: Mk II FPA (Function Point Analysis). John Wiley & Sons, Inc. New York, NY, USA.1991
- [OMG specifikace http://www.omg.org/spec/]
- Symons, C.R. “Function point analysis: difficulties and improvements.” IEEE Transactions on Software Engineering. January 1988. pp. 2-111.
Externí odkazy
- IFPUG official website (anglicky)
- Mezinárodní konsorcium měření software (anglicky)
- Úvod do plánování projektu