Diagram maszyny stanowej i diagram stanu w UML

Co to jest diagram maszyny stanowej?

Schemat stanu służą do przechwytywania zachowania systemu oprogramowania. Diagramy maszyn stanowych UML mogą służyć do modelowania zachowania klasy, podsystemu, pakietu, a nawet całego systemu. Nazywa się go także diagramem stanu lub diagramem przejścia stanu.

Co to jest diagram stanu?

Diagramy stanów zapewniają nam skuteczny sposób modelowania interakcji lub komunikacji zachodzącej w jednostkach zewnętrznych i systemie. Diagramy te służą do modelowania systemu opartego na zdarzeniach. Stan obiektu kontrolowany jest za pomocą zdarzenia. Diagramy stanów służą do opisywania różnych stanów jednostki w systemie aplikacji.

W języku UML istnieją dwa typy diagramów maszyn stanowych:

1. Diagram behawioralnej maszyny stanu

  • Oddaje zachowanie podmiotu obecnego w systemie.
  • Służy do reprezentowania konkretnej implementacji elementu.
  • Zachowanie systemu można modelować za pomocą behawioralnego diagramu maszyny stanu w OOAD.

2. Schemat maszyny stanu protokołu

  • Diagramy te służą do uchwycenia zachowania protokołu.
  • Reprezentuje sposób, w jaki zmienia się stan protokołu dotyczący zdarzenia. Reprezentuje również odpowiednie zmiany w systemie.
  • Nie reprezentują one konkretnej implementacji elementu.

Dlaczego diagram maszyny stanowej?

Diagram stanu służy do uchwycenia dynamicznego aspektu systemu. Diagramy maszyn stanowych służą do reprezentowania zachowania aplikacji. Obiekt w ciągu swojego życia przechodzi przez różne stany. Żywotność obiektu pozostaje aż do zakończenia programu. Obiekt przechodzi z wielu stanów w zależności od zdarzenia, które ma miejsce w obiekcie. Każdy stan reprezentuje pewne unikalne informacje o obiekcie.

Diagramy stanów służą do projektowania systemów interaktywnych, które reagują na zdarzenia wewnętrzne lub zewnętrzne. Diagram stanu w języku UML wizualizuje przepływ wykonania z jednego stanu do drugiego stanu obiektu.

Reprezentuje stan obiektu od momentu jego utworzenia do momentu zniszczenia lub zakończenia działania obiektu.

Podstawowym celem diagramu stanu jest modelowanie systemów interaktywnych i definiowanie każdego stanu obiektu. Diagramy stanów służą do uchwycenia dynamicznego zachowania systemu aplikacji. Diagramy te służą do reprezentowania różnych stanów systemu i jednostek w systemie.

Notacja i symbol diagramu maszyny stanu (diagram Statechart)

Poniżej przedstawiono różne oznaczenia używane w całym diagramie stanu. Wszystkie te oznaczenia, gdy są połączone, tworzą jeden diagram.

Notacje diagramów stanu UML
Notacje diagramów stanu UML

Stan początkowy

Symbol stanu początkowego służy do wskazania początku diagramu maszyny stanowej.

Stan końcowy

Ten symbol jest używany do wskazania końca diagramu maszyny stanowej.

Skrzynka decyzyjna

Zawiera warunek. W zależności od wyniku ocenionego warunku ochronnego, do wykonania programu wybierana jest nowa ścieżka.

Przejście

Przejście to przejście z jednego stanu w inny, które następuje w wyniku jakiegoś zdarzenia. Przejście powoduje zmianę stanu obiektu.

Skrzynka stanowa

Jest to specyficzny moment w życiu obiektu. Definiuje się go za pomocą warunku lub instrukcji w treści klasyfikatora. Służy do reprezentowania wszelkich sytuacji statycznych i dynamicznych.

Oznacza się go za pomocą prostokąta z zaokrąglonymi narożnikami. Nazwa stanu jest zapisana wewnątrz zaokrąglonego prostokąta.

Nazwę stanu można również umieścić poza prostokątem. Można to zrobić w przypadku stanów złożonych lub podmaszynowych. Można umieścić nazwę stanu wewnątrz prostokąta lub poza prostokątem w polu tabelarycznym. Nie można wykonać obu czynności jednocześnie.

Stan może być aktywny lub nieaktywny. Gdy stan jest w trybie pracy, jest aktywny, gdy tylko przestanie działać i przejdzie do innego stanu, stan poprzedni staje się nieaktywny, a stan bieżący staje się aktywny.

Rodzaje państwa

Unified Modeling Language definiuje trzy typy stanów:

  • Prosty stan
  • Nie mają żadnego podstanu.
  • Stan złożony
  • Tego typu stany mogą mieć jeden lub więcej podstanów.
  • Stan złożony składający się z dwóch lub więcej podstanów nazywany jest stanem ortogonalnym.
  • Stan maszyny
  • Stany te są semantycznie równe stanom złożonym.
  • W przeciwieństwie do stanu złożonego, możemy ponownie wykorzystać stany podmaszynowe.

Jak narysować diagram stanu?

Diagramy stanów służą do opisywania różnych stanów, przez które przechodzi obiekt. Przejście z jednego stanu do drugiego następuje w wyniku jakiegoś zdarzenia wyzwalanego. Aby narysować diagram stanu UML, należy zidentyfikować wszystkie możliwe stany dowolnego konkretnego bytu.

Cel tych diagramy UML ma reprezentować stany układu. Stany odgrywają kluczową rolę w diagramach przejść między stanami. Przed wdrożeniem diagramu należy najpierw przeanalizować wszystkie istotne obiekty, stany i zdarzenia powodujące zmiany w stanach.

Rysując diagram stanu, należy wziąć pod uwagę następujące zasady:

  1. Nazwa zmiany stanu musi być unikalna.
  2. Nazwa państwa musi być łatwo zrozumiała i opisywać zachowanie państwa.
  3. Jeżeli obiektów jest wiele, należy zaimplementować tylko obiekty istotne.
  4. Należy podać właściwe nazwy każdego przejścia i zdarzenia.

Kiedy używać diagramu maszyny stanowej?

Diagramy stanów służą do szczegółowego wdrażania rzeczywistych modeli roboczych i systemów obiektowych. Diagramy te służą do porównywania dynamicznej i statycznej natury systemu poprzez uchwycenie dynamicznego zachowania systemu.

Diagramy stanów służą do uchwycenia zmian w różnych jednostkach systemu od początku do końca. Służą do analizowania, w jaki sposób zdarzenie może wywołać zmianę w wielu stanach systemu.

Stosowane są diagramy znaków stanu:

  1. Modelowanie obiektów systemu.
  2. Modelować i wdrażać systemy interaktywne.
  3. Aby wyświetlić zdarzenia wywołujące zmiany w obrębie stanów.

Przykład maszyny stanu

Poniższy przykładowy diagram stanu przedstawia proces uwierzytelniania użytkownika.

Diagram stanu UML

Diagram stanu UML

Istnieją dwa stany, a pierwszy stan wskazuje, że OTP musi zostać najpierw wprowadzone. Następnie OTP jest zaznaczane w polu decyzyjnym, jeśli jest poprawne, nastąpi tylko przejście stanu, a użytkownik zostanie zatwierdzony. Jeśli OTP jest nieprawidłowe, przejście nie nastąpi i nastąpi powrót do stanu początkowego, dopóki użytkownik nie wprowadzi poprawnego OTP, jak pokazano w powyższym przykładzie diagramu maszyny stanowej.

Diagram maszyny stanowej a schemat blokowy

Poniżej przedstawiono kluczowe różnice między diagramem stanów a schematem blokowym

Schemat maszyny stanowej Schemat blokowy
Reprezentuje różne stany systemu. Schemat blokowy ilustruje przebieg wykonywania programu.
Maszyna stanów ma koncepcję WAIT, tj. czeka na akcję lub zdarzenie. Schemat blokowy nie dotyczy oczekiwania na koncepcję.
Maszyny stanowe są używane w działającym systemie. Schemat blokowy wizualizuje sekwencje rozgałęzień systemu.
Maszyna stanów jest diagramem modelowania. Schemat blokowy to przepływ sekwencji lub diagram DFD.
Maszyna stanów może badać różne stany systemu. Schemat blokowy dotyczy ścieżek i przepływu sterowania.

Podsumowanie

  • Diagramy stanów są również nazywane diagramami maszyn stanów.
  • Diagramy te służą do modelowania systemu opartego na zdarzeniach.
  • Stan jednostki kontrolowany jest za pomocą zdarzenia.
  • Istnieją w sumie dwa typy diagramów maszyn stanowych: 1) Diagram behawioralnej maszyny stanowej 2) Diagram maszyny stanowej protokołu
  • Diagram stanu służy do uchwycenia dynamicznego aspektu systemu.
  • Stan to konkretny moment w życiu obiektu.