Funkcionalni i nefunkcionalni zahtjevi
Kljuฤna razlika izmeฤu funkcionalnih i nefunkcionalnih zahtjeva
- Funkcionalni zahtjev definira sustav ili njegovu komponentu, dok nefunkcionalni zahtjev definira atribut performansi softverskog sustava.
- Funkcionalni zahtjevi, zajedno s analizom zahtjeva, pomaลพu identificirati zahtjeve koji nedostaju, dok je prednost nefunkcionalnih zahtjeva u tome ลกto vam pomaลพe osigurati dobro korisniฤko iskustvo i jednostavno upravljanje softverom.
- Funkcionalni zahtjev je glagol, dok je nefunkcionalni zahtjev atribut
- Vrste nefunkcionalnih zahtjeva su skalabilnost, kapacitet, dostupnost, pouzdanost, moguฤnost oporavka, podaci Integrityitd., dok su ispravci, prilagodbe i otkazivanja transakcija, poslovna pravila, zahtjevi za certificiranje, zahtjevi za izvjeลกtavanje, administrativne funkcije, razine autorizacije, revizija Tracking, Vanjska suฤelja, Upravljanje povijesnim podacima, Pravni ili regulatorni zahtjevi su razliฤite vrste funkcionalnih zahtjeva.

ล to je funkcionalni zahtjev?
U softverskom inลพenjerstvu, a funkcionalni zahtjev definira sustav ili njegovu komponentu. Opisuje funkcije koje softver mora obavljati. Funkcija nije niลกta drugo nego ulazi, njeno ponaลกanje i izlazi. To moลพe biti izraฤun, manipulacija podacima, poslovni proces, interakcija s korisnikom ili bilo koja druga specifiฤna funkcionalnost koja definira funkciju koju ฤe sustav vjerojatno obavljati.
Funkcionalni zahtjevi u softverskom inลพenjerstvu pomoฤi ฤe vam da uhvatite namjeravano ponaลกanje sustava. Ovo se ponaลกanje moลพe izraziti kao funkcije, usluge ili zadaci ili koje sustav treba izvrลกiti.
ล to je nefunkcionalni zahtjev?
A nefunkcionalni zahtjev definira atribut kvalitete softverskog sustava. Oni predstavljaju skup standarda koji se koriste za procjenu specifiฤnog rada sustava. Primjer, koliko se brzo uฤitava web stranica?
Nefunkcionalni zahtjev bitan je za osiguranje upotrebljivosti i uฤinkovitosti cjelokupnog softverskog sustava. Neispunjavanje nefunkcionalnih zahtjeva moลพe rezultirati sustavima koji ne zadovoljavaju potrebe korisnika.
Nefunkcionalni zahtjevi omoguฤuju vam da nametnete ograniฤenja ili ograniฤenja na dizajn sustava u razliฤitim agilnim zaostacima. Na primjer, stranica bi se trebala uฤitati za 3 sekunde kada je broj istodobnih korisnika > 10000. DescriptBroj nefunkcionalnih zahtjeva jednako je kritiฤan kao i funkcionalni zahtjev.
Primjer funkcionalnih zahtjeva
Evo nekoliko primjera funkcionalnih zahtjeva u softverskom inลพenjerstvu:
- Softver automatski provjerava klijente u odnosu na ABC sustav upravljanja kontaktima
- Sustav prodaje trebao bi omoguฤiti korisnicima da biljeลพe prodaju kupaca
- Boja pozadine za sve prozore u aplikaciji bit ฤe plava i imati ฤe heksadecimalnu RGB vrijednost boje 0x0000FF.
- Samo zaposlenici na menadลพerskoj razini imaju pravo pregledavati podatke o prihodima.
- Softverski sustav treba biti integriran s bankarskim API-jem
- Softverski sustav bi trebao proฤi Odjeljak 508 zahtjev pristupaฤnosti.
Primjeri nefunkcionalnih zahtjeva
Evo nekoliko primjera nefunkcionalnih zahtjeva u softverskom inลพenjerstvu:
- Korisnici moraju promijeniti prvotno dodijeljenu lozinku za prijavu odmah nakon prve uspjeลกne prijave. ล toviลกe, inicijal se nikad ne smije ponovno koristiti.
- Zaposlenicima nikada nije dopuลกteno aลพuriranje podataka o njihovoj plaฤi. Takav pokuลกaj treba prijaviti sigurnosnom administratoru.
- Svaki neuspjeli pokuลกaj korisnika da pristupi nekom podatku bit ฤe evidentiran na revizijskom tragu.
- Web stranica bi trebala biti dovoljno sposobna da podnese 20 milijuna korisnika ลกto utjeฤe na njezinu izvedbu
- Softver bi trebao biti prenosiv. Dakle, prelazak s jednog OS na drugi OS ne stvara nikakav problem.
- Privatnost informacija, izvoz ograniฤenih tehnologija, prava intelektualnog vlasniลกtva, itd. treba biti predmet revizije.
Razlika izmeฤu funkcionalnih i nefunkcionalnih zahtjeva
Ispod je glavna razlika izmeฤu funkcionalnih i nefunkcionalnih zahtjeva u softverskom inลพenjerstvu:
| Parametri | Funkcionalni zahtjev | Nefunkcionalni zahtjev |
|---|---|---|
| ล to je | Glagol | Znaฤajke |
| Zahtjev | To je obavezno | Nije obavezan |
| Tip hvatanja | Hvata se u sluฤaju upotrebe. | Uhvaฤen je kao atribut kvalitete. |
| Krajnji rezultat | Znaฤajka proizvoda | Svojstva proizvoda |
| snimanje | Lako za snimanje | Teลกko za uhvatiti |
| Cilj | Pomaลพe vam provjeriti funkcionalnost softvera. | Pomaลพe vam da provjerite uฤinkovitost softvera. |
| Podruฤje fokusa | Usredotoฤite se na zahtjeve korisnika | Koncentrira se na oฤekivanja korisnika. |
| Dokumentacija | Opiลกite ฤemu proizvod sluลพi | Opisuje kako proizvod radi |
| Vrsta testiranja | Funkcionalno testiranje poput sustava, integracije, end to end, API testiranje, Itd | Nefunkcionalna testiranja kao ลกto su izvedba, stres, upotrebljivost, Ispitivanje sigurnosti, Itd |
| Izvrลกenje testa | Izvrลกenje testa provodi se prije nefunkcionalnog testiranja. | Nakon funkcionalnog ispitivanja |
| Informacije o proizvodu | Znaฤajke proizvoda | Svojstva proizvoda |
Prednosti funkcionalnog zahtjeva
Evo prednosti/prednosti izrade tipiฤnog dokumenta funkcionalnih zahtjeva -
- Pomaลพe vam provjeriti pruลพa li aplikacija sve funkcije koje su navedene u funkcionalnom zahtjevu te aplikacije
- Dokument s funkcionalnim zahtjevima pomaลพe vam da definirate funkcionalnost sustava ili jednog od njegovih podsustava.
- Funkcionalni zahtjevi zajedno s analizom zahtjeva pomaลพu identificirati zahtjeve koji nedostaju. Oni pomaลพu jasno definirati oฤekivanu uslugu i ponaลกanje sustava.
- Pogreลกke uhvaฤene u fazi prikupljanja funkcionalnih zahtjeva najjeftinije je popraviti.
- Podrลพite korisniฤke ciljeve, zadatke ili aktivnosti za jednostavno upravljanje projektima
- Funkcionalni zahtjev moลพe se izraziti u obliku sluฤaja upotrebe ili korisniฤkoj priฤi buduฤi da pokazuju izvana vidljivo funkcionalno ponaลกanje.
Prednosti nefunkcionalnog zahtjeva
Prednosti/prednosti nefunkcionalnog testiranja u programsko inลพenjerstvo je:
- Nefunkcionalni zahtjevi osiguravaju da softverski sustav slijedi zakonska pravila i pravila sukladnosti.
- Oni osiguravaju pouzdanost, dostupnost i performanse softverskog sustava
- Oni osiguravaju dobro korisniฤko iskustvo i jednostavno rukovanje softverom.
- Oni pomaลพu u formuliranju sigurnosne politike softverskog sustava.
