UML 2.0 Estendono i diagrammi dei casi d'uso

2

Ho una domanda che rigenera il diagramma di utilizzo che mi confonde quando usare esteso e includi. Ho passato un tono di documenti e tutorial ed esempi. Ma sono piuttosto confuso.

Ho uno scenario in cui si dice "puoi effettuare una prenotazione per lezioni di fitness o sessione di personal trainer".

Quindi il modello che ho finora ha un nome d'uso chiamato "effettuare la prenotazione" e l'uso di "effettuare la prenotazione" si estende ad altri 2 casi d'uso denominati "Classe fitness libro" e "Sessione PT libro".

È valido rispetto al fatto di avere due casi d'uso indipendenti chiamati "classi di libri" e "prenota sessioni PT".

Sono sicuro che quest'ultimo metodo è giusto. Tuttavia non sono abbastanza sicuro se il mio metodo fomer è giusto così. Qualcuno potrebbe aiutarmi a capire?

Grazie

    
posta Hari 12.10.2014 - 22:37
fonte

2 risposte

1

Penso che il tuo metodo precedente potrebbe non funzionare, ecco il mio ragionamento:

  • In una situazione di estensione, il caso d'uso di base dovrebbe essere completo da solo e non deve dipendere o conoscere il caso d'uso esteso. Completa qui significa che dovrebbe contenere una sequenza completa di interazione dell'utente che raggiunge lo scopo caso d'uso.

  • Quindi puoi chiederti: il lavoro di cassa d'uso di base "prenota" senza "lezioni di fitness" e "prenota sessioni PT" estendono i casi d'uso? Per me, "effettuare la prenotazione" di per sé non fa nulla, e dipende dagli altri 2 casi d'uso.

  • Di solito penso di estendere il caso d'uso come caso d'uso alternativo, attivato solo quando alcune condizioni sono soddisfatte nel caso d'uso di base

Spero che aiuti

    
risposta data 13.10.2014 - 03:39
fonte
0

Il seguente potrebbe sembrare un po 'artificiale, ma dovresti ottenere il punto (pensalo come una Web-App):

Lo scenario che fornisci è:

  • Selezione di una lezione di ginnastica

Per ottenere ciò, è necessario visualizzare le diverse classi. O per metterlo in UML-Speak: selezionare un corso di ginnastica include visualizzare le diverse classi .

Usi includi come qualcosa di simile a un import di un altro use-case : per fare x è necessario per fare y , che è di per sé un caso indipendente (ad es. la visualizzazione potrebbe anche essere utilizzata solo per informazioni senza la possibilità di selezionare nulla).

Se vuoi prenotare alcuni extra come sauna dopo l'allenamento , questa è anche una specie di import , ma questa volta è completamente opzionale, che è in UML il estendi relazione. Nel caso di un modulo web, pensa a una semplice casella di controllo: sauna ✓ dopo la casella di controllo per la classe.

prenotazione una lezione di ginnastica include visualizzazione delle lezioni e prenotazione di sauna estende la prenotazione di una lezione di ginnastica. Prenotare la sauna è di per sé un caso d'uso indipendente e potrebbe essere fatto senza prenotare una lezione di ginnastica. Inoltre - ed è qui che sta la differenza - non è necessario prenotare la sauna per prenotare una palestra, è facoltativo.

O nella lingua ordinaria:

Per prenotare una palestra, è necessario visualizzare la panoramica. Inoltre puoi anche prenotare la sauna insieme alla classe.

    
risposta data 13.10.2014 - 17:31
fonte

Leggi altre domande sui tag