Você está na página 1de 21

Curs Analiza & Gestiunea Sistemelor Informatice Complexe

UML:

Diagrame de clase
CURS 4
Curs Analiza & Gestiunea Sistemelor Informatice Complexe 2
Clase
O clas reprezint descrierea unui grup de obiecte
care au:
proprieti (atribute),
comportament,
relaii cu alte obiecte,
semantic
comune.
Clasele sunt abloane de creare a obiectelor.
Fiecare obiect este o instan a unei clase.
Obiectele vor avea asociat cte o valoare pentru
fiecare din atributele definite de clas.









Curs Analiza & Gestiunea Sistemelor Informatice Complexe 3
Diagrama de clase
descriu structura intern a sistemului informatic
prin identificarea claselor, a atributelor i operaiilor
acestora i a relaiilor dintre clase.
metodologie de determinare a claselor:
prin extragerea substantivelor eseniale din documentul
de specificaie
prin extragerea tuturor substantivelor care apar n
diagrama de cazuri de utilizare (att n denumirile
actorilor ct i a cazurilor de utilizare)

n timp, n procesul de selectare a substantivelor
intervine i o filtrare a acelor substantive care nu
reprezent clase potrivite.





Curs Analiza & Gestiunea Sistemelor Informatice Complexe 4
Clase reprezentare grafic
n UML clasele sunt reprezentate sub form de
dreptunghiuri cu trei compartimente pentru:
numele clasei,
compartimentul din mijloc afieaz atributele clasei,
compartimentul inferior conine operaiile clasei

Vizibilitate:
- privat (invizibil pentru toate celelalte clasele)
# protejat (vizibil pentru subclase)
+ vizibil pentru toate celelelate clase
~ vizibil pentru clasele din acelai pachet




Curs Analiza & Gestiunea Sistemelor Informatice Complexe 5
Clase reprezentare grafic (2)
numele unei clase = substantiv comun, sau un
nume compus format din mai multe cuvinte
concatenate, fiecare ncepnd cu liter mare.
numele atributelor i metodelor respect aceeai
convenie (n unele abordri numele ncepe cu liter
mic)





Curs Analiza & Gestiunea Sistemelor Informatice Complexe 6
Clas generic
permite parametrizarea claselor existente





Curs Analiza & Gestiunea Sistemelor Informatice Complexe 7
Clase
O bun definire a claselor presupune captarea de
ctre acestea a unei singure tematici majore





Numele claselor trebuie s fie alese utiliznd vocabularul
domeniului problemei modelate (de obicei un substantiv la
singular care caracterizeaz cel mai bine abstracia modelat)
Uneori este relativ dificil n a face diferena ntre obiecte i
clase. Capcana n care se poate cdea este aceea de a
determina un set lrgit de clase cu aceeai structur



8
Clasificarea claselor (1)
Clase entiti (sau clase domeniu)
reprezint nucleul unei aplicaii,
rein informaii legate de entitile persistente
captureaz serviciile ce conduc majoritatea
interaciunilor n aplicaie.

Responsabiliti:
nmagazineaz i redau valori de atribute,
creaz i elimin entiti,
furnizeaz un comportament dependent de modificarea strii
entitii.

Curs Analiza & Gestiunea Sistemelor Informatice Complexe 9
Clasificarea claselor (2)
Clase de interfa
reprezint grania dintre actorii care doresc s
interacioneze cu aplicaia i clasele entitate. Majoritatea
sunt componente ale interfeei utilizator (fiecare cutie de
dialog este o clas de interfa), modeleaz comunicarea
cu alte aplicaii sau reprezint clase wrapper peste anumite
componente soft.

Se determin studiind:
modul in care doresc actorii s creeze entiti,
interfaa ntre aplicaie i alte sisteme,
modalitatea de vizualizare a informaiilor (rapoarte).




Curs Analiza & Gestiunea Sistemelor Informatice Complexe 10
Clasificarea claselor (3)
Clase de control (controller)

coordoneaz activitatea n interiorul aplicaiei. Se creaz
cte o clas controller pentru fiecare caz de utilizare.

Pot juca unul din urmtoarele roluri:
modelarea unui comportament tranzacional,
secven de control specific unuia sau mai multor cazuri de
utilizare,
serviciu ce separ obiectele entitate de obiectele de interfa.







Curs Analiza & Gestiunea Sistemelor Informatice Complexe 11
Filtrarea claselor 7 reguli
Este redundant: dou substantive care reprezint
acelasi lucru sunt redundante
Este irelevant: substantivul nu este relevant
pentru sistemul modelat
Este atribut: substantivul reprezinta mai degraba
un atribut al unei clase decat o clasa in sine
Este operatie: substantivul exprima un calcul sau
proces care trebuie realizat
Este rol: substantiv exprima o stare a unui obiect
Este eveniment: definete cndiiile de apariie a
unui eveniment
Este construcie de implementare: denumeste un
dispozitiv fizic imobil utilizat de sistem
12
Asocierea
descrie modul n care obiectele unei clase sunt
conectate cu obiectele altei clase.
Asocierile pot fi extrase din cazurile de utilizare
sau din tabela de evenimente.
Multiplicitatea
valori concrete (1,4),
intervale de valori (0..5)
nedefinit (*).
implicit = 1.
Capetele unei asocieri pot fi etichetate cu nume de rol.
Curs Analiza & Gestiunea Sistemelor Informatice Complexe 13
Clas asociere
reprezint o colectie de atribute care caracterizeaz
o asociere.
Clasele asociere apar atunci cnd nu exist un mod
logic de a plasa aceste atribute la nivelul unei clase
aflate n sistem.






Curs Analiza & Gestiunea Sistemelor Informatice Complexe 14
Asociere reflexiv

= asociere ntre obiecte ale aceleai clase.




Curs Analiza & Gestiunea Sistemelor Informatice Complexe 15
Agregare
modeleaz o relaie de tip 'parte/ntreg'
obiectul/obiectele parte pot face parte din mai
multi ntregi (n acelai timp sau n momente de
timp diferite).

Curs Analiza & Gestiunea Sistemelor Informatice Complexe 16
Compunere
modeleaz o relaie de tip 'parte/ntreg' n care
obiectul/obiectele parte compun un singur ntreg pe
toat perioada ciclului de via i se distrug n
momentul distrugerii ntregului.

Curs Analiza & Gestiunea Sistemelor Informatice Complexe 17
Generalizare
modeleaza motenirea proprietailor, operaiilor si
relaiilor dintre dou clase (rafinarea, specializare a
clasei).
clasa general poart numele de superclas, iar
clasa specializat se numete subclas.





Curs Analiza & Gestiunea Sistemelor Informatice Complexe 18
Dependen
Depende: o clas (numit client) depinde (ntr-un
fel sau altul) de o alt clas (numit furnizor)
Se pot folosi stereotipuri pentru a preciza natura
dependenei:
Permisie
Acces
Instantiere
Substitutie
.





Curs Analiza & Gestiunea Sistemelor Informatice Complexe 19
Realizare
decrie o relaie dintre o interfa i o clas
interfaa declar mai multe atribute i metode fr
a le implementa





Curs Analiza & Gestiunea Sistemelor Informatice Complexe 20
Constrngeri
descriu anumite condiii ce caracterizeaz clasele si
interaciunile dintre ele (sau obiectele acestora)
se exprim n:
Limbaj natural
Limbaj formal (OCL Object Constraint Language)





Curs Analiza & Gestiunea Sistemelor Informatice Complexe 21
Diagrame de pachete
grupeaz mai multe clase mpreun
utilizate pentru reducerea complexitii
ntre pachete sunt relaii de utilizare

Você também pode gostar