Sunteți pe pagina 1din 17

Definirea cerinelor sistemului

Principalele elemente ale specificaiilor software


Funcionalitate: Ce se dorete s fac sistemul? Interfee externe: Cum va interaciona cu persoane, hardware-ul, alte programe? Performan: vitez, disponibilitate, timp de rspuns, timp de refacere a diferitelor funcionaliti etc. Atribute: portabilitate, corectitudine, mentenabilitate, securitate etc. Restricii de proiectare impuse pentru implementare: exist anumite standarde de respectat, limbaje de implementare, politici pentru securitatea bazei de date, limite ale resurselor, mediul de operare etc.

Caracteristicile unor specificaii de calitate


Corecte Neambigue Complete Consistente: niciun subset de restricii nu prezint alt coninut n diferite pri ale specificaiilor. Ordonate dup importan/stabilitate: nu toate cerinele au aceeai importan: unele sunt eseniale altele sunt de dorit. Stabilitatea se exprim n numr estimat de posibile modificri urmare a unor evenimente care pot afecta organizaia, funcionalitile, persoanele care interacioneaz cu sistemul. Verificabile Modificabile Trasabilitate

Grad de stabilitate: grad de necesitate


Cerinele pot s fie: Eseniale: software-ul nu va fi acceptat n lipsa lor. Condiionale: cerinele odat implementate vor mbunti produsul software dar absena lor nu va determina neacceptarea software-ului. Opionale: implic o clas de funcii care merit implementate sau nu. Permite furnizorului de software oportunitatea s ofere ceva suplimentar.

Verificabil
Nu se recomand expresii de tipul: Lucreaz bine Interfa utilizator bun Termeni neverificabili: bun, de obicei, mulumitor.

Trasabilitate
Exist trasabilitate dac originea fiecrei cerine este clar i faciliteaz referirea la fiecare cerin n dezvoltri viitoare sau mbuntiri ale documentaiei. Tipuri de trasabilitate: napoi (spre stadii de dezvoltare anterioare): cnd fac referin la sursa unei cerine aflate n documente anterioare. nainte (spre documente emise ulterior): important n faza de operare i mentenan a softwarecnd se procedeaz la modificarea programelor este esenial s se identifice tot setul de cerine care pot fi afectate de aceste modificri.

Definirea cerinelor sistemului


Cerinele utilizatorilor: specific cerinele utilizatorului privind produsul software. Aceste cerine se rein n documentul cerinele utilizatorului care este parte a contractului cu furnizorul SI. Descriu cerine funcionale i nefuncionale ale SI. Trebuie s descrie comportamentul extern al SI i s evite caracteristicile de proiectare ale SI. Informaia oferit de client trebuie s fie clar i complet. Responsabilitatea nelegerii complete a cerinelor utilizatorului cade n responsabilitatea provider-ului.

Definirea cerinelor sistemului


Cerinele sistemului: set detaliat de funcii, servicii i restricii operaionale. Sunt versiuni extinse ale cerinelor utilizatorului. Toate produsele software solicit anumite componente hardware sau resurse software pe calculatorul pe care vor fi instalate. Sunt folosite de proiectanii SI ca punct de plecare n proiectarea SI. Explic modul cum se vor implementa cerinele utilizatorului. Trebuie s prezinte comportamentul exterior al SI i restriciile operaionale. Nu trebuie s aib n vedere cum trebuie proiectat i implementat sistemul. Majoritatea produselor software solicit dou seturi de cerine ale sistemului: cerine minime i respectiv cerine recomandate.

Tipuri de cerine
Cerine funcionale: servicii pe care SI trebuie s le ofere. Precizeaz cum trebuie SI s reacioneze la anumite intrri i cum trebuie SI s se comporte n anumite situaii particulare. Cteodat se precizeaz i ce trebuie s nu fac sistemul. Cerine nefuncionale: reprezint restricii asupra serviciilor sau funciilor oferite de SI. Includ restricii de timp, restricii privind dezvoltarea proceselor i standarde aplicabile. Cerinele nefuncionale se aplic SI n ansamblul su. Cerine ale domeniului: reflect caracteristici i restricii ale domeniului. Pot fi cerine funcionale i nefuncionale.

Tipuri de cerine
Cerine funcionale: definesc comportamente specifice sau funcii. Planul implementrii cerinelor funcionale este detaliat n proiectarea sistemului. Documentaia cuprinznd cerinele sistemului se numete specificaie funcional i trebuie s fie precis (s prezinte exact ce trebuie implementat).

Cerine funcionale
Descriu ce trebuie s fac sistemul. Descriu funciile sistemului n detaliu: intrri, ieiri, excepii etc; Precizeaz faciliti specifice pe care SI trebuie s le ofere i se obin din cerinele utilizatorului; Pot fi reprezentate de calcule, detalii tehnice, manipularea datelor i orice alte prelucrri; Trebuie s fie complete i consistente: Complete: toate cerinele formulate de user s fie definite; Consistente: cer s nu existe definiii contradictorii.

Cerine nefuncionale
Nu vizeaz o anume funcie oferit de sistem. Specific cum trebuie s fie sistemul. Pot fi legate de caracteristici ale unor sisteme recunoscute: credibilitate, timp de rspuns, capacitate de stocare, securitate, disponibilitate, portabilitate, interoperabilitate etc. Pot preciza restricii de tipul performanelor dispozitivelor I/E i reprezentrile datelor n interfeele folosite de SI.

Cerine nefuncionale
Reprezint restricii privitoare la serviciile i funciile SI; Pot fi structurate n dou categorii: Caracteristici ale execuiei (de ex. securitate, utilizabilitate) observabile n timpul execuiei; Caracteristici ale evoluiei: testabilitate, mentenan, extensibilitate, scalabilitate.

Cerine nefuncionale

Cerine ale domeniului


Specific restricii i caracteristici specifice unui domeniu. Pot fi cerine funcionale i nefuncionale.

Restricii
Reglementri i politici Limitri hardware Interfee cu alte aplicaii Operare paralel Funcii de audit Funcii de control Ct de critic este aplicaia Considerente de siguran i securitate

Modelarea cerinelor