Documente Academic
Documente Profesional
Documente Cultură
1
Activități de Dezvoltare a Produselor
Software
2
Analiza ṣi
Implementarea
specificarea Proiectarea
modulelor
cerinṭelor
Integrarea
Testarea de
sistem
Testarea de
acceptare
Activități Tehnice
Întreṭinerea ṣi
operarea
3
Extragere ṣi definire a cerinṭelor Analiza și
utilizator Specificarea
Cerințelor
Analiză a cerinṭelor utilizator Proces care se desfăṣoară
fie într-o singură etapă, la
începutul dezvoltării
produsului software, fie
de-a lungul întregii
Specificare a cerinṭelor software perioade de dezvoltare
Documentul cerinṭelor de sistem (System Requirements Document) - cȃnd cerinṭele hardware sunt
importante.
5
Cerințele de Sistem și Cerințele Software
În Documentul Cerinṭelor de Sistem (System Requirements Document) sau în Documentul Cerinṭelor Software, SRD
(Software Requirements Document)
Cerinṭe funcṭionale: funcṭiile pe care trebuie să le realizeze sistemul, într-un mod independent de implementare.
Cerinṭe nefuncṭionale: ataṣate cerinṭelor funcṭionale. Majoritatea rezultă din constrângerile incluse în specificaṭia
Cerinṭelor Utilizator/Sistem
Cerinṭele de sistem ṣi cerinṭele software stau la baza estimării costurilor ṣi a planificării dezvoltării noului produs
informatic.
6
Diagrame UML
Modele comportamentale Modele structurale
Cazuri de utilizare Diagrame de clase
Diagrame de cazuri de Diagrame de obiecte
utilizare
Diagrame de interacţiune Diagrame de
componente
Diagrame de stări Diagrame de distribuţie
Diagrame de activitate Diagrame de pachete
7
Actori
Diagrame de
cazuri de utilizare
8
Modelul Cazurilor de Utilizare. Actori
◦ Un rol pe care o entitate externă îl joacă în raport cu sistemul
◦ Utilizator / echipament extern / alt sistem / mediul
◦ Sunt in general substantive la singular
◦ Desemnează un grup de utilizatori
◦ Fără nume
◦ Greșit: John
◦ Corect: Student
9
Modelul Cazurilor de Utilizare. Cazuri de
utilizare (1)
◦ Include toate scenariile de utilizare pentru operația descrisă
◦ Privește sistemul din exterior
◦ Descrie ce face un sistem și nu cum face
◦ Conține
◦ Descrierea comportamentului de bază + alternative
◦ Pre-condiția
◦ Post-condiția
◦ Cerințe speciale
◦ Alte diagrame (de secvență, de activitate)
10
Modelul Cazurilor de Utilizare. Cazuri de
utilizare (2)
◦ Încep de obicei cu un verb (ex: Generează Raport)
◦ Nu trebuie să fie prea generice sau open-ended (în
general trebuie să aibă subiect și predicat)
◦ Greșit: Register
◦ Corect: Register new user
11
Modelul Cazurilor de Utilizare. Scenarii
12
Exemplu. Gestionarea unei Biblioteci (1)
13
• Bibliotecarul este conectat la
sistem cu un cont cu drepturi de
modificare a bazei de date.
Precondiție
14
B. Alternative
15
Diagrame de cazuri de utilizare
Generalizare
Includere
Extindere
16
Diagrame de
cazuri de utilizare.
Generalizare
• Mai multe tipuri de
actori/cazuri de utilizare
fac parte dintr-un
același super-tip, având
caracteristici comune
• Săgeată având vârful
de forma unui triunghi.
17
Diagrame de cazuri de utilizare.
Includerea
◦ Pentru a evita repetarea descrierii
aceluiași flux de evenimente /operaţii
◦ Dacă un caz de utilizare A include, în
unul sau mai mulți pași,
comportamentul descris de un alt caz
de utilizare B, se spune că A include B
◦ Simplifică modelul cazurilor de utilizare
◦ O săgeată direcționată punctată,
având asociat stereotipul <>.
18
Diagrame de cazuri de utilizare.
Extinderea
◦ Un caz de utilizare E extinde un alt caz de utilizare B => B include
comportamentul lui E într-un punct numit punct de extensie, specificat de
cazul B. B poartă numele de caz de bază, iar E se numește caz de extindere.
◦ O săgeată cu linie punctată având notația <<extend>>.
19
Diagrame de
context
O diagramă de cazuri de
utilizare poate fi folosită
ca diagramă de context,
pentru a reda contextul
sistemului în mediul său de
operare, prin intermediul
cazurilor de utilizare şi al
actorilor.
20
Exemple (1)
21
Exemple (2)
22
Ordonarea în timp a evenimentelor
• Obiecte și actori
• Secvența de mesaje schimbate între obiecte
23
Diagrame de Interacțiune. Diagrame
de Secvență (2). Linii de viață
24
Diagrame de Interacțiune. Diagrame
de Secvență (3). Mesaje
25
Diagrame de Interacțiune. Diagrame
de Secvență (4). Invarianți de Stare
◦ Constrângere existentă pe
linia de viață a unui obiect
◦ Verificată la momentul
primirii unui mesaj (dacă nu
e satisfăcută, mesajul de
ignorat)
26
Diagrame de
Interacțiune. Diagrame
de Secvență (5).
Mesaje Sincrone
27
Diagrame de Interacțiune. Diagrame
de Secvență (6). Mesaje Asincrone
28
Diagrame de Interacțiune. Diagrame
de Secvență (7). Mesaje Reflexive
29
Diagrame de Interacțiune. Diagrame
de Secvență (8). Mesaj de time-out
30
Diagrame de Interacțiune. Diagrame de
Secvență (9). Mesaj de Creare si Distrugere
a Obiectelor
31
Diagrame de Interacțiune. Diagrame
de Colaborare (1)
◦ Relațiile de colaborare între actori / obiecte
◦ Obiecte
◦ Mesaje
◦ Mesaje Reflexive
32
Diagrame de
Interacțiune.
Diagrame de
Colaborare (2)
Mesaje de Răspuns
33
Diagrame de Interacțiune. Diagrame
de Colaborare (3)
◦ Mesaje imbricate (apel functie() determină Obiect 2 să efectueze apelul apel
funcție imbricată()
34
Diagrame de
Interacțiune.
Diagrame de
Colaborare (4)
Mesaje de tip create/destroy
35
Aplicație
36