Etapa de producere a cerințelor procesului de dezvoltare software este Specificații pentru cerințele software (SRS) (numit și a document de cerințe ). Acest raport pune bazele activităților de inginerie software și se construiește atunci când cerințele întregi sunt obținute și analizate. SRS este un raport formal, care acționează ca o reprezentare a software-ului care permite clienților să verifice dacă acesta (SRS) este conform cerințelor lor. De asemenea, cuprinde cerințele utilizatorului pentru un sistem, precum și specificații detaliate ale cerințelor de sistem.
SRS este o specificație pentru un anumit produs software, program sau set de aplicații care îndeplinesc anumite funcții într-un anumit mediu. Acesta servește mai multe obiective, în funcție de cine îl scrie. În primul rând, SRS-ul ar putea fi scris de clientul unui sistem. În al doilea rând, SRS-ul ar putea fi scris de un dezvoltator al sistemului. Cele două metode creează situații complet diverse și stabilesc scopuri diferite pentru document. Primul caz, SRS, este utilizat pentru a defini nevoile și așteptările utilizatorilor. Al doilea caz, SRS, este scris în diverse scopuri și servește ca document contractual între client și dezvoltator.
Caracteristicile unui SRS bun
Următoarele sunt caracteristicile unui document SRS bun:
1. Corectitudine: Evaluarea utilizatorului este utilizată pentru a furniza acuratețea cerințelor menționate în SRS. Se spune că SRS este perfect dacă acoperă toate nevoile care sunt cu adevărat așteptate de la sistem.
2. Completitudine: SRS este complet dacă și numai dacă include următoarele elemente:
(1). Toate cerințele esențiale, indiferent dacă sunt legate de funcționalitate, performanță, design, constrângeri, atribute sau interfețe externe.
computerul a inventat anul
(2). Definirea răspunsurilor software-ului la toate clasele realizabile de date de intrare în toate categoriile de situații disponibile.
Notă: este esențial să specificați răspunsurile atât la valorile valide, cât și la cele nevalide.
(3). Etichete complete și referințe la toate figurile, tabelele și diagramele din SRS și definițiile tuturor termenilor și unităților de măsură.
3. Consecvență: SRS este consecvent dacă și numai dacă nu există niciun subset de cerințe individuale descrise în conflictul său. Există trei tipuri de conflicte posibile în SRS:
(1). Caracteristicile specificate ale obiectelor din lumea reală pot intra în conflict. De exemplu,
(a) Formatul unui raport de ieșire poate fi descris într-o cerință ca tabelar, dar în alta ca text.
(b) O condiție poate prevedea că toate luminile vor fi verzi, în timp ce alta prevede că toate luminile vor fi albastre.
(2). Poate exista un conflict rezonabil sau temporal între cele două acțiuni specificate. De exemplu,
(a) O cerință poate determina că programul va adăuga două intrări, iar alta poate determina că programul le va înmulți.
obține data curentă în java
(b) O condiție poate spune că „A” trebuie întotdeauna să urmeze „B”, în timp ce alta necesită ca „A și B” să apară concomitent.
(3). Două sau mai multe cerințe pot defini același obiect din lumea reală, dar folosesc termeni diferiți pentru acel obiect. De exemplu, cererea unui program pentru introducerea utilizatorului poate fi numită „prompt” într-o cerință și „cue” în alta. Utilizarea terminologiei și descrierilor standard promovează coerența.
4. Neambiguitate: SRS este lipsit de ambiguitate atunci când fiecare cerință fixă are o singură interpretare. Acest lucru sugerează că fiecare element este interpretat în mod unic. În cazul în care există o metodă utilizată cu definiții multiple, raportul de cerințe ar trebui să determine implicațiile în SRS, astfel încât să fie clar și simplu de înțeles.
5. Clasament pentru importanță și stabilitate: SRS este clasificat pentru importanță și stabilitate dacă fiecare cerință din el are un identificator care să indice fie semnificația, fie stabilitatea acelei cerințe particulare.
De obicei, toate cerințele nu sunt la fel de importante. Unele condiții preliminare pot fi esențiale, în special pentru aplicațiile critice pentru viață, în timp ce altele pot fi de dorit. Fiecare element trebuie identificat pentru a face aceste diferențe clare și explicite. O altă modalitate de a clasifica cerințele este de a distinge clase de articole ca esențiale, condiționate și opționale.
6. Modificabilitate: SRS ar trebui să fie cât mai modificabil posibil și ar trebui să poată obține rapid modificări ale sistemului într-o oarecare măsură. Modificările ar trebui să fie perfect indexate și încrucișate.
7. Verificabilitate: SRS este corect atunci când cerințele specificate pot fi verificate cu un sistem rentabil pentru a verifica dacă software-ul final îndeplinește aceste cerințe. Cerințele sunt verificate cu ajutorul recenziilor.
8. Trasabilitate: SRS este trasabil dacă originea fiecăreia dintre cerințe este clară și dacă facilitează referirea fiecărei condiții în documentația viitoare de dezvoltare sau îmbunătățire.
Există două tipuri de trasabilitate:
1. Trasabilitate înapoi: Acest lucru depinde de fiecare cerință care face referire explicită la sursa sa în documentele anterioare.
2. Trasabilitatea directă: Acest lucru depinde de fiecare element din SRS care are un nume sau un număr de referință unic.
Trasabilitatea în avans a SRS este crucială în special atunci când produsul software intră în faza de operare și întreținere. Pe măsură ce codul și documentul de proiectare sunt modificați, este necesar să se poată stabili setul complet de cerințe care pot fi vizate de acele modificări.
9. Independenta de proiectare: Ar trebui să existe o opțiune de a selecta dintre mai multe alternative de design pentru sistemul final. Mai precis, SRS nu ar trebui să conțină detalii de implementare.
10. Testabilitate: Un SRS ar trebui să fie scris într-o astfel de metodă încât să fie simplu să se genereze cazuri de testare și planuri de testare din raport.
11. De înțeles de către client: Un utilizator final poate fi un expert în domeniul său explicit, dar s-ar putea să nu fie instruit în informatică. Prin urmare, scopul notațiilor și simbolurilor formale ar trebui evitat pe cât posibil. Limbajul ar trebui să fie simplu și clar.
12. Nivelul corect de abstractizare: Dacă SRS este scris pentru etapa de cerințe, detaliile ar trebui explicate în mod explicit. În timp ce, pentru un studiu de fezabilitate, pot fi utilizate mai puține analize. Prin urmare, nivelul de abstractizare se modifică în funcție de obiectivul SRS.
Proprietățile unui document SRS bun
Proprietățile esențiale ale unui document SRS bun sunt următoarele:
Concis: Raportul SRS ar trebui să fie concis și, în același timp, lipsit de ambiguitate, consecvent și complet. Descrierile detaliate și irelevante reduc lizibilitatea și, de asemenea, cresc posibilitățile de eroare.
Structurat: Ar trebui să fie bine structurat. Un document bine structurat este ușor de înțeles și modificat. În practică, documentul SRS este supus mai multor revizuiri pentru a face față cerințelor utilizatorilor. Adesea, cerințele utilizatorilor evoluează de-a lungul unei perioade de timp. Prin urmare, pentru a face modificările la documentul SRS ușoare, este vital să fie bine structurat raportul.
Vedere cutie neagră: Ar trebui să definească doar ce ar trebui să facă sistemul și să se abțină de la a spune cum să le facă. Aceasta înseamnă că documentul SRS ar trebui să definească comportamentul extern al sistemului și nu să discute problemele de implementare. Raportul SRS ar trebui să vadă sistemul care urmează să fie dezvoltat ca o cutie neagră și ar trebui să definească comportamentul vizibil extern al sistemului. Din acest motiv, raportul SRS este cunoscut și ca specificația cutiei negre a unui sistem.
vizualizator java
Integritate conceptuală: Ar trebui să arate integritate conceptuală, astfel încât cititorul să o poată înțelege doar. Răspuns la evenimente nedorite: ar trebui să caracterizeze răspunsurile acceptabile la evenimente nedorite. Acestea se numesc răspuns al sistemului la condiții excepționale.
Verificabil: Toate cerințele sistemului, așa cum sunt documentate în documentul SRS, ar trebui să fie corecte. Aceasta înseamnă că ar trebui să fie posibil să se decidă dacă cerințele au fost sau nu îndeplinite într-o implementare.