Cerințe nefuncționale, de ce avem nevoie de ele?

Când discutăm despre cerințele nefuncționale, la ce vă gândiți? În cele mai multe cazuri ne gândim la acele cerințe care nu sunt legate de funcționalitatea sistemului, dar haideți să dezbatem un pic acest subiect.

Pe o bază de zi cu zi de activitate ca un analist de afaceri, suntem, de obicei, axat pe zona cerințelor funcționale, pentru a fi mai precis, modul în care sistemul ar trebui să funcționeze și să reacționeze, prin urmare, nu suntem atât de concentrat pe resursele și capacitățile domenii ale sistemului proiectat. Ar putea fi diferite tipuri de motive pentru care ne concentrăm în principal pe cerințele funcționale, și aș dori să menționez principalul unul din punctul meu de vedere, aș spune expunerea directă a cerințelor funcționale ca o poveste de utilizator în interacțiunea cu toate părțile interesate în timpul sesiunilor de interviu.

Dacă ne gândim, este logic să fim tratați ca o prioritate, deoarece aceste cerințe funcționale reprezintă punctul de plecare al fazei de analiză, dar nu uitați de alte cerințe care poate nu sunt atât de vizibile sau considerate a fi înțelese în mod implicit astfel: cerințe de performanță, utilizare, securitate etc.

Pentru o înțelegere ușoară, voi da un exemplu în care avem o parte interesată din zona bancară care are următoarea cerință: „Aș dori să am un sistem capabil să proceseze plățile în monede LEI și EUR”. Să ne gândim ce ar însemna să implementăm un sistem capabil să rezolve cerința de afaceri, vreau să procesez plățile RON și EUR, dar tehnologia utilizată și capacitățile sistemului nu permit procesarea a peste 100 de tranzacții pe oră. Având în vedere faptul că într-un sistem bancar sunt procesate aproximativ 10.000 de tranzacții pe oră, această implementare ar fi un eșec, practic, chiar dacă a fost livrat un sistem capabil să proceseze plățile în RON și EUR, acesta nu a putut fi utilizat pentru că nu este capabil să susțină toate tranzacțiile.

Prin urmare, pentru a evita toate acestea, este necesar, deoarece din faza de analiză să ia în considerare și să aibă o imagine detaliată a ceea ce înseamnă cerințe nefuncționale.

Aș dori să descriu principalele categorii de cerințe nefuncționale, așa este prezentat mai jos:

Cerințe de performanță – cerințe privind timpul de răspuns și viteza sistemului;

Cerințe de utilizare – cerințe despre cât de dificil va fi să învețe și să opereze sistemul;

Cerințe de securitate – cerințe privind modul în care data stocată este protejată și securizată;

Cerințe fiabile – cerințe despre cât de des software-ul nu reușește. Trebuie să aveți o definiție clară cu privire la ceea ce înseamnă „Fail”;

Cerințe de portabilitate – înseamnă efortul necesar pentru a muta software-ul pe o altă platformă țintă;

Cerințe exacte și de precizie – cerințe despre cât de precise sunt datele de sistem;

Cerințe de audit și control – ajută la urmărirea modificărilor dintr-un sistem;

Cerințe de întreținere – cerințe despre cât de flexibil este sistemul de a avea modificări.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *