Documente Academic
Documente Profesional
Documente Cultură
TITLUL LUCRARII
Diagrame UML
Formularea problemei
Se cere dezvoltarea unui SGBD (Sistem de Gestiune a Bazelor de Date) care s ajute la gestionarea clientilor unei agentii de turism. Acest SGBD contine 3 tabele in care se regasesc urmatoarele : 1. Tabelul in care se inregistreaza utilizatorii site-ului 2. Tabelul in care se inregistreaza ofertele agentiei 3. Tabelul in care se inregistreaza comenzile utilizatorilor Site-ul va putea servi doar utilizatorii autentificati, dar si oaspeti au anumite drepturi. Pentru a creea un cont vizitatorul va fi rugat sa introduca datele corespunzatoare. Aceste informatii vor fi trimise agentiei de turism in vederea alcatuirii celei mai bune oferte. Dupa logarea pe site clientul va putea vizualiza oferte complete si a face rezervari. Daca agentia va putea satisface nevoile clientului acesta v-a fi informat printr-un email de confirmare. Site-ul trebuie sa asigure urmatoarele informatii : Destinatiile turiste care le ofera ; Informatii concrete despre oferta (destinatei, perioada, pret si o prezentare succinta a destinatiilor turistice) ; Site-ul va contine si o sectiune in care se va updata in fiecare luna cea mai buna oferta ; Site-ul mai contine si imagini cu unitatile de cazare si obiectivele turistice prezente in oferta ; Clientul poate vizualiza in timp real informati depre oferta agentiei ; Clientul in caz de probleme poate sa contacteze reprezentantii agentiei pentru solutionarea acestora ;
Introducere in UML
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 vizualizrii, specificrii, construirii i documentrii sistemelor de aplicaii, dar are limitri n ceea ce privete generarea codului. UML reunete cele mai bune tehnici i practici din domeniul ingineriei programrii, care i-au dovedit eficiena n construirea sistemelor complexe.
Diagramele sunt grafuri care descriu coninutul unui view. UML are nou
tipuri de diagrame, care pot fi combinate pentru a forma toate view-urile sistemului. Elementele de modelare sunt conceptele folosite n diagrame care au coresponden n programarea orientat-obiect, cum ar fi: clase, obiecte, mesaje i relaii ntre acestea: asocierea, dependena, generalizarea. Un element de modelare poate fi folosit n mai multe diagrame diferite i va avea acelai nteles i acelai mod de reprezentare.
conin informaii 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.
colaborrile care apar cnd obiectele trimit unul altuia mesaje pentru a realiza funcionalitatea 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 interesai de acest tip de vizualizare a sistemului sunt designerii i dezvoltatorii.
Diagrame
Diagramele sunt grafuri care prezint simboluri ale elementelor de modelare (model element) aranjate astfel nct s ilustreze o anumit parte sau un anumit aspect al sistemului. Un model are de obicei mai multe diagrame de acelai 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 funcie de coninutul ei. n UML sunt nou tipuri de diagrame pe care le vom prezenta n cele ce urmeaz. Pe parcursull prezentarii tipurilor de diagrame vom realiza diagrame pentru situatiile descrise in problema noastra:
10
furnizeaza o privire de ansamblu a functionalitatilor ce se doresc a fi oferite de sistem arata cum interactioneaza sistemului cu unul sau mai multi actori asigura faptul ca sistemul va produce ceea ce s-a dorit.
Diagrama de Clasa
O diagram a claselor prezint structura fizic a claselor identificate n sistem. Clasele reprezint lucruri gestionate de sistem; clasele pot fi legate n mai multe moduri: associate (conectate ntre ele), dependente (o clasa depinde/folosete o alt clas), specializate (o clas este specializarea altei clase) sau mpachetate (grupate mpreun n cadrul unei unitai). Toate aceste relaii se materializeaz n structura intern a claselor n atribute i operaii. Diagrama este considerat static, n sensul c este valid n orice moment din ciclul de via al sistemului. Pentru a crea o diagram de clase, acestea trebuie s fie identificate i descrise. Identificarea claselor se face rspunznd la urmtoarele ntrebri: 11
Avem un tip de informaie care trebuie depozitat sau analizat? Avem sisteme externe nglobate n activitatea sistemului modelat? Exist dispozitive pe care sistemul trebuie s le mnuiasc? Exist biblioteci sau componente din alte proiecte care vor fi folosite n sistem? Actorii folosii (din use-cases) au un rol n sistem astfel nct vor trebui implementai ca fiind clase?
Notaia UML pentru o clas este un dreptunghi mprit n trei pri: numele clasei, atributele i operaiile. Att operaiile ct i atributele pot fi statice (afie subliniat), deci nu vor aparine unei instane a clasei din care provin ci vor aparine chiar clasei, fiecare din instanele ei avnd acces la acestea. Primul compartiment al dreptunghiului clasei (numele) este de obicei un substantiv care trebuie s fie derivat din domeniul problemei analizate i nu trebuie sa fie ambiguu. n partea median sunt atributele. Un atribut are un tip care poate fi: 1. primitiv (integer, real, string, byte, char etc.); 2. instan a unei clase construite de utilizator.
Operaiile (metodele) se trec n partea de jos a clasei i sunt folosite pentru a manipula atributele sau a performa alte aciuni. Descriu serviciile oferite de o clas, de aceea pot fi vzute ca fiind interfaa clasei respective. O operaie are un tip returnat, un nume i zero sau mai muli parametri.
12
Generalizarea: Relaie ntre o clas i subclasele sale, este prezent ori de cte
ori se semnaleaz de-a lungul unei ierarhii proprieti comune sau operaii ce evideniaz comportament comun.
Diagrama de Stare
Obiectele din cadrul sistemelor interacioneaz, comunic unele cu altele, prin intermediul aa-numitelor mesaje. Un mesaj este de fapt doar un apel al unei funcii (operaii) n care un anumit obiect invoc un altul. Modul n care comunic obiectele i efectele unei astfel de comunicri sunt referite ca fiind dinamica unui sistem, adic felul n care obiectele i schimb starea n timpul ciclului de via al sistemului.
13
Diagramele de stare descriu strile n care se poate gsi un obiect pe durata vieii sale, comportamentul obiectului aflat n respectivele stri mpreun cu evenimentele (mesaje primite, erori, condiii care devin adevrate) care-i afecteaz starea de-a lungul execuiei. Proprietatile unei stari sunt: 1. Nume; 2. Stereotip; 3. Entry: activitate care trebuie executat n momentul n care se intr n stare; 4. Exit: activitate care trebuie executat n momentul n care se iese din stare; 5. Do: activitate care trebuie executat n timpul n care obiectul se afl ntr-o anumit stare (poate fi ntrerupt de un eveniment extern); 6. Incoming: totalitatea tranziiilor care aduc obiectul n starea respectiv; 7. Outgoing: totalitatea tranziiilor care scot obiectul din starea respectiv; 8. Enternal tranzition: totalitatea tranziiilor interne (nu scot un obiect din starea respectiv - aciunile Entry i Exit nu sunt invocate).
Diagrama de Activitati
Diagramele de activitate descriu activitatile si responsabilitatile elementelor care alcatuiesc sistemul. O diagrama de activitate reprezinta interactiunile dintre activitati, adica fluxul de control al trecerii de la o activitate la alta. Spre deosebire de diagrama de stare infatiseaza starile unui obiect si tranzitiile dintre ele, diagrama de activitate evidentiaza activitatile si tranzitiile dintre ele. Diagramele de activitate pot fi folosite in urmatoarele scopuri: pentru a modela comportamentul intern al unei metode (implementarea unei operatii). Acesta este si cel mai folosit caz cand apelam la acest tip de diagrama;
14
pentru analiza interactiunii activitatilor unui caz de utilizare; pentru a ilustra modul de organizare a mai multor cazuri de utilizare si legaturile dintre acestea.
Diagrama de Secventa
O diagram de secven prezint colaborarea dinamic ntre un numr de obiecte , mai precis secvenele de mesaje trimise ntre acestea pe msura scurgerii timpului. Obiectele sunt vzute ca linii verticale distribuite pe orizontal, iar timpul este reprezentat pe axa vertical de sus n jos. Mesajele sunt reprezentate prin sgei ntre linile verticale ce corespund obiectelor implicate n mesaj. Pune accentul pe aspectul temporal (ordonarea n timp a mesajelor), fiind potrivit specificaiilor de timp real i scenariilor complexe. Atenia n aceste diagrame este focalizat asupra secvenelor de mesaje, mai precis ce mesaje sunt trimise i recepionate de obiecte. 15
Notaia grafic este un tabel care are pe axa X obiecte, iar pe axa Y mesaje ordonate cresctor n timp. Fiecare obiect este reprezentat ntr-un dreptunghi cu numele obiectului sau clasei scrise subliniat. O linie punctat reprezentat pe vertical, linia vieii, indic execuia obiectului de-a lungul secvenei (mesajele trimise sau recepionate sau activarea obiectului) i perioada n care obiectul preia controlul execuiei (reprezentat printr-un dreptunghi) i efectueaz o aciune, direct sau prin intermediul procedurilor subordonate.
Comunicarea ntre obiecte este reprezentat de sgei ntre liniile verticale ce corespund obiectelor implicate n mesaj. n aceste diagrame mesajele vor putea fi sincrone, asincrone sau simple, ca i n cazul diagramelor de stare. Numele mesajului (stimulului) precum i a aciunii care se va executa vor fi plasate deasupra acestei sgei. Aciunea executat este de cele mai multe ori o operaie implementat n cadrul clasei obiectului care primete mesajul. Dac aceast operaie returneaz o valoare care este important n desfurarea execuiei programului, se poate desena o sgeat punctat, orientat spre obiectul apelant.
Frecvent, acest tip de diagrame vor fi situate sub cazuri de utilizare sau sub diferite componente pentru a ilustra un scenariu (nu un algoritm), sau o succesiune de pai care sunt parcursi la apariia unui eveniment. Arat ce obiect iniiaz activitatea ntr-un sistem, ce procese i schimbri vor avea loc intern n cadrul sistemului i ce date de ieire vor fi generate n urma interaciunilor dintre obiecte. Aadar, o diagram de secven va reprezenta un scenariu dintr-un caz de utilizare (sau o parte a unui scenariu a unui caz de utilizare) sau un curs al evenimentelor, concentrndu-se pe
16
succesiunea n timp a interaciunilor din timpul execuiei, care este determinat prin citirea diagramei de sus n jos.
Diagrama de Colaborare
Diagramele de colaborare urmresc interaciunile i legturile ntre un set de obiecte care colaboreaz. Att diagramele de secven ct i cele de colaborare vizualizeaz interaciuni, dar diagrama de secven ia n considerare timpul, pe cnd cea de colaborare, spaiul (contextul). Ca i diagramele de secven i cele de colaborare pot fi folosite pentru a ilustra execuia unei operaii, a unui caz de utilizare sau a unui scenariu de interaciune ntr-un sistem. n acest tip de diagram nu se pot descrie mesajele concurente i asincrone. Diagramele de colaborare pot fi folosite pentru a ilustra interaciuni complexe ntre obiecte. Spre deosebire de diagramele de secven, cele de colaborare ilustreaz obiectele i legturile dintre ele: o reea de obiecte care colaboreaz i care n multe situaii pot face mai uoar nelegerea interaciunilor. Desenarea unei diagrame de colaborare se face similar cu a unei diagrame a obiectelor. Mesajele vor fi reprezentate prin sgei ntre obiectele implicate n mesaj i pot fi nsoite de etichete care specific ordinea n care acestea vor fi transmise. De asemenea, se pot vizualiza condiii, iteraii, valori returnate, precum i obiectele active care se execut concurent cu alte obiecte active. Pentru a ilustra o anumit interaciune tipul diagramei se stabilete dup urmtoarea regul:
17
1. alegem diagrama de colaborare cnd o vizualizare a obiectelor i legturilor dintre ele ne faciliteaz nelegerea interaciunilor sau cnd trebuie scos n eviden contextul; 2. alegem o diagram de secven cnd avem nevoie s vizualizm o secven de aciuni sau dac cel mai important aspect este timpul ori secvena de mesaje.
18
Cuprins
Formularea problemei .................................................................................................... 1 Introducere in UML ....................................................................................................... 6 Principalele parti ale UML sunt: ................................................................................ 7 Vederile (View) ..................................................................................................... 7 Diagramele ............................................................................................................. 7 Mecanismele generale ............................................................................................ 7 View-ul cazurilor de utilizare (Use-case View)......................................................... 8 View-ul logic (Logic View) ....................................................................................... 8 View-ul componentelor (Component View) ............................................................. 9 View-ul de concuren (Concurent View) ................................................................. 9 View-ul de desfsurare (Deployment View) ........................................................... 10 Diagrame ..................................................................................................................... 10 Diagrama Cazurilor de Utilizare .............................................................................. 10 Diagrama de Clasa ................................................................................................... 11 Relaii ntr-o diagram a claselor:............................................................................ 13 Asocierea: ............................................................................................................ 13 Agregarea: ............................................................................................................ 13 Compozitia: .......................................................................................................... 13 Generalizarea: ...................................................................................................... 13 Diagrama de Stare .................................................................................................... 13 Diagrama de Activitati ............................................................................................. 14 Diagrama de Secventa.............................................................................................. 15 Diagrama de Colaborare .......................................................................................... 17 Bibliografie .................................................................................................................. 19 Cuprins ......................................................................................................................... 19
Bibliografie
Introducere in uml.pdf
19