18.04.2013 Views

Tehnici de implementare a concurentei în analiza si proiectarea ...

Tehnici de implementare a concurentei în analiza si proiectarea ...

Tehnici de implementare a concurentei în analiza si proiectarea ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

obiectelor care sunt implicate <strong>în</strong> respectiva relatie. În lipsa unei specificari explicite,<br />

multiplicitatea este con<strong>si</strong><strong>de</strong>rata implicit 1.<br />

Asocierile pot avea atasat un nume. Rolul jucat <strong>de</strong> obiectele fiecarei clase <strong>în</strong><br />

cadrul asocierii poate fi <strong>de</strong>scris optional prin intermediul unor nume <strong>de</strong> rol, atasate la<br />

capetele asocierii.<br />

Agregarea este o relatie <strong>de</strong> asociere particulara, <strong>si</strong> ea specifica o legatura <strong>de</strong> tip<br />

parte-<strong>în</strong>treg <strong>în</strong>tre obiecte. Aceasta relatie este utilizata atunci când un obiect contine,<br />

<strong>în</strong> mod logic sau fizic, un alt obiect. Agregarea se reprezinta grafic la fel ca <strong>si</strong><br />

asocierea, utilizând <strong>în</strong> plus un romb alb <strong>în</strong> capatul corespunzator clasei care specifica<br />

obiectele proprietar.<br />

Compunerea este o forma mai puternica <strong>de</strong> agregare <strong>si</strong> ea specifica faptul ca<br />

obiectele proprietar sunt responsabile cu crearea <strong>si</strong> distrugerea obiectelor pe care le<br />

contin. Compunerea se reprezinta grafic ca <strong>si</strong> o agregare, dar culoarea rombului este<br />

neagra.<br />

În UML relatia <strong>de</strong> generalizare specifica mostenirea <strong>în</strong>tre clase. Ea se<br />

reprezinta grafic prin intermediul unei linii <strong>în</strong>tre doua clase ce contine la capatul<br />

corespunzator clasei parinte un triunghi cu unul din vârfuri <strong>în</strong>dreptat spre aceasta.<br />

B.2. Harti <strong>de</strong> stari<br />

În UML hartile <strong>de</strong> stari sunt utilizate <strong>în</strong> <strong>de</strong>scrierea comportamentului<br />

obiectelor apartinând unui clase.<br />

O stare (concreta) este caracterizata <strong>de</strong> valorile proprietatilor unui obiect <strong>si</strong> <strong>de</strong><br />

multimea mesajelor care pot fi acceptate <strong>de</strong> catre acest obiect la un moment dat. O<br />

stare contine <strong>de</strong>scrierea unui invariant <strong>de</strong> stare (conditie logica a<strong>de</strong>varata pentru toate<br />

obiectele care se afla <strong>în</strong> starea respectiva), <strong>si</strong> a trei proceduri speciale: entry, exit <strong>si</strong> do.<br />

Aceste proceduri <strong>de</strong>scriu secventele <strong>de</strong> actiuni care vor fi executate <strong>în</strong> momentul <strong>în</strong><br />

care un obiect intra (entry), paraseste (exit) sau se afla (do) <strong>în</strong> starea respectiva. O<br />

stare se reprezinta grafic prin intermediul unui dreptunghi cu colturile rotunjite,<br />

afisând <strong>în</strong> partea superioara un nume <strong>de</strong> stare. În partea inferioara a dreptunghiului<br />

optional poate exista un compartiment care contine expre<strong>si</strong>ile ce <strong>de</strong>finesc invariantul<br />

<strong>de</strong> stare <strong>si</strong> cele trei proceduri speciale.<br />

O tranzitie exprima o <strong>si</strong>tuatie <strong>în</strong> care un obiect poate trece dintr-o stare <strong>în</strong> alta.<br />

Tranzitiile se reprezinta grafic prin intermediul unor arce <strong>de</strong> cerc, linii <strong>si</strong>mple sau linii<br />

168

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!