Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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
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
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
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
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
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
Guardia
Non sono necessarie condizioni aggiuntive
Trigger
La transizione ha luogo immediatamente
10
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
12
Esempio
13
Esempio
14