Documente Academic
Documente Profesional
Documente Cultură
4.1 UML Diagrame de Clase
4.1 UML Diagrame de Clase
Clase
O clas de obiecte reprezint un grup de obiecte care au:
o proprieti similare (atribute),
o un comportament comun (operaii),
o relaii comune cu alte obiecte i
o o aceeai semantic.
De exemplu, "Persoana", "Firma", "proces" sunt clase de obiecte.
Semantica asociat unei clase corespunde unui punct de
vedere.
Clasa detaliata
Relaiile dintre clase sunt abstracii ale relaiilor existente ntre obiecte.
Fiecrei familii de legturi ntre obiecte i corespunde o relaie ntre clasele
obiectelor.
Obiectele sunt instane ale claselor,
Legturile ntre obiecte sunt instane ale relaiilor dintre clase.
Asocierea
Asocierea este o abstractie a unui set de legaturi existente intre obiecte.
De exemplu, asocierea A lucra dintre clasele Persoana i Firma
reprezint toate legturile posibile dintre obiecte ale clasei Persoana i
obiecte ale clasei Firma:
Extremitatea unei asocieri este numita rol.
o Rolul exprim felul n care o clas "vede" o alt clas n cadrul unei
asocieri. De exemplu, n asocierea dintre clasele Firma i
Persoana, orice obiect al clasei Persoana este un Angajat al unei
Firme, care este reprezentat printr-un Patron .
o Numele de rol sunt amplasate la cele dou extremiti ale asocierii:
Firma
Patron
Persoana
Angajat
Nume de rol.
Numele de rol sunt optionale. Numai numele asocierii este obligatoriu
pentru o asociere.
Dac ntre dou clase exist o singur asociere, numele asocierii este suficient
pentru a preciza relaia. Numele de rol se folosesc de regul atunci cnd ntre
dou clase exist mai multe asocieri. In loc de nume de rol se poate scrie un verb
sau o fraza care contine un verb, pentru a explica semantica asocierii:
Firma
Este angajata
Persoana
Lucreaza cu
Proiect
Limbaj
Program
Asociere ternar.
Multiplicitatea asocierilor
Fiecare rol al unei asocieri poate purta o indicaie de multiplicitate care arat cte
obiecte ale unei clase pot fi legate la un moment dat unui obiect al celeilalte
clase. De exemplu, o firma poate avea unul sau mai muli angajai. O persoana
poate lucra la o singura firma. Multiplicitatea poate fi "unu", "mai multe "(*) sau
un subansamblu de ntregi pozitivi: 1, 0..1, M..N, * sau 0..* (de la zero la mai
muli), 1..*.
attribute
operaii
ilustrat n figura urmatoare. Fiecare persoana are doi prini i zero sau
mai muli copii. Numirea rolurilor este n acest caz esenial pentru
claritatea diagramei.
Asocierile 1 la mai muli i mai muli la mai muli pot fi calificate. Calificarea
este specificat printr-o cheie ataat rolului clasei de plecare.
Cheie
Nume de fiier
Fiier
Agregarea
Un document are mai multe paragrafe i fiecare paragraf este alctuit din mai
multe fraze.
Compunerea
Compunerea este un caz particular de agregare. Exprima o agregare prin
continere fizica.
Generalizarea
Ierarhiile de clase sunt bazate pe noiunile de clasificare, generalizare i
specializare.
Generalizarea const n factorizarea elementelor comune (atribute,
operaii i constrngeri) ale unui ansamblu de clase ntr-o clas mai
general, numit superclas. Clasele sunt ordonate ntr-o
ierarhie.
In ierarhia din figura de mai sus, fiecare clas (exceptnd clasa rdcin) are o
singur super-clas. Reprezentarea grafic corespunde unui arbore, numit i
arborele de motenire. Clasele pot avea mai multe super-clase. In acest caz,
generalizarea este numit multipl iar ierarhia de clase se reprezint printr-un
graf , numit i graful de motenire.
Specializarea permite capturarea particularitilor unui ansamblu de
obiecte, nereprezentate prin clasele existente. Noile caracteristici sunt
definite ntr-o clas nou, sub-clas a uneia sau mai multor clase
existente. Specializarea este o tehnic foarte eficient de extensie
coerent a unui ansamblu de clase existente. Noile cerine sunt
ncapsulate n sub-clase care extind func iile existente. De exemplu, dac
ntr-o aplicaie apare necesar s se reprezinte "bicicleta" ca vehicul de
transport, n plus fa de cele reprezentate n ierarhia de mai sus, atunci
se va defini o clas nou, sub-clas a clasei "Vehicul terestru", n care vor
fi definite particularitile bicicletei ca vehicul terestru. Fiecare sub-clas a
unei ierarhii motenete atributele i operaiile definite n clasele aflate pe
calea
10
care mpart
Uneori, anumite clase sunt create doar ca surse de motenire pentru alte clase;
ele sunt clase abstracte. De exemplu, clasa Articol este o clasa abstract
daca nu caracterizeaz complet nici
un
11
Notatie:
Navigabilitate
Navigabilitatea desemneaza necesitatea ca un obiect al unei clase sa acceseze
un alt obiect navigand de-a lungul unei legaturi. Navigabilitatea se reprezinta
printr-o sageata la capatul navigabil al asocierii. Obiectul de la capatul navigabil
este accesibil unui obiect de la cealalata extremitate. Invers, nu.
Urmatoarea diagrama de clase modeleaza o aplicatie care permite plati pe baza
de ordine ale clientilor.
12
13
tipul atributelor.
14
15
Diagrame de obiecte
O diagrama de obiecte reda un set de obiecte si legaturile dintre ele la un
moment dat.
C: Companie
d2:Departament
nume = A&C
d1:Departament
nume = Vanzari
p:Persoana
nume=...
IDangajat=1234
5
titlu=dir.vanzari
:Informatii:
adresa=...
16