Ein Statusmodell ist das Prozessmodell für einen Datensatztyp. Ein Status stellt den Zustand eines Datensatzes dar, z. B: Submitted (Übergeben), Assigned (Zugeordnet), Opened (Geöffnet) und Closed (Geschlossen). Eine Aktion CHANGE_STATE ist eine Aktivität, die von einem Benutzer ausgeführt wird und eine Änderungsanforderung von einem Status in einen anderen versetzt. Typische Aktionen vom Typ CHANGE_STATE sind folgende: Submit (Übergeben), Assign (Zuordnen) und Close (Schließen).
Das Versetzen eines Datensatzes von einem Status in einen anderen wird als Statusübergang bezeichnet. Ein Statusübergang besteht aus einem Quellenstatus (dem aktuellen Status), einem Zielstatus und der Aktion, die den Datensatz aus dem Quellenstatus in den Zielstatus versetzt.
Das Statusmodell zeigt alle gültigen Status und Statusübergänge für den betreffenden Datensatztyp. Beispielsweise zeigt das Statusmodell in der Abbildung, wie der Datensatztyp "EnhancementRequest", der in mehreren vordefinierten Schemas enthalten ist, infolge von Benutzeraktionen (Abbildung 1) von einem Status in einen anderen versetzt wird.
Der beste Ausgangspunkt zum Entwerfen eines Statusmodells ist das Auflisten und Beschreiben aller Status, die für einen bestimmten Datensatztyp (d. h. für einen bestimmten Typ von Datensatz) gültig sind. Beispielsweise beschreibt die folgende Tabelle die Status für den Datensatztyp "EnhancementRequest".
Es gibt zwei Methoden zum Ändern von Statusmodellen und Aktionen: die Statusübergangsmatrix (Status Transition Matrix) und das Raster "Actions".
Die Statusübergangsmatrix stellt das Statusmodell als Raster (ähnlich wie ein Spreadsheet) dar. Darin sind die Status entlang der linken und der oberen Achse sowie die Aktionen für Statusübergänge in den einzelnen Zellen aufgelistet.
Das Raster "Actions" listet die im Schema definierten Aktionen auf. Jede Zeile im Raster umfasst einen Aktionsnamen, den Aktionstyp, die Zugriffssteuerungseinstellung für die Aktion sowie optionale Einstellungen für Initialisierung, Validierung, Festschreibung, Benachrichtigung und Datensatz-Script.