Sunteți pe pagina 1din 18

Seminar 4

Realizarea sistemelor informatice


pentru management

Diagrama claselor UML


Definirea unei clase
A sa lu de o ie te are au a eleai ara teristi i i o tr geri.
Cara teristi ile u ei lase su t atri utele i operaiile.
Clasele abstracte u pot fi i sta iate. Rolul lor este de a per ite altor
lase s le ote eas , vederea reutilizrii ara teristi ilor.
O i terfa des rie u set de ara teristi i i o ligaii pu li e. pe ifi ,
de fapt, u o tra t. Ori e i sta are i ple e teaz i terfaa
tre uie s ofere servi iile fur izate pri o tra t.
Exemple de clase stereotipe uzuale
entitate (<<entity>>) o las pasiv, are u i iiaz
i tera iu i;
control (<<control>>) i iiaz i tera iu i, o i e o
o po e t tra za io al i este separator tre e titi i
limite;
li it << ou dar >> este aflat la periferia siste ului, dar
i teriorul su. Reprezi t limita de legtur u a torul sau
cu alte sisteme informatice;
enumerare (<<enumeration>>) - este folosit pe tru defi irea
tipurilor de date ale ror valori su t e u erate.
pri itiv <<pri itive>> - o for de las are reprezi t
tipuri de date predefinite, cum ar fi tipul Boolean.
Atribute -1
Fie are atri ut este des ris el pui pri u ele su.
e pot aduga i i for aii adiio ale, iar for a ge eral a
unui atribut este:
[vizibilitate][/]nume[:tip][multiplicitate][=valoare i pli it] [{proprietate}]
Vizibilitatea poate fi:
+ public: poate fi vzut i folosit de oricine
- private: numai clasa si poate avea acces
# protected: au acces clasa i subclasele acesteia
~ package: numai clasele din a elai pachet pot avea acces

/ si olizeaz un atribut derivat


Atribute -2
UML permite specificare multiplicitilor pe tru atri ute, atu i nd dorim s
defi i ai ult de o valoare pe tru u atri ut. Au ur toarea se ifi aie:

Multiplicitate Sens
1 Exact 1 (implicit)
2 Exact 2
1..4 De la 1 la 4 (inclusiv)
3, 5 3 sau 5
1..* Cel puin unul sau mai muli
* Nelimitat (inclusive 0)
0..1 0 sau 1

Proprietate i di o proprietate supli e tar care se apli atributului:


{readonly}: atributul poate fi citit, dar nu modificat
{ordered}, {unordered}: o uli e ordo at sau eordo at
{unique}, {nonunique}: uli ea poate o i e sau nu elemente identice
Operaii
For a ge eral a u ei operaii este:
[vizibilitate] nume ([direcie] lista parametri) [:tip returnat] [{proprietate}]
Vizibilitatea a eeai a i la lase
Dire ie - 'in' | 'out' | 'inout' | 'return'
Tip returnat da operaia retur eaz eva, adi este o fu ie
U e e plu de proprietate a u ei operaii: {query} - nu are efecte secundare,
u s hi starea u ui o ie t sau a altor o ie te, e e plu operaiile de tip
get .

Exemple de atribute: E e ple de operaii:


- varsta: Integer {varsta>18} + setVarsta (out varsta: Integer)
# nume:String[ .. ]= Ioa a + getVarsta(in Id:String): Integer {query}
~ Id:String {unique} - schimbaNume(inout nume:String)
/ sumaTotala:Real=0
Constrngeri
O o str gere este o e presie are restri io eaz u a u it ele e t al
diagramei de clase.
A easta poate fi o e presie for al s ris O je t Co strai t La guage
- OCL) sau o formulare semi-for al sau i for al.
Acestea sunt reprezentate ntre acolade.
Pot fi s rise i ediat dup defi irea ele e tului sau a u o e tariu.
O o str gere poate avea i u u e, astfel:
{nume : expresie boolean }

Exemple de constrngeri OCL:


context Organizatie
inv: self. departamenteisUnique (nume)
inv: departamante.angajatiisUnique (cod)
Relaii tre lase -1
1. Relaia de asociere i pli sta ilirea u ei relaii tre lase.
Este ara terizat pri :
de u ire opio al
ultipli iti se trec la cele 2 capete ale asocierii;
roluri ale aso ierii: se tre la fie are apt al aso ierii i o i o
des riere s urt i repreze tativ de 2 substantive)
dire ie de avigare
tipuri de asocieri:
unare
binare
ternare
Relaii tre lase -2
Tipuri de asocieri:
U are: o e teaz o las u si e si.

Bi are: se realizeaz tre dou lase.

Ternare: sunt transformate, de obicei, n asocieri binare.


Relaii ntre clase -3
Aso ierea odelat a o las per ite relaiei de aso iere s
ai arti ute i operaii.

2. Relaia de agregare este o for de aso iere i ar


