Salta el contingut
 

Diagrama de casos d'ús

Joan Puigcerver Ibáñez

j.puigcerveribanez@edu.gva.es

Llicència: CC BY-NC-SA 4.0

(Reconeixement - NoComercial - CompartirIgual) 🅭

Diagrama de casos d'ús

Els diagrames de casos d'ús són un tipus de diagrames de comportament UML.

Esquema diagrames de comportament

Figura 1. Esquema de diagrames de comportament UML

Els diagrames de casos d'ús són un tipus de diagrama que s'utilitza per modelar i representar les interaccions entre un sistema i els seus actors. Un actor pot ser qualsevol entitat que interactua amb el sistema, com ara un usuari, un dispositiu o un altre sistema. Un diagrama de casos d'ús representa els requisits funcionals del sistema mostrant com els actors interactuen amb aquest per assolir determinats objectius.

Els elements bàsics d'un diagrama de casos d'ús d'UML inclouen actors, casos d'ús i les relacions entre ells. Els actors es representen com a figures de pal, mentre que els casos d'ús es representen amb ovals. Les relacions entre actors i casos d'ús es representen mitjançant línies.

Elements d'un diagrama de casos d'ús

Sistemes

Un sistema fa referència al sistema o aplicació de software que s'està modelant. És el focus del diagrama i representa la col·lecció de components de programari, mòduls i altres elements que treballen conjuntament per assolir un conjunt d'objectius o funcions.

El sistema normalment es representa com un rectangle al diagrama, on els casos d'ús s'especifiquen dins del rectangle i els actors fora d'aquest. El rectangle també es pot etiquetar amb el nom del sistema o aplicació que s'està modelant.

Exemple: Aplicació bancària

En aquest exemple, anem a modelar una aplicació bancària, que serà el sistema d'aquest diagrama.

Sistema que representa una aplicació bancària

Figura 2. Sistema que representa una aplicació bancària

Actors

Un actor és una entitat que interactua amb el sistema que s'està modelant. Els actors poden ser persones, altres sistemes de programari, dispositius de maquinari o qualsevol altra entitat externa que interactua amb el sistema d'alguna manera.

Els actors normalment es representen com a figures de pal al diagrama i es col·loquen fora del límit del sistema. El nom de l'actor es pot escriure baix de la figura per identificar l'entitat concreta que es representa.

És important que cada actor interactue almenys una vegada en el sistema (tinga almenys una associació amb algun cas d'ús).

Els actors poden ser:

  • Primaris: Interactua directament amb el sistema que s'està modelant per assolir un objectiu o tasca específica. Els actors principals són els principals usuaris del sistema i normalment són el focus del diagrama de casos d'ús. Sovint, són els actors als quals el sistema està dissenyat per servir, i els seus objectius i tasques són el principal motor del disseny del sistema.
  • Secundaris: Interactua indirectament amb el sistema que s'està modelant. Els actors secundaris poden proporcionar entrada o eixida al sistema, però no són els usuaris principals del sistema i els seus objectius i tasques no són el focus principal del diagrama de casos d'ús. En canvi, els actors secundaris juguen un paper de suport en el funcionament del sistema, ajudant a facilitar les interaccions entre els actors primaris i el sistema. Normalment, aquests reaccionen a les accions que realitzen els actors primaris.

Normalment, els actors primaris es dibuixen a l'esquerra del sistema, mentre que els actors secundaris es dibuixen a la dreta.

Exemple: Actors aplicació bancària

En aquest exemple, tenim dos actors. Un actor primari Client, que modela els clients del banc que utilitzaran l'aplicació. Per una altra banda, tenim l'actor secundari Bob Banc, que reaccionarà a les accions del client i proporcionarà les dades que utilitzarà l'aplicació.

Actors d'una aplicació bancària

Figura 3. Actors d'una aplicació bancària

Casos d'ús

Un cas d'ús és una descripció d'una tasca o funció específica per a la qual està dissenyat el sistema que s'està modelant. Un cas d'ús representa una seqüència d'accions o passos que el sistema fa per aconseguir un objectiu específic, normalment com a resposta a una sol·licitud d'un actor.

Els casos d'ús normalment es representen com cercles al diagrama, amb el nom del cas d'ús escrit dins del cercle. Els casos d'ús estan connectats amb els actors que els inicien mitjançant línies o fletxes, que indiquen la direcció de la interacció. És important denominar els casos d'us amb un verb, ja que els casos d'ús especifiquen una acció.

Exemple: Casos d'ús aplicació bancària

En aquest exemple, tenim diversos casos d'ús que representen les accions que els actors poden realitzar en el sistema.

Casos d'ús d'una aplicació bancària

Figura 4. Casos d'ús d'una aplicació bancària

Relacions

Una relació és una connexió o associació entre dos o més elements del diagrama. Les relacions s'utilitzen per representar les interaccions i dependències entre els actors, casos d'ús i altres elements del diagrama.

Hi ha diversos tipus de relacions que es poden utilitzar als diagrames de casos d'ús d'UML.

Associacions

Una relació d'associació representa una relació entre dos o més elements del diagrama. Les associacions es poden utilitzar per connectar actors amb casos d'ús, casos d'ús amb altres casos d'ús o actors amb altres actors.

Normalment es representen com una línia que connecta els dos elements, amb fletxes opcionals que indiquen la direcció de la relació.

Relació d'associació

Figura 5. Relació d'associació

Include

Una relació d'inclusió representa una relació entre dos o més casos d'ús on un cas d'ús sempre inclou els passos d'un altre cas d'ús.

Les relacions d'inclusió es representen normalment com una línia discontínua amb una fletxa que apunta des del cas d'ús base fins al cas d'ús inclòs, on cal especificar el text <<include>>.

Relació d'inclusió

Figura 6. Relació d'inclusió

Exemple: Relació d'inclusió en una aplicació bancària

Un cas d'ús Log In ha d'incloure Comprovar credencials.

Relació d'inclusió entre "Iniciar sessió" i "Comprovar credencials"

Figura 7. Relació d'inclusió entre "Iniciar sessió" i "Comprovar credencials"

Extend

Una relació estesa representa una relació entre dos o més casos d'ús on un cas d'ús afegeix passos addicionals opcionals a un altre cas d'ús.

Les relacions esteses es representen normalment com una línia discontínua amb una fletxa que apunta des del cas d'ús estes fins al cas d'ús base. on cal especificar el text <<extend>>.

Relació estesa

Figura 8. Relació estesa

Exemple: Relació estesa en una aplicació bancària

Un cas d'ús Realitzar transferència bancària pot donar l'opció a l'usuari a Imprimir el justificant.

Relació estesa entre "Realitzar transferència bancària" i "Imprimir el justificant"

Figura 9. Relació estesa entre "Realitzar transferència bancària" i "Imprimir el justificant"

Generalització o herència

Una generalització representa una relació entre dos o més elements del diagrama on un element és un tipus més específic de l'altre.

Aquest tipus de relació es pot definir per Actors i per a Casos d'ús.

Les relacions de generalització es representen normalment com una línia amb una fletxa buida que apunta des de l'element més específic fins a l'element més general.

En el cas dels actors, s'utilitzen per distingir actors que hereten els aspectes d'un altre actor. Per exemple, un actor Estudiant pot ser un tipus més específic d'actor Usuari.

Relació de generalització entre actors

Figura 10. Relació de generalització entre actors

En el cas dels cas d'ús, s'utilitzen per especificar els casos concrets d'un altre cas d'ús.

Exemple: Relació de generalització en una aplicació bancària

Un cas d'ús Realitzar pagament pot ser d'uns tipus més específics com Pagar en efectiu o Pagar en targeta.

Relació de generalització entre casos d'ús

Figura 11. Relació de generalització entre casos d'ús

Diagrama de casos d'ús complet

Podeu consultar l'explicació completa a Exemple: Casos d'ús d'una aplicació bancària.

Figura 12. Diagrama de casos d'ús complet d'una aplicació bancària

📌 Aquest document pot quedar desactualitzat després d’imprimir-lo. Pots consultar la versió més recent a la pàgina web.
🌿 Abans d’imprimir aquest document, considera si és realment necessari. Redueix el consum de paper i ajuda a protegir el nostre entorn.