Diagrama mașinii de stat și diagrama diagramei de stat în UML
Ce este o diagramă de mașină de stări?
Diagrama de stat sunt folosite pentru a surprinde comportamentul unui sistem software. Diagramele UML State machine pot fi folosite pentru a modela comportamentul unei clase, al unui subsistem, al unui pachet sau chiar al unui întreg sistem. Se mai numește și diagramă de stat sau diagramă de tranziție de stat.
Ce este o diagramă Statechart?
Diagramele de stat ne oferă o modalitate eficientă de a modela interacțiunile sau comunicarea care au loc în cadrul entităților externe și a unui sistem. Aceste diagrame sunt folosite pentru a modela sistemul bazat pe evenimente. O stare a unui obiect este controlată cu ajutorul unui eveniment. Diagramele statechart sunt folosite pentru a descrie diferite stări ale unei entități în cadrul sistemului de aplicație.
Există în total două tipuri de diagramă a mașinii de stări în UML:
1. Diagrama mașinii de stare comportamentală
- Captează comportamentul unei entități prezente în sistem.
- Este folosit pentru a reprezenta implementarea specifică a unui element.
- Comportamentul unui sistem poate fi modelat folosind diagrama mașinii de stare comportamentală în OOAD.
2. Diagrama mașinii de stare a protocolului
- Aceste diagrame sunt folosite pentru a surprinde comportamentul unui protocol.
- Reprezintă modul în care starea protocolului se schimbă cu privire la eveniment. De asemenea, reprezintă schimbările corespunzătoare în sistem.
- Ele nu reprezintă implementarea specifică a unui element.
De ce diagrama mașinii de stat?
Diagrama de stat este utilizată pentru a surprinde aspectul dinamic al unui sistem. Diagramele mașinii de stări sunt utilizate pentru a reprezenta comportamentul unei aplicații. Un obiect trece prin diferite stări în timpul vieții sale. Durata de viață a unui obiect rămâne până când programul este terminat. Obiectul trece din mai multe stări în funcție de evenimentul care are loc în interiorul obiectului. Fiecare stare reprezintă câteva informații unice despre obiect.
Diagramele statechart sunt folosite pentru a proiecta sisteme interactive care răspund fie la un eveniment intern, fie extern. Diagrama Statechart în UML vizualizează fluxul de execuție de la o stare la alta a unui obiect.
Reprezintă starea unui obiect de la crearea unui obiect până când acesta este distrus sau terminat.
Scopul principal al diagramei de diagramă de stări este de a modela sisteme interactive și de a defini fiecare stare a unui obiect. Diagramele de stat sunt concepute pentru a surprinde comportamentul dinamic al unui sistem de aplicații. Aceste diagrame sunt folosite pentru a reprezenta diferite stări ale unui sistem și entități din cadrul sistemului.
Notație și simbol pentru diagrama mașinii de stări (Diagrama Statechart)
Următoarele sunt diferitele notații care sunt utilizate în diagrama diagramei de stare. Toate aceste notații, atunci când sunt combinate, alcătuiesc o singură diagramă.
Stare initiala
Simbolul de stare inițială este utilizat pentru a indica începutul diagramei unei mașini de stare.
Stare finală
Acest simbol este folosit pentru a indica sfârșitul diagramei unei mașini de stare.
Caseta de decizie
Conține o condiție. În funcție de rezultatul unei condiții de pază evaluate, o nouă cale este luată pentru execuția programului.
Tranziție
O tranziție este o schimbare într-o stare într-o altă stare care are loc din cauza unui eveniment. O tranziție provoacă o schimbare a stării unui obiect.
Caseta de stat
Este un moment specific din durata de viață a unui obiect. Este definit folosind o condiție sau o declarație din corpul clasificatorului. Este folosit pentru a reprezenta orice situații statice și dinamice.
Se notează folosind un dreptunghi cu colțuri rotunjite. Numele unui stat este scris în interiorul dreptunghiului rotunjit.
Numele unui stat poate fi plasat și în afara dreptunghiului. Acest lucru se poate face în cazul stărilor compozit sau submașină. Se poate plasa fie numele unui stat în dreptunghi, fie în afara dreptunghiului într-o casetă tabelară. Nu se poate executa pe amândouă în același timp.
O stare poate fi fie activă, fie inactivă. Când o stare este în modul de lucru, este activă, de îndată ce se oprește din execuție și tranzitează într-o altă stare, starea anterioară devine inactivă, iar starea curentă devine activă.
Tipuri de stat
Unified Modeling Language definește trei tipuri de stări:
- Stare simplă
- Nu au nici un substat.
- Stare compozită
- Aceste tipuri de state pot avea unul sau mai multe substate.
- O stare compozită cu două sau mai multe substări se numește stare ortogonală.
- Starea mașinii
- Aceste stări sunt semantic egale cu stările compuse.
- Spre deosebire de starea compozită, putem reutiliza stările de submașină.
Cum se desenează o diagramă Statechart?
Diagramele statechart sunt folosite pentru a descrie diferitele stări prin care trece un obiect. O tranziție între o stare în alta are loc din cauza unui eveniment declanșat. Pentru a desena o diagramă de stare în UML, trebuie identificate toate stările posibile ale oricărei entități particulare.
Scopul acestora Diagrame UML este reprezentarea stărilor unui sistem. Statele joacă un rol vital în diagramele de tranziție de stat. Toate obiectele esențiale, stările și evenimentele care provoacă schimbări în cadrul stărilor trebuie analizate mai întâi înainte de implementarea diagramei.
Următoarele reguli trebuie luate în considerare atunci când desenați o diagramă de stat:
- Numele unei tranziții de stat trebuie să fie unic.
- Numele unui stat trebuie să fie ușor de înțeles și să descrie comportamentul unui stat.
- Dacă există mai multe obiecte, atunci ar trebui implementate numai obiectele esențiale.
- Trebuie date nume proprii pentru fiecare tranziție și un eveniment.
Când să utilizați o diagramă de mașină de stări?
Diagramele de stare sunt folosite pentru a implementa modele de lucru reale și sisteme orientate pe obiecte în profunzime. Aceste diagrame sunt folosite pentru a compara natura dinamică și statică a unui sistem prin captarea comportamentului dinamic al unui sistem.
Diagramele Statechart sunt folosite pentru a surprinde modificările în diferite entități ale sistemului de la început până la sfârșit. Ele sunt folosite pentru a analiza modul în care un eveniment poate declanșa schimbarea în mai multe stări ale unui sistem.
Diagramele de stări sunt utilizate:
- Pentru a modela obiectele unui sistem.
- Modelarea și implementarea sistemelor interactive.
- Pentru a afișa evenimente care declanșează schimbări în interiorul statelor.
Exemplu de mașină de stat
Următoarea diagramă de stat exemplu diagramă reprezintă procesul de autentificare a utilizatorului.
Există în total două stări, iar prima stare indică faptul că OTP trebuie introdus mai întâi. După aceea, OTP este bifat în caseta de decizie, dacă este corect, atunci va avea loc doar tranziția de stare, iar utilizatorul va fi validat. Dacă OTP este incorectă, atunci tranziția nu va avea loc și va reveni din nou la starea de început până când utilizatorul introduce OTP-ul corect, așa cum se arată în exemplul de diagramă a mașinii de mai sus.
Diagrama mașinii de stări vs. diagramă de flux
Următoarele sunt diferențele cheie dintre Diagrama de stat și Diagrama de flux
Diagrama mașinii de stări | Diagramă |
---|---|
Reprezintă diferite stări ale unui sistem. | Diagrama de flux ilustrează fluxul de execuție a programului. |
Mașina de stări are un concept WAIT, adică așteptați o acțiune sau un eveniment. | Diagrama de flux nu se ocupă de așteptarea unui concept. |
Mașinile de stat sunt utilizate pentru un sistem care rulează în timp real. | Diagrama de flux vizualizează secvențele de ramificare ale unui sistem. |
Mașina de stări este o diagramă de modelare. | O diagramă de flux este un flux secvență sau o diagramă DFD. |
Mașina de stări poate explora diferite stări ale unui sistem. | Diagrama de flux se ocupă de căi și controlează fluxul. |
Rezumat
- Diagramele de diagrame de stări sunt numite și diagrame de mașini de stări.
- Aceste diagrame sunt folosite pentru a modela sistemul bazat pe evenimente.
- O stare a unei entități este controlată cu ajutorul unui eveniment.
- Există în total două tipuri de diagrame de mașină de stări: 1) Diagrama de mașină de stare comportamentală 2) Diagrama de mașină de stare a protocolului
- Diagrama de stat este utilizată pentru a surprinde aspectul dinamic al unui sistem.
- O stare este un moment specific din durata de viață a unui obiect.