Analýza požiadaviek je veľmi kritický proces, ktorý umožňuje posúdiť úspešnosť systému alebo softvérového projektu. Požiadavky sa vo všeobecnosti delia na dva typy: funkčné a nefunkčné požiadavky.

Pochopenie a rozlišovanie medzi týmito typmi požiadaviek je nevyhnutné pre úspech každého projektu. Náš komplexný Kurz dizajnu systému podrobne pokrýva tieto koncepty a poskytuje vám znalosti a zručnosti na efektívne zhromažďovanie, dokumentovanie a analýzu požiadaviek.
Dôležité témy pre funkčné a nefunkčné požiadavky
- Funkčné požiadavky
- Nefunkčné požiadavky
- Rozšírené požiadavky
- Rozdiel medzi funkčnými požiadavkami a nefunkčnými požiadavkami:
Funkčné požiadavky
Toto sú požiadavky, ktoré koncový užívateľ špecificky požaduje ako základné vybavenie, ktoré by mal systém ponúkať. Všetky tieto funkcionality musia byť nevyhnutne zahrnuté do systému ako súčasť zmluvy.
Tieto sú reprezentované alebo uvedené vo forme vstupu, ktorý sa má poskytnúť systému, vykonanej operácie a očakávaného výstupu. Sú to požiadavky zadané používateľom, ktoré na rozdiel od nefunkčných požiadaviek vidí priamo vo finálnom produkte.
Príklad:
- Aké sú funkcie, ktoré musíme navrhnúť pre tento systém?
- Aké sú okrajové prípady, ak nejaké máme, pri našom návrhu?
Nefunkčné požiadavky
Toto sú kvalitatívne obmedzenia, ktoré musí systém spĺňať podľa projektovej zmluvy. Priorita alebo rozsah implementácie týchto faktorov sa líši od jedného projektu k druhému. Nazývajú sa aj nebehaviorálne požiadavky. Zaoberajú sa problémami ako:
- Prenosnosť
- Bezpečnosť
- Udržiavateľnosť
- Spoľahlivosť
- Škálovateľnosť
- Výkon
- Opätovná použiteľnosť
- Flexibilita
Príklad:
- Každá žiadosť by mala byť spracovaná s minimálnou latenciou?
- Systém by mal byť vysoko hodnotný.
Rozšírené požiadavky
V zásade je pekné mať požiadavky, ktoré môžu byť mimo rozsahu systému.
Príklad:
- Náš systém by mal zaznamenávať metriky a analýzy.
- Monitorovanie zdravia a výkonu služby.
Rozdiel medzi funkčnými požiadavkami a nefunkčnými požiadavkami:
| Funkčné požiadavky | Nefunkčné požiadavky |
|---|---|
| Funkčná požiadavka definuje systém alebo jeho komponent. | Nefunkčná požiadavka definuje atribút kvality softvérového systému. |
| Špecifikuje, čo by mal softvérový systém robiť? | Kladie obmedzenia na Ako by mal softvérový systém spĺňať funkčné požiadavky? |
| Funkčné požiadavky špecifikuje Užívateľ. formátovanie reťazcov java | Nefunkčnú požiadavku špecifikujú technické národy napr. Architekt, technickí lídri a vývojári softvéru. |
| Je to povinné. | Nie je to povinné. |
| Je zachytený v prípade použitia. | Je zachytený ako atribút kvality. |
| Definované na úrovni komponentov. | Aplikované na systém ako celok. |
| Pomôže vám overiť funkčnosť softvéru. | Pomôže vám overiť výkon softvéru. |
| Vykonáva sa funkčné testovanie, ako je systém, integrácia, end-to-end, testovanie API atď. | Vykonáva sa nefunkčné testovanie, ako je výkon, stres, použiteľnosť, testovanie bezpečnosti atď. |
| Zvyčajne je ľahké definovať. | Zvyčajne je ťažšie definovať. |
| Príklad | Príklad |