Documente Academic
Documente Profesional
Documente Cultură
▪ Introducere
▪ Cazuri de utilizare
▪ Actori
▪ Relații între cazuri de utilizare și actori
▪ Relații între cazuri de utilizare
▪ Relații între actori
▪ Descrierea textuală a unui caz de utilizare
▪ Bune practici
▪ Erori frecvente
▪ Rezumat notații
2
Introducere
3
Introducere
4
Exemplu: Sistemul de administrare a studenților
▪ Sistem
(Ce este descris?)
▪ Sistemul de administrare a studenților
▪ Actori
(Cine interacționează cu sistemul?)
▪ Profesorul
▪ Cazuri de utilizare
(Ce pot face actorii?)
▪ Interoghează date student
▪ Emite certificat
▪ Anunță examen
5
Caz de utilizare
7
Actor (2/3)
8
Actor (3/3)
▪ Umani
▪ Exemple: Student, Profesor
▪ Non-umani
▪ Exemple: Server E-Mail, ....
▪ Primar: este principalul beneficiar al execuției unui caz de utilizare
▪ Secundar: nu primește niciun beneficiu direct
▪ Activ: inițiază execuția unui caz de utilizare
▪ Pasiv: oferă funcționalitate pentru execuția unui caz de utilizare
▪ Exemplu:
Uman Uman
Primar Secundar
Activ Activ
Non-uman Uman
Secundar Primar
Pasiv Activ 8
Relații între cazuri de utilizare și actori
9
Relații între cazuri de utilizare
Relația de includere
10
Relații între cazuri de utilizare
Relația de extindere
12
Relații între cazuri de utilizare
Relația de generalizare
13
Relații între actori
Relația de generalizare între actori
14
Descrierea sub formă de șablon a unui caz de utilizare
Element al cazului de Descriere
utilizare
Cod Un identificator unic asociat cazului de utilizare
Stare Stadiul de finalizare în care se găseşte, de exemplu: schiţă, finalizat sau aprobat
Flux de bază Descrie înşiruirea evenimentelor atunci când totul se petrece conform unui
scenariu prestabilit; nu există excepţii sau erori
Fluxuri alternative Cele mai semnificative alternative şi excepţii ale scenariului de bază
Relaţii Ce relaţii are cu alte cazuri de utilizare (de tipul include sau extend)15
Descrierea unui caz de utilizare - Exemplu
Element al cazului de Descriere
utilizare
Cod CU01
Stare Schiţă
Scop Gestiunea sălilor pentru desfășurarea activităților universitare
Nume Rezerva sala
Actor principal Angajat
Descriere Angajatul rezervă o sală a universității pentru un eveniment
Precondiţii Angajatul este autorizat să rezerve săli
Postcondiţii Sala este rezervată
Declanşator Angajatul solicită rezervarea unei săli
Posibile erori Nu există sală liberă.
Starea sistemului în caz de eroare Angajatul nu a rezervat sala.
Flux de bază 1. Angajatul se autentifică în sistem.
2. Angajatul selectează sala.
3. Angajatul selectează data și ora.
4. Sistemul confirmă că sala este liberă. [Curs alternativ A: Sala
nu este liberă]
5. Angajatul confirmă rezervarea.
Fluxuri alternative A: 1. Sistemul propune săli alternative.
2. Angajatul selectează o sală alternativă și confirmă rezervarea.
16
Relaţii Extinde cazul de utilizare CU06 Anunta curs.
Bune practici
«include»
17
Bune practici
«extend»
18
Bune practici
Identificarea actorilor
19
Bune practici
Erori de evitat - 1
21
Bune practici
Erori de evitat - 2
22
Bune practici
Erori de evitat - 3
✓
23
Bune practici
Erori de evitat - 4
▪ Mai multe cazuri de utilizare mici care au același obiectiv pot fi grupate
într-un singur caz de utilizare.
✓
24
Bune practici
Erori de evitat - 5
25
Notații - 1
40
Notații - 2
41
Diagrama de Modelarea
structurii
clase statice
Sinteză: Analiza orientată obiect a sistemelor informatice
În etapa de analiză a sistemului sunt analizate specificaţiile şi
cazurile de utilizare, identificându-se cele mai importante concepte cu
care lucrează sistemul, împreună cu relaţiile dintre acestea. Se
reprezintă grafic, printr-o diagramă, structura domeniului claselor
pentru sistemul analizat.
1. Se iniţiază reprezentarea diagramei de clase, care va fi finisată şi în
etapele următoare. Diagrama claselor reprezintă grafic structura
statică a sistemului, prin includerea claselor identificate, a pachetelor
şi a relaţiilor dintre acestea. Un pachet poate conţine clase, interfeţe,
componente, noduri, colaborări, cazuri de utilizare, diagrame sau alte
pachete.
2. Se iniţiază construirea diagramei de obiecte care modelează
instanţele elementelor conţinute în diagramele de clase. Aceste
diagrame cuprind un set de obiecte şi relaţiile dintre acestea la un
anumit moment.
Sinteză: Analiza orientată obiect a sistemelor informatice
3. Pentru a evidenţia stările prin care poate trece un obiect sau un
eveniment (mesaje primite, erori, condiţii de realizare) sunt reprezentate
diagramele de stare, care reprezintă ciclul de viaţă al obiectelor,
subsistemelor şi sistemelor. Stările obiectelor se schimbă la
recepţionarea evenimentelor sau semnalelor.
4. Diagrama de activitate este realizază cu scopul de a evidenţia acţiunile şi
rezultatul acestor acţiuni şi pentru a scoate în evidenţă fluxurile de lucru.
5. Pentru a evidenţia interacţiunile dintre obiecte se construiesc diagramele
de interacţiune: diagramele de secvenţă şi, respectiv, diagramele de
comunicare.
▪ Diagramele de secvenţă descriu modul în care interacţionează şi comunică
obiectele, prin focalizare pe mesajele care sunt transmise şi recepţionate.
▪ Diagramele de comunicare permit reprezentarea atât a interacţiunilor, cât şi
a legăturilor dintre un set de obiecte care colaborează. Se utilizează când
este utilă vizualizarea coordonatei spaţiale.
Modelarea structurii statice. Diagrama de clase
Atribute - Vizibilitate
+ nume: String
+ prenume: String
- /dn: Data
# adresa: String[1..*] { unique, ordered}
- cnp: String {readonly}
- parola: Sting =“psw1234”
- cod: int
- nrPersoane: int
[vizibilitate][/]nume[:tip][multiplicitate][=valoare implicită] [{proprietate}]
Persoana Persoana
Atribute -Multiplicitate
Atribute - Proprietate
Proprietate indică o proprietate suplimentară care se aplică atributului:
{readonly}: atributul poate fi citit, dar nu modificat
Persoana
+ nume: String
+ prenume: String
-/dn: Data
# adresa: String[1..*] { unique, ordered}
- cnp: String {readonly}
- parola: Sting =“psw1234”
- cod: int
- nrPersoane: int
Operaţii
1. Tipuri de asocieri:
➢unare
➢binare
➢n-are
Asocierea binară
Multiplicitate
* tineCursPentru
*
+cadruDidactic
Non-navigare
Vizibilitate Rol
Asocierea binară - Navigare
Asociere ternară
Asociere modelată ca o clasă
Unui student i se permite să fie evaluat Unui student i se permit mai multe
pentru un examen o singură dată. evaluări pentru un examen.
Agregarea
Asociere
Obiectele ştiu unele de existenţa celorlalte şi pot lucra împreună.
Agregare
1. Protejează integritatea configuraţiei.
2. Funcţionează ca un tot unitar.
3. Control prin intermediul unui singur obiect.
Compunere
Fiecare parte poate fi membră a unui singur obiect agregat.
0..1 4
Masina Roata
1 4
Masina Roata
Masina * 4
Roata
Masina * 1..2
TipRoata
Agregarea și compunerea
1 4
Masina Roata O Roată nu poate exista
fără o Mașină.
Masina * 4
Roata
O Roată poate aparține
mai multor Mașini.
Entitati
Unitati
Tangibile Roluri Dispozitive Locatii Evenimente
organizatorice
Pasager
Linie Aeriana 1 1..* Vanzator 1..* 1..* -NumePasager : char
rezerva zbor
+DisponibilitateRezervare : boolean numar rezervare este rezervat cu #AdresaPasager : char
+FurnizareDetaliiZbor() : void +RezervaZbor() -CNP : unsigned long
+ConfirmareRezervare() : Boolean +VerificaDisponibilitate() +SolicitaZbor() : void
numar zbor +FacePlata() : void
1 Rezervare Zbor Bilet
NumePasager : char NumeCompanie : char
NumarZbor : int PretBilet : int
programeaza
NumarRezervare : int DataZbor : char
OraZbor : char
1..*
NumarZbor : int
NumarBilet : char
Zbor
+Destinatie : char
+Plecare : char Agentie Voiaj Agentie Linie Aeriana
+DataZbor : char -NumeAgentie : char -LinieAeriana : char
+OraZbor : char -AdresaAgentie : char +AdresaLinieAeriana : char
+Pret : int
+NumarZbor : int
Companie Zbor
Vanzator_bilet
Superclasă: <none>
Subclase: <none>
Responsabilităţi Colaboratori
Verifică disponibilitatea Companie, Zbor
Rezervă zbor Companie, Pasager
Notații - 1
Descrie structura și
Clasă comportamentul unui set de
obiecte
Asociere
Descriere mai detaliată a unei
modelată ca o
asocieri
clasă
71
Notații - 3
72