Állapotgép diagram és állapotdiagram diagram UML-ben

Mi az az állapotgép diagram?

Állapot diagram szoftverrendszer viselkedésének rögzítésére szolgálnak. Az UML állapotú gépdiagramok segítségével modellezhető egy osztály, egy alrendszer, egy csomag vagy akár egy egész rendszer viselkedése. Állapotdiagramnak vagy állapotátmeneti diagramnak is nevezik.

Mi az az állapotdiagram?

Az állapotdiagramok hatékony módot nyújtanak a külső entitásokon és rendszeren belüli interakciók vagy kommunikáció modellezésére. Ezek a diagramok az eseményalapú rendszer modellezésére szolgálnak. Egy objektum állapotát egy esemény segítségével szabályozzuk. Az állapotdiagramok az alkalmazásrendszeren belüli entitás különféle állapotainak leírására szolgálnak.

Az UML-ben összesen kétféle állapotgép diagram létezik:

1. Viselkedési állapot-gép diagram

  • A rendszerben jelenlévő entitás viselkedését rögzíti.
  • Egy elem konkrét megvalósításának ábrázolására szolgál.
  • Egy rendszer viselkedése modellezhető az OOAD viselkedési állapotgép diagramjával.

2. Protokollállapot-gép diagram

  • Ezeket a diagramokat egy protokoll viselkedésének rögzítésére használják.
  • Azt ábrázolja, hogyan változik a protokoll állapota az eseményre vonatkozóan. A rendszer megfelelő változásait is jelzi.
  • Nem egy elem konkrét megvalósítását jelentik.

Miért az állapotgép diagram?

Az állapotdiagram diagram a rendszer dinamikus aspektusának rögzítésére szolgál. Az állapotgép diagramok az alkalmazások viselkedésének ábrázolására szolgálnak. Egy tárgy élete során különböző állapotokon megy keresztül. Az objektum élettartama a program leállításáig megmarad. Az objektum az objektumon belüli eseménytől függően több állapotba kerül. Minden állapot egyedi információt jelent az objektumról.

Az állapotdiagramok olyan interaktív rendszerek tervezésére szolgálnak, amelyek akár belső, akár külső eseményekre reagálnak. Az UML állapotdiagramja az objektum egyik állapotából a másik állapotába történő végrehajtás folyamatát jeleníti meg.

Az objektum állapotát reprezentálja az objektum létrehozásától az objektum megsemmisítéséig vagy leállításáig.

Az állapotdiagram elsődleges célja az interaktív rendszerek modellezése és egy objektum minden állapotának meghatározása. Az állapotdiagramok az alkalmazásrendszer dinamikus viselkedésének rögzítésére szolgálnak. Ezek a diagramok a rendszer különféle állapotainak és a rendszeren belüli entitásoknak a megjelenítésére szolgálnak.

Jelölés és szimbólum az állapotgép diagramhoz (Statechart diagram)

Az alábbiakban bemutatjuk az állapotdiagram diagramjában használt különféle jelöléseket. Mindezek a jelölések kombinálva egyetlen diagramot alkotnak.

UML állapotdiagram jelölések
UML állapotdiagram jelölések

Kezdeti állapot

A kezdeti állapotszimbólum az állapotgép-diagram kezdetét jelzi.

Végső állapot

Ez a szimbólum az állapotgép diagram végét jelzi.

Határozat doboz

Feltételt tartalmaz. A kiértékelt őrzési feltétel eredményétől függően a program egy új utat választ a program végrehajtásához.

Átmenet

Az átmenet egy állapot változása egy másik állapotba, amely valamilyen esemény miatt következik be. Az átmenet megváltoztatja az objektum állapotát.

Állami doboz

Ez egy adott pillanat egy tárgy élettartamában. Meghatározása valamilyen feltétel vagy utasítás segítségével történik az osztályozó törzsén belül. Bármilyen statikus és dinamikus helyzet ábrázolására szolgál.

Lekerekített sarkú téglalappal jelöljük. Egy állam neve a lekerekített téglalap belsejébe van írva.

Egy állapot neve a téglalapon kívül is elhelyezhető. Ez megtehető kompozit vagy gépi állapotok esetén. Egy állapot neve elhelyezhető a téglalapon belül vagy a téglalapon kívül egy táblázatos mezőben. A kettőt nem lehet egyszerre végrehajtani.

Egy állapot lehet aktív vagy inaktív. Amikor egy állapot működési módban van, akkor aktív, amint leáll a végrehajtás és átlép egy másik állapotba, az előző állapot inaktívvá válik, és az aktuális állapot aktívvá válik.

Államtípusok

