Sei sulla pagina 1di 14

UML

UML Diagramma di Stato


Corso di Ingegneria del Software Anno Accademico 2008/2009

Diagramma di Stato

Mostra il comportamento di un oggetto per la durata del suo ciclo di vita E' un grafo di stati e transizioni e descrive la risposta di una istanza di una classe agli eventi che riceve E composto da:
Gli stati di un oggetto Gli eventi che provocano una transizione da uno stato ad un altro Eventuale esecuzione di azioni

I diagrammi di stato sono usati per gli oggetti con un comportamento dinamico significativo

Stati degli oggetti

Lo stato una condizione nella quale un oggetto

pu essere durante il suo ciclo di vita In senso generale, lo stato di un oggetto dato dal valore dei suoi attributi e delle sue associazioni In molti domini applicativi, esistono oggetti che, a seconda del proprio stato, rispondono in maniera diversa ai messaggi ricevuti. Esempi sono:
Dispositivi (stato: spento, in attesa, operativo, guasto, ecc.
3

Stati degli oggetti

In tali casi, ha senso definire un diagramma di stato per l'oggetto, mostrando i possibili stati e gli eventi che attivano transizioni da uno stato all'altro Anche nell'analisi tradizionale si parla di stato del sistema o di sottosistemi. Nell'OOD lo stato si definisce a livello dei singoli oggetti, ed quindi pi granulare I diagrammi di stato descrivono l'evoluzione temporale di un oggetto in risposta alle interazioni con altri oggetti Ogni classe pu avere associato un diagramma di stato
4

Notazione

Nell'UML i diagrammi di stato seguono quasi totalmente la notazione di Harel, che molto ricca

Esempio

Stato di uno studente in un sistema informativo universitario

Identificazione degli Stati

Esaminare i valori possibili degli attributi

Determinate se le responsabilit del sistema comprendono comportamenti diversi per tali valori possibili Descrivete gli stati e le transizioni in un diagramma di stato degli oggetti, da associare alla documentazione della classe

Notazione dello Stato


Uno stato rappresentato da un rettangolo coi bordi arrotondati, col nome (opzionale) al centro Esso pu avere due altri compartimenti:
In quello centrale possono essere elencate le variabili di stato con i relativi valori In quello inferiore sono elencate le attivit interne effettuate in quello stato

Notazione della Transizione


Una transizione rappresentata da una freccia che congiunge due stati Ogni transizione contrassegnata da una etichetta divisa in tre parti
Trigger: evento che pu scatenare un cambiamento di stato Guardia: condizione booleana che deve essere verificata affinch la transizione abbia luogo Attivit: azione eseguita durante la transizione

Notazione della Transizione

Le tre parti di una transizione sono tutte opzionali. Se manca:


Attivit
Durante la transizione avviene solamente un cambiamento di stato

Guardia
Non sono necessarie condizioni aggiuntive

Trigger
La transizione ha luogo immediatamente

10

Diagramma di Stato - Esempio

Una macchina il cui comportamento non solo una diretta conseguenza dellevento corrente (input), ma anche della sua storia passata E caratterizzata da uno stato interno che rappresenta la sua passata esperienza

11

Diagramma di Stato - Esempio

12

Esempio

Meccanismo per controllare un pannello segreto in un castello gotico


Il meccanismo consente di mantenere dei beni al sicuro in una cassaforte nascosta Per rivelare la cassaforte bisogna rimuovere una candela da un candelabro, ma la porta della stanza deve essere chiusa Ora possibile aprire la cassaforte con la chiave, ma prima di aprire necessario rimettere la candela al suo posto

13

Esempio

14