Linguaggio UML e diagramma di stato

Linguaggio UML e diagramma di stato

Il diagramma di stato secondo il linguaggio UML è la rappresentazione grafica di un grafo.

Cos’è un grafo?

E’ una coppia ordinata di insiemi, l’insieme di nodi e l’insieme di archi. E’ una funzione che ci permette di creare dei collegamenti tra i nodi mediante delle transizioni.

Il diagramma di stato quindi è una formalizzazione grafica di quelle situazioni in cui l’oggetto che sto considerando, assume dei comportamenti diversi a seconda degli stati in cui si trova. Per effetto di vari eventi si passa da uno stato a un altro e quindi il comportamento dell’oggetto di studio varia.

Lo stato è la condizione che un oggetto ha nel corso della sua “vita”. Nello stato l’oggetto soddisfa determinate condizioni ed è in attesa di eventi che fanno mutare il suo stato e il suo comportamento. Finché non si verifica nessun evento, l’oggetto persiste nello stesso stato.

Supponiamo di essere nel contesto di un sistema che gestisce l’ingresso e l’uscita di libri in una biblioteca.

Il libro può quindi essere disponibile, può essere stato prestato o può essere stato smarrito. Possiamo rappresentare graficamente la variazione di stati del libro, in seguito ad eventi innescanti, tramite il seguente diagramma.

Linguaggio UML e diagramma di stato
Linguaggio UML e diagramma di stato

Caso 1. Il libro si trova nello stato di disponibilità(Acquisto), viene prestato e passa nello stato di “Prestito”, cambia quindi il suo stato a seguito dell’evento innescante del prestito. Supponendo che entro la data utile per la restituzione, l’utente restituisca il libro alla biblioteca, si ha un’altra transizione che fa sì che il libro ritorni nello stato di disponibilità (Acquisto). Dopo ciò vado verso lo stato finale solo quando finisce la vita del libro, se ad esempio è ormai troppo rovinato, altrimenti il libro sarà sempre nello stato disponibile.

Caso 2. Il libro viene prestato, ma non vengono rispettati i termini di consegna. Se l’utente riconsegna il libro con qualche giorno di ritardo, il libro ritornerà ad essere disponibile.
Se invece, il libro non viene restituito poiché è stato ad esempio smarrito o danneggiato, e quindi non ritornerà più nella biblioteca, il libro passerà nello stato finale e verrà cancellato dalla biblioteca.

Precedente Ingegneria del software: teorema di Bohm-Jacopini Successivo Linguaggio UML e diagramma di interazione

Lascia un commento

*