Co je to funkční požadavek v softwarovém inženýrství?
Co je to funkční požadavek?
A Funkční požadavek (FR) je popis služby, kterou musí software nabízet. Popisuje softwarový systém nebo jeho součást. Funkce není nic jiného než vstupy do softwarového systému, jeho chování a výstupy. Může to být výpočet, manipulace s daty, obchodní proces, interakce s uživatelem nebo jakákoli jiná specifická funkce, která definuje, jakou funkci bude systém pravděpodobně vykonávat. Funkční požadavky v softwarovém inženýrství jsou také nazývány Funkční specifikace.
V softwarovém inženýrství a systémovém inženýrství se může funkční požadavek pohybovat od abstraktního prohlášení o nutnosti odesílatele na vysoké úrovni až po podrobné matematické specifikace funkčních požadavků. Funkční software požadavky vám pomohou zachytit zamýšlené chování systému.
Co by mělo obsahovat dokument s funkčními požadavky?
Zde je návod, jak napsat dokument s funkčními požadavky:
Funkční požadavky na systém by měly zahrnovat následující věci:
- Podrobnosti o operacích prováděných na každé obrazovce
- Logika zpracování dat by měla být zadána do systému
- Měl by obsahovat popisy systémových zpráv nebo jiných výstupů
- Kompletní informace o pracovních postupech prováděných systémem
- Mělo by jasně definovat, kdo bude moci vytvářet/upravovat/mazat data v systému
- Jak bude systém splňovat příslušné regulační potřeby a požadavky na shodu, by mělo být zachyceno ve funkčním dokumentu
Výhody funkčního požadavku
Zde jsou výhody/výhody vytvoření typického dokumentu funkčních požadavků –
- Pomůže vám zkontrolovat, zda aplikace poskytuje všechny funkce, které byly zmíněny ve funkčních požadavcích dané aplikace
- Dokument funkčních požadavků vám pomůže definovat funkčnost systému nebo jednoho z jeho podsystémů.
- Funkční požadavky spolu s analýzou požadavků pomáhají identifikovat chybějící požadavky. Pomáhají jasně definovat očekávanou službu a chování systému.
- Nejlevněji se opravují chyby zachycené ve fázi shromažďování funkčních požadavků.
- Podpora uživatelských cílů, úkolů nebo aktivit
Typy funkčních požadavků
Zde jsou nejběžnější typy funkčních požadavků:
- Zpracování transakcí
- Obchodní pravidla
- Požadavky certifikátů
- Požadavky na hlášení
- Administrativní funkce
- Úrovně oprávnění
- Sledování auditu
- Externí rozhraní
- Správa historických dat
- Právní a regulační požadavky
Příklad funkčních požadavků
Níže jsou uvedeny příklady populárních funkčních požadavků:
- Software automaticky ověřuje zákazníky vůči systému správy kontaktů ABC
- Prodejní systém by měl uživatelům umožnit evidovat tržby zákazníků
- Barva pozadí pro všechna okna v aplikaci bude modrá a bude mít hexadecimální hodnotu barvy RGB 0x0000FF.
- Právo zobrazovat údaje o tržbách mají pouze zaměstnanci na manažerské úrovni.
- Softwarový systém by měl být integrován s bankovním API
- Softwarový systém by měl projít Oddíl 508 požadavek na přístupnost.
Nefunkční vs. funkční požadavky
Zde jsou klíčové rozdíly mezi funkčními a nefunkčními požadavky Softwarové inženýrství:
parametry | Funkční požadavek | Nefunkční požadavek |
---|---|---|
Co to je | Sloveso | Atributy |
Požadavek | Je to povinné | Není to povinné |
Typ snímání | Je zachycen v případě použití. | Je zachycen jako atribut kvality. |
Konečný výsledek | Funkce produktu | Vlastnosti produktu |
Zachycení | Snadno zachytitelné | Těžko zachytitelné |
Objektivní | Pomáhá vám ověřit funkčnost softwaru. | Pomáhá vám ověřit výkon softwaru. |
Oblast zaměření | Zaměřte se na požadavky uživatele | Soustředí se na očekávání uživatele. |
Dokumentace | Popište, co produkt dělá | Popisuje, jak produkt funguje |
Typ testování | Funkční testování jako systém, integrace, end to end, API testování, Etc. | Nefunkční testování, jako je výkon, stres, použitelnost, Testování zabezpečení, Etc. |
Provedení testu | Test Provedení se provádí před nefunkčním testováním. | Po funkční zkoušce |
Informace o výrobku | Vlastnosti produktu | Vlastnosti produktu |
Osvědčený postup funkčního požadavku
Důležitý osvědčený postup pro vývoj dokumentu funkčních požadavků je následující:
- Nekombinujte dva požadavky do jednoho. Udržujte požadavky podrobné.
- Každý požadavek byste měli učinit co nejúplnější a nejpřesnější.
- Dokument by měl obsahovat všechny technické požadavky.
- Mapujte všechny požadavky na cíle a principy, což přispívá k úspěšnému dodávání softwaru
- Získejte požadavky pomocí rozhovorů, workshopů a neformální komunikace.
- Pokud existuje nějaké známé, ověřené omezení, které zásadně ovlivňuje požadavek, pak se jedná o kritický stav, který by měl být zdokumentován.
- Je nutné, abyste všechny předpoklady doložili v dokumentu.
Chyby při vytváření funkčního požadavku
Zde jsou některé běžné chyby při vytváření dokumentu s požadavky na funkce:
- Vkládání neoprávněných dodatečných informací, které mohou vývojáře zmást
- V dokumentu požadavku nejsou uvedeny dostatečné podrobnosti.
- Můžete přidat pravidla nebo příklady, prohlášení o rozsahu nebo cíle cokoli kromě samotného požadavku.
- Vynechejte důležitou informaci, která je naprosto nezbytná pro úplné, přesné a definitivní vyjádření požadavku.
- Někteří odborníci začnou obhajovat požadavky, které zdokumentovali, když je požadavek upraven, místo aby našli správnou pravdu.
- Požadavky, které nejsou přiřazeny k cíli nebo principu.
KLÍČOVÉ NAUČENÍ
- Vysvětlete funkční požadavky v softwarovém inženýrství: Funkční požadavky definují systém nebo jeho součásti
- Dokument s funkčními požadavky by měl obsahovat logiku zpracování dat a úplné informace o pracovních postupech prováděných systémem
- Funkční požadavky spolu s analýzou požadavků pomáhají identifikovat chybějící požadavky
- Opravy, úpravy a zrušení transakcí, obchodní pravidla, požadavky na certifikaci, požadavky na podávání zpráv, administrativní funkce, úrovně oprávnění, sledování auditu, externí rozhraní, správa historických dat, právní nebo regulační požadavky jsou různé typy funkčních požadavků
- Osvědčeným postupem je nekombinovat dva požadavky do jednoho. Udržujte požadavky podrobné.
- V dokumentu funkčních požadavků byste se měli vyvarovat vkládání neodůvodněných dodatečných informací, které by mohly zmást vývojáře. Chcete-li pochopit, jak se tyto požadavky promítají do skutečných testovacích postupů, možná budete chtít prozkoumat tuto příručku funkční testování.