Požadavky na software – typy požadavků, úrovně detailů a jejich vztah k procesu vývoje.
Z Na státnice zvesela!
Co je to požadavek?
- požadavek = schopnost nebo vlastnost, kterou má sw mít, aby jej uživatel mohl použít k vyřešení problému nebo dosažení cíle, který vedl k zadání, nebo aby splnil podmínky stanovené smlouvou, standardem nebo jinou specifikací.
- vlastnosti požadavku: úplný, bezesporný
- požadavkem není to, co uživatel nepotřebuje
Obsah[skrýt] |
[editovat] Rozdělení požadavků
Typy požadavků
- funkční požadavky (functional requirements) = funkce
- popisují funkce nebo služby, které jsou od systému očekávány
- př.: požadavky na univerzitní knihovní systém
- systém by měl poskytovat uživatelům vhodné rozhraní pro čtení dokumentů v úložišti dokumentů
- mimofunkční požadavky (non-functional requirements) = vlastnosti
- netýkají se funkcí systému, ale vlastností jako je spolehlilvost, čas odpovědi, obsazené místo na disku nebo v paměti, aj.
- často kritičtější než jednotlivé funkční požadavky (např. pokud je řídící systém letadla nespolehlivý, je nepoužitelný)
- někdy dané vnějšími faktory, tj. legislativní požadavky (př. zákon na ochranu osobních informací, apod.)
- př. veškerá komunikace mezi uživatelem a systémem by měla být vyjádřitelná ve znakové sadě ISO 8859-2
- definuje omezení návrhu uživatelského rozhraní, tj. není funkce, ale omezení -- mimofunkční požadavek
Další rozdělení vyplývá z rozdílné úrovně popisu – podle čtenáře:
- uživatelská specifikace požadavků (user requirements specification)
- vysokoúrovňový popis funkčních a mimofunkčních požadavků zákazníka
- musí být srozumitelné pro uživatele, kteří nemají technické znalosti
- systémová specifikace požadavků (system requirements specification)
- podrobnější specifikace uživatelských požadavků pro vývojáře
- slouží jako výchozí bod pro design systému
[editovat] Formy popisu
- textový popis
- shopping list
- strukturovaný text
- IEEE normovaný popis
- grafické vyjádření
- use case diagramy
- implementace
- popis ve formě prototypu a už. příručky
[editovat] Dokument specifikace požadavků (DSP)
- angl. Software Requirements Specification (SRS)
- konečný výsledek analýzy požadavků
- kompletní popis chování systému
- zahrnuje připady užití popisující všechny interakce uživatele se SW -- funkční požadavky
- technický dokument, oficiální vyjádření o tom, co se od vyvíjeného systému očekává (dohoda mezi zákazníkem a dodavatelem, co má zadaný sw dělat a jak to má vypadat)
- základ pro pozdější ověření správnosti - důraz na jednoznačnost, ověřitelnost, reálnost, srozumitelnost, úplnost, přesnost a správnost, modifikovatelnost, konzistenci
- měl by specifikovat pouze externí chování systému, tj. snaha vyloučit z DSP design
- strukturován tak, aby v něm bylo snadné provádět změny (modifikovatelnost)
- měl by specifikovat omezení implementace -- mimofunkční požadavky
- měl by charakterizovat přijatelné odpovědi na nežádoucí události
[editovat] Vlastnosti specifikace požadavků
- jednoznačnost
- úplnost
- srozumitelnost
- modifikovatelnost
- přesnost
- ověřitelnost
- reálnost
- specifikace pouze chování - NE jak to udělat
Různě velké organizace definovaly vlastní standardy pro strukturu DSP
(např IEEE/ANSI 830). Ve skutečnosti bude informace v DSP záviset na
vyvíjeném produktu a na modelu sw procesu, takže je nutné si obecný
model přizpůsobit.
Doporučení: pro praxi si navrhnout vlastní formát a používat ho pro všechny DSP – sníží se tím pravděpodobnost, že se na něco zapomene.