Požadavky na software – typy požadavků, úrovně detailů a jejich vztah k procesu vývoje.

Z Na státnice zvesela!

Přejít na: navigace, hledání

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.