Diagrama Cazurilor de Utilizare

21
Diagrama Cazurilor Diagrama Cazurilor de Utilizare de Utilizare Use-case Diagram Use-case Diagram

description

Diagrama Cazurilor de Utilizare. Use-case Diagram. Definiţie. O diagramă a cazurilor de utilizare prezintă o colecţie de cazuri de utilizare şi actori care: oferă o descriere generală a modului în care va fi utilizat sistemul; - PowerPoint PPT Presentation

Transcript of Diagrama Cazurilor de Utilizare

Page 1: Diagrama Cazurilor de Utilizare

Diagrama Cazurilor de Diagrama Cazurilor de UtilizareUtilizare

Use-case DiagramUse-case Diagram

Page 2: Diagrama Cazurilor de Utilizare

DefiniţieDefiniţie

O diagramă a cazurilor de utilizare prezintă o colecţie de O diagramă a cazurilor de utilizare prezintă o colecţie de cazuri de utilizarecazuri de utilizare şi şi actoriactori care: care: oferă o descriere generală a modului în care va fi utilizat oferă o descriere generală a modului în care va fi utilizat sistemul;sistemul; furnizează o privire de ansamblu a funcţionalităţilor ce se furnizează o privire de ansamblu a funcţionalităţilor ce se doresc a fi oferite de sistem;doresc a fi oferite de sistem; arată cum interacţionează sistemul cu unul sau mai mulţi arată cum interacţionează sistemul cu unul sau mai mulţi actori;actori; asigură faptul că sistemul va produce ceea ce s-a dorit.asigură faptul că sistemul va produce ceea ce s-a dorit.

Obs:Obs: Precizează ce face un program sau subprogram şi nu Precizează ce face un program sau subprogram şi nu cum se implementează o funcţionalitate!cum se implementează o funcţionalitate!

Page 3: Diagrama Cazurilor de Utilizare

ReprezentareReprezentare

Pentru a crea un model al cazurilor de utilizare Pentru a crea un model al cazurilor de utilizare trebuie parcurşi mai mulţi paşi şi anume: trebuie parcurşi mai mulţi paşi şi anume: definirea sistemului; definirea sistemului; identificarea actorilor şi a cazurilor de utilizare; identificarea actorilor şi a cazurilor de utilizare; definirea relaţiilor; definirea relaţiilor; descrierea cazurilor de utilizare; descrierea cazurilor de utilizare; validarea modelului. validarea modelului.

Din punct de vedere grafic o diagramă a cazurilor Din punct de vedere grafic o diagramă a cazurilor de utilizare este un graf având drept noduri actori şi de utilizare este un graf având drept noduri actori şi cazuri de utilizare, iar drept muchii, diferite relaţii cazuri de utilizare, iar drept muchii, diferite relaţii între aceste elemente.între aceste elemente.

Page 4: Diagrama Cazurilor de Utilizare

ActorulActorul

Reprezintă un rol pe care utilizatorii unui caz de Reprezintă un rol pe care utilizatorii unui caz de utilizare îl joacă atunci când interacţionează cu utilizare îl joacă atunci când interacţionează cu acesta.acesta.

Este o entitate exterioară sistemului.Este o entitate exterioară sistemului. Interacţionează cu sistemul:Interacţionează cu sistemul:

Iniţiază execuţia unor cazuri de utilizare;Iniţiază execuţia unor cazuri de utilizare; Oferă funcţionalitate pentru realizarea unor cazuri de Oferă funcţionalitate pentru realizarea unor cazuri de

utilizare.utilizare. Poate fi:Poate fi:

Utilizator (uman);Utilizator (uman); Sistem software;Sistem software; Sistem hardware.Sistem hardware.

Page 5: Diagrama Cazurilor de Utilizare

ActorulActorul

Identificarea actorilor se face raspunzând la următoarele Identificarea actorilor se face raspunzând la următoarele întrebări:întrebări: Cine doreşte sau este interesat de informaţiile aflate în sistem?Cine doreşte sau este interesat de informaţiile aflate în sistem? Cine modifică date?Cine modifică date? Cine interacţionează cu sistemul?Cine interacţionează cu sistemul?

Notaţie: Notaţie:

Atribute:Atribute:NumeNume (unic): indică rolul pe care actorul îl joacă în interacţiunea cu (unic): indică rolul pe care actorul îl joacă în interacţiunea cu un caz de utilizare.un caz de utilizare.

Page 6: Diagrama Cazurilor de Utilizare

Cazul de utilizareCazul de utilizare (Use-case) (Use-case) Un caz de utilizare reprezintă o colecţie de scenarii posibile, Un caz de utilizare reprezintă o colecţie de scenarii posibile,

referitoare la comunicarea între sistem şi actorii externi, caracterizate referitoare la comunicarea între sistem şi actorii externi, caracterizate de anumite scopuri. de anumite scopuri.

Aceste scenarii sunt definite ca secvenţe de paşi cărora le pot Aceste scenarii sunt definite ca secvenţe de paşi cărora le pot corespunde cazuri de utilizare de nivel inferior.corespunde cazuri de utilizare de nivel inferior.

