Sunteți pe pagina 1din 36

DIAGRAME UML

Documentul de specificare a cerințelor

1
Activități de Dezvoltare a Produselor
Software

ACTIVITĂṬI TEHNICE ACTIVITĂṬI DE MANAGEMENT ACTIVITĂṬI DE MANAGEMENT


AL CALITĂṬII AL PROIECTULUI DE
DEZVOLTARE 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

Verificare ṣi validare a cerinṭelor


specificate
4
Cerințe Utilizator (1)
Cerinṭe impuse viitorului produs din punctul de vedere al clientului ṣi al viitorilor utilizatori: ce doresc
viitorii utilizatori de la viitorul produs

Cerinṭe de funcṭionare, performanṭă, securitate, interfaṭă utilizator, interfeṭe de comunicaṭie, etc

Un document separat, numit Documentul Cerinṭelor Utilizator (User Requirements Document)

Documentul cerinṭelor de sistem (System Requirements Document) - cȃnd cerinṭele hardware sunt
importante.

Agile: “User story”

5
Cerințele de Sistem și Cerințele Software

Cerințe mai exacte, tehnice

Analiza cerinṭelor utilizator

Î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

Scenarii de Modelul Cazurilor


utilizare de Utilizare
Conținte Exprimă interacțiunea sistem-
utilizator sau sistem –
Cazuri de utilizare componentă externă

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

◦ O secvență de pași care descrie o posibilă interacțiune dintre


un sistem și un actor

12
Exemplu. Gestionarea unei Biblioteci (1)

◦ Utilizatori: bibliotecar, cititor


◦ Caz de utilizare: Înregistrare carte

13
• Bibliotecarul este conectat la
sistem cu un cont cu drepturi de
modificare a bazei de date.
Precondiție

• 1. Bibliotecarul alege opțiunea”Adaugă carte”. Exemplu.


• 2. Sistemul afișează fereastra de adăugare titlu nou în baza
de date. Gestionarea unei
• 3. Bibliotecarul introduce informațiile referitoare la titlul
adăugat (titlu, autor, cod ISBN, număr exemplare) și trimite Biblioteci (2)
A. Fluxul de informațiile către sistem.
• 4. Sistemul introduce informațiile în baza de date și afișează
bază un mesaj referitor la finalizarea cu succes a operației.

14
B. Alternative

• 1a. Sistemul nu afișează fereastra de adăugare titlu datorită


unei erori.
• 1a.1. Sistemul afișează un mesaj de eroare și încheie operația
de adăugare carte.
• 4a. Cartea există deja în baza de date.
• 4a.1. Sistemul afișează un mesaj prin care informează
bibliotecarul de existența titlului în baza de date. Exemplu.
• 4a.2. Bibliotecarul solicită actualizarea numărului de exemplare Gestionarea unei
pentru titlul dorit.
• 4a.3. Sistemul solicită numărul de exemplare adăugate.
Biblioteci (3)
• 4a.4. Bibliotecarul introduce numărul de exemplare.
• 4a.5. Sistemul actualizează numărul de exemplare și afișează un
mesaj de finalizare cu succes a operației.

Postcondiție: cartea/exemplarele nou adăugate


sunt înregistrate în baza de date.

15
Diagrame de cazuri de utilizare

Generalizare

Includere

Extindere

Poate conţine şi actorii care execută cazurile de utilizare

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

Un flux de evenimente ce formează o Diagrame de


interacțiune dintre un actor și sistem Interacțiune.
Diagrame de
Secvență (1)
Conține

• 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

Realizați diagrama de context pentru un ATM.


• Identificați actorii.
• Cazuri de utilizare: Start ATM, Stop ATM, Refill ATM, Sesiune,
Tranzacție, Retragere, Sold, Plată factură
• Identificați și adăugați cazuri de utilizare lipsă (validări,
erori)
• Folosiți operatorii de extindere, includere și generalizare
pentru o diagramă cât mai bună

36

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