100% au considerat acest document util (1 vot)
156 vizualizări10 pagini

1 Diagrame Use Case

Acest document prezintă diagrama cazurilor de utilizare (Use Case Diagram) ca parte a limbajului de modelare UML. Diagrama cazurilor de utilizare descrie interacțiunile dintre actori și funcționalitățile sistemului, reprezentate prin cazuri de utilizare. Documentul explică elementele unei diagrame UML, inclusiv cazurile de utilizare, actorii și relațiile dintre acestea.
Drepturi de autor
© © All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca DOCX, PDF, TXT sau citiți online pe Scribd
100% au considerat acest document util (1 vot)
156 vizualizări10 pagini

1 Diagrame Use Case

Acest document prezintă diagrama cazurilor de utilizare (Use Case Diagram) ca parte a limbajului de modelare UML. Diagrama cazurilor de utilizare descrie interacțiunile dintre actori și funcționalitățile sistemului, reprezentate prin cazuri de utilizare. Documentul explică elementele unei diagrame UML, inclusiv cazurile de utilizare, actorii și relațiile dintre acestea.
Drepturi de autor
© © All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca DOCX, PDF, TXT sau citiți online pe Scribd
Sunteți pe pagina 1/ 10

Ministerul Educaţiei, Culturii şi Cercetării al Republicii Moldova Universitatea

Liberă Internaţională din Moldova

Facultatea Informatică, Inginerie şi Design

Disciplina: Limbaje de Modelare

Lucrare de laborator Nr.1

Tema: Diagrama (Use Case)

A efectuat

Student gr. TIR-46

Pîrlog Andrei

A verificat

Bunici Sergiu

Chişinău 2020
Laborator 1

UML – Unified Modeling Language

Diagrama cazurilor de utilizare (Use Case Diagram)

Introducere

UML este un limbaj de modelare bazat pe notaţii grafice folosit pentru a specifica, vizualiza,
construi şi documenta componentele unui program. UML este un limbaj cu ajutorul căruia se pot
construi (descrie) modele. Un model surprinde un anumit aspect al unui program şi acelaşi model poate
fi descris la diferite nivele de abstractizare. Fiecărui model îi corespunde o diagramă. Tipurile de
diagrame existente în UML sunt:

¾ Diagrama cazurilor de utilizare (Use Case Diagram)


¾ Diagrama de clase (Class Diagram)
¾ Diagrame care descriu comportamentul:

• Diagrame de interacţiuni (Interactions Diagrams)


- Diagrama de secvenţă (Sequence Diagram)
- Diagrama de colaborare (Collaboration Diagram)

• Diagrama de stări (State chart Diagram) • Diagrama de activităţi (Activity


Diagram) ¾ Diagrame de implementare:
• Diagrama de componente (Component Diagram)
• Diagrama de plasare (Deployment Diagram)

Fiecărei din cele trei mari faze din dezvoltarea un proiect software îi corespunde una sau mai
multe diagrame UML şi anume:
- pentru faza de analiza se utilizează diagrama cazurilor de utilizare şi diagrama de activităţi;
- în faza de analiză se folosesc: diagrama de clase pentru precizarea structurii sistemului şi
diagramele de stări şi interacţiune pentru descrierea comportamentului acestuia; - în faza de
implementare se utilizează diagramele de implementare.

Diagrama cazurilor de utilizare (Use Case Diagram)

Nici un program nu este izolat, el interacţionând cu oameni sau cu alte sisteme pentru
îndeplinirea unui scop.
O diagramă use case este una din diagramele folosite în UML pentru a modela aspectele
dinamice ale unui program alături de diagrama de activităţi, diagrama de stări, diagrama de secvenţă şi
diagrama de colaborare.
Elementele componente ale unei diagrame use case sunt:
- use case-uri; - actori;
- relaţiile care se stabilesc între use case-uri, între actori şi între use case-uri şi actori.

Use case-uri

Un use case (caz de utilizare) reprezintă cerinţe ale utilizatorilor. Este o descriere a unei mulţimi
de secvenţe de acţiuni (incluzând variante) pe care un program le execută atunci când interacţionează cu
entităţile din afara lui (actori) şi care conduc la obţinerea unui rezultat observabil şi de folos actorului.
Un use case descrie ce face un program sau subprogram, dar nu precizează nimic despre cum este
realizată (implementată) o anumită funcţionalitate.
Fiecare use case are un nume prin care se deosebeşte de celelalte use case-uri. Acesta poate fi un
şir arbitrar de caractere, însă de regulă numele sunt scurte fraze verbale care denumesc un comportament
ce există în vocabularul sistemului ce trebuie modelat. Figura 1 prezintă notaţia grafică pentru use case.

Figura 1: Notaţia grafică pentru use case

Comportamentul unui use case poate fi specificat descriind un flux de evenimente într-un text
suficient de clar ca să poată fi înţeles de cineva din exterior (de exemplu utilizatorul). Acest flux de
evenimente trebuie să includă cum începe şi se termină use case-ul atunci când acesta interacţionează cu
actori, ce obiecte sunt interschimbate, precum şi fluxuri alternative ale acestui comportament. Aceste
fluxuri de evenimente reprezintă scenarii posibile de utilizare a sistemului.
Identificarea use case-urilor se face pornind de la cerinţele utilizatorului şi analizând descrierea
problemei.

Actori

Un actor reprezintă idealizarea unei peroane, proces sau obiect exterior care interacţionează cu
un sistem, subsistem sau o clasă. Actorii sunt entităţi exterioare sistemului. Ei pot fi utilizatori
(persoane), echipamente hardware sau alte programe. Fiecare actor are un nume care indică rolul pe care
acesta îl joacă în interacţiunea cu programul.
Notaţie grafică pentru un actor este ilustrată în figura 2.

nume

Figura 2: Notaţia grafică pentru actor


Există două moduri în care actorii pot interacţiona cu un sistem:
• folosind sistemul, adică iniţiază execuţia unor use case-uri;
• sunt folosiţi de către sistem, adică oferă funcţionalitate pentru realizarea unor use case-
uri.
Fiecare actor trebuie să comunice cu cel puţin un use case.
Pentru identificarea actorilor ar trebui să răspundem la următoarele întrebări:
• Cine foloseşte programul?
• De cine are nevoie programul pentru a-şi îndeplini sarcinile?
• Cine este responsabil cu administrarea sistemului?
• Cu ce echipamente externe trebuie să comunice programul?
• Cu ce sisteme software externe trebuie să comunice programul?
• Cine are nevoie de rezultatele (răspunsurile) oferite de program?

Relaţii

După cum am mai precizat, relaţiile exprimă interacţiuni între use case-uri, între actori şi între
use case-uri şi actori. Relaţiile pot fi de mai multe tipuri: asociere, dependenţă şi generalizare.

Relaţia de asociere se defineşte între actori şi use case-uri, sau între use case-uri. Este folosită pentru a
exprima interacţiunea (comunicarea) între elementele pe care le uneşte. Relaţia de asociere se reprezintă
grafic printr-o linie şi este evidenţiată în exemplele din figurile 3 şi 4.

Fig. 3. Exemplu de asociere între use case-uri

Fig. 4. Exemplu de asociere între actor şi use case


Relaţia de dependenţă se poate stabili numai între use case-uri. Acest tip de relaţie modelează două
situaţii:
• cazul în care un use case foloseşte funcţionalitatea oferită de un alt use case - dependenţa de
tip include;
• există variante ale aceluiaşi use case – dependenţa de tip extend.

Dependenţa de tip include. Notaţia grafică este dată în figura 5.


Fig. 5. Dependenţă de tip include

În acest caz comportamentul use case-ului B este inclus în use case-ul A. B este de sine stătător,
însă este necesar pentru a asigura funcţionalitatea use case-ului de bază A. În exemplul din figura 6, use
case-ul Stabileste grupul care lucreaza la campanie are o relaţie de dependenţă de
tip include cu use case-ul Gaseste campanie. Aceasta înseamnă că atunci când
actorul Manager campanie utilizează Stabileste grupul care lucreaza la
campanie, comportamentul use case-ului Gaseste campanie va fi inclus pentru a putea selecta o
campanie relevantă.

Fig. 6. Diagramă use case cu dependenţă de tip include

Dependenţa de tip include se foloseşte şi pentru a scoate în evidenţă un comportament comun (B


poate fi inclus în mai multe use case-uri de bază – vezi figura 7).

Fig. 7. Dependenţă de tip include în care un use case este inclus în


mai multe use case-uri de bază
Dependenţa de tip extend. Notaţie grafică se poate vedea în figura 8.

Fig. 8. Dependenţă de tip extend

În acest caz comportamentul use case-ului B poate fi înglobat în use case-ul A. A şi B sunt de
sine stătătoare. A controlează dacă B va fi executat sau nu (vezi exemplul din figura 9).
Fig.9. Exemplu de dependenţă de tip extend

Într-o dependenţă de tip extend pot apărea aşa numitele punctele de extensie care specifică locul
în care use case-ul specializat (B) extinde use case-ul de bază (A). Pentru fiecare use case pot fi
specificate mai multe puncte de extensie. Fiecare dintre aceste puncte trebuie să aibă un nume. Aceste
nume trebuie să fie unice, însă nu este obligatoriu ca ele să coincidă cu numele use caseurilor
specializate. De asemenea, trebuie precizată condiţia de care depinde apelul use case-ului specializat.
Acest tip de relaţie se foloseşte pentru a modela alternative. În figurile 10.a şi 10.b sunt prezentate
diagrame use case cu dependenţe extend care au puncte de extensie.

(a)
(b)

Fig. 10. Diagrame use case cu dependenţe de tip extend

Relaţia de generalizare se stabileşte între elemente de acelaşi tip (doi actori, sau doua use case-uri). Este
similară relaţiei de generalizare (moştenire) care se stabileşte între clase. Figura 11 ilustrează notaţia
grafică pentru relaţia de generalizare între use case-uri. Elementul derivat B moşteneşte comportamentul
şi relaţiile elementului de bază A. Use case-ul B este o specializare a use case-ului A.
În cazul unei relaţii de generalizare între use case-uri comportamentul poate fi modificat sau
extins; use case-ul derivat B poate înlocui în anumite situaţii use case-ul de bază A. Case-ul derivat B
controlează ce anume se execută şi ce se modifică din use case-ul de bază A.

use case derivat generalizare use case de bază


(specializat)

Fig. 11. Notaţia grafică pentru relaţia de generalizare între use case-uri

În figura 12 este prezentat un exemplu de relaţie de generalizare între use case-uri.


Fig. 12. Exemplu de relaţie de generalizare între use case-uri

După cum am precizat mai sus, relaţia de generalizare se poate aplica şi între actori. În exemplul din
figura 13 este prezentată o relaţie de generalizare între actori.

Fig. 13. Relaţie de generalizare între actori

În exemplul din figura 14.a actorii A şi B joacă acelaşi rol R atunci când comunică cu use case-ul
UC şi joaca roluri diferite în interacţiunea cu use case-ul UC în figura 14.b.

(a) (b)

Fig. 14. Tipuri de roluri jucate de actori în interacţiunea cu use case-ul

În figura 15 este prezentată o diagramă use case care utilizează toate tipurile de relaţii definite anterior.
Fig. 15. Exemplu de diagrama use case

Reamintim utilizările diagramei use case:


• pentru a modela contextul unui sistem: determinarea graniţelor sistemului şi a actorilor cu care
acesta interacţionează.
• pentru a modela cerinţele unui sistem: ce trebuie să facă sistemul (dintr-un punct de vedere
exterior sistemului) independent de cum trebuie să facă. Va rezulta specificarea
comportamentului dorit. Sistemul apare ca o cutie neagră. Ceea ce se vede este cum reacţionează
el la acţiunile din exterior.
Graficul Realizat:

S-ar putea să vă placă și