Co je funkční specifikace?
Funkční specifikace popisuje základní funkce softwarové aplikace. Obecně se vyvíjí jako součást analýzy požadavků při vývoji softwaru. Slouží jako modrý tisk pro programátory k vývoji zdrojového kódu a testovacích případů pro aplikaci.
Obecně je do analýzy požadavků na vývoj každé softwarové aplikace zapojeno mnoho různých hráčů. Mezi tyto hráče patří podnikatelé, kteří očekávají použití softwaru, analytici dat, programátoři a další technický personál. Obchodní lidé ostatním členům týmu vysvětlují přesně to, co od softwaru očekávají, z obchodního hlediska.
Obchodní požadavky jsou sloučeny s údaji, které je třeba zachytit a používají se k vývoji způsobu, jakým by tým chtěl, aby každá z obrazovek fungovala. Aby byla doložena funkční specifikace, musí být dokončena veškerá tato analýza požadavků. Jakmile je funkční specifikace zhruba zdokumentována, tým pracuje na jejím vyladění. Tým tyto dokumenty zkontroluje a vyplní všechny mezery v analýze požadavků. Po dokončení analýzy požadavků tým schválí funkční specifikaci. Schválený dokument specifikace se používá jako plán pro vývoj softwaru.
Zdrojový kód a testovací případy jsou vyvíjeny pomocí funkční specifikace. Členové týmu používají funkční specifikaci k vývoji testovacích případů potřebných k potvrzení, že software funguje tak, jak je uvedeno. Počet testovacích případů použitých k ladění softwaru se liší v závislosti na složitosti vyvinutého softwaru. Jak programátoři vyvíjejí software, další část týmu vyvíjí testovací případy. Proces testování ke schválení softwaru začíná, jakmile programátoři informují tým, že je připraven k testování.
Funkční specifikace nespecifikuje takové věci, jako je jazyk softwaru, který mají programátoři používat. Specifikace nalezené ve funkční specifikaci jsou omezeny na skutečné funkce programu. Dokument specifikace vysvětluje, co se stane, když uživatel programu klikne na konkrétní tlačítko na obrazovce, ale ne jak programátor provede konkrétní funkci.
V závislosti na složitosti vyvíjeného softwaru používají některé týmy více úrovní dokumentů s funkčními specifikacemi. Řídicí tým se může podílet na specifikaci funkcí na vysoké úrovni, zatímco skupina vyšších analytiků by mohla podrobněji definovat konkrétní funkce a společný tým obchodních analytiků a programátorů může definovat každou obrazovku. Každý z výstupních dokumentů z těchto úrovní lze považovat za funkční specifikaci.