Ingineria Sistemelor de Programe

Documentatie suplimentara, ISP, Seria B si SM

View on GitHub

Documentație Diagrame UML de Stare (State Machine)

Cuprins

  1. Introducere
  2. Concepte fundamentale
  3. Elementele unei diagrame de stare
  4. Notația PlantUML
  5. Exemple practice
  6. Bune practici
  7. Resurse suplimentare

Introducere

Diagramele de stare (state machine diagrams) sunt un tip de diagrame comportamentale din familia Unified Modeling Language (UML) care descriu comportamentul unui sistem în funcție de stările sale și de tranzițiile între acestea. Aceste diagrame sunt esențiale pentru modelarea sistemelor reactive și orientate pe evenimente, oferind o reprezentare vizuală a modului în care un obiect își schimbă starea ca răspuns la diverse evenimente.

Diagramele de stare sunt deosebit de utile în următoarele contexte:

Originile diagramelor de stare pot fi trasate până la conceptul de automat finit (finite state machine) din teoria computațională, fiind adaptate și extinse în contextul modelării orientate pe obiecte.

Concepte fundamentale

1. State (Stare)

O stare reprezintă o condiție sau situație în timpul vieții unui obiect în care acesta satisface anumite condiții, efectuează anumite activități sau așteaptă un anumit eveniment. Un obiect rămâne într-o stare pentru o perioadă finită de timp.

Tipuri de stări:

2. Tranziție

O tranziție reprezintă trecerea de la o stare la alta, de obicei declanșată de un eveniment. Tranzițiile pot avea condiții de gardă și pot executa acțiuni atunci când sunt traversate.

Componentele unei tranziții:

3. Eveniment

Un eveniment este un stimul semnificativ care poate declanșa o tranziție între stări. Evenimentele pot fi:

4. Acțiune și Activitate

Notația PlantUML

PlantUML este un instrument care permite crearea diagramelor UML, inclusiv diagrame de stare, utilizând un limbaj simplu de text. Sintaxa de bază pentru diagramele de stare în PlantUML este:

@startuml
[* --> Stare1
Stare1 --> Stare2 : Eveniment1
Stare2 --> Stare3 : Eveniment2
Stare3 --> [*
@enduml

Elemente de bază în PlantUML pentru diagramele de stare

1. Stări

img_2.png

2. Tranziții

img_3.png

3. Stări inițiale și finale

img_4.png

5. Stări ortogonale (paralele)

img_5.png

6. Stări istorie

img_6.png

Exemple practice

Exemplul : Proces de comandă online

img_7.png

Exemplul : ATM

img_8.png

Exemplul : Document approval

img_9.png

Bune practici

1. Claritate și lizibilitate

2. Granularitate adecvată

3. Completitudine

4. Evitarea capcanelor comune