Požadavky a Use Case Diagramy SW požadavky • Požadavek lze definovat stručně jako „specifikaci toho, co by mělo být implementováno”. • Funkční požadavky (functional req.) určují, jaké chování nebo jaké služby bude systém nabízet • Nefunkční požadavky (non-functional req.) specifikují vlastnosti nebo omezující podmínky daného systému (kvalita, technologie, dokumentace, řízení projektu, ..) • Požadavek vyjadřuje CO, nikoliv JAK. Nefunkční požadavky • Výkon • Kapacita • Dostupnost • Shoda se standardy • Zabezpečení • Dokumentace • Organizace projektu • Technologie • … Nefunkční požadavky Nefunkční požadavky je třeba zaznamenat a neustále je promítat do návrhu řešení. Pro tyto účely lze použít katalogový záznam • Identifikační číslo • Datum poslední změny • Kdo ho požaduje, kdo ho přijímá • Priorita požadavků • Stručný název požadavku • Detailní popis požadavku • Návaznost na další požadavky • Komplexnost/složitost požadavku „Podobně“ lze zacházet i s funkčními požadavky. Zápis požadavků Příklad zápisu požadavků Funkční požadavky – případy užití Diagram případů užití (Use Case Diagram) zachycuje vnější pohled na modelovaný systém a tím pomáhá odhalit hranice systému. Jde o posloupnost souvisejících transakcí mezi účastníkem (zpravidla uživatelem v určité roli, ale také jiným systémem) a systémem během vzájemného dialogu. Hlavním účelem je zachycení aktérů, kteří se systémem komunikují a vztahů mezi službami a těmi, kterým jsou poskytovány, a to vizuální i textovou podobou, která je srozumitelná vývojářům systému i zákazníkům (tj. těm, kteří jej mají používat). Use Case Diagram Komponenty a vztahy Případ užití (značený oválně) – posloupnost akcí ve vztahu s aktéry, může obsahovat vazby • Include – případ užití může obsahovat jiný (Zahrnující – např.: Editovat text → Psát text, Vložit obrázek, atd.) • Extend – případ užití může rozšiřovat jiný (Rozšiřující – např.: Otevřít dokument → Import z jiného formátu, atd.) • Generalizace (dědičnost) – případ užití může být speciálním případem jiného Aktér/účastník (značený figurou) – popis externích objektů vstupujících do vztahu s procesy, může obsahovat vazby Generalizace (dědičnost) – aktér může být speciálním případem jiného Komponenty a vztahy Komponenty a vztahy Komponenty a vztahy Komponenty a vztahy