Sunteți pe pagina 1din 19

Diagrama de maini cu stri UML

Rolul diagramei de stri


Modeleaz starea dinamic a unui obiect specific.
Evenimentele fac tranziia unui obiect dintr-o stare n

alta.
Nu toate evenimentele sunt aplicabile n contextul
tuturor strilor. Pot exista condiii care s condiioneze
apariia unui anumit eveniment.

Stri
Stare: o condiie sau o situaie din momentul existenei unui

obiect care satisface n acel moment anumite condiii,


efectueaz anumite activiti sau ateapt anumite
evenimente. Este reprezentat ca un dreptunghi cu coluri
rotunjite.
Stare iniial i final au aceleai notaii ca i n diagramele
de activitate. Semnific nceputul i sfritul vieii unui obiect.
Stare compus este o stare care conine substrri (stri
imbricate).

Tranziii
Obiectul tranziteaz dintr-o stare n alta cnd apare un eveniment

i cnd sunt ndeplinite anumite condiii.


Tranziia este reprezentat ca o sgeat de la o stare existent
ctre o stare de intrare / int.
Tranziia poate conine:

Declanator: este cauza unei tranziii care poate fi un de eveniment, o

schimbare ntr-o condiie sau trecerea timpului.


Condiie: o condiie care trebuie s fie adevrat pentru ca
declanatorul s determine tranziia.
Efect: Aciune care va fi invocat de obiect ca urmare a tranziiei.

Aciuni
Cu excepia strii iniiale i a celei finale fiecare stare are un

nume, atributele proprii unei stri, aciunile i activitile


efectuate.
Aciunile speciale includ:
Entry / intrare - aciune efectuat la intrare ntr-o stare.
Exit / ieire - aciune efectuat la ieirea dintr-o stare.
Do / aciune efectuat pe parcursul unei stri;
evenimentele externe pot ntrerupe aciunile Do.

Decizii
Alegere o pseudostare realizeaz o bifurcaie condiional.

Evalueaz condiiile declanatorilor tranziiilor de ieire


pentru a alege o singur tranziie de ieire.

Lucru la seminar
S se ntocmeasc diagrama de stare pentru clasa camer din scenariul de mai jos.
Scopul proiectului este realizarea aplicaiei informatice pentru gestiunea activitii unei uniti
hoteliere. n vederea cazrii, un client poate solicita rezervarea uneia sau mai multor camere
prin e-mail sau telefonic. Pentru aceasta furnizeaz recepionerului informaii privind perioada
de cazare i tipurile de camere solicitate. Clienii vor beneficia de reduceri dac rezerv cel
puin 3 camere sau dac perioada de cazare depete 5 zile. Recepionerul verific
disponibilitatea camerelor i l ntiineaz pe client de acest lucru precum i de costul estimat
al cazrii. Dac nu exist camere disponibile conform solicitrii, recepionerul poate oferi
clientului alternative. De asemenea, clientul poate solicita un discount (suplimentar sau nu),
iar recepionerul 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 clienii noi, recepionerul solicit datele de identificare, pe care le introduce
n aplicaie.

Odat ajuns la hotel, i dac a fcut n prealabil o rezervare, clientul va furniza datele de
identificare ale sale i/sau ale rezervrii i se face cazarea. Dac nu exist o rezervare, se va
verifica disponibilitatea camerelor pentru perioada cerut. Atunci cnd se gsete o astfel de
camer, se face cazarea. La finalul sejurului, recepionerul ntocmete o list cu toate serviciile
solicitate de client i preul acestora. Lista trebuie validat de client, dup care se ntocmete
factura final. 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.

Diagrama de activitate UML

Rolul diagramei de activitate


Ajut la reprezentarea vizual a secvenelor de aciuni prin

care se dorete obinerea unui rezultat.


Se pote realiza pentru unul sau mai multe cazuri de
utilizare sau pentru descrierea unor operaii complexe.
Nu se construiete pentru fiecare caz de utilizare i
scenariu, deoarece nu este necesar, ci numai pentru cele
importante.
Descrie fluxul de lucru dintr-un punct de plecare pn ntrun punct de terminare, detaliind cile de decizie care pot
aprea ntr-o activitate.
Poate fi folosit pentru a descrie procesare paralel.
Este important n modelarea proceselor de afaceri.

Activitate/ Aciune
Activitatea - un comportament parametrizat reprezentat

sub forma unui flux coordonat de aciuni.


Aciunea reprezint un singur pas n cadrul unei
activiti.
Aciunea poate fi fizic, realizat de un factor uman sau
electronic.
Activitate/aciune, reprezentat printr-un dreptunghi cu
margini rotunjite.

Constrngeri
Constrngerile pot fi ataate unei aciuni, spre

exemplu, sub forma unor pre- i post-condiii.


Se folosesc cuvintele cheie <<precondition>> i
<<postcondition>>.

Noduri
Nod iniial - reprezint punctul de nceput al

diagramei.
Nodul final - exist dou tipuri de noduri finale:
Nod final al activitii: reprezint sfritul tuturor

fluxurilor de control dintr-o diagram.


Nod final al fluxului: arat c procesul se oprete n acel
punct. Acesta denot sfritul unui singur flux de control.

Fluxuri i obiecte
Flux de control este un arc pe diagram care descrie modul de transfer al

controlului de la o aciune la alta.


Flux de obiecte - este un flux de-a lungul cruia sunt transferate obiecte sau
date.
Trebuie s aib un obiect la cel puin unul din capete.
Exist i o notaie prescurtat n care se pot folosi calificatori (engl. pins) de
intrare i de ieire.
Condiie tranzitorie - un text pe un flux ce definete o condiie care trebuie s
fie adevrat pentru a produce tranziia ctre urmtoarea aciune.

Noduri decizionale i de mbinare


Ambele se reprezint sub forma unui romb i pot fi

denumite.
Nod decizional (decision):

nod n care intr un flux i ies mai multe.


fluxurile de ieire trebuie s fie nsoite de condiii mutual

exclusive.

Nod de imbinare (merge):


nod n care intr mai multe fluxuri i iese unul singur.

Noduri de bifurcaie i jonciune


Ambele se reprezint printr-o linie neagr ngroat.
Nod de bifurcaie (fork):
nod n care intr unul singur flux i ies mai multe.
denot nceputul unor aciuni paralele.
Nod de joncine (join):
nod n care intr mai multe fluxuri i iese doar unul singur.
toate fluxurile care intr n jonciune trebuie s ajung n punctul

de jonciune nainte ca procesarea s continue.


denot sfritul unei procesri paralele.

Noduri de control - exemple

Un Join este diferit de un Merge deoarece sincronizeaz dou fluxuri de


intrare i produce un singur flux de ieire. Un Merge transmite mai departe
orice flux de control ajunge la el.

Partiii
Sunt culoare care arat cine sau ce execut aciunile ntr-o diagram de

activitate.
Pot fi orizontale sau verticale.
Separarea pe partiii poate fi fcut n funcie de unitaile organizaionale,
responsabiliti etc.

Lucru la seminar
S se ntocmeasc diagrama de activitate pentru scenariul de mai jos.
Scopul proiectului este realizarea aplicaiei informatice pentru gestiunea activitii unei uniti
hoteliere. n vederea cazrii, un client poate solicita rezervarea uneia sau mai multor camere
prin e-mail sau telefonic. Pentru aceasta furnizeaz recepionerului informaii privind perioada
de cazare i tipurile de camere solicitate. Clienii vor beneficia de reduceri dac rezerv cel
puin 3 camere sau dac perioada de cazare depete 5 zile. Recepionerul verific
disponibilitatea camerelor i l ntiineaz pe client de acest lucru precum i de costul estimat
al cazrii. Dac nu exist camere disponibile conform solicitrii, recepionerul poate oferi
clientului alternative. De asemenea, clientul poate solicita un discount (suplimentar sau nu),
iar recepionerul 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 clienii noi, recepionerul solicit datele de identificare, pe care le introduce
n aplicaie.

Odat ajuns la hotel, i dac a fcut n prealabil o rezervare, clientul va furniza datele de
identificare ale sale i/sau ale rezervrii i se face cazarea. Dac nu exist o rezervare, se va
verifica disponibilitatea camerelor pentru perioada cerut. Atunci cnd se gsete o astfel de
camer, se face cazarea. La finalul sejurului, recepionerul ntocmete o list cu toate serviciile
solicitate de client i preul acestora. Lista trebuie validat de client, dup care se ntocmete
factura final. 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