ZSI / Dolovanie požiadaviek
Dolovanie požiadaviek
Základy softvérového inžinierstva
Sergej Chodarev (sergejx.net)
Požiadavky
- To, čo systém musí spĺňať
- Nie riešenie, ale zadanie
Požiadavky
- používatelia
- ich ciele a úlohy
- podmienky a pravidlá
Typy požiadaviek
- Funkčné (functional)
- čo má systém robiť?
- funkcionalita
- Nefunkčné (non-functional)
- aké mám mať vlastnosti
- výkon, bezpečnosť, podpora platforiem, atď
- Čas odpovede systému musí byť menší ako 500ms ✅
- Modálne okná budú mať sivú farbu pozadia ❌
- Aplikácia bude konzistentne dodržiavať vizuálny štýl spoločnosti ✅
- Systém bude organizovaný ako niekoľko front-end procesov a back-end server ❌
- Ak používateľ zadá nenumerickú hodnotu do numerickej položky, systém rozsvieti červené pozadie a odmietne hodnotu ❌
- Systém neumožní používateľom zadať nesprávne dáta a varuje ich v takom prípade ✅
- Kód a dáta zabudovanej aplikácie musia mať menej ako 32 MB ✅
Vyjadrenie požiadaviek
- Zoznamy
- Tabuľky
- Prípady použitia (use-cases)
- Používateľské príbehy (user stories)
Prípad použitia (use-case)
Množina interakcií medzi systémom a externými účastníkmi,
ktoré sa týkajú špecifického cieľa primárneho účastníka.
- Účastníci
- Cieľ primárneho účastníka (názov)
- Hlavný úspešný scenár
- Rozšírenia a varianty
Nevýhody
- Detailná špecifikácia prípadov použitia vyžaduje veľa času
- Je ľahké skĺznuť k opisu riešenia namiesto požiadaviek
- Menej priestoru pre komunikáciu
Používateľské príbehy
- Stručný popis časti správania systému z pohľadu používateľa
- Kartička veľkosti 3×5 palcov (76,2×127,0 mm)
- Nástroj plánovania práce v iteráciách
Príklad
Ako vyučujúci, chcem dostávať informáciu o aktuálnom stave diplomových prác mojich študentov v pravidelných intervaloch, aby som sa uistil, že priebežne pracujú a vedel im dať spätnú väzbu.
Forma
„As a … I want … So that …“
- používateľ
- funkcionalita
- kontext
Príklad
Ako vyučujúci, chcem dostávať informáciu o aktuálnom stave diplomových prác mojich študentov v pravidelných intervaloch, aby som sa uistil, že priebežne pracujú a videl ich výsledky.
- používateľ
- funkcionalita
- kontext
Príklad
Ako vyučujúci, chcem dostávať informáciu o aktuálnom stave diplomových prác mojich študentov v pravidelných intervaloch, aby som sa uistil, že priebežne pracujú a videl ich výsledky.
- používateľ
- funkcionalita
- kontext
Príklad
Ako vyučujúci, chcem dostávať informáciu o aktuálnom stave diplomových prác mojich študentov v pravidelných intervaloch, aby som sa uistil, že priebežne pracujú a videl ich výsledky.
- používateľ
- funkcionalita
- kontext
Typická chyba
Zamerať sa hneď na implementáciu
Príklad
Ako vyučujúci, chcem mať možnosť vybrať v hlavnom menu položku „Odovzdania“ v ktorej bude tabuľka s aktuálnymi verziami diplomových prác mojich študentov, aby som sa uistil, že priebežne pracujú a videl ich výsledky.
Príklad
Ako vyučujúci, chcem mať možnosť stlačiť tlačidlo „komentovať“ na obrazovke odovzdanej verzie práce a napísať komentár, aby som dal študentovi spätnú väzbu.
Príklad
Ako vyučujúci, chcem mať možnosť napísať komentár k odovzdanej verzii práce, aby som dal študentovi spätnú väzbu.
INVEST
- Independent
- Negotiable
- Valuable
- Estimable
- Small
- Testable