Ce este cerința nefuncțională în ingineria software?

Ce este cerința nefuncțională?

Cerință non-funcțională (NFR) specifică atributul de calitate al unui sistem software. Ei judecă sistemul software pe baza capacității de reacție, utilizare, securitate, portabilitate și alte standarde nefuncționale care sunt esențiale pentru succesul sistemului software. Exemplu de cerință nefuncțională, „Cât de repede se încarcă site-ul?” Nerespectarea cerințelor nefuncționale poate duce la sistemele care nu satisfac nevoile utilizatorilor.

Cerințele non-funcționale din Ingineria software vă permit să impuneți constrângeri sau restricții asupra designului sistemului în diferitele restanțe agile. De exemplu, site-ul ar trebui să se încarce în 3 secunde când numărul de utilizatori simultani este > 10000. Descriptionul cerințelor nefuncționale este la fel de critică ca și o cerință funcțională.

Tipuri de cerințe nefuncționale

Mai jos sunt principalele tipuri de cerințe nefuncționale:

Tipuri de cerințe nefuncționale
Tipuri de cerințe nefuncționale
  • Cerință de utilizare
  • Cerință de service
  • Cerință de gestionare
  • Cerința de recuperare
  • Cerință de securitate
  • Date Integrity cerință
  • Cerința de capacitate
  • Cerință de disponibilitate
  • Cerință de scalabilitate
  • Cerință de interoperabilitate
  • Cerință de fiabilitate
  • Cerință de întreținere
  • Cerință de reglementare
  • Cerințe de mediu

Exemple de cerințe nefuncționale

Iată câteva exemple de cerințe nefuncționale:

  1. Utilizatorii trebuie să schimbe parola de conectare atribuită inițial imediat după prima conectare cu succes. Mai mult, inițiala nu trebuie reutilizată niciodată.
  2. Angajații nu au permis niciodată să își actualizeze informațiile despre salariu. O astfel de încercare trebuie raportată administratorului de securitate.
  3. Fiecare încercare nereușită a unui utilizator de a accesa un element de date va fi înregistrată pe o pistă de audit.
  4. Un site web ar trebui să fie suficient de capabil să gestioneze 20 de milioane de utilizatori cu afectarea performanței sale
  5. Software-ul ar trebui să fie portabil. Deci, trecerea de la un sistem de operare la altul nu creează nicio problemă.
  6. Confidențialitatea informațiilor, exportul de tehnologii restricționate, drepturile de proprietate intelectuală etc. ar trebui auditate.

Cerințe funcționale versus nefuncționale

Iată diferența principală dintre cerințele funcționale și nefuncționale:

parametrii Cerință funcțională Cerință non-funcțională
Ce este asta? Verb Atribute
Cerinţă Este obligatoriu Este neobligatoriu
Tip de captură Este capturat în cazul de utilizare. Este surprins ca un atribut de calitate.
Rezultat final Caracteristica produsului Proprietățile produsului
capturarea Usor de capturat Greu de capturat
Obiectiv Vă ajută să verificați funcționalitatea software-ului. Vă ajută să verificați performanța software-ului.
Zona de focalizare Concentrați-vă pe cerințele utilizatorului Se concentrează pe așteptările utilizatorului.
Documentație Descrieți ce face produsul Descrie modul în care funcționează produsul
Tipul de testare Functional Testing precum Sistem, Integrare, End to End, testare API etc. Testare non-funcțională, cum ar fi performanța, stresul, gradul de utilizare, testarea de securitate etc.
Executarea testului Execuția testului se face înainte de testarea nefuncțională. După testarea funcţională
Informatii despre produs Caracteristici produs Proprietățile produsului

Avantajele cerințelor nefuncționale

Avantajele/avantajele Testare nefuncțională sunt:

  • Cerințele nefuncționale asigură că sistemul software urmează regulile legale și de conformitate.
  • Acestea asigură fiabilitatea, disponibilitatea și performanța sistemului software
  • Acestea asigură o experiență bună de utilizare și ușurință în operarea software-ului.
  • Ele ajută la formularea politicii de securitate a sistemului software.

Dezavantajele cerinței nefuncționale

Contra/dezavantajele cerinței de non-funcție sunt:

  • Nicio cerință funcțională nu poate afecta diferitele subsisteme software de nivel înalt
  • Acestea necesită o atenție specială în timpul fazei de arhitectură software/proiectare la nivel înalt, ceea ce crește costurile.
  • Implementarea lor nu se mapează de obicei la subsistemul software specific,
  • Este greu să modificați funcționalitatea nefuncțională odată ce treceți de faza de arhitectură.

ÎNVĂȚAREA CHEIE

  • NFR înseamnă: O cerință nefuncțională definește atributul de performanță al unui sistem software.
  • Care sunt tipurile de comportament nefuncțional: Capacitate de scalabilitate, Disponibilitate, Fiabilitate, Recuperare, Date Integrity, Etc
  • Unul dintre exemplele NFR este că angajații nu au voie să își actualizeze informațiile salariale. O astfel de încercare trebuie raportată administratorului de securitate.
  • Cerința funcțională este un verb, în ​​timp ce Cerința nefuncțională este un atribut
  • Avantajul cerinței non-funcționale este că vă ajută să asigurați o experiență bună de utilizare și ușurință în operarea software-ului
  • Cel mai mare dezavantaj al cerinței non-funcționale este că poate afecta diferitele subsisteme software de nivel înalt.