Što je nefunkcionalni zahtjev u softverskom inženjerstvu?

Što je nefunkcionalni zahtjev?

Nefunkcionalni zahtjev (NFR) specificira atribut kvalitete softverskog sustava. Oni ocjenjuju softverski sustav na temelju odziva, upotrebljivosti, sigurnosti, prenosivosti i drugih nefunkcionalnih standarda koji su ključni za uspjeh softverskog sustava. Primjer nefunkcionalnog zahtjeva, "koliko se brzo učitava web stranica?" Neispunjavanje nefunkcionalnih zahtjeva može rezultirati sustavima koji ne zadovoljavaju potrebe korisnika.

Nefunkcionalni zahtjevi u softverskom inženjerstvu omogućuju vam da nametnete ograničenja ili ograničenja na dizajn sustava kroz različite agilne zaostatke. 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.

Vrste nefunkcionalnih zahtjeva

Ispod su glavne vrste nefunkcionalnih zahtjeva:

Vrste nefunkcionalnih zahtjeva
Vrste nefunkcionalnih zahtjeva
  • Zahtjev za upotrebljivost
  • Zahtjev za upotrebljivost
  • Zahtjev za upravljivost
  • Zahtjev za oporavljivost
  • Sigurnosni zahtjev
  • Datum Integrity zahtjev
  • Zahtjev za kapacitetom
  • Zahtjev dostupnosti
  • Zahtjev za skalabilnost
  • Zahtjev interoperabilnosti
  • Zahtjev pouzdanosti
  • Zahtjev održivosti
  • Regulatorni zahtjev
  • Zahtjev za zaštitu okoliša

Primjeri nefunkcionalnih zahtjeva

Evo nekoliko primjera nefunkcionalnih zahtjeva:

  1. Korisnici moraju promijeniti prvotno dodijeljenu lozinku za prijavu odmah nakon prve uspješne prijave. Štoviše, inicijal se nikad ne smije ponovno koristiti.
  2. Zaposlenicima nikada nije dopušteno ažuriranje podataka o njihovoj plaći. Takav pokušaj treba prijaviti sigurnosnom administratoru.
  3. Svaki neuspjeli pokušaj korisnika da pristupi nekom podatku bit će evidentiran na revizijskom tragu.
  4. Web stranica bi trebala biti dovoljno sposobna da podnese 20 milijuna korisnika što utječe na njezinu izvedbu
  5. Softver bi trebao biti prenosiv. Dakle, prelazak s jednog OS na drugi OS ne stvara nikakav problem.
  6. Privatnost informacija, izvoz ograničenih tehnologija, prava intelektualnog vlasništva, itd. treba biti predmet revizije.

Funkcionalni i nefunkcionalni zahtjevi

Slijedi glavna razlika između funkcionalnih i nefunkcionalnih zahtjeva:

Parametri Funkcionalni zahtjev Nefunkcionalni zahtjev
Što je to? 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 ispitivanje poput sustava, integracije, end to end, API testiranja itd. Nefunkcionalna testiranja poput testiranja performansi, stresa, upotrebljivosti, 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 nefunkcionalnog zahtjeva

Prednosti/prednosti Nefunkcionalno testiranje 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.

Nedostaci nefunkcionalnog zahtjeva

Mane/nedostatci zahtjeva za nefunkcionalnost su:

  • Nijedan funkcionalni zahtjev ne smije utjecati na različite softverske podsustave visoke razine
  • Oni zahtijevaju posebno razmatranje tijekom faze arhitekture softvera/faze dizajna visoke razine što povećava troškove.
  • Njihova implementacija obično se ne preslikava na određeni softverski podsustav,
  • Teško je modificirati nefunkcionalne nakon što prođete fazu arhitekture.

KLJUČNO UČENJE

  • NFR znači: nefunkcionalni zahtjev definira atribut izvedbe softverskog sustava.
  • Koje su vrste nefunkcionalnog ponašanja: kapacitet skalabilnosti, dostupnost, pouzdanost, mogućnost oporavka, podaci Integrity, Itd
  • Jedan od primjera NFR-a jest Zaposlenici nikad ne smiju ažurirati podatke o svojoj plaći. Takav pokušaj treba prijaviti sigurnosnom administratoru.
  • Funkcionalni zahtjev je glagol, dok je nefunkcionalni zahtjev atribut
  • Prednost nefunkcionalnog zahtjeva je u tome što vam pomaže osigurati dobro korisničko iskustvo i jednostavno upravljanje softverom
  • Najveći nedostatak nefunkcionalnog zahtjeva je taj što može utjecati na različite softverske podsustave visoke razine.