Il schema dei casi d'uso mostra i casi d'uso offerti agli attori dal sistema sotto considerazione .
In linea di principio non dovrebbe rappresentare la distribuzione tecnica delle funzionalità tra i nodi di elaborazione: questo è per lo schema di distribuzione .
Caso 1 L'interfaccia utente mobile appartiene al sistema preso in considerazione
L'assunto qui, è che hai un solo sistema con potenzialmente diversi front-end che offrono ciascuno un diverso insieme di casi d'uso. Potresti quindi prendere in considerazione l'utilizzo di due attori: user
e mobile user
. Potresti quindi:
- o collega ciascuno dei due ai casi d'uso pertinenti (approccio più precisi e preferiti);
- oppure, se un
mobile user
può sempre fare tutto ciò che un user
può fare, potresti rappresentare una relazione di ereditarietà tra entrambi gli attori per evitare di ingombrare il diagramma con troppi collegamenti duplicati (anche se questo non è esplicitamente permesso, actor è un classificatore secondo UML2.5 §18.2.1 e come illustrato qui )
Esempio:
Variantedelcaso1:
Seicasid'usocomunidevonopresentarealcunedifferenzenellefunzionalitàonell'interfacciautente,puoisemplicemente documentarlo nella narrativa dei casi d'uso.
Se tuttavia vuoi mostrare comportamenti opzionali nel diagramma, puoi pensare a estendere i casi d'uso . Le estensioni consentono di mostrare una variante del flusso normale e di documentare in una nota di commento la condizione di tale estensione.
Tenete comunque presente che UML usa i diagrammi dei casi dovrebbe non essere abusato per la scomposizione funzionale . Un sacco di inclusioni o estensioni specifiche dell'interfaccia utente potrebbero essere un sintomo di tale abuso. Quindi chiediti se hai davvero bisogno di questo livello di dettaglio nel diagramma.
Caso 2: l'app mobile è un sistema a sé stante
Se si dispone di due sistemi che devono essere considerati distinti tra loro (ad esempio se il sistema di prenotazione è gestito da una terza parte), sono necessari diagrammi dei casi d'uso distinti (uno per ciascun sistema).
Nel diagramma dell'app per dispositivi mobili, mostreresti il sistema remoto come attore secondario (e materializzerai il suo coinvolgimento nei casi d'uso con collegamenti aggiuntivi).