come posso disegnare il commit della transazione del database nel diagramma di sequenza

1

Come posso disegnare il commit della transazione del database nel diagramma di sequenza?

Modifica

Voglio disegnare nel processo di commit / rollback della transazione del database del diagramma di sequenza

    
posta Roshan 20.09.2011 - 08:41
fonte

1 risposta

4

Per prima cosa, definisci i casi d'uso per la transazione che stai modellando. Definisci le versioni del caso d'uso per il percorso felice e ciascuno degli scenari di rollback che desideri modellare. Ciascuna di queste varianti di casi d'uso può essere presentata come un diagramma di sequenza separato.

Considera una transazione molto semplice: il client aggiorna due tabelle, T1 e T2. Entrambi gli aggiornamenti devono avere successo, o nessuno dei due viene modificato. Ci sono tre casi d'uso interessanti -

  1. The Happy Path - entrambi gli aggiornamenti hanno successo.

  2. Errore su T1 fallito.

  3. L'aggiornamento a T1 ha esito positivo, l'aggiornamento a T2 non riesce, l'aggiornamento a T1 viene eseguito il rollback.

Quindi hai tre diagrammi di sequenza, uno per ciascun caso.

Il terzo diagramma di sequenza potrebbe essere simile a questo:

Client           Database
   |                  |
   |--begin trans.--->|
   |                  |
   |<-trans. started--|
   |                  |
   |----update T1---->|
   |                  |----:
   |                  |    :
   |                  |    DB established rollback point
   |                  |    :
   |                  |<---:
   |                  |----:
   |                  |    :
   |                  |    DB Updates T1
   |                  |    :
   |                  |<---:
   |<---T1 updated----|
   |                  |
   |----update T2---->|
   |                  |----:
   |                  |    :
   |                  |    Update Fails
   |                  |    :
   |                  |<---:
   |                  |----:
   |                  |    :
   |                  |    DB Rolls back T1 Update
   |                  |    :
   |                  |<---:
   |                  |
   |<---trans. error--|
    
risposta data 04.10.2011 - 20:38
fonte

Leggi altre domande sui tag