Un modello di stato rappresenta il modello di processo per un tipo di richiesta di modifica. Uno stato rappresenta lo stato di una richiesta di modifica, ad esempio Inoltrato, Assegnato, Aperto e Chiuso. Un'azione è un'attività che viene eseguita da un utente che sposta una richiesta di modifica allo stato successivo. Le azioni tipiche includono Inoltra, Assegna, Modifica e Chiudi.
Questo spostamento di una richiesta di modifica viene definito una transizione di stato. Una transizione di stato è costituita da uno stato di origine (lo stato corrente), uno stato di destinazione e l'azione che sposta il record dallo stato di origine a quello di destinazione.
Il modello di stato mostra tutti gli stati e le transizioni di stato validi per tale tipo di richiesta di modifica. Ad esempio, il modello di stato nella figura mostra come il tipo di record EnhancementRequest (che è incluso in diversi schemi predefiniti) viene spostato da uno stato all'altro in seguito alle azioni dell'utente (Figura 1).
Il metodo migliore per iniziare a progettare un modello di stato è quello di elencare e descrivere tutti gli stati validi per un tipo di record specifico (ossia, un tipo specifico di richiesta di modifica). Ad esempio, la seguente tabella descrive gli stati per il tipo di record EnhancementRequest.
Sono disponibili due meccanismi per modificare i modelli di stato e le azioni: la matrice di transizione dello stato e la griglia Azioni.
La matrice di transizione dello stato rappresenta il modello di stato come una griglia, simile ad un foglio elettronico, che elenca gli stati su entrambi gli assi laterali e sull'asse superiore e le azioni che consentono le transizioni tra gli stati mostrati nelle celle.
La griglia Azioni elenca le azioni definite nello schema. Ogni riga nella griglia include un nome azione, il tipo di azione e le impostazioni di controllo accessi per l'azione e le impostazioni facoltative inizializzazione, convalida, commit, notifica e script record.