Documente Academic
Documente Profesional
Documente Cultură
2009-2010
Limbajul de modelare unificat (UML) 2
CUPRINS
1. Introducere 3
2. Strategii de formalizare 6
2.1 Arhitectura UML 6
2.2 Modele 7
3. Modelarea cu UML 8
3.1 View-uri 9
3.2 Diagrame 11
4. Concluzii 17
5. Bibliografie 19
Limbajul de modelare unificat (UML) 3
1. Introducere
Pentru analiza si proiectarea programelor s-au creat limbajele de modelare. Unul din
aceste limbaje de modelare este limbajul de modelare unificat - UML (The Unified Modeling
Language).
UML nu este un simplu limbaj de modelare orientat pe obiecte, ci în prezent, este
limbajul universal standard pentru dezvoltatorii software din toata lumea. UML este
succesorul propriu-zis al celor mai bune trei limbaje de modelare anterioare orientate pe
obiecte (Booch, OMT, and OOSE). Uml se constituie din unirea acestor limbaje de modelare
si în plus detine o expresivitate care ajuta la rezolvarea problemelor de modelare pe care
vechile limbaje nu o aveau. UML este un limbaj vizual de modelare, el nu este încă un limbaj
vizual de programare, deoarece nu dispune de întreg sprijinul semantic şi vizual pentru a
înlocui limbajele de programare. Limbajul este destinat vizualizării, specificării, construirii şi
documentării sistemelor de aplicaţii, dar are limitări în ceea ce priveşte generarea codului.
UML reuneşte cele mai bune tehnici şi practici din domeniul ingineriei programării, care şi-au
dovedit eficienţa în construirea sistemelor complexe.
Limbajul de modelare modificat (UML - The Unified Modeling Language) ofera
arhitecturi de sisteme ce functioneaza pe analiza si proiectarea obiectelor cu un limbaj
corespunzator pentru specificarea, vizualizarea, construirea si documentarea artefactelor
sistemelor sofware si de asemenea pentru modelarea în întreprideri. UML este un limbaj de
modelare care ofera o exprimare grafica a structurii si comportamentului software. Pentru
aceasta exprimare grafica se utilizeaza notatiile UML.
UML este un limbaj de modelare vizual, orientat obiect, care descrie (reprezintă)
proprietăţile structurale şi dinamice ale unui sistem software. Prin sistem software se întelege
o BD sau un modul de cod în general. Spre deosebire de modelul EAE, UML este o colecţie
de tehnici de modelare, folosite pentru tratarea multor aspecte ale procesului de concepere şi
dezvoltare a software-ului, de la proiectarea BD la interacţiunea modulelor de cod.
Fiecare tehnică de modelare de mai sus dă o vedere diferită, statică sau dinamică, a unei
aplicaţii. Colecţia de vederi se numeşte model. Iată unele din tehnicile de modelare UML:
diagrame de clase, sau diagrame statice de structură, care modelează entităţile unui sistem
prin clase cu atribute şi comportare. Diagramele de clasă descriu, de asemenea, asocierile
dintre clase şi constrângerile asupra acestora. Apoi, alte tehnici: diagrame de obiecte,
diagrame de "caz de utilizare", diagrame de stare, diagrame de secvenţe, diagrame de
activitate, diagrame de colaborare.
Notatiile UML constituie un element esential al limbajului pentru realizarea propriu-zisa
a modelarii si anume partea reprezentarii grafice pe care se bazeaza orice limbaj de modelare.
Modelarea în acest limbaj se realizeaza prin combinarea notatiilor UML în cadrul elementelor
principale ale acestora denumite diagrame. În cadrul UML-ului descoperim 9 tipuri de
diagrame: diagrama cazurilor de utilizare, diagrama de secventa, diagrama de colaborare,
diagrama de clase (cea mai utilizata), diagrama de stari, diagrama de componente, diagrama
de constructie, diagrama de obiecte, diagrama de activitati. În cele ce urmeaza vor fi
prezentate notatiile UML care vor fi grupate dupa diagramele corespunzatoare fiecarei notatii
în parte.
Adoptarea specificaţiei UML ca limbaj standard de modelare a fost semnalată la 17
noiembrie 1997. UML reuneşte cele mai bune tehnici şi practici din domeniul ingineriei
programării, care şi-au dovedit eficienţa în construirea sistemelor complexe.
Aşa cum spune şi vorba populară, „o imagine exprimă cât o mie de cuvinte”. Mai mult
decât atât, cele o mie de cuvinte pot fi ambigue sau pot fi interpretate diferit. Aşa cum ştim,
fiecare cuvânt poate avea mai multe sensuri (iar în limba română aproape orice frază poate fi
Limbajul de modelare unificat (UML) 4
Dacă din cauza complexităţii piesei, cele trei „fotografii” nu sunt suficiente, inginerul
va desena şi alte detalii, sau secţiuni ale piesei, dar privite din aceleaşi trei unghiuri.
Fiecare dintre cele trei puncte de vizualizare a piesei (noi le vom zice, view-uri)
reprezintă un submodel capabil să descrie o parte a piesei, dar insuficient pentru a descrie
complet piesa. Fiecare view arată piesa văzută dintr-un anumit punct de vedere iar modelul
complet utilizează toate punctele de vedere relevante.
Aşa cum inginerul proiectant comunică prin desen tehnic, echipei, sau oricărei alte
persoane interesate într-un limbai standard, vizual (adică desenul tehnic), făcut să permită
descrierea completă dar, in acelaşi timp, scutită de detalii inutile, inginerii software pot
comunica cu maximă eficientă Tn limbajul UML.
La fel ca oricare limbai acesta trebuie învăţat şi exersat astfel încât fiecare „cuvânt1' să
fie înţeles, să ştim unde şi cum se foloseşte, astfel încât să ne putem exprima în „fraze1'
coerente, care să „spună" exact ceea ce vrem să comunicăm. Limbajul UML ne permite
realizarea mai multor figuri, ca nişte fotografii din diverse unghiuri, ale unei realităţi, astfel
încât această realitate să fie surprinsă prin toate aspectele ei relevante.
In software vom utiliza două puncte de vedere necesare unei descrieri suficiente a
realităţii: (1) structural şi (2) comportamental.
Limbajul de modelare unificat (UML) 5
In iunie 1996 apare versiunea 0.9, urmată la scurt timp, octombrie 1996, de apariţia
versiunii 0.91. Versiunea 0.9 aduce şi schimbarea denumirii din Metoda unificată
(Unified Method) în Limbajul unificat de modelare (Unified Modeling Language).
Cooptarea lui Jacobson în echipă se concretizează printre altele în detalierea
conceptului de cazuri de utilizare (use case) şi prezentarea unei descrieri mai
amănunţite pentru diagramele cazurilor de utilizare. Conceptul de stereotip este mai
bine explicitat, se modifică denumirile unor diagrame.
reacţiile primite din partea utilizatorilor care au sugerat că este mult mai important să
se acorde o atenţie sporită conceptelor utilizate în dezvoltarea aplicaţiilor.
Recomandările referitoare la desfăşurarea etapelor de realizare şi înlăntuirea lor au fost
lăsate în planul secund,
UML a fost conceput ca un limbaj universal care să fie utilizat la modelarea sistemelor
(indiferent de tipul şi scopul pentru care au fost construite), la fel cum limbajele de
programare sunt folosite în diverse domenii.
Sublinierea aspectelor de limbaj nu semnifică nici decum ignorarea modului de
folosire a lor. UML presupune că metodologia este "ghidată" de cazurile de utilizare,
Limbajul de modelare unificat (UML) 6
2. Strategii de formalizare
Strategiile de formalizare considerate sunt legate de una din cele doua abordari care au
fost investigate relativ la UML. Abordarea adoptata îsi propune descrierea UML la meta-
nivel. Avantajele acestei abordari este utilitatea acesteia particulara de a investiga
ambiguitatile din meta-modelul UML si devine astfel un mijloc de a dezvolta reguli generale
si tehnici pentru constructia, manevrarea si rafinarea diagramelor UML.
Cealalta abordare este una tranzactionala. Aceasta atribuie o semantica fiecarei
diagrame UML prin translatarea acesteia într-o formula de logica modala. Deoarece logica
modala ar e semantici bine definite, translatia da o semantica fiecarei diagrame. Tehnicile de
probare care au fost dezvoltate pentru logica modala pot fi, în consecinta, aplicate, formulei
astfel rezultate. Aceasta abordare este utila pentru probarea proprietatilor relative la sisteme
exprimate prin diagrame UML (în opozitie cu diagramele UML însele).
2.1 Arhitectura UML
pentru comunicarea expresiilor cu privire la un subiect dat. Modelele de pe acest nivel mai
sunt numite clase sau modele ale tipurilor.
Nivelul model utilizator - consta din acele elemente care exemplifica modelele UML.
Fiecare concept din acest nivel este o instanta (prin intermediul clasificarii) a conceptelor
din nivelul model si o instanta (prin stereotipuri) a unui concept din nivelul metamodel.
Acest nivel de abstractizare este utilizat pentru a formaliza expresiile specifice cu privire
la un subiect dat. Modelele din acest nivel sunt numite si obiecte sau instante ale
modelului.
2.2 Modele
3. Modelarea cu UML
Analiza unei aplicaţii implică realizarea mai multor categorii de modele, dintre care
cele mai importante sunt:
3.1 View-uri
Modelarea unui sistem poate fi o muncă foarte dificilă. Ideal ar fi ca pentru descrierea
sistemului să se folosească un singur graf, însă de cele mai multe ori acesta nu poate să
surprindă toate informaţiile necesare descrierii sistemului. Un sistem poate fi descris luând în
considerare diferite aspecte:
Aşadar pentru descrierea unui sistem sunt necesare un număr de view-uri, fiecare
reprezentând o proiecţie a descrierii intregului sistem şi care reflectă un anumuit aspect al sau.
Fiecare view este descris folosind un număr de diagrame care conţin informaţii relative la un
anumit aspect particular al sistemului. Aceste view-uri se acoperă unele pe altele, deci este
posibil ca o anumită diagramă să facă parte din mai multe view-uri.
VIEW-UL LOGIC (LOGIC VIEW) - Spre deosebire de view-ul cazurilor de utilizare, un view logic
"priveşte" înăuntrul sistemului şi descrie atât structura internă a acestuia (clase, obiecte
şi relaţii) cât şi colaborările care apar când obiectele trimit unul altuia mesaje pentru a
realiza funcţionalitatea dorită. Structura statică este descrisă în diagrame de clasă, în
timp ce pentru modelarea dinamicii sistemului se vor folosi diagramele de stare, de
secventă, de colaborare sau de activitate. Prin urmare, cei care sunt interesaţi de acest
tip de vizualizare a sistemului sunt designerii şi dezvoltatorii.
3.2 Diagrame
În UML sunt nouă tipuri de diagrame pe care le vom prezenta pe scurt în cele ce
urmează. Diagramele UML pot fi împărţite în: diagrame pentru modelarea structurii statice şi
diagrame pentru modelarea comportamentului.
Limbajul de modelare unificat (UML) 11
Diagramele sunt grafuri care prezintă simboluri ale elementelor de modelare (model
element) aranjate astfel încât să ilustreze o anumită parte sau un anumit aspect al sistemului.
Un model are de obicei mai multe diagrame de acelaşi tip. O diagramă este o parte a unui
view specific, dar există posibilitatea ca o diagramă să facă parte din mai multe view-uri, în
funcţie de conţinutul ei. În UML sunt nouă tipuri de diagrame pe care le vom prezenta în cele
ce urmează.
Limbajul de modelare unificat (UML) 12
Acest tip de diagramă este un variant al diagramei claselor care în locul unei clase
prezintă mai multe instanţe ale ei. Diagrama obiectelor foloseşte aproape aceleaşi notaţii ca
şi diagrama claselor cu două mici diferenţe: obiectele sunt scrise subliniat şi sunt vizualizate
toate instantele relaţiei (figura 4).
Deşi nu este la fel de importantă ca diagrama claselor, cea o obiectelor este folosită
pentru exemplificarea unei diagrame a claselor de complexitate mare, permiţând vizualizari
ale instanţelor actuale şi a relaţiilor exact aşa cum sunt ele realizate. Mai poate fi folosită ca
o parte a diagramelor de colaborare, în care sunt vizualizate colaborările dinamice existente
în cadrul unui set de obiecte.
Figura5
Limbajul de modelare unificat (UML) 14
Această diagramă surprinde colaborarea dinamică între obiecte, într-o manieră similară
cu a diagramei de secvenţă, dar pe lângă schimbul de mesaje (numit şi interacţiune) prezintă
obiectele şi relaţiile dintre ele (câteodată referite ca şi context).
Cum decidem ce tip de diagramă să folosim? Dacă cel mai important aspect este timpul
sau secvenţa de mesaje vom folosi diagrama de secvenţă, dar dacă trebuie scos în evidentă
contextul, vom apela la o diagramă de colaborare.
Desenarea unei diagrame de colaborare se face similar cu a unei diagrame a obiectelor.
Mesajele vor fi reprezentate prin săgeţi între obiectele implicate în mesaj şi pot fi însoţite de
etichete care specifică ordinea în care acestea vor fi transmise. De asemenea se pot vizualiza
condiţii, iteraţii, valori returnate, precum şi obiectele active care se execută concurent cu alte
obiecte active (vezi figura 7).
Limbajul de modelare unificat (UML) 15
4. Concluzii
BIBLIOGRAFIE: