Sunteți pe pagina 1din 22

Ingineria Programarii

Laborator 1
Analiza cerintelor si specificatiile
Cuprins
1. Analiza cerintelor
2. Scenarii si cazuri de utilizare
3. Specificatii
Cerintele din dezvoltarea software
Cerinte
Implementare
Proiectare
Analiza cerintelor-Modelul Cascada
Analiza cerintelor
Proiectarea sistemului
Testare
Intretinere
Proiectarea programului
Implementare
Livrare
Modelul cascada
cu feedback
Analiza cerintelor-Modelul iterativ
Descriere
Activitati concurente
Cerinte
Proiectare
Implementare
Versiunea
initiala
Versiuni
intermediare
Versiunea
finala
Definirea etapei de analiza a cerintelor
Analiza si definirea cerintelor stabileste functiile, constrangerile,
obiectivele sistemului prin consultarea cu utilizatorii.
Acestea trebuiesc scrise in asa fel incat sa fie intelese atat de
utilizatori cat si de dezvltatorii sistemului software.
Aceasta faza poate fi divizata in:
analiza cerintelor
definirea cerintelor
specificarea cerintelor
Cerintele definesc functiile sistemului din punctul de vedere al
clientului.
Scopului etapei de analiza a cerintelor
Intelegerea cerintelor in detaliu (analiza).
Descrierea cerintelor astfel incat sa fie clara clientului. Clientul
trebuie sa inteleaga clar cerintele si implicatiile lor.
Descrierea cerintelor astfel incat sa fie clara si persoanelor care
proiecteaza si implementeaza sistemul.
Documentatia cu analiza cerintelor este documentul care
descrie obiectivele sistemului software care va fi construit.
Acesta poate sa formeze un contract legal dintre client si
dezvoltatori software.
De ce este analiza cerintelor o etapa
atat de importanta
Cauzele esecului proiectelor software sunt:
Cerinte incomplete
Lipsa implicarii clientului
Lipsa resurselor
Schimbarea cerintelor si specificatiilor
Lipsa planificarii
Cea mai des intalnita greseala este construirea unui sistem
prost!
Procesul de analiza a cerintelor
Studiul de
fezabilitate
Analiza cerintelor
Modelul
cerintelor
Specificarea
cerintelor
Raport de
fezabilitate
Documentarea
cerintelor
Se lucreaza
cu clientul
pentru a
intelege
cerintele
acestuia
Organizarea
cerintelor intr-o
maniera
sistematica si
usor de inteles
Analiza cerintelor
Descrierea cerintelor:
Specificarea comportamentului extern al sistemului.
Usor de inteles de clienti, manager si utilizatori.
Trebuie sa reflecte cu acuratete ceea ce clientul doreste:
Functionalitatile pe care sistemul le va oferi.
Constrangerile sistemului.
Documentatia pentru analiza
cerintelor
Forma pentru documentatie variaza, dar aceasta trebuie
sa contina:
Introducere
Scopul si obiectivele sistemului
Criteriile de care trebuie tinut cont pentru dezvoltarea cu
succes a sistemului software
Lista de terminologii, organizatiile implicate, etc.
Descrierea sistemelor curente similare
Documentatia pentru analiza
cerintelor
Cerintele pentru sistemul propus
Cerinte functionale
Cerinte legate de utilizare
Cerinte non-functionale
Modelarea sistemului
Scenarii
Cazuri de utilizare
Specificatii de detaliu
Specificatiile trebuie sa contina: referinte la standardele
folosite, fluxul datelor, sursele de date, validarea datelor.
Evolutia cerintelor
Daca definirea cerintelor este gresita, atunci sistemul va fi
gresit.
In cazul sistemelor complexe, intelegerea cerintelor va
trebui imbunatatita continuu.
Atunci...
Definirea cerintelor trebuie sa fie elaborata permanent.
Documentatia trebuie sa fie modificata permanent (dar
trebuie tinuta seama si de versiunile aplicatiei).
Cerinte functionale
Cerintele despre functionalitatile sistemului
trebuie identificate analizand utilizarile
sistemului.
Functionalitatea
Datele
Interfetele cu utilizatorii
Cerinte non-functionale
Sunt cerinte care nu sunt direct legate de
functionalitatile sistemului
Caracterul utilizabil, documentatia si
pregatirea
Fiabilitatea si asigurarea calitatii
Performanta
Implementarea si constrangerile tehnice
Interfetele si compatibilitatea
Securitatea
Aspectele legate de afacere
Resurse
Analiza cerintelor
1. I dentificarea celor implicati in proiect:
Cine este implicat?
Clientul
Managerul
Personalul din departamentul de productie
Personalul din departamentul de dezvoltare
etc., etc., etc.,
Analiza cerintelor
2. I ntelegerea in profunzime a cerintelor:
Intelegerea domeniului
Intelegerea cerintelor reale ale tuturor celor implicati in proiect
Analiza cerintelor
3. Organizarea cerintelor:
Clasificarea cerintelor in grupuri
Recunoasterea si rezolvarea conflicetelor
(de ex., functionalitate vs cost vs. timp)
Modele
Un model este o simplificare a realitatii.
Se creeaza modele pentru a intelege mai bine sistemul
pe care il dezvoltam.
Cream modele pentru sistemele complexe, deoarece nu
putem intelege un astfel de sistem in totalitatea sa.
Principiile modelarii
Fiecare model poate descrie diverse nivele de
prezicie.
Cele mai bune modele sunt conectate cu realitatea.
Nu este suficient doar un singur model. Un sistem
poate fi aproximat de mai multe modele
independente.
UML- Unified Modeling Language
UML este un limbaj standard pentru modelarea sistemelor
software.
Se foloseste ca legatura intre specificarea cerintelor si
implementare.
Ofera un mijloc de a specifica si documenta proiectarea
sistemului software.
Este independent de limbajul de programare.
Este potrivit pentru dezvoltarea programelor orientate pe
obiect.
Instrumente UML
http://en.wikipedia.org/wiki/List_of_UML_tools

S-ar putea să vă placă și