Stavové diagramy (State Machine Diagrams) v UML slúžia na vizualizáciu toho, ako sa objekt správa počas svojho životného cyklu – teda akými stavmi prechádza a čo tieto stavy vyvoláva. Ide o dôležitý nástroj pri návrhu systémov, ktoré majú komplexné správanie závislé od udalostí. Príkladom môžu byť používateľské účty, objednávky, stroje alebo softvérové komponenty.
Pomocou stavových diagramov dokážete jednoznačne definovať správanie objektov, identifikovať nedostatky v logike, a uľahčiť tak testovanie aj implementáciu.
Každý stav je reprezentovaný obdĺžnikom so zaoblenými rohmi. Prechod medzi stavmi je šípka označená udalosťou, ktorá zmenu vyvoláva. Možno pridať aj tzv. guard condition (v hranatých zátvorkách) a akciu (oddelenú lomkou).
Príklad: submitForm [formIsValid] / saveData()
Tu sa prechod vykoná iba vtedy, ak je formulár platný, a súčasne sa vykoná akcia saveData()
.
Ak objekt prechádza zložitejším správaním v určitom stave, môžeme použiť vnorené stavové diagramy. Tie umožňujú dekomponovať komplexné stavy na podstavy, čím sa zvyšuje prehľadnosť a modularita.
Takýto prístup sa oplatí využiť napríklad pri stavoch ako „Spracovávanie objednávky“, kde jednotlivé fázy (overovanie, fakturácia, odosielanie) môžu byť modelované samostatne.
V nástroji Enterprise Architect je práca so stavovými diagramami efektívna vďaka podpore drag&drop a šablón. Pri ich tvorbe odporúčame dodržiavať tieto zásady:
Prihláste sa do kurzu Základy jazyka UML v nástroji Enterprise Architect, kde sa naučíte čítať diagramy UML, budete vedieť písať vlastné diagramy v UML v nástroji Enterprise Architect.
Viac informacií preberáme na kurze: