Documente Academic
Documente Profesional
Documente Cultură
Ploiești 2020
Unitatea de învățare 6. Limbajul unificat de modelare, UML
Unitatea de învățare 6. Limbajul unificat de modelare, UML .................................................... 2
6. 1. Modelarea ............................................................................................................... 2
6. 2. Limbajul unificat de modelare ................................................................................. 3
6. 3. Diagramele UML 2.0 ................................................................................................ 5
6.3. 1. Diagrama cazurilor de utilizare............................................................................. 5
6.3. 2. Scenarii ................................................................................................................. 9
6.3. 3. Diagrama de activitate ....................................................................................... 11
6.3. 4. Diagrama de clase .............................................................................................. 12
6.3. 5. Diagrama de secvențe ........................................................................................ 14
Durata: 2 ore
Cunoștințe și deprinderi
La finalul parcurgerii acestei unității de învățare veți înțelege:
- care este utilitatea modelării unui sistem;
- care sunt diagramele utilizate în limbajul de modelare UML;
- ce diagrame pot fi utilizare în evidențierea mesajelor dinte obiecte din punct de vedere
temporal.
6. 1. Modelarea
Un model reprezintă o simplificare a unui anumit sistem, care permite analizarea unora
dintre proprietățile acestuia. Utilizarea modelelor facilitează abordarea problemelor complexe,
comunicarea și înțelegerea acestora [1].
Se poate crea un model pentru:
▪ Descrierea elementelor componente sau a subsistemelor ce se regăsesc în
sistemul real;
▪ Simularea fenomenelor și proceselor ce au loc în sistemul real;
▪ Anticiparea anumitor consecințe;
▪ Predicția evoluției anumitor parametri ai sistemului real etc.
Construirea unui model trebuie să satisfacă în mod echilibrat două cerințe: prima
impune ca modelul să fie destul de simplu, să fie o reprezentare a sistemului real cu un anumit
grad de abstractizare. A doua cerință prevede ca modelul să fie destul de fidel sistemului real
[7].
În funcție de contextul în care este utilizat un model se poate construi în orice limbaj
“intern” (dacă nu există un context formal) sau utilizând un limbaj standardizat (într-un context
formal, înțeles de toți utilizatorii).
Necesitatea utilizării unui limbaj standardizat a rezultat din faptul că până la începutul
anilor 90 erau folosite aproximativ 50 de limbaje de modelare software, fiecare cu propriile
notații.
La mijlocul anilor 90 trei metode erau preponderent utilizate, dovedindu-se printre cele
mai eficiente [1]:
▪ metoda OOADA, creată de către Grady Booch. S-a dovedit eficientă mai ales în
etapa de proiectare și cea de implementare, cu dezavantajul unor notații
complicate.
▪ metoda OMT, Object Modeling Technique, dezvoltată de Jim Rumbaugh. Este
o metodă pentru analiza și proiectarea orientată obiect a unor sisteme informatice
cu multe date.
▪ metoda OOSE, Object Oriented Software Engineering (Ivar Jacobson). Inovația
acestei metode constă în propunerea utilizării așa-numitele cazuri de utilizare,
care ajută la înțelegerea comportamentului sistemului în ansamblu.
În ianuarie 1997, cei trei autori au lansat prima versiune a limbajului unificat de
modelare, UML – ce conținea elemente de analiză și proiectare preluate din cele trei metode
(OOADA, OMT, OOSE). În scurt timp, UML a fost ales ca standard al limbajelor de modelare
orientate obiect.
UML este un limbaj grafic care oferă dezvoltatorilor instrumente pentru vizualizarea,
specificarea, construirea și crearea documentației componentelor unui sistem software. El poate
fi util în toate domeniile ingineriei software oferind posibilitatea de a include în proiectarea
sistemului atât a obiectelor conceptuale și a funcțiilor de sistem, precum și a obiectelor concrete
cum ar fi declarațiile din limbajul de programare, scheme ale bazelor de date și componente
software reutilizabile [3].
Ca orice limbaj, UML are notații (alfabetul de simboluri) și reguli pentru combinarea
simbolurilor (sintaxă și gramatică). Diagramele puse de către UML la dispoziția utilizatorilor
se împart în 2 mari categorii (Figura 1) [8]:
• Diagrame de structură, ce prezintă elementele unei specificații independent
de timp;
• Diagrame comportamentale, ce prezintă trăsăturile comportamentale ale
sistemului software.
Figura 1 Diagrame UML 2.0 [8]
Diagramele UML 2.0 ce vor fi prezentate cu utilitate ridicată în cadrul acestui curs sunt:
diagramele cazurilor de utilizare, diagramele de activitate, diagramele de clase, diagramele de
secvență. Ele vor fi dezvoltate cu ajutorul produsului software Visual Paradigm Community
Edition 15.0 [9].
Exercițiul 1
Descrieți în ce alte scopuri mai poate fi utilă modelarea unui sistem.
Un caz de utilizare reprezintă un ansamblu de acțiuni la care participă unul sau mai mulți
actori și care permite modelarea comportamentală a sistemului studiat [5]. Comportamentul
unui caz de utilizare este specificat prin descrierea setului de acțiuni [3]. Pentru sistemul
MonitAer putem exemplifica in Figura 4 câteva cazuri de utilizare (PornesteAplicatia,
AdaugaParametruAtmosferic, AdaugăMasuratori, AfiseazaValoriParametruAtmosferic etc).
Exercițiul 2
Descrieți câteva cazuri de utilizare pentru un alt actor al sistemului MonitAer (Un alt actor
poate fi considerat sistemul online de informare a populației cu privire la calitatea aerului, către
care sistemul informatic furnizează date periodic).
Figura 5. Cazuri de utilizare pentru navigator
Relația de extensie se utilizează atunci când există un caz de utilizare similar cu un alt
caz, dar care face ceva în plus față de acesta. Cuvântul cheie <<extend>>, în Figura 7,
precizează că după execuția procedurii Cazul 4 se poate eventual, continua cu procedura Cazul
3.
Exercițiul 3
Dați exemple de cazuri de utilizare între care există relația de incluziune, respectiv relația
de extensie.
6.3. 2. Scenarii
Un scenariu reprezintă o succesiune de pași care descrie o posibilă interacțiune între
actor și sistem.
De exemplu, pentru cazul de utilizare Afișarea valorii indicelui specific la o anumită
oră pot exista următoarele scenarii:
Scenariul (1)
1. Responsabilul, care dorește să afișeze valoarea indexului specific la o anumită
oră, completează rubricile afectate datei și orei cât și a stației de monitorizare
dorite și apoi apasă butonul “Afișare”;
2. Sistemul preia datele si verifica dacă stația există în lista stațiilor de
monitorizare, iar pentru data și ora cerute sunt valori înregistrate;
3. Responsabilul primește mesajul: „Stația de monitorizare nu există în cadrul
rețelei de monitorizare. Introduceți o stație validă”.
Scenariul (2)
1. Responsabilul, care dorește să afișeze valoarea indexului specific la o anumită
oră, completează rubricile afectate datei și orei cât și a stației de monitorizare
dorite și apoi apasă butonul “Afișare”;
2. Sistemul preia datele și verifică dacă stația există în lista stațiilor de
monitorizare, iar pentru data și ora cerute sunt valori înregistrate;
3. Responsabilul primește mesajul: „Pentru data și ora selectată nu există
înregistrări în cadrul rețelei de monitorizare”.
Scenariul (3)
1. Responsabilul, care dorește să afișeze valoarea indexului specific la o anumită
oră, completează rubricile afectate datei și orei cât și a stației de monitorizare
dorite și apoi apasă butonul “Afișare”;
2. Sistemul preia datele și verifică dacă stația există în lista stațiilor de
monitorizare, iar pentru data și ora cerute sunt valori înregistrate;
3. Responsabilul primește mesajul: „Nu se poate calcula valoarea indexului
specific deoarece nu există valori măsurate pentru minim trei poluanți
atmosferici”.
Scenariul (4)
1. Responsabilul, care dorește să afișeze valoarea indexului specific la o anumită
oră, completează rubricile afectate datei și orei cât și a stației de monitorizare
dorite și apoi apasă butonul “Afișare”;
2. Sistemul preia datele și verifică dacă stația există în lista stațiilor de
monitorizare, iar pentru data și ora cerute sunt valori înregistrate;
3. Sistemul afișează valoarea indicelui general calculat la stația, data și ora indicată
de Responsabil.
Descrierea unui caz de utilizare cuprinde un set de scenarii corelate, de exemplu, toate
scenariile de afișare a valorii indicelui specific la o anumită oră. Formatul descrierii consta
dintr-o secvență tipică de pași si alternativele, ca variante ale secvenței tipice. Exemplu:
Cazul de utilizare Afișarea valorii indicelui specific la o anumită oră
1. Responsabilul, care dorește să afișeze valoarea indexului specific la o anumită
oră, completează rubricile afectate datei și orei cât și a stației de monitorizare
dorite și apoi apasă butonul “Afișare”;
2. Sistemul preia datele si verifica dacă stația există în lista stațiilor de
monitorizare, iar pentru data și ora cerute sunt valori înregistrate;
3. Sistemul verifică datele introduse de Responsabil;
3a). Dacă stația de monitorizare nu este validă, se execută alternativa “Stație
invalidă”;
3b). Dacă data sau ora introduce nu sunt valide, se execută alternativa “Dată sau
oră invalidă”;
4. Sistemul caută valorile dorite;
4a). Dacă nu există minim trei valori măsurate pentru poluanții vizați se execută
alternativa “Imposibilitate de calcul”;
5. Sistemul afișează valoarea indicelui general calculat la stația, data și ora indicată
de Responsabil.