Documente Academic
Documente Profesional
Documente Cultură
Analiza unei aplicaii implic realizarea mai multor categorii de modele, dintre care cele mai importante sunt: 1. Modelul de utilizare. realizeaz modelarea problemelor i a soluiilor acestora n maniera n care le percepe utilizatorul final al aplicaiei. Diagram asociat: diagram de cazuri de utilizare Modelul structural: se realizeaz pe baza analizei statice a problemei i descrie proprietile statice ale entitilor care compun domeniul problemei. Diagrame asociate: diagram de module, diagram de clase. Modelul comportamental: privete descrierea funcionalitiilor i a succesiunii n timp a aciunilor realizate de entitile domeniului problemei. Diagrame asociate: diagrama (harta) de stri, diagrama de colaborare, diagrama de interaciune
2.
3.
Figura 1 prezint un ef de proiect care comunic cu cazul de utilizare Gestioneaz proiecte (sau cu alte cuvinte care utilizeaz funcionalitatea sistemului de a gestiona proiecte). Linia care conecteaz actorul i cazul de utilizare indic faptul c actorul particip la funcionalitatea furnizat de ctre cazul de utilizare.
Figura 2.
Asocierile sunt adesea implementate n limbajele de programare ca pointeri de la un obiect la altul. Asocierile sunt importante deoarece pot modela foarte bine informaiile care nu sunt subordonate unei singure clase dar depind de dou sau mai multe clase. O noiune care apare legat de asocieri este multiplicitatea care specific faptul c zero, una sau mai multe instane ale unei clase pot avea legturi cu o singur instan a clasei asociate. Motenirea este o abstractizare puternic pentru factorizarea similaritilor ntre clase. Generalizarea este o relaie ntre o clas i una sau mai multe versiuni rafinate ale ei. Clasa care este rafinat se numete superclas, iar versiunile rafinate ale ei subclase. Atributele i operaiile comune unui grup de subclase sunt ataate superclasei i sunt partajate de fiecare subclas; spunem c subclasele motenesc trsturile superclasei. Generalizarea este util att la modelare ct i la implementare. Ea faciliteaz modelarea prin structurarea claselor i capturarea succint a ceea ce este similar i aceea ce este diferit ntre clase. Agregarea este o form puternic a asocierii, n care un obiect agregat este construit din componente, care sunt pri ale agregatului. Un agregat poate avea mai multe pri; fiecare relaie parte-ntreg este tratat ca agregare separat. Prile pot s apar n mai multe agregate. Agregarea este inerent tranzitiv: un agregat are pri care, la rndul lor, pot avea pri etc.. Agregarea nu este un concept individual ci o form special a asocierii. Dac dou obiecte sunt strns legate printr-o relaie parte-ntreg atunci avem o agregare. n schimb, dac dou obiecte sunt considerate independente, chiar dac ntre ele poate exista uneori o relaie, atunci avem o asociere. Diagrama folosit n modelarea obiect se numete diagram de clase i ea ofer o notaie grafic pentru reprezentarea claselor i relaiilor dintre ele. Diagramele de clase descriu cazuri generale n modelarea sistemului. Clasele sunt reprezentate de dreptunghiuri mprite n trei compartimente i care conin numele clasei (n compartimentul superior), lista de atribute ale clasei (opional) i lista de operaii (opional) cu argumentele lor i tipul returnat. Cele trei compartimente vor fi separate ntre ele prin cte o linie orizontal. Valorile iniiale ale atributelor pot fi specificate astfel: nume:tip=expresie.
Figura 1. Exemplu de clas Toate relaiile din cadrul diagramei de clase sunt reprezentate grafic printr-o succesiune de segmente orizontale sau verticale care leag o clas de alta. Asocierea poate avea sau nu un nume care se va afla tiprit n vecintatea sa i va conine o sgeat care precizeaz modul de citire al acestuia. O asociere poate avea nume diferite pentru fiecare direcie. Fiecare capt al asocierii este un rol i
fiecare rol poate avea un nume ( nume de rol ) care arat cum este vzut clasa asociat lui de alta. Fiecare rol indic multiplicitatea clasei sale ( cte instane ale clasei pot fi asociate cu o instan a altei clase ). Multiplicitatea poate fi 1 ( nu se marcheaz ), 0-1 ( marcat printr-un cerc alb ) 0 sau mai multe ( marcat printr-un cerc negru ), sau alte intervale de valori ntregi care se indic prin expresii de tipul 1+ ( mai mult de o instan ), 3 ( exact trei instane ) sau 2-4 ( ntre 2 i 4 instane inclusiv ).
Figura 2. Relaii de asociere Este posibil asocierea ntre o clas i ea nsi sau mai multe asocieri la aceeai pereche de clase. Dac multiplicitatea este mai mare ca 1 atunci lng rol poate apare adnotarea {ordered} care indic faptul c elementele au o ordine explicit; n caz contrar elementele nu au o ordine predefinit. Agregarea este o form special de asociere cu nelesul de relaie partentreg. Ea se indic prin plasarea unui mic romb la captul corespunztor clasei care semnific ntreg. Multiplicitatea unei agregri precum i calificarea se reprezint analog ca la asocieri.
Figura 3. Relaia de agregare Generalizarea se reprezint grafic sub forma unui triunghi echilateral cu o linie ( frnt ) de la un vrf al acestuia ( vrf care trebuie s fie ndreptat spare supeclas ) la superclas i o linie frnt de la baza triunghiului opus vrfului la fiecare subclas. Generalizare este o relaie n-ar. Din punct de vedere grafic simbolul de generalizare ( triunghiul ) poate fi considerat ca un nod al diagramei. Deci n reprezentarea unei relaii de generalizare sunt implicate un nod (triunghiul ) i dou arce (unul care unete o clas de vrful triunghiului, i altul care unete o clas de baza triunghiului ).
n general subclasele sunt disjuncte, ceea ce este reprezentat prin culoarea alb a triunghiului; exist ns situaii cnd acestea nu respect acest proprietate, fapt care se reprezint printr-un triunghi negru.
compartiment special, localizat ntre numele strii i compartimentul destinat afirii invarianilor de stare i a procedurilor speciale. n cadrul acestui compartiment sunt reprezentate grafic toate sub-strile corespunztoare.
Figura 5. Etichetarea tranziiilor n hrile de stri UML Hrile de stri permit modelarea de comportamente paralele ale unui obiect prin intermediul strilor ortogonale (denumite i AND-stri sau stri concurente). Strile ortogonale sunt formate din mai multe componente ortogonale, fiecare dintre acestea coninnd diverse sub-stri. Un obiect aflat ntr-o stare ortogonal se va afla de fapt n cte o stare corespunztoare fiecrei componente ortogonale a acesteia. Reprezentarea grafic a strilor ortogonale este asemntoare reprezentrii strilor compuse, componentele ortogonale ale acestora fiind delimitate prin linii punctate verticale.
De asemenea, hrile de stri introduc o serie de stri speciale, numite pseudostri. Pseudo-strile sunt stri intermediare care permit conectarea mai multor tranziii n scopul descrierii unor situaii complexe de modificare a strii concrete a unui obiect. Cele mai importante pseudo-stri definite n UML sunt: starea iniial - indic sub-starea implicit n care intr un obiect n cazul declanrii unei tranziii a crei stare destinaie este o stare compus. Se reprezint grafic sub forma unui cerc plin. starea final - indic prsirea contextului unei stri compuse. n cazul n care starea final aparine strii compuse de la cel mai nalt nivel al ierarhiei de stri (este rdcina ierarhiei de stri) intrarea o tranziie spre aceast stare semnific distrugerea obiectului. starea istoric - este utilizat atunci cnd sub-starea iniial a unei stri compuse nu este fixat dect pentru prima tranziie spre aceast stare compus, ea fiind dat mai apoi de ultima sub-stare activ. n figura 6 o prim tranziie spre starea Pornita implic activarea sub-strii Normal, urmtoarele tranziii activnd sub-starea (Normal sau Marsalier) activ n momentul ultimei prsiri a strii Pornita.