repreze t d o relaie de tip parte/ntreg.
Poate fi de doua tipuri:
Agregare partajat agregare
Agregare o pus o pu ere
Relaii tre lase -4
Agregarea partajat este o for sla de agregare are
i sta ele prilor su t i depe de te de treg, astfel:
A eleai pri partajate pot fi i luse ai ulte lase treg.
Da lasa treg se terge, lasele parte vor e ista
continuare.
e reprezi t su for a u ui ro gol plasat la aptul lasei
ntreg.
Relaii tre lase -5
Agregarea co pus este o for puter i de agregare are
i sta ele prilor su t i depe de te de treg, astfel:
Da lasa treg se terge, lasele parte vor vor fi terse i ele.
e reprezi t su for a u ui ro pli plasat la aptul lasei
ntreg.
Atu i d se folosete pe tru odelarea o ie telor di tr-un
a u it do e iu, tergerea poate fi i terpretat la figurativ, a
terminare , i u a o distrugere fizi .
Relaii tre lase -6
Asociere
Obiectele tiu unele de existaa celorlalte i pot lucra mpreun.

Agregare
1. Protejeaz integritatea configuraiei.
2. Funcioneaz ca un tot unitar.
3. Control prin intermediul unui singur obiect.

Compunere
Fiecare parte poate fi membr a unui singur obiect agregat.

Relaii tre aso iere, agregare i o pu ere


Relaii tre lase -7
. Relaia de ge eralizare este folosit pe tru a i di a ote irea
di tre o las ge eral super las i o las spe ifi su las .
e ai u ete i for al i relaie de ge ul este un tip de .
e reprezi t su for a u ui tri ghi gol plasat la aptul
superclasei.
u lasele ote es ara teristi ile i o str gerile super lasei.
Este per is ote irea ultipl.
Relaii tre lase -8
. Relaia de depe de este folosit pe tru a arta o ga larg de
depe de e tre ele e tele u ui odel.
atapa de a aliz, tipul de depe de poate s u fie spe ifi at.
proie tare, depe de ele vor fi perso alizate u stereotipuri sau vor
fi nlocuite cu conectori specifici tehnologiei folosite.
e reprezi t su for a u ei li ii pu tate de la lasa depe de t
client, pa la lasa furnizor , u o sgeat la aptul lasei
furnizor .
diagra ele de lase, ele ai i porta te depe de e su t relaiile
de utilizare i de abstractizare.
Relaii tre lase -9
Depe de a de utilizare (<<use>>, <<create>>, <<call>> etc.) este o relaie are
lasa lie t are evoie de alt las sau set de lase fur izor pe tru a fu io a.
Dependena de a stra tizare pu e relaie dou ele e te sau seturi de ele e te
u ite lie t i fur izor , repreze t d a elai o ept, dar la iveluri diferite de
abstractizare sau din puncte de vedere diferite.
Relaia de realizare este o for de a stra tizare, are u ele e t de
odelare fur izorul reprezi t spe ifi aia, iar ellat ele e t lie tul
reprezi t i ple e tarea spe ifi aiei. e reprezi t su for a u ei li ii
pu tate u o sgeat la aptul lasei fur izor.
Diagrama de clase UML

Ce este i u se reprezi t ultipli itatea?


De u ii do e iile de vizi ilitate UML.
Care este rolul ote irii i u se ide tifi ?
Clasele a stra te pot fi i sta iate?
De ce sunt importante numele de rol?
Care este difere a di tre agregare i o pu ere?
Lucru la seminar
S se toc easc diagra a de clase pentru scenariul de mai jos.

Scopul proiectului este realizarea apli aiei informatice pentru gestiunea a tivitii unei u iti
hoteliere. n vederea azrii, un client poate solicita rezervarea uneia sau mai multor camere
prin e-mail sau telefonic. Pentru aceasta fur izeaz re epio erului i for aii privind perioada
de cazare i tipurile de camere solicitate. Clie ii vor beneficia de reduceri da rezerv cel
pui 3 camere sau da perioada de cazare depete 5 zile. Re epio erul verifi
disponibilitatea camerelor i l tii eaz pe client de acest lucru precum i de costul estimat
al azrii. Da nu e ist camere disponibile conform soli itrii, re epio erul poate oferi
clientului alternative. De asemenea, clientul poate solicita un discount (suplimentar sau nu),
iar re epio erul va decide fezabilitatea discountului, fiind asistat obligatoriu de managerul
hotelului. n situaia n care clientul este de acord cu preul propus, se va proceda la realizarea
rezervrii. Pentru lie ii noi, re epio erul soli it datele de identificare, pe care le introduce
n apli aie.
Odat ajuns la hotel, i da a f ut n prealabil o rezervare, clientul va furniza datele de
identificare ale sale i/sau ale rezervrii i se face cazarea. Da nu e ist o rezervare, se va
verifica disponibilitatea camerelor pentru perioada erut. Atunci cnd se gsete o astfel de
a er, se face cazarea. La finalul sejurului, re epio erul to ete o list cu toate serviciile
solicitate de client i preul acestora. Lista trebuie validat de client, dup care se to ete
factura fi al. Factura poate fi pltit parial sau integral, prin transfer bancar, numerar sau
folosind un card bancar. Totodat, nainte de a prsi hotelul, clientul este rugat s completeze
un formular prin care s evalueze serviciile oferite de unitatea hotelier.

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