Creeaza.com - informatii profesionale despre


Cunostinta va deschide lumea intelepciunii - Referate profesionale unice
Acasa » tehnologie » electronica electricitate
Diagrame de interactiune

Diagrame de interactiune


Diagrame de interactiune

Cazurile de utilizare constituie o descriere functionala a cerintelor, structurata in raport cu unul sau mai multi actori.



Trecerea catre o structurare obiect se realizeaza asociind o 'colaborare' fiecarui scenariu. Colaborarea evidentiaza obiectele domeniului, conexiunile dintre aceste obiecte si mesajele schimbate de catre obiecte in cadrul scenariului.

Scenariile, care au fost intocmite la inceputul etapei de analiza, sunt reprezentate in continuare prin diagrame de interactiune: diagrame de colaborare si diagrame de secventa.

o      Diagramele de colaborare redau relatiile structurale dintre obiecte si mesajele prin care ele comunica.

o      Diagramele de secventa evidentiaza ordonarea in timp a mesajelor.

Diagramele de interactiune includ actori, obiecte sau componente implicate intr-o interactiune si redau mesajele schimbate in cursul interactiunii.

Obiecte

Un obiect este un concept, o abstractie sau un lucru avand limite foarte clare si un sens precis in contextul problemei studiate. Fiecare obiect are o identitate si poate fi distins de celelalte.

In UML, un obiect se reprezinta sub forma unui dreptunghi continand numele obiectului si clasa din care face parte sau numai numele obiectului, subliniat(e). De exemplu:

Mihai : Persoana Mihai IBM: Calculator

Notatia permite de asemenea desemnarea de obiecte anonime, specificand numai numele clasei din care face parte. De exemplu:


:Student :Profesor

Comportamentul unui obiect, ca urmare a unei stimulari externe, este reprezentat prin operatii.

Operatiile unui obiect sunt declansate prin mesaje trimise de alte obiecte

Diagramele de secventa

Diagramele de secventa ilustreaza interactiunile dintre obiecte sau actori si obiecte din punct de vedere temporal. Un obiect este reprezentat printr-un dreptunghi si o bara verticala numita linia de viata a obiectului. Mesajele sunt reprezentate prin sageti orizontale orientate de la emitatorul mesajului catre destinatar. Ordinea de trimitere este data de pozitia pe axa verticala. Timpul se scurge de sus in jos. Axa verticala poate fi gradata in scopul exprimarii mai exacte a constrangerilor temporale in cazul modelarii unui sistem de timp real.

:Apelant

 
:Linie telefonica

  :Apelat

 


Deschide telefonul

Ton

Formeaza numar

Indicator de sonerie Suna

Deschide telefonul

Alo


Diagrama de secventa

Diagramele de secventa se construiesc plecand de la cazurile de utilizare. Ele se pot folosi in doua scopuri, care corespund la doua nivele diferite ale procesului de dezvoltare:

Ca mijloc de documentare a cazurilor de utilizare; interactiunea este descrisa in termeni apropiati utilizatorului si fara a intra in detalii de sincronizare. Sagetile corespund evenimentelor care survin in domeniul aplicatiei. De exemplu, diagrama din figura 2.7. reprezinta inceputul unei comunicatii telefonice.

Ca mijloc de reprezentare exacta a mesajelor schimbate intre obiecte. Perioada de activitate a unui obiect este reprezentata cu ajutorul unei benzi rectangulare suprapuse pe linia de viata a obiectului.

In exemplul din figura urmatoare, obiectul 1 apeleaza o operatie a obiectului 2. Obiectul 2 creaza obiectul 3 care exista pana cand este distrus tot de obiectul 2. Obiectul 3 apeleaza o operatie proprie.

:Obiect2

  :Obiect1

 

:Obiect3

 


Apel operatie Obiect2 <<creaza>>


intoarcere dupa exec. operatie

Apeluri de operatii, crearea si distrugerea obiectelor.

Sagetile se folosesc pentru a reprezenta mesaje care corespund unui apel de proceda intr-un flux de executie cu un singur fir de executie.

UML permite si reprezentarea de mesaje intre obiecte care sunt active in fire de executie diferite. Intre astfel de obiecte pot fi trimise mesaje sincrone sau asincrone.

Atunci cand un obiect trimite un mesaj sincron, el ramane in asteptare pana cand destinatarul trateaza mesajul. De aceea, revenirea dupa tratarea unui mesaj sincron nu este necesar sa fie reprezentata.

Un apel de procedura este un apel sincron. De aceea nici revenirea dupa executia unei proceduri nu este reprezentata intotdeauna.


Trimiterea asincrona a unui mesaj nu intrerupe executia expeditorului. Expeditorul trimite mesajul fara sa stie cand, nici chiar daca mesajul va fi tratat de catre destinatar. In figura urmatoare este redata si confirmarea destinatarului dupa tratarea mesajului.

 

Apel cu timeout.

Trimitere mesaj cu timeout = trimitere sincrona cu blocarea expeditorului pe un timp limitat (care poate fi specificat). Expeditorul asteapta ca destinatarul sa primeasca mesajul un timp limitat. Comunicatia nu are loc daca in intervalul de timp dat destinatarul nu ia in considerare mesajul.

Scopul unui mesaj asincron poate fi:

- Crearea unui obiect nou

- Crearea unui fir de executie

- Comunicarea cu un fir de executie existent

Alegerea formei de sincronizare are loc de regula in etapa de proiectare, pentru a realiza de exemplu o excludere mutuala in utilizarea unei resurse critice. Forma de sincronizare poate fi importanta de asemenea in etapa de analiza. De exemplu, comunicatia prin posta corespunde unei trimiteri asincrone.


Mihai Monica

Scrisoare prin posta

Diagramele de secventa redau modul de transfer al controlului intre obiecte:



Control centralizat

A

  B

  C

  D

 


Control descentralizat

Pentru a indica bucle si salturi se pot adauga notatii de tip pseudocod pe partea stanga a diagramei:


while [X] loop


end loop

Iteratie.

A

  B

  C

 


if X mesaj 1

else mesaj 2

end if

sau


[X]


[not X]

Decizie.

Diagrama de secventa cu mesaje asincrone

O asistenta medicala trimite 2 mesaje asincrone: catre laboratorul medical, pentru a rezerva o data pentru un test, si catre o societate de asigurari, pentru aprobarea testului. Ordinea in care sunt trimise cele 2 mesaje nu este importanta. Daca societatea de asigurari aproba testul, atunci asistenta planifica testul la data furnizata de laboratorul medical. Reprezentarea intoarcerii dupa tratarea mesajului asincron nu este obligatorie.

Diagrame de colaborare

Diagramele de colaborare sunt in particular indicate pentru faza exploratorie, care corespunde cautarii obiectelor. Ele ilustreaza in acelasi timp interactiuni intre obiecte si relatiile structurale care permit aceste interactiuni.

Relatiile structurale sunt reprezentate prin "legaturi" - linii care conecteaza obiectele.

Mesajele schimbate intre obiecte sunt reprezentate de-a lungul legaturilor

Ordinea de trimitere a diferitelor mesaje este indicata printr-un numar amplasat in fata mesajului, ca in figura urmatoare:

1:X

A

  B

  3:Z

C

  2:Y

"Scenariul incepe cu un obiect A care trimite un mesaj X unui obiect B. Acesta trimite un mesaj Y obiectului C care-si trimite un mesaj Z."

B

  A

 

C

  D

 


Obiectele si legaturile create sau distruse in cursul unei interactiuni pot purta constrangerile , respectiv . Obiectele care sunt create si distruse in cursul aceleiasi interactiuni sunt identificate prin constrangerea .

Pentru a indica trimiterea in mod repetat a unui mesaj, se utilizeaza caracterul * in fata mesajului. De exemplu, in figura urmatoare s-a reprezentat trimiterea unui mesaj catre toate obiectele unei clase, existente la un moment dat:

X

 

:X *: mesaj

 
:Y

In diagramele de colaborare pot fi introdusi actori, pentru a reprezenta declansarea interactiunilor de catre un element extern sistemului. Datorita acestui artificiu, interactiunea poate fi descrisa intr-o maniera mai abstracta, fara a se intra in detaliile obiectelor de interfata utilizator. Primul mesaj de interactiune este trimis de actor. Un exemplu este prezentat in figura urmatoare:

:Ascensor

 
1: Apel la al doilea etaj

:Cabina

 

2: Adauga destinatia al doilea etaj

Figura urmatoare reda o posibila diagrama de colaborare, corespunzatoare unui scenariu al cazului de utilizare "Imprumut". Scenariul corespunde secventei tipice de evenimente a cazului de utilizare, adica: utilizatorul este inregistrat ca abonat, el nu a imprumutat numarul maxim admis de carti, cartea este gasita si imprumutul inregistrat. Obiectele redate in diagrama sunt: "Fereastra-Abonati", in care utilizatorul completeaza datele necesare imprumutului, "Sistem"-reprezentand modulul central al sistemului, "Fisierul de abonati", "Fisele abonatilor", "Fisierul de carti", "Fisele cartilor" si "Fereastra-mesaj" in care sistemul afiseaza datele necesare imprumutului.

Diagrama de colaborare

Echivalenta diagrame de interactiune - diagrame de colaborare

Cele doua categorii de diagrame reprezinta vederi diferite asupra aceleiasi informatii.

In cazul diagramelor de secventa accentul este pus pe secventialitatea mesajelor.

In cazul diagramelor de colaborare accentul cade pe colaborarile dintre obiecte.

Formele grafice utilizate in cadrul fiecarei categorii de diagrame accentueaza aceste aspecte.

Numeroase editoare UML permit conversia automata de la o diagrama de secventa la cea de colaborare corespunzatoare sau invers.

Figura urmatoare reda sablonul de proiectare "Subiect-observator" printr-o diagrama de secventa si prin diagrama de colaborare echivalenta:

Un alt exemplu:

Urmatoarea diagrama reda secventa de operatii pentru rezervarea unei camere de hotel. Obiectul care initiaza secventa de mesaje este o fereastra de rezervare.

Fereastra de rezervare trimite mesajul makeReservation() unui obiect HotelChain, care trimite mesajul makeReservation() unui obiect Hotel. Daca obiectul Hotel are camere disponibile, atunci el face o Rezervare si o Confirmare.

In aceasta diagrama mesajele sunt reprezentate prin apeluri de operatii din clasele obiectelor participante.

Semnul * din fata apelului propriu available() inseamna iteratie. Expresia dintre [] este o conditie. Diagrama contine si o nota explificativa. Astfel de note pot fi incluse in orice diagrama UML.

Diagrama de colaborare echivalenta:

Ordinea mesajelor este indicata prin secvente de numere: mesajele de la acelasi nivel (trimise in timpul aceluiasi apel) au acelasi prefix, sufixele indicand secventa in care au loc.

Diagramele de interactiune in UML 2 sunt:

Diagrame de secventa

Diagrame de comunicare, care corespund diagramelor de colaborare din versiunile anterioare

Diagrame de evolutie in timp (Timing diagrams)

Diagrame de interactiune generale - descriu fluxul controlului intr-o maniera generala. Utilizeaza notatii specifice diagramelor de activitate

Diagrama de secventa in UML 2.

Diagramele de comunicare, permit specificarea unei comunicari in descrierea unei alte comunicari, ceea ce conduce la reutilizarea comportarilor.

Diagrama de comunicare

Diagrama de comunicare care refera colaborarea "getPerformances".

O diagrama de evolutie in timp (Timing diagram) reda derularea in timp a unei activitati cu constrangeri de timp (in care timpul este un element critic). Diagrama cuprinde: o linie de viata, starile in timp, constrangeri de durata, schimbarile de stare, mesaje sau evenimente, linia timpului. Figura reda inregistrarea la un curs intr-o universitate.

UML 2 Timing diagram





Politica de confidentialitate


creeaza logo.com Copyright © 2024 - Toate drepturile rezervate.
Toate documentele au caracter informativ cu scop educational.


Comentarii literare

ALEXANDRU LAPUSNEANUL COMENTARIUL NUVELEI
Amintiri din copilarie de Ion Creanga comentariu
Baltagul - Mihail Sadoveanu - comentariu
BASMUL POPULAR PRASLEA CEL VOINIC SI MERELE DE AUR - comentariu

Personaje din literatura

Baltagul – caracterizarea personajelor
Caracterizare Alexandru Lapusneanul
Caracterizarea lui Gavilescu
Caracterizarea personajelor negative din basmul

Tehnica si mecanica

Cuplaje - definitii. notatii. exemple. repere istorice.
Actionare macara
Reprezentarea si cotarea filetelor

Economie

Criza financiara forteaza grupurile din industria siderurgica sa-si reduca productia si sa amane investitii
Metode de evaluare bazate pe venituri (metode de evaluare financiare)
Indicatori Macroeconomici

Geografie

Turismul pe terra
Vulcanii Și mediul
Padurile pe terra si industrializarea lemnului

Ecuatiile Ebers-Moll
Tranzistor bipolar - Regimuri de functionare
CONDENSATOARE CU ELECTROZI DIN TANTAL
Fototranzistoare
Tranzistorul cu efect de camp (FET)
Cazul bobinei ideale Ri=0
NUMARATOR TUROMETRU CBM 555
Teorema lui Millman revizuita

Termeni si conditii
Contact
Creeaza si tu