Cazurile de utilizare arată Cazurile de utilizare arată cece trebuie să facă sistemul şi trebuie să facă sistemul şi nu cumnu cum..

Notaţie: Notaţie:

Atribute:Atribute:NumeNume (unic): cazurile de utilizare sunt denumite de obicei printr-o (unic): cazurile de utilizare sunt denumite de obicei printr-o combinaţie verb-substantiv. De exemplu: combinaţie verb-substantiv. De exemplu: Plăteşte facturaPlăteşte factura, , Creează contCreează cont etc.etc.

Page 7: Diagrama Cazurilor de Utilizare

RelaţiiRelaţii

Se stabilesc între două elemente:Se stabilesc între două elemente:

Actor – Caz de utilizareActor – Caz de utilizare: asociere;: asociere; Actor – ActorActor – Actor: generalizare;: generalizare; Caz de utilizare – Caz de utilizareCaz de utilizare – Caz de utilizare: :

Generalizare;Generalizare; Dependenţa (Dependenţa (<<include>><<include>>, , <<extend>><<extend>>).).

Page 8: Diagrama Cazurilor de Utilizare

Asocierea Asocierea Actor – Caz de utilizareActor – Caz de utilizare

O asociere reprezintă o conexiune O asociere reprezintă o conexiune semantică între cazurile de utilizare şi actori;semantică între cazurile de utilizare şi actori;

Actorul iniţiază execuţia cazului de utilizare Actorul iniţiază execuţia cazului de utilizare sau oferă funcţionalitate pentru realizarea sau oferă funcţionalitate pentru realizarea acestuia;acestuia;

Notaţie:Notaţie:

Page 9: Diagrama Cazurilor de Utilizare

Exemplu:Exemplu:

Page 10: Diagrama Cazurilor de Utilizare

GeneralizareaGeneralizarea

Se realizează între elemente de acelaşi tip.Se realizează între elemente de acelaşi tip.

Modelează situaţii în care un element este Modelează situaţii în care un element este un caz particular al altui element.un caz particular al altui element.

Elementul particular moşteneşte relaţiile în Elementul particular moşteneşte relaţiile în care este implicat elementul general.care este implicat elementul general.

Page 11: Diagrama Cazurilor de Utilizare

Generalizarea Generalizarea Actor - ActorActor - Actor

Dacă un actor moşteneşte un alt actor, Dacă un actor moşteneşte un alt actor, atunci el poate să comunice cu aceleaşi atunci el poate să comunice cu aceleaşi cazuri de utilizare ale sistemului ca şi cazuri de utilizare ale sistemului ca şi părintele său.părintele său.

Notaţie:Notaţie:

Page 12: Diagrama Cazurilor de Utilizare

Generalizarea Generalizarea Caz de utilizare - Caz de utilizare - Caz de utilizareCaz de utilizare

Un caz de utilizare moşteneşte Un caz de utilizare moşteneşte comportamentul altui caz şi îl rafinează.comportamentul altui caz şi îl rafinează.

Notaţie:Notaţie:

Page 13: Diagrama Cazurilor de Utilizare

Exemple:Exemple:

Generalizare

Actor - Actor

Generalizare

Caz de utilizare – Caz de utilizare

Page 14: Diagrama Cazurilor de Utilizare

DependenţaDependenţa

Apare între două cazuri de utilizare;Apare între două cazuri de utilizare; Modelează situaţiile în care: Modelează situaţiile în care:

un caz de utilizare foloseşte comportamentul definit în un caz de utilizare foloseşte comportamentul definit în alt caz de utilizare (<<include>>);alt caz de utilizare (<<include>>);

comportamentul unui caz de utilizare poate fi extins comportamentul unui caz de utilizare poate fi extins de către un alt caz de utilizare, dar numai în anumite de către un alt caz de utilizare, dar numai în anumite condiţii (<<extend>>).condiţii (<<extend>>).

Notaţii:Notaţii:

Page 15: Diagrama Cazurilor de Utilizare

Exemplu: relaţie de tip includereExemplu: relaţie de tip includere

Relaţia de tip includere se foloseşte atunci când cazulRelaţia de tip includere se foloseşte atunci când cazul de de utilizare inclus este o parte esenţială a fluxului din cazul utilizare inclus este o parte esenţială a fluxului din cazul de utilizare de bază sau este un comportament care se de utilizare de bază sau este un comportament care se repetă în mai multe use cazuri de utilizare. repetă în mai multe use cazuri de utilizare.

De pildă, autentificarea în sistem condiţionează De pildă, autentificarea în sistem condiţionează introducerea unei comenziintroducerea unei comenzi şi de asemenea, poate fi şi de asemenea, poate fi folosită în mai multe cazuri de utilizare:folosită în mai multe cazuri de utilizare:

Page 16: Diagrama Cazurilor de Utilizare

Exemplu: relaţie de tip extensieExemplu: relaţie de tip extensie

Relaţiile de tip extensie se folosesc atunci când se Relaţiile de tip extensie se folosesc atunci când se modelează un comportament opţional sau excepţional, modelează un comportament opţional sau excepţional, care nu condiţionează finalitatea use case-ului de bază. care nu condiţionează finalitatea use case-ului de bază.

De exemplu, un utilizator poate, în cazuri excepţionale De exemplu, un utilizator poate, în cazuri excepţionale să aleagă să depună o reclamaţie după efectuarea unei să aleagă să depună o reclamaţie după efectuarea unei comenzi:comenzi:

Page 17: Diagrama Cazurilor de Utilizare

Extension PointExtension Point

Identifică un punct în comportamentul unui Identifică un punct în comportamentul unui caz de utilizare în care comportamenentul caz de utilizare în care comportamenentul acestuia poate extins de către un alt caz acestuia poate extins de către un alt caz de utilizare;de utilizare;

Trebuie să aibă un nume;Trebuie să aibă un nume; Poate avea ataşată o condiţie.Poate avea ataşată o condiţie.

Page 18: Diagrama Cazurilor de Utilizare

Exemplu: Diagrama Exemplu: Diagrama a ca cazazurilorurilor de de utilizareutilizare

Enunţ:Enunţ: Să se realizeze diagrama cazurilor de utilizare Să se realizeze diagrama cazurilor de utilizare pentru un produs software ce urmează deservească o pentru un produs software ce urmează deservească o casă de marcat din cadrul unui supermagazin. casă de marcat din cadrul unui supermagazin.

Considerăm următorul scenariu:Considerăm următorul scenariu:1. Clientul solicită produsul.1. Clientul solicită produsul.2. Vânzătorul realizează facturarea acestuia. Pentru 2. Vânzătorul realizează facturarea acestuia. Pentru

aceasta:aceasta:a)a) se scanează codul de bare;se scanează codul de bare;b)b) se caută în baza de date codul produsului;se caută în baza de date codul produsului;c)c) dacă produsul este găsit, se adaugă la factură;dacă produsul este găsit, se adaugă la factură;d)d) dacă produsul nu este găsit, este respins.dacă produsul nu este găsit, este respins.

Page 19: Diagrama Cazurilor de Utilizare

Identificarea Actorilor şi a Cazurilor Identificarea Actorilor şi a Cazurilor de utilizarede utilizare

Din enunţul anterior se identifică următorii actori:Din enunţul anterior se identifică următorii actori:• • ClientClient• • VanzatorVanzator

Cazurile de utilizare corespunzătoare funcţionalităţilor Cazurile de utilizare corespunzătoare funcţionalităţilor descrise sunt urmatoarele:descrise sunt urmatoarele: Solicitarea produsuluiSolicitarea produsului FacturareaFacturarea Citirea codului de bareCitirea codului de bare Cautarea in baza de dateCautarea in baza de date Adaugarea produsului la facturaAdaugarea produsului la factura Respingerea produsuluiRespingerea produsului

Page 20: Diagrama Cazurilor de Utilizare

Diagrama Cazurilor de utilizareDiagrama Cazurilor de utilizare

Page 21: Diagrama Cazurilor de Utilizare

Temă de laboratorTemă de laborator În cele mai multe din magazine procesul de vânzare este În cele mai multe din magazine procesul de vânzare este descris de urmatoarele: clientul intră în magazin, trece descris de urmatoarele: clientul intră în magazin, trece printre raioane pentru a cunoaşte oferta, cere eventuale printre raioane pentru a cunoaşte oferta, cere eventuale informaţii sau încearcă produsul respectiv, ia apoi articolul informaţii sau încearcă produsul respectiv, ia apoi articolul respectiv (sau îl rezervă dacă stocul este insuficient) iar la respectiv (sau îl rezervă dacă stocul este insuficient) iar la final trece pe la casă unde va regla cumpărăturile sale.final trece pe la casă unde va regla cumpărăturile sale. Cumpărătorul poate beneficia de o reducere pentru Cumpărătorul poate beneficia de o reducere pentru cumpărăturile sale la prezentarea unui card de fidelitate. cumpărăturile sale la prezentarea unui card de fidelitate. El poate plăti în cash, utilizând cardul bancar sau tichete El poate plăti în cash, utilizând cardul bancar sau tichete de masă (numai pentru produse alimentare). de masă (numai pentru produse alimentare). Produsele de dimensiuni foarte mari pot fi livrate la Produsele de dimensiuni foarte mari pot fi livrate la domiciliu. domiciliu. Asupra clientului nu se va retine nicio referinţă, chiar daca Asupra clientului nu se va retine nicio referinţă, chiar daca în caz de reclamaţii sunt conservate anumite informatii.în caz de reclamaţii sunt conservate anumite informatii. a) Modelaţi această situaţie uzuală pornind a) Modelaţi această situaţie uzuală pornind strictstrict de la de la textul de mai sus utilizând o diagramă de cazuri de textul de mai sus utilizând o diagramă de cazuri de utilizare.utilizare. b) Justificaţi relaţiile dintre cazurile de utilizare.b) Justificaţi relaţiile dintre cazurile de utilizare.