You are on page 1of 15

Seminar 6

Realizarea sistemelor informatice pentru management

Diagramele de interaciune UML

Rolul diagramelor de interaciune


Modeleaz aspectele dinamice ale sistemului. Sunt alctuite dintr-un set de obiecte i relaiile dintre

ele, incluznd i mesaje pe care obiectele le trimit de la unul la altul. Exista dou tipuri de diagrame de interaciune: diagrama de secven i diagrama de comunicare ( n UML 1.4 numit de colaborare). Cele dou diagrame sunt echivalente din punct de vedere semantic i se pot transforma una din alta.

Diagrama de secven
Este o diagram de interaciune format din obiecte,

mesajele care se schimb ntre acestea i dimensiunea temporal reprezentat progresiv pe vertical. Subliniaz ordinea mesajelor n funcie de timp. Obiectele sunt plasate n marginea de sus a diagramei, de-a lungul axei OX, de la stnga la dreapta.
Ele sunt aranjate n orice ordine care permite simplificarea

diagramei. De obicei, obiectele care ncep interaciunea se aeaz la stnga iar obiectele care urmeaz n partea dreapt. Existena obiectelor este reprezentat prin liniile de via ale acestora.

Diagrama de secven - obiecte


Linia de via a obiectelor: linie vertical care reprezint existena unui

obiect de-a lungul unei perioade de timp. Majoritatea obiectelor care apar n diagram exist pe toat durata interaciunii, avnd linia de via trasat de la vrful diagramei pn la baz. Alte obiecte pot fi create pe parcursul interaciunii. Activare (Punct de control): un dreptunghi nalt i subire care indic perioada de timp n care obiectul realizeaz o aciune. Captul de sus al dreptunghiului este aliniat la nceputul aciunii iar captul de jos la sfritul aciunii. Obiectele pot fi reprezentate folosind stereotipurile actor, limit, entitate i control.

Diagrama de secven - mesaje


Mesajele sunt reprezentate sunt forma unor arcuri. Acestea pornesc de la linia de

via a unui obiect i se opresc la linia de via a altui obiect. Mesajele pot fi de mai multe tipuri i pot include i condiii, ca n diagramele de stare. Un mesaj de tip apel (call) reprezint o cerere a obiectului care trimite mesajul ctre obiectul care primete mesajul. Cererea implic faptul c receptorul va executa una dintre operaiile sale. Emitorul ateapt ca receptorul s execute operaia i s primeasc un rspuns de la acesta (return). Un obiect poate trimite mesaje i ctre sine - autoapelare. Un astfel de mesaj poate semnifica apelul recursiv al unei operaii sau o metod care apeleaz alt metod a aceluiai obiect.

Diagrama de secven - mesaje


Mesajele de creare (create) i distrugere (destroy) a unui obiect ncep

i respectiv ncheie linia de via a unui obiect. Acestea sunt opionale i se folosesc atunci cnd se dorete specificarea explicit a acestor evenimente. Mesajul de distrugere poate genera distrugeri ulterioare ale unor obiecte pe care acesta le conine prin compunere. Dup distrugere, un obiect nu mai poate fi creat din nou pe acceai linie de via.

Diagrama de secven - exemplu

Fragmente combinate
Diagramele de secven nu sunt folosite pentru a reprezenta

logic procedural complex, ci pentru a modela fluxuri de control simple, secveniale. Cu toate acestea, exist mecanisme care permit adugarea unui anumit nivel de logic procedural n diagrame prin fragmentele combinate. Un fragment combinat reprezint una sau mai multe secvene de procesare incluse ntr-un cadru i executate n anumite circumstane. Frecvent utilizate sunt fragmente de tip:
Alternative (Alt) care modeleaz construciile de tipul if..then..else. Repetitive (Loop) care conin o serie de interaciuni ce se vor repeta

de mai multe ori. Paralele (Par) care modeleaz procesarea concurent.

Fragmente combinate - exemplu

Fragmente combinate - exemplu

Diagrama de comunicare
Diagrama de comunicare (colaborare - nume n UML 1.4)

este o diagram de interaciune care subliniaz organizarea structural a obiectelor care trimit i primesc mesaje. Grafic, o diagram de colaborare este o colecie de vrfuri i arce. Reprezint aceleai informaii ca i diagrama de secven, dar subliniaz organizarea obiectelor care particip la interaciune. Obiectele sunt plasate primele, ca vrfuri ale unui graf, se traseaz legturile care conecteaz obiecte, ca arcuri n acest graf, apoi se adaug acestor legturi mesajele pe care obiectele le primesc sau le trimit. Pentru a indica ordinea, mesajul trebuie prefixat cu un numr ncepnd de la 1 i crescnd.

Diagrama de comunicare - exemplu

Diagrame de interaciune
Cele dou diagrame de interaciune sunt echivalente i o

diagram poate fi convertit n cealalt fr a se pierde informaii. Pentru a transforma o diagram n alta, n Visual Paradigm se face click dreapta pe suprafaa unei diagrame i se selecteaz opiunea Synctonize to Communication/Sequence diagram, dup caz. Diagrama de comunicare arat cum sunt legate obiectele n timp ce diagrama de secven pune n eviden i mesajele returnate, precum i ordinea temporal a interaciunilor.

Diagramele de interaciune UML

Care sunt cele dou tipuri de diagrame de interaciune?

Cum se reprezint recursivitatea n diagramele de secven?


Pentru ce sunt folosite fragmentele combinate? Ce reprezint construcia alt ? Cte dimensiuni are o diagram de secven i ce reprezint acestea? Exemplicai rolul diagramelor de comunicare.

Lucru la seminar
S se ntocmeasc diagramele de interaciune pentru cazul de utilizare Rezerv camere 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.

You might also like