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:

Příklad funkčních požadavků
Příklad funkčních požadavků

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í.