Co je inženýrství požadavků?
Velké hardwarové nebo softwarové systémy, jako je kosmická loď, mají složité požadavky. Požadavky jsou specifikace toho, co by mělo být vytvořeno, jak by se systém měl chovat, nebo omezení procesu vytváření systému. Inženýrství požadavků je použití správných technických postupů k pochopení požadavků před vytvořením systému. To nabývá na důležitosti, protože zúčastněné strany systému nejsou samy o svých potřebách jasné a mají odlišné potřeby.
Komplexní systém může mít mnoho zúčastněných stran, jako jsou lidé, kteří systém uvádějí do provozu, uživatelé, kteří používají jeden nebo více aspektů systému, a lidé, kteří ze systému těží. Je také možné, že zúčastněné strany zahrnují členy veřejnosti, kteří jsou ovlivněni určitými zvláštnostmi systému. Zúčastněné strany mají své zvláštní potřeby. Na druhé straně lidé, kteří vyvíjejí systém, mohou být technicky způsobilí, ale nemusí plně porozumět stanovisku zúčastněných stran. Inženýrství požadavků je základní schopnost, která spojuje tyto strany.
Formálně je činnost v oblasti požadavků rozdělena na vývoj požadavků a správu požadavků. Vývoj požadavků se skládá z vyvolání, analýzy, specifikace a ověření. Řízení požadavků je řízení celého procesu požadavků, zejména řešení jakékoli změny požadavků. Někteří praktici naopak naopak nazývají celou aktivitu jako analýzu požadavků.
Vyvolání požadavků ze strany zúčastněných stran je nezbytné, protože zúčastněné strany často úplně nevymezují své potřeby a nerozumí důsledkům nového systému. Zainteresované strany se nemusí otevřít, protože se mohou obávat dopadu na své současné zaměstnání. Vyvolání je tedy opatrný a možná dlouhý proces, který vyžaduje empatii a jemnou psychologii. Je třeba dávat pozor, aby kulturní rozdíly mezi různými zúčastněnými stranami a vývojáři byly přemostěny.
K vyvolání požadavků se používá několik technik. Požadavky by mohly být vyvolány prostřednictvím individuálních rozhovorů, skupinových setkání a pozorováním lidí při plnění jejich úkolů. Mezi techniky, které mohou přinést požadavky, patří fokusové skupiny, vytváření seznamů s upřednostňováním, prototypování a porovnání s jinými provozovanými systémy. Požadavky na vyvolání zahrnují obchodní potřeby systému, obchodní procesy uživatelů při používání systému a funkční funkce systému. Kromě toho je třeba vyvolat nefunkční požadavky, jako je doba odezvy, dostupnost systému a snadnost použití.
Krok analýzy v inženýrství požadavků vytváří požadavky nízké úrovně, které uspokojí původní požadavky vysoké úrovně. To zahrnuje vytváření koncepčních modelů a prototypů, aby se zajistila úplnost požadavků. Konflikty v potřebách různých zúčastněných stran se častěji vyskytují u modelů a prototypů než z pouhého seznamu požadavků. K požadavkům analytiků je třeba přidat požadované vlastnosti systému, jako je bezpečnost, flexibilita a údržba.
Požadavky jsou specifikovány v dokumentu pro snadnější pochopení všech zúčastněných stran. V oblasti softwaru se dokument nazývá SRS, což znamená Specifikace softwarových požadavků. Požadavky ověřují klíčové zúčastněné strany. Je to hlavně prostřednictvím prezentací a specifikačního dokumentu, ale také někdy s testovacími případy, které odpovídají požadavkům.
Inženýrství požadavků je především komunikace, činnost spíše než technická. Vyžaduje multidisciplinární dovednosti. Inženýrství požadavků pomáhá zúčastněným a vývojářům řešit konflikty a spojuje je v jejich cílech; To vede k robustnímu systému.