Postupy pro sběr požadavků.
Z Na státnice zvesela!
[editovat] Metody shromažďování požadavků
Způsoby získávání
- interview
- předem připravený rozhovor, který vede moderátor (klade otázky, dává slovo)
 - nedoporučuje se více než 2 hodiny
 - předem si připravit scénář, které okruhy se budou probírat, v jakém pořadí, scénář se snažit nenásilně dodržovat
 
 - pozorování, práce s uživateli
- pozorování prací u zákazníka (účast analytiků)
 
 - analýza existujícího systému
- inspirujme se tím, jak funguje stávající systém
 
 - dotazníky
- vhodnými otázkamy zjistíme od uživatelů, co potřebují
 
 - prototypování – tvorba prototypů, podle kterých si zákazník ujasní své požadavky
- stačí na papír nebo skutečné programové prototypy
 
 - studium hlášení problémů
 
Způsoby vyjádření
- přirozený jazyk
- výhodou je srozumitelnost pro uživatele
 - nevýhodou – spoléhá se na to, že autoři používají stejná slova pro stejný koncept (stejná věc se dá říci mnoha různými způsoby). Obtížná modularizace - kterých všech dalších požadavků se změna dotkne.
 
 - formuláře
- pro vyjádření požadavku se nadefinuje jeden nebo více typů formulářů
 - měl by obsahovat:
- popis specifikované funkce nebo entity
 - popis vstupů, odkud se berou
 - popis výstupů, kam putují
 - jaké další entity specifikovaná funkce nebo entita používá
 - případné pre/post conditions (co platí při vstupu do funkce a co při výstupu z ní)
 - pokud vznikají postranní efekty, pak jejich popis
 
 
 - pseudokódy
- v přirozeném jazyce težko vyjádřitelné vnořené podmínky nebo smyčky
 - jazyk s abstraktními konstrukcemi, které právě potřebujeme
 - vnoření konstrukcí je vyjádřeno odsazením
 - vyhýbáme se syntaktickým konstrukcím cílového programovacího jazyka (popisujeme požadovaný záměr, nikoli jak to bude v cílovém jazyce)
 - na druhou stranu musí umožňovat téměř automatickou konverzi do kódu
 
 
formuláře vs. pseudokód
- formuláře – celková specifikace systému
 - pseudokód – řídící sekvence, rozhraní
 
[editovat] Kontrola požadavků
- musíme zjistit, zda jsou požadavky úplné, konzistentní a zda odpovídají tomu, co zadavatel chce
 - vstupem je úplný DSP
 - metody:
- přezkoumání (reviews) – požadavky jsou systematicky kontrolovány týmem, manuální proces
 - prototypování – zákazníkovi předvedeme spustitelný model systému
 - generování testovacích případů – vytvoříme testy požadavků, pokud je obtížné vytvořit test, bude požadavek obtížně implementovatelný
 - automatická analýza konzistence – pokud byly požadavky specifikovány jako model ve formální nebo strukturované notaci
 
 
[editovat] Management požadavků
- požadavky na systém se stále mění
 - měl by začít plánováním, ve kterém se rozhodne:
- způsob identifikace požadavků – každý požadavek by měl mít jednoznačné ID
 - proces změny požadavků – definujeme proces, abychom se ke změnám požadavků chovali konzistentním způsobem
 - sledovatelnost
- zdroj požadavku – kdo požadavek navrhnul, důvod; abychom se mohli zdroje zeptat na podrobnosti
 - vztahy mezi požadavky – kolika požadavků se změna dotkne
 
 - nástroje – co se použije pro uchování informací o požadavcích (malé projekty – obvyklé prostředky(textové nástroje, EXCEL, databáze, aj), velké projekty – CASE nástroje)
 
 