Az egységes modellező nyelv háromféle állapotot határoz meg:

  • Egyszerű állapot
  • Nincs semmilyen alállapotuk.
  • Összetett állapot
  • Az ilyen típusú állapotoknak egy vagy több részállapota lehet.
  • A két vagy több részállapottal rendelkező összetett állapotot ortogonális állapotnak nevezzük.
  • A gép állapota
  • Ezek az állapotok szemantikailag megegyeznek az összetett állapotokkal.
  • Az összetett állapottól eltérően a gépi állapotokat újra felhasználhatjuk.

Hogyan készítsünk állapotdiagramot?

Az állapotdiagramok az objektumok különböző állapotainak leírására szolgálnak. Az egyik állapotból a másikba való átmenet valamilyen kiváltott esemény miatt következik be. Állapotdiagram berajzolásához UML, azonosítani kell egy adott entitás összes lehetséges állapotát.

Ezek célja UML diagramok a rendszer állapotainak ábrázolása. Az állapotok létfontosságú szerepet játszanak az állapotátmenet diagramokban. Az összes lényeges objektumot, állapotot és az állapotokon belüli változásokat okozó eseményt először elemezni kell a diagram megvalósítása előtt.

Az állapotdiagram rajzolásakor a következő szabályokat kell figyelembe venni:

  1. Az állapotátmenet nevének egyedinek kell lennie.
  2. Az állam nevének könnyen érthetőnek kell lennie, és le kell írnia egy állam viselkedését.
  3. Ha több objektum van, akkor csak a lényeges objektumokat kell megvalósítani.
  4. Minden átmenethez és eseményhez megfelelő nevet kell adni.

Mikor használjunk állapotgép diagramot?

Az állapotdiagramokat valós működő modellek és objektumorientált rendszerek mélyreható megvalósítására használják. Ezek a diagramok a rendszer dinamikus és statikus természetének összehasonlítására szolgálnak a rendszer dinamikus viselkedésének rögzítésével.

Az állapotdiagramok a rendszer különböző entitásaiban bekövetkezett változások rögzítésére szolgálnak az elejétől a végéig. Arra használják, hogy elemezze, hogyan válthat ki egy esemény változást a rendszer több állapotán belül.

Az állapotdiagramokat használják:

  1. Egy rendszer objektumainak modellezése.
  2. Interaktív rendszerek modellezése és megvalósítása.
  3. Az állapotokon belüli változásokat kiváltó események megjelenítésére.

Példa az állapotgépre

Az alábbi állapotdiagram példa diagram a felhasználói hitelesítési folyamatot mutatja be.

UML állapotdiagram

UML állapotdiagram

Összesen két állapot van, és az első állapot azt jelzi, hogy először az OTP-t kell megadni. Ezt követően a döntési mezőben be van jelölve az OTP, ha helyes, akkor csak állapotváltás történik, és a felhasználó érvényesítése megtörténik. Ha az OTP hibás, akkor az átállás nem történik meg, és ismét visszamegy a kiindulási állapotba, amíg a felhasználó be nem írja a megfelelő OTP-t, ahogy az a fenti állapotgépdiagram példában látható.

Állapotgép diagram kontra folyamatábra

Az alábbiakban bemutatjuk az állapotdiagram és a folyamatábra közötti fő különbségeket

Állapotgép diagram Folyamatábra
A rendszer különböző állapotait ábrázolja. A folyamatábra a program végrehajtási folyamatát szemlélteti.
Az állapotgépnek van egy WAIT koncepciója, azaz várjon egy műveletre vagy eseményre. A folyamatábra nem foglalkozik a koncepcióra való várakozással.
Az állapotgépeket élőben működő rendszerhez használják. A folyamatábra egy rendszer elágazó szekvenciáit jeleníti meg.
Az állapotgép egy modellező diagram. A folyamatábra egy sorozatfolyamat vagy egy DFD diagram.
Az állapotgép képes feltárni egy rendszer különféle állapotait. A folyamatábra az utakkal és az áramlás szabályozásával foglalkozik.

Összegzésként

  • Az állapotdiagramokat állapotgépdiagramoknak is nevezik.
  • Ezek a diagramok az eseményalapú rendszer modellezésére szolgálnak.
  • Egy entitás állapotát egy esemény segítségével szabályozzuk.
  • Összesen kétféle állapotgép diagram létezik: 1) Viselkedési állapotgép diagram 2) Protokoll állapotgép diagram
  • Az állapotdiagram diagram a rendszer dinamikus aspektusának rögzítésére szolgál.
  • Az állapot egy adott pillanat egy tárgy élettartamának.

Napi Guru99 hírlevél

Kezdje a napját a legfrissebb és legfontosabb mesterséges intelligenciával kapcsolatos hírekkel, amelyeket azonnal kézbesítünk.