Sunteți pe pagina 1din 2

O interacțiune specifică modul în care mesajele și datele sunt schimbate între partenerii de interacțiune,

fie umani, cum ar fi instructori sau studenții, sau non-umani, cum ar fi un server, o imprimantă sau un
produs software.
O interacțiune:
- poate fi o conversație între mai multe persoane - de exemplu, un examen oral.
- poate modela protocoale de comunicare, cum ar fi HTTP, sau poate reprezenta schimbul de
mesaje între oameni și un sistem software - de exemplu, între un instructor și sistemul de
administrare a studenților atunci când instructorul publică rezultatele examenelor.
- poate fi o secvență de apeluri de metode într-un program sau semnale precum o alarmă de
incendiu și procesele de comunicare rezultate
Diagrame de interacțiune sunt utilizate în diferite situații:
- pentru a reprezenta interacțiunea unui sistem complet cu mediul său. În acest caz, sistemul poate
fi interpretat ca o cutie neagră din care sunt cunoscute doar interfețele vizibile mediului exterior.
- pentru a modela interacțiunea dintre componentele sistemului pentru a arăta cum poate fi
implementat un caz de utilizare specific.
- pentru o modelarea precisă a comunicării interproces în care partenerii implicați trebuie să
respecte anumite protocoale.
- pentru a modela comunicarea la nivel de clasă, ceea ce înseamnă că pot fi utilizate pentru a
modela apelurile metodelor și comportamentul dintre obiecte.
Diagrama de secvență este o diagramă bi-dimensională, partenerii de interacțiune fiind prezentați pe axa
orizontală, în timp ce axa verticală modelează ordinea cronologică a interacțiunii. Dacă ordinea
cronologică nu a fost eliminată în mod explicit, un eveniment poziționat mai sus pe axa verticală are loc
înainte de un eveniment care este mai jos pe axa verticală.
Partenerii de interacțiune sunt descriși ca linii de viață. O linie de viață este prezentată ca o linie verticală
punctată care reprezintă durata de viață a obiectului asociat cu aceasta.
Interacțiunile sunt considerate ca o secvență de evenimente. Acestea se referă la trimiterea și primirea
de mesaje sau apariția unor evenimente bazate pe timp.
Dacă nu se specifică altfel, presupunem că transmiterea unui mesaj nu necesită nicio perioadă de timp,
ceea ce înseamnă că evenimentul de trimitere la expeditor și evenimentul de primire la receptor au loc în
același timp.
Conexiunea cronologică dintre un mesaj a și un mesaj b este exprimată prin simbolul →. De exemplu, a →
b înseamnă că mesajul a este trimis înaintea mesajului b. Dacă evenimentele de trimitere și primire a două
mesaje au loc pe aceeași linie de viață, ordinea cronologică a acestor evenimente determină ordinea
mesajelor.
Mesajele
Într-o diagramă de secvență, un mesaj este reprezentat ca o săgeată de la expeditor la receptor.
Mesajele sunt identificate printr-un nume, cu specificarea opțională a parametrilor și a unei valoarei
returnate.
Primirea unui mesaj de către un obiect apelează în general operația corespunzătoare specificată în
diagrama de clase. În principiu, parametrii mesajului ar trebui să fie compatibili cu parametrii operației
din diagrama de clase.

Fragmente combinate
Fragmentele combinate (operatori) sunt utilizate pentru a modela în mod explicit diferite structuri de
control. Acest lucru permite descrierea unei serii de căi de execuție posibile în mod compact și precis.
Fragmentele combinate pot fi imbricate în mod arbitrar.
Fragmentul alt este utilizat pentru a reprezenta secvențe alternative. Un operator alt are cel puțin doi
operanzi. Fiecare operand reprezintă o cale alternativă în execuție (similar de exemplu instrucțiunii switch
în Java). Condițiile sunt utilizate pentru a selecta calea care va fi executată. Fiecare operand are o condiție,
care reprezintă o expresie booleană plasată între paranteze pătrate. Dacă nu este specificată o condiție
atunci [true] este presupusă ca valoare implicită.
Fragmentul opt corespunde unui fragment alt cu doi operanzi, dintre care unul este gol. Operatorul opt
reprezintă astfel o secvență de interacțiune a cărei execuție depinde de condiție. Într-un limbaj de
programare, acest operator ar fi specificat ca o declarație if fără o ramură else.
Fragmentul loop este utilizat pentru a exprima că o secvență trebuie executată în mod repetat. Acest
fragment combinat are exact un operand. Cuvantul cheie loop este urmat de o specificație opțională a
numărului de iterații ale buclei. Această specificație ia forma (min..max) sau (min, max), în care min
specifică numărul minim de iterații pe care trebuie să le parcurgă bucla și max indică numărul maxim de
iterații.

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