Modelli di stato e matrice di transizione stato

Ogni tipo di record basato sullo stato contiene una matrice di transizione dello stato che elenca gli stati validi e le azioni che spostano il record tra stati.

È possibile utilizzare la matrice di transizione dello stato per creare, modificare ed eliminare gli stati.

Creazione di uno stato

Per aggiungere uno stato allo schema, aggiungere prima lo stato alla matrice di transizione dello stato, quindi creare una transizione dello stato.

Designer aggiunge il nuovo stato come uno stato di origine e come uno stato di destinazione nelle intestazioni di riga e colonna della matrice di transizione dello stato. Quindi, è necessario creare una transizione di stato che definisce come questo nuovo stato viene utilizzato nel modello di stato. Consultare la sezione Creazione di una transizione di stato. Successivamente è necessario collegare il nuovo stato almeno ad un altro stato con un'azione. La definizione di uno stato che non può essere raggiunto da tutte le azioni genera un errore di convalida.

Se lo schema contiene i package che utilizzano i tipi di stato, quando viene aggiunto uno stato è necessario associarlo al tipo di stato presente nello schema.

Associazione dei tipi di stato

Alcuni package dello schema si aggiungono agli hook degli schemi (script) che vengono eseguiti quando una richiesta di modifica viene spostata ad uno stato specifico, ad esempio, il package UCM (UnifiedChangeManagement) e il package Resolution.

Per verificare che l'hook sia eseguito correttamente, è necessario associare ogni stato di tale tipo di record ad un tipo di stato del package. Ogni tipo di stato del package deve avere almeno uno stato dal tipo di record associato (di modo che gli hook del package dispongano di almeno uno stato in cui essere eseguiti). È possibile associare più stati ad un tipo di stato del package.

Se si aggiunge uno stato ad uno schema che utilizza i tipi di stato, è necessario associare tale stato al tipo di stato del package appropriato.

Se si utilizza il package o lo schema UCM, è anche necessario assegnare le azioni predefinite per gli stati; consultare Aggiunta dell'integrazione UCM Rational.

Modifica del nome di uno stato

È possibile modificare il nome di uno stato in qualsiasi momento. Quando si esegue questa operazione, il nome dello stato viene aggiornato in tutte le azioni che fanno riferimento ad esso.

Se un hook fa riferimento al nome di uno stato esplicitamente, è necessario modificare il nome dello stato nel codice dell'hook.

Eliminazione di uno stato

Eliminare gli stati che non si desidera utilizzare. La definizione di uno stato che non può essere raggiunto da una o più azioni genera un errore di convalida.

Non eliminare uno stato se si desidera aggiornare un database che attualmente lo utilizza. Non è possibile aggiornare il database se dei record in esso contenuti utilizzano lo stato eliminato.

Prima di eliminare uno stato, è necessario modificare qualsiasi azione che fa riferimento a tale stato. Gli stati di origine o di destinazione di un'azione non vengono riassegnati. Inoltre, se si fa riferimento esplicitamente ad uno stato di uno script, è necessario modificare lo script per rimuovere tali riferimenti.


Feedback