Use Case Diagrams - Tutti i casi d'uso sono condotti da un utente esterno?

3

Nella progettazione del sistema utilizzando i diagrammi dei casi d'uso sono tutti i casi d'uso avviati / eseguiti dall'utente esterno: ad es. aggiungi elemento pubblicitario, conferma di stampa

Oppure i casi d'uso possono essere interamente interni / automatici: ad es. calcolare il totale parziale o addirittura il totale parziale attuale

Per quanto riguarda il secondo esempio, un sistema di cassa potrebbe utilizzare un caso di totale parziale corrente? La presentazione automatica di informazioni su uno schermo è un caso d'uso?

    
posta PeteyM 29.01.2018 - 18:02
fonte

2 risposte

5

Un caso d'uso dovrebbe sempre avere un attore che lo faccia partire. Quell'attore non deve essere una persona, potrebbe essere un altro sistema al di fuori del limite di quello che viene modellato.

Qualcosa che accade automaticamente nel sistema che si sta modellando non è in realtà un caso d'uso. Tuttavia, se non ti dispiace essere un po 'controverso, molte persone pensano che sia OK trattare il "tempo" come attore. Vedi TIME è un attore in un caso d'uso?

    
risposta data 29.01.2018 - 18:30
fonte
0

In pratica

In pratica, un caso d'uso rappresenta un insieme di comportamenti di un sistema preso in considerazione e la relazione con gli attori coinvolti in quel contesto. Quindi in linea di principio sono attori esterni, umani o sistemi.

Le interazioni interne che si verificano all'interno del sistema sono in genere modellate con altre rappresentazioni, come un diagramma di sequenza , un diagramma di comunicazione o un diagramma di attività.

In teoria

Lo standard UML è più flessibile nelle sue specifiche:

When a use case applies to a subject, it specifies a set of behaviors performed by that subject, which yields an observable result that is of value for actors or other stakeholders of the subject.

Le parole in corsivo sono rifinite con le seguenti spiegazioni:

A subject of a use case could be a system or any other element that may have behavior, such as a component or class.

An actor models a type of role played by an entity that interacts with the subjects of its associated use cases (e.g., by exchanging signals and data). Actors may represent roles played by human users, external hardware, or other systems.

Si noti che la parola "può" deve essere intesa nel senso di RFC 2119 (cioè una possibilità, non una limitazione esauriente).

Quindi in teoria hai molto bene un diagramma del caso d'uso con il soggetto che è un componente del tuo sistema, e l'attore è un altro componente che interagisce con esso. Ci sono sempre pochissime situazioni in cui questa rappresentazione è preferita all'altro tipo di diagrammi comportamentali sopra menzionati. Potrebbe avere senso, ad esempio:

  • se rappresenti un motore di gioco, che interagisce sia con i giocatori esterni che con i componenti interni che agiscono da giocatori e interagendo con il motore di gioco allo stesso modo di un giocatore umano.
  • un sistema multi-agente composto da componenti "agenti" interagenti relativamente indipendenti, se si voleva dare un panoramica dell'intento degli agenti che interagiscono all'interno del sistema, prima di scavare in interazioni più precise.
risposta data 29.01.2018 - 20:29
fonte

Leggi altre domande sui tag