Diagramma della macchina a stati e diagramma del diagramma di stato in UML

Cos'รจ un diagramma della macchina a stati?

Diagramma di stato vengono utilizzati per acquisire il comportamento di un sistema software. I diagrammi della macchina a stati UML possono essere utilizzati per modellare il comportamento di una classe, un sottosistema, un pacchetto o anche un intero sistema. รˆ anche chiamato Statechart o diagramma di transizione di stato.

Cos'รจ un diagramma Statechart?

I diagrammi di stato ci forniscono un modo efficiente per modellare le interazioni o la comunicazione che si verificano all'interno delle entitร  esterne e di un sistema. Questi diagrammi vengono utilizzati per modellare il sistema basato sugli eventi. Lo stato di un oggetto viene controllato con l'aiuto di un evento. I diagrammi di stato vengono utilizzati per descrivere i vari stati di un'entitร  all'interno del sistema applicativo.

Esistono in totale due tipi di diagrammi della macchina a stati in UML:

1. Diagramma della macchina a stati comportamentale

  • Cattura il comportamento di un'entitร  presente nel sistema.
  • Viene utilizzato per rappresentare l'implementazione specifica di un elemento.
  • Il comportamento di un sistema puรฒ essere modellato utilizzando il diagramma della macchina a stati comportamentale in OOAD.

2. Diagramma della macchina a stati del protocollo

  • Questi diagrammi vengono utilizzati per acquisire il comportamento di un protocollo.
  • Rappresenta come cambia lo stato del protocollo riguardo all'evento. Rappresenta anche i corrispondenti cambiamenti nel sistema.
  • Non rappresentano l'implementazione specifica di un elemento.

Perchรฉ il diagramma della macchina a stati?

Il diagramma Statechart viene utilizzato per catturare l'aspetto dinamico di un sistema. I diagrammi della macchina a stati vengono utilizzati per rappresentare il comportamento di un'applicazione. Un oggetto attraversa vari stati durante la sua vita. La durata di vita di un oggetto rimane fino alla conclusione del programma. L'oggetto passa da piรน stati a seconda dell'evento che si verifica all'interno dell'oggetto. Ogni stato rappresenta alcune informazioni univoche sull'oggetto.

I diagrammi di stato vengono utilizzati per progettare sistemi interattivi che rispondono a eventi interni o esterni. Il diagramma Statechart in UML visualizza il flusso di esecuzione da uno stato a un altro stato di un oggetto.

Rappresenta lo stato di un oggetto dalla creazione di un oggetto fino a quando l'oggetto viene distrutto o terminato.

Lo scopo principale di un diagramma di stato รจ modellare sistemi interattivi e definire ogni singolo stato di un oggetto. I diagrammi di stato sono progettati per catturare il comportamento dinamico di un sistema applicativo. Questi diagrammi vengono utilizzati per rappresentare vari stati di un sistema ed entitร  all'interno del sistema.

Notazione e simbolo per il diagramma della macchina a stati (diagramma Statechart)

Di seguito sono riportate le varie notazioni utilizzate nel diagramma del grafico di stato. Tutte queste notazioni, se combinate, costituiscono un singolo diagramma.

Notazioni sul diagramma di stato UML
Notazioni sul diagramma di stato UML

Stato iniziale

Il simbolo dello stato iniziale viene utilizzato per indicare l'inizio di un diagramma della macchina a stati.

stato finale

Questo simbolo viene utilizzato per indicare la fine di un diagramma della macchina a stati.

Scatola di decisione

Contiene una condizione. A seconda del risultato di una condizione di guardia valutata, viene preso un nuovo percorso per l'esecuzione del programma.

Transizione

Una transizione รจ un cambiamento da uno stato ad un altro che si verifica a causa di qualche evento. Una transizione provoca un cambiamento nello stato di un oggetto.

Scatola di stato

รˆ un momento specifico nella vita di un oggetto. Viene definito utilizzando alcune condizioni o un'istruzione all'interno del corpo del classificatore. รˆ usato per rappresentare qualsiasi situazione statica e dinamica.

รˆ indicato utilizzando un rettangolo con angoli arrotondati. Il nome di uno stato รจ scritto all'interno del rettangolo arrotondato.

Il nome di uno stato puรฒ anche essere posizionato all'esterno del rettangolo. Questo puรฒ essere fatto in caso di stati compositi o sottomacchina. Si puรฒ posizionare il nome di uno stato all'interno del rettangolo o all'esterno del rettangolo in una casella tabellare. Non si possono eseguire entrambe le operazioni contemporaneamente.

Uno stato puรฒ essere attivo o inattivo. Quando uno stato รจ in modalitร  operativa, รจ attivo, non appena interrompe l'esecuzione e transita in un altro stato, lo stato precedente diventa inattivo e lo stato corrente diventa attivo.

Tipi di Stato

Unified Modeling Language definisce tre tipi di stati:

  • Stato semplice
  • Non hanno alcun sottostato.
  • Stato composito
  • Questi tipi di stati possono avere uno o piรน sottostati.
  • Uno stato composito con due o piรน sottostati รจ chiamato stato ortogonale.
  • Stato della sottomacchina
  • Questi stati sono semanticamente uguali agli stati compositi.
  • A differenza dello stato composito, possiamo riutilizzare gli stati della sottomacchina.

Come disegnare un diagramma Statechart?

I diagrammi di stato vengono utilizzati per descrivere i vari stati attraverso i quali passa un oggetto. Una transizione da uno stato a un altro avviene a causa di qualche evento innescato. Per disegnare un diagramma di stato UML, bisogna identificare tutti i possibili stati di ogni particolare entitร .

Lo scopo di questi Diagrammi UML รจ rappresentare gli stati di un sistema. Gli stati svolgono un ruolo vitale nei diagrammi di transizione degli stati. Tutti gli oggetti essenziali, gli stati e gli eventi che causano cambiamenti all'interno degli stati devono essere analizzati prima di implementare il diagramma.

Quando si disegna un diagramma di stato, รจ necessario tenere in considerazione le seguenti regole:

  1. Il nome di una transizione di stato deve essere univoco.
  2. Il nome di uno Stato deve essere facilmente comprensibile e descrivere il comportamento di uno Stato.
  3. Se sono presenti piรน oggetti, รจ necessario implementare solo gli oggetti essenziali.
  4. รˆ necessario fornire nomi propri per ciascuna transizione e un evento.

Quando utilizzare un diagramma della macchina a stati?

I diagrammi di stato vengono utilizzati per implementare in modo approfondito modelli di lavoro reali e sistemi orientati agli oggetti. Questi diagrammi vengono utilizzati per confrontare la natura dinamica e statica di un sistema catturando il comportamento dinamico di un sistema.

I diagrammi di stato vengono utilizzati per catturare i cambiamenti nelle varie entitร  del sistema dall'inizio alla fine. Vengono utilizzati per analizzare come un evento puรฒ innescare un cambiamento all'interno di piรน stati di un sistema.

Vengono utilizzati i diagrammi dei caratteri di stato:

  1. Modellare gli oggetti di un sistema.
  2. Modellare e implementare sistemi interattivi.
  3. Per visualizzare gli eventi che innescano cambiamenti all'interno degli stati.

Esempio di macchina a stati

Il seguente diagramma di stato di esempio rappresenta il processo di autenticazione dell'utente.

Diagramma di stato UML

Diagramma di stato UML

Ci sono due stati in totale, e il primo stato indica che l'OTP deve essere inserito per primo. Dopo di che, l'OTP viene controllato nella casella di decisione, se รจ corretto, allora si verificherร  solo la transizione di stato e l'utente verrร  convalidato. Se l'OTP รจ errato, allora la transizione non avrร  luogo e tornerร  di nuovo allo stato iniziale finchรฉ l'utente non inserisce l'OTP corretto come mostrato nell'esempio di diagramma della macchina di stato sopra.

Diagramma della macchina a stati e diagramma di flusso

Di seguito sono riportate le principali differenze tra diagramma di stato e diagramma di flusso

Diagramma della macchina a stati Diagramma di flusso
Rappresenta i vari stati di un sistema. Il diagramma di flusso illustra il flusso di esecuzione del programma.
La macchina a stati ha un concetto WAIT, cioรจ aspetta un'azione o un evento. Il diagramma di flusso non si occupa dell'attesa di un concetto.
Le macchine a stati vengono utilizzate per un sistema in esecuzione live. Il diagramma di flusso visualizza sequenze di ramificazioni di un sistema.
La macchina a stati รจ un diagramma di modellazione. Un diagramma di flusso รจ un flusso sequenziale o un diagramma DFD.
La macchina degli stati puรฒ esplorare vari stati di un sistema. Il diagramma di flusso si occupa dei percorsi e del flusso di controllo.

Sintesi

  • I diagrammi dei diagrammi di stato sono anche chiamati diagrammi della macchina a stati.
  • Questi diagrammi vengono utilizzati per modellare il sistema basato sugli eventi.
  • Lo stato di un'entitร  รจ controllato con l'aiuto di un evento.
  • Esistono in totale due tipi di diagrammi della macchina a stati: 1) Diagramma della macchina a stati comportamentale 2) Diagramma della macchina a stati del protocollo
  • Il diagramma Statechart viene utilizzato per catturare l'aspetto dinamico di un sistema.
  • Uno stato รจ un momento specifico nella vita di un oggetto.

Riassumi questo post con: