UML: diagrammi dei casi d'uso

Per modellare un sistema, l'aspetto più importante è catturare il comportamento dinamico. Per comportamento dinamico si intende il comportamento del sistema quando è in esecuzione / in funzione.

Solo il comportamento statico non è sufficiente per modellare un sistema, piuttosto il comportamento dinamico è più importante del comportamento statico. In UML, sono disponibili cinque diagrammi per modellare la natura dinamica e il diagramma dei casi d'uso è uno di questi. Ora, poiché dobbiamo discutere che il diagramma del caso d'uso è di natura dinamica, dovrebbero esserci alcuni fattori interni o esterni per effettuare l'interazione.

Questi agenti interni ed esterni sono noti come attori. I diagrammi dei casi d'uso sono costituiti da attori, casi d'uso e loro relazioni. Il diagramma viene utilizzato per modellare il sistema / sottosistema di un'applicazione. Un diagramma di caso monouso cattura una particolare funzionalità di un sistema.

Quindi per modellare l'intero sistema, vengono utilizzati numerosi diagrammi di casi d'uso.

Scopo dei diagrammi dei casi d'uso

Lo scopo del diagramma dei casi d'uso è catturare l'aspetto dinamico di un sistema. Tuttavia, questa definizione è troppo generica per descrivere lo scopo, poiché anche altri quattro diagrammi (attività, sequenza, collaborazione e Statechart) hanno lo stesso scopo. Esamineremo uno scopo specifico, che lo distinguerà da altri quattro diagrammi.

I diagrammi dei casi d'uso vengono utilizzati per raccogliere i requisiti di un sistema, comprese le influenze interne ed esterne. Questi requisiti sono principalmente requisiti di progettazione. Quindi, quando un sistema viene analizzato per raccogliere le sue funzionalità, vengono preparati i casi d'uso e vengono identificati gli attori.

Quando l'attività iniziale è completa, i diagrammi dei casi d'uso vengono modellati per presentare la vista esterna.

In breve, si può dire che gli scopi dei diagrammi dei casi d'uso sono i seguenti:

  • Utilizzato per raccogliere i requisiti di un sistema.

  • Utilizzato per ottenere una vista esterna di un sistema.

  • Identificare i fattori esterni e interni che influenzano il sistema.

  • Mostra l'interazione tra i requisiti sono attori.

Come disegnare un diagramma dei casi d'uso?

I diagrammi dei casi d'uso sono considerati per l'analisi dei requisiti di alto livello di un sistema. Quando vengono analizzati i requisiti di un sistema, le funzionalità vengono acquisite nei casi d'uso.

Possiamo dire che i casi d'uso non sono altro che le funzionalità del sistema scritte in maniera organizzata. La seconda cosa che è rilevante per i casi d'uso sono gli attori. Gli attori possono essere definiti come qualcosa che interagisce con il sistema.

Gli attori possono essere un utente umano, alcune applicazioni interne o possono essere alcune applicazioni esterne. Quando abbiamo in programma di disegnare un diagramma dei casi d'uso, dovremmo identificare i seguenti elementi.

  • Funzionalità da rappresentare come caso d'uso

  • Actors

  • Relazioni tra casi d'uso e attori.

I diagrammi dei casi d'uso vengono disegnati per acquisire i requisiti funzionali di un sistema. Dopo aver identificato gli elementi di cui sopra, dobbiamo utilizzare le seguenti linee guida per disegnare un diagramma dei casi d'uso efficiente

  • Il nome di un caso d'uso è molto importante. Il nome deve essere scelto in modo tale da poter identificare le funzionalità svolte.

  • Dai un nome adatto agli attori.

  • Mostra chiaramente relazioni e dipendenze nel diagramma.

  • Non cercare di includere tutti i tipi di relazioni, poiché lo scopo principale del diagramma è identificare i requisiti.

  • Utilizzare le note ogni volta che è necessario per chiarire alcuni punti importanti.

Di seguito è riportato un diagramma di caso d'uso di esempio che rappresenta il sistema di gestione degli ordini. Quindi, se esaminiamo il diagramma, troveremo tre casi d'uso(Order, SpecialOrder, and NormalOrder) e un attore che è il cliente.

I casi d'uso SpecialOrder e NormalOrder sono estesi dal caso d'uso Order . Quindi, hanno una relazione estesa. Un altro punto importante è identificare il confine del sistema, mostrato nell'immagine. L'attore Cliente si trova al di fuori del sistema in quanto è un utente esterno del sistema.

Dove utilizzare un diagramma dei casi d'uso?

Come abbiamo già discusso, ci sono cinque diagrammi in UML per modellare la vista dinamica di un sistema. Ora ogni modello ha uno scopo specifico da utilizzare. In realtà questi scopi specifici sono angoli diversi di un sistema in esecuzione.

Per comprendere le dinamiche di un sistema, dobbiamo utilizzare diversi tipi di diagrammi. Il diagramma dei casi d'uso è uno di questi e il suo scopo specifico è raccogliere i requisiti di sistema e gli attori.

I diagrammi dei casi d'uso specificano gli eventi di un sistema e i relativi flussi. Ma il diagramma dei casi d'uso non descrive mai come vengono implementati. Il diagramma dei casi d'uso può essere immaginato come una scatola nera in cui sono noti solo l'input, l'output e la funzione della scatola nera.

Questi diagrammi sono utilizzati a un livello di progettazione molto elevato. Questo design di alto livello viene continuamente perfezionato per ottenere un quadro completo e pratico del sistema. Un caso d'uso ben strutturato descrive anche la pre-condizione, la post-condizione e le eccezioni. Questi elementi aggiuntivi vengono utilizzati per creare casi di test durante l'esecuzione del test.

Sebbene il caso d'uso non sia un buon candidato per l'ingegneria diretta e inversa, vengono comunque utilizzati in modo leggermente diverso per l'ingegneria diretta e inversa. Lo stesso vale per il reverse engineering. Il diagramma dei casi d'uso viene utilizzato in modo diverso per renderlo adatto al reverse engineering.

Nell'ingegneria avanzata, i diagrammi dei casi d'uso vengono utilizzati per creare casi di test e nei casi d'uso dell'ingegneria inversa vengono utilizzati per preparare i dettagli dei requisiti dall'applicazione esistente.

I diagrammi dei casi d'uso possono essere utilizzati per:

  • Analisi dei requisiti e progettazione di alto livello.

  • Modella il contesto di un sistema.

  • Reverse engineering.

  • Ingegneria avanzata.