Specifikace
jednotlivých požadavků
Pokračování
popisu specifikace
požadavků: oddíl dokumentu specifikace popisující požadavky na funkce.
Datum
poslední modifikace: 30.1.2024
Požadavky na funkce
Pozor: pojmem funkce
se zde nemyslí
jednotka procedurální implementace daného
systému, ale jednotka jeho vnější funkčnosti. Specifikují se zde
základní akce prováděné systémem, a to popisem vstupů, zpracování, a
výstupů.
Pro každou funkci software se
doporučuje popsat např.:
- Úvod -- účel
funkce, používané principy a techniky, další vysvětlující
informace
- Vstupy -- detailní
popis vstupních dat (jejich zdroje, množství, jednotky měření,
časování, platné rozsahy), možnost ovlivnění jejich struktury
operátorem/uživatelem, příp. odkazy na příslušné specifikace datových
entit a formulářů uživatelského rozhraní.
- Zpracování -- popis
operací pro získání výstupů ze vstupů: kontroly platnosti
vstupů, přesné pořadí operací vč. časování, reakce na výjimečné
situace (přetečení, komunikační chyby, apod.), které parametry se mohou
měnit, použité metody/algoritmy/apod. (ale jen pokud je to nutné
specifikovat, nemá být design!), kontroly platnosti výsledků.
- Výstupy -- popis
výstupních dat dané funkce (místo určení, množství, jednotky
měření, časování, rozsahy platnosti, umístění/zpracování
neplatných hodnot, chybová hlášení) a odkazy na příslušné
specifikace rozhraní.
Pro systémy popisované
vstupně-výstupním chováním je třeba uvést všechny významné kombinace
(je-li bezestavový) nebo sekvence párů vstup/výstup. Obvykle
se
popis
funkcí řídí způsoby metodiky používané při analýze.
Požadavky na výkonnost
Stanoví číselně
vyjádřené a
změřitelné požadavky na
výkonnostní aspekty systému. Je potřeba
specifikovat požadavky
- statické -- počet
podporovaných uživatelů, souborů, záznamů, apod.
- dynamické -- např.
počet transakcí nebo objem dat zpracovaný za jednotku času, dobu
odezvy systému za normální/vysoké zátěže.
Kvantifikovatelnost je nutná
kvůli
možnosti ověřit, zda implementovaný systém tyto požadavky naplňuje.
Např: nikdo nemůže objektivně ověřit požadavek uživatel
nebude
nucen čekat na dokončení transakce dlouhou dobu,
zatímco totéž
formulováno 95% transakcí
bude zpracováno za max. 1 vteřinu
je
už změřitelné.
Vlastnosti
Specifikuje požadavky na různé
další
ne-funkční vlastnosti softwaru, např. (nejedná se zdaleka o úplný
výčet):
- dostupnost --
úroveň
zaručené dostupnosti celého systému (kontrolní body, vzpamatování
se po výpadku),
- bezpečnost
--
ochrana systému a dat proti zneužití, např. použití
kryptografických technik, uchovávání logu, omezení komunikace
mezi některými částmi systému, použití kontrolních součtů, ...
- udržovatelnost
-- jak má být systému rozčleněn s výhledem
na budoucí údržbu, např. stanovení hodnot metrik pro vazby mezi
moduly, rozdělení dat,
- přenositelnost
--
na
jakých systémech bude (i výhledově) možné provozovat a omezení z
toho vyplývající,
- snadnost
užívání --
např. písařka se stupněm
zručnosti 4 může provést funkci
X za Z minut po 1 hodině zácviku
(nikoli písařka
bude schopná provést
funkci X).
Opět: je nutné, aby vlastnosti
byly vyjádřitelné
numericky a měřitelné, aby
bylo jejich plnění možno ověřit.
Gilb říká: "Všechny vlastnosti mohou a mají být měřitelné v praxi"
[Gilb]. Pro každou vlastnost je vhodné specifikovat:
- pojmenování (např. dostupnost),
- stupnici
hodnot
(např. "% plánovaného provozního času systému"),
- test (jak lze
zjistit hodnotu, např. "porovnání žurnálu s plánem provozu"),
- nejhorší
případ
a nejlepší
případ
(např. 95%, 99.9%),
- plánovanou
[normální] hodnotu (např. 98%),
- pokud lze, také stav
v
současnosti (tj. v době
analýzy stávajícího systému,
např. "není možné určit" nebo "max. 95%").
Vnější rozhraní
Stanoví se zde rozhraní
- uživatelské
-- formáty a layout obrazovek a
dialogů, časování, formáty hlášení (specifikace uživatelského
rozhraní je velmi důležitá z hlediska běžného uživatele:
nezanedbat!).
- hardwarová
-- vzhledem k systému, na němž bude sw
provozován, dále
použitá přídavná zařízení a příslušné protokoly,
- softwarová -- pro
sw
produkty použité při vývoji (knihovny, databáze, apod) a
rozhraní k dalším produktům (např. účetnímu programu);
dokumentovaná rozhraní není třeba detailně rozvádět, ale je
potřeba uvést odkaz na jejich specifikace,
- komunikační
-- rozhraní k síti apod.
Další požadavky
Některé požadavky mohou být,
vzhledem k
povaze vyvíjeného softwaru nebo uživatelské organizace, lépe
specifikovány v samostatném oddíle. Může jít např. o specifikaci
interní
databáze, způsoby použití softwaru (interaktivní, dávkové, zálohování)
a/nebo jejich závislost na typu uživatele, nebo místně závislé
požadavky.
Organizace oddílu
Vzhledem k velkému rozsahu a
složitosti
tohoto oddílu je třeba jej vhodně rozčlenit s ohledem na čitelnost a
srozumitelnost (nikoli podle úrovní návrhu). Možné způsoby organizace
jsou uvedeny na následujících obrázcích.
3. Specifikace požadavků 3.1 Požadavky na funkce 3.1.1 <Funkce č. 1> 3.1.1.1 Specifikace 3.1.1.1.1 Úvod 3.1.1.1.2 Vstupy 3.1.1.1.3 Zpracování 3.1.1.1.4 Výstupy 3.1.1.2 Vnější rozhraní 3.1.1.2.1 Uživatelské rozhraní 3.1.1.2.2 Hardwarová rozhraní ... 3.1.2 <Funkce č. 2> ... ... 3.2 Požadavky na výkonnost 3.3 Omezující podmínky 3.4 Vlastnosti 3.4.1 Bezpečnost 3.4.2 Udržovatelnost ... 3.5 Další požadavky 3.5.1 Databáze ...
|
Obr. 1: Osnova oddílu specifikace
požadavků, vzor 1
3. Specifikace požadavků 3.1 Požadavky na funkce 3.1.1 <Funkce č. 1> 3.1.1.1 Úvod 3.1.1.2 Vstupy 3.1.1.3 Zpracování 3.1.1.4 Výstupy 3.1.2 <Funkce č. 2> ... ... 3.2 Vnější rozhraní 3.2.1 Uživatelské rozhraní 3.2.2 Hardwarová rozhraní ... 3.3 Požadavky na výkonnost 3.4 Omezující podmínky 3.4.1 Dodržování standardů 3.4.2 Hardwarová omezení 3.5 Vlastnosti 3.5.1 Bezpečnost 3.5.2 Udržovatelnost ... 3.6 Další požadavky 3.6.1 Databáze ...
|
Obr. 2: Osnova oddílu
specifikace
požadavků, vzor 2
3. Specifikace požadavků 3.1 Požadavky na funkce 3.1.1 <Funkce č. 1> 3.1.1.1 Úvod 3.1.1.2 Vstupy 3.1.1.3 Zpracování 3.1.1.4 Výstupy 3.1.1.5 Požadavky na výkonnost 3.1.1.6 Omezující podmínky 3.1.1.6.1 Dodržování standardů 3.1.1.6.2 Hardwarová omezení ... 3.1.1.7 Vlastnosti 3.1.1.7.1 Bezpečnost 3.1.1.7.2 Udržovatelnost ... 3.1.1.8 Další požadavky 3.1.1.8.1 Databáze ... 3.1.2 <Funkce č. 2> ... ... 3.2 Vnější rozhraní 3.2.1 Uživatelské rozhraní 3.2.1.1 Požadavky na výkonnost 3.2.1.2 Omezující podmínky 3.2.1.2.1 Dodržování standardů 3.2.1.2.2 Hardwarová omezení ... 3.2.1.3 Vlastnosti 3.2.1.3.1 Bezpečnost 3.2.1.3.2 Udržovatelnost ... 3.2.1.4 Další požadavky 3.2.1.4.1 Databáze ... 3.2.2 Hardwarová rozhraní 3.2.3 Softwarová rozhraní 3.2.4 Komunikační rozhraní
|
Obr. 3: Osnova oddílu
specifikace
požadavků, vzor 3
3. Specifikace požadavků 3.1 <Funkce č. 1> 3.1.1 Úvod 3.1.2 Vstupy 3.1.3 Zpracování 3.1.4 Výstupy 3.1.5 Vnější rozhraní 3.1.5.1 Uživatelské rozhraní 3.1.5.2 Hardwarová rozhraní ... 3.1.6 Požadavky na výkonnost 3.1.7 Omezující podmínky 3.1.7.1 Dodržování standardů 3.1.7.2 Hardwarová omezení 3.1.8 Vlastnosti 3.1.8.1 Bezpečnost 3.1.8.2 Udržovatelnost ... 3.1.9 Další požadavky 3.1.9.1 Databáze
... 3.2 <Funkce č. 2> ... ...
|
Obr. 4: Osnova oddílu
specifikace
požadavků, vzor 4
Management
projektů