Dijagram stroja stanja i dijagram stanja u UML-u

⚡ Pametni sažetak

Dijagram stroja stanja, također nazvan dijagram stanja, modelira dinamičko ponašanje objekta koji se kreće između stanja kao odgovor na događaje. Ovaj resurs objašnjava notaciju, vrste stanja, pravila crtanja i kako se razlikuje od dijagrama toka.

  • 🔁 Osnovna svrha: Dijagram automata stanja prikazuje kako objekt mijenja stanje kao odgovor na događaje tijekom svog životnog vijeka.
  • 🧩 Dvije vrste: Bihevioralni strojevi stanja modeliraju implementaciju elementa; strojevi stanja protokola modeliraju dopuštene promjene protokola.
  • 🔷 Ključna notacija: Početna i završna stanja, okviri za odlučivanje, prijelazi i zaokruženi okviri stanja čine dijagram.
  • 🗂️ Vrste država: Jednostavna, kompozitna i podstrojna stanja organiziraju ponašanje, pri čemu ortogonalna stanja sadrže paralelna podstanja.
  • 🔐 Obrađeni primjer: Model OTP autentifikacije prikazuje prijelaze između stanja na temelju sigurnosnog uvjeta.

Što je dijagram stroja stanja?

Dijagram stanja koriste se za hvatanje ponašanja softverskog sustava. UML dijagrami stanja mogu se koristiti za modeliranje ponašanja klase, podsustava, paketa ili čak cijelog sustava. Također se nazivaju dijagramom stanja ili dijagramom prijelaza stanja.

Što je dijagram stanja?

Dijagrami grafikona stanja pružaju nam učinkovit način modeliranja interakcija ili komunikacije do kojih dolazi unutar vanjskih entiteta i sustava. Ovi se dijagrami koriste za modeliranje sustava temeljenog na događajima. Stanje objekta kontrolira se uz pomoć događaja. Dijagrami stanja se koriste za opisivanje različitih stanja entiteta unutar aplikacijskog sustava.

U UML-u postoje ukupno dvije vrste dijagrama stroja stanja:

1. Dijagram bihevioralnog stroja stanja

  • Hvata ponašanje entiteta prisutnog u sustavu.
  • Koristi se za predstavljanje specifične implementacije elementa.
  • Ponašanje sustava može se modelirati pomoću bihevioralnog dijagrama stroja stanja u OOAD-u.

2. Dijagram automata stanja protokola

  • Ovi se dijagrami koriste za bilježenje ponašanja protokola.
  • Predstavlja kako se stanje protokola mijenja u vezi s događajem. Također predstavlja odgovarajuće promjene u sustavu.
  • Oni ne predstavljaju specifičnu implementaciju elementa.

Zašto dijagram stanja stroja?

Dijagram stanja se koristi za hvatanje dinamičkog aspekta sustava. Dijagrami stroja stanja koriste se za predstavljanje ponašanja aplikacije. Objekt prolazi kroz različita stanja tijekom svog životnog vijeka. Životni vijek objekta ostaje dok se program ne prekine. Objekt prelazi iz višestrukih stanja ovisno o događaju koji se dogodi unutar objekta. Svako stanje predstavlja neku jedinstvenu informaciju o objektu.

Dijagrami stanja se koriste za dizajniranje interaktivnih sustava koji reagiraju na interne ili eksterne događaje. Dijagram grafikona stanja u UML-u vizualizira tijek izvršenja iz jednog stanja u drugo stanje objekta.

Predstavlja stanje objekta od stvaranja objekta do uništenja ili ukidanja objekta.

Primarna svrha dijagrama grafikona stanja je modeliranje interaktivnih sustava i definiranje svakog stanja objekta. Dijagrami stanja su dizajnirani da zabilježe dinamičko ponašanje aplikacijskog sustava. Ovi se dijagrami koriste za predstavljanje različitih stanja sustava i entiteta unutar sustava.

Notacija i simbol za dijagram stanja stroja (dijagram stanja)

Slijede različite oznake koje se koriste u dijagramu grafikona stanja. Sve ove oznake, kada se kombiniraju, čine jedan dijagram.

UML oznake dijagrama stanja
UML oznake dijagrama stanja

Početno stanje

Simbol početnog stanja koristi se za označavanje početka dijagrama stroja stanja.

Konačno stanje

Ovaj simbol se koristi za označavanje kraja dijagrama stroja stanja.

Kutija za odluke

Sadrži uvjet. Ovisno o rezultatu procijenjenog zaštitnog stanja, uzima se novi put za izvođenje programa.

Prijelaz

Prijelaz je promjena jednog stanja u drugo stanje koja se događa zbog nekog događaja. Prijelaz uzrokuje promjenu stanja objekta.

Državna kutija

To je specifičan trenutak u životnom vijeku predmeta. Definira se pomoću nekog uvjeta ili izjave unutar tijela klasifikatora. Koristi se za predstavljanje svih statičkih kao i dinamičkih situacija.

Označava se pomoću pravokutnika sa zaobljenim kutovima. Unutar zaobljenog pravokutnika upisuje se naziv države.

Ime države također može biti postavljeno izvan pravokutnika. To se može učiniti u slučaju kompozitnih ili podstrojnih stanja. Ime države se može postaviti unutar pravokutnika ili izvan pravokutnika u tabelarnom okviru. Ne može se izvoditi oboje u isto vrijeme.

Stanje može biti aktivno ili neaktivno. Kada je stanje u radnom modu, ono je aktivno, čim se prestane izvršavati i prijeđe u drugo stanje, prethodno stanje postaje neaktivno, a trenutno stanje postaje aktivno.

Vrste države

Unified Modeling Language definira tri vrste stanja:

  • Jednostavna država
  • Oni nemaju nikakvu poddržavu.
  • Kompozitno stanje
  • Ove vrste stanja mogu imati jedno ili više od jednog podstanja.
  • Složeno stanje s dva ili više podstanja naziva se ortogonalno stanje.
  • Stanje podstroja
  • Ta su stanja semantički jednaka složenim stanjima.
  • Za razliku od kompozitnog stanja, možemo ponovno koristiti stanja podstroja.

Kako nacrtati dijagram stanja?

Dijagrami stanja se koriste za opisivanje različitih stanja kroz koja objekt prolazi. Prijelaz iz jednog stanja u drugo događa se zbog nekog pokrenutog događaja. Za crtanje dijagrama stanja UML, moraju se identificirati sva moguća stanja bilo kojeg posebnog entiteta.

Svrha ovih UML dijagrami predstavlja predstavljanje stanja sustava. Države igraju vitalnu ulogu u dijagramima prijelaza stanja. Svi bitni objekti, stanja i događaji koji uzrokuju promjene unutar stanja moraju se prvo analizirati prije implementacije dijagrama.

Prilikom crtanja dijagrama stanja moraju se uzeti u obzir sljedeća pravila:

  1. Naziv prijelaza stanja mora biti jedinstven.
  2. Naziv države mora biti lako razumljiv i opisivati ​​ponašanje države.
  3. Ako postoji više objekata, tada se trebaju implementirati samo bitni objekti.
  4. Moraju se navesti pravilan naziv za svaki prijelaz i događaj.

Kada koristiti dijagram stroja stanja?

Dijagrami stanja koriste se za dubinsku implementaciju radnih modela iz stvarnog života i objektno orijentiranih sustava. Ovi se dijagrami koriste za usporedbu dinamičke i statičke prirode sustava bilježenjem dinamičkog ponašanja sustava.

Dijagrami stanja se koriste za bilježenje promjena u različitim entitetima sustava od početka do kraja. Koriste se za analizu kako događaj može pokrenuti promjenu unutar višestrukih stanja sustava.

Koriste se dijagrami znakova stanja:

  1. Modelirati objekte sustava.
  2. Modelirati i implementirati interaktivne sustave.
  3. Za prikaz događaja koji pokreću promjene unutar stanja.

Primjer državnog stroja

Sljedeći primjer dijagrama stanja predstavlja proces autentifikacije korisnika.

UML dijagram stanja

UML dijagram stanja

Postoje ukupno dva stanja, a prvo stanje označava da se prvo mora unijeti OTP. Nakon toga OTP se provjerava u okviru za odluku, ako je točan, tada će se dogoditi samo prijelaz stanja i korisnik će biti potvrđen. Ako OTP nije točan, prijelaz se neće dogoditi i ponovno će se vratiti u početno stanje sve dok korisnik ne unese ispravan OTP kao što je prikazano u gornjem primjeru dijagrama automata stanja.

Dijagram stroja stanja u odnosu na dijagram toka

Slijede ključne razlike između dijagrama stanja i dijagrama toka

Dijagram stroja stanja Dijagram toka
Predstavlja različita stanja sustava. Dijagram toka ilustrira tijek izvođenja programa.
Stroj stanja ima WAIT koncept, tj. čekanje akcije ili događaja. Dijagram toka ne bavi se čekanjem na koncept.
Državni strojevi koriste se za sustav koji radi uživo. Dijagram toka vizualizira sekvence grananja sustava.
Stroj stanja je dijagram modeliranja. Dijagram toka je sekvencijski tok ili DFD dijagram.
Stroj stanja može istraživati ​​različita stanja sustava. Dijagram toka bavi se stazama i kontrolira protok.

Pitanja i odgovori

Dijagram automata stanja prikazuje stanja jednog objekta i događaje koji ga pomiču između njih. Dijagram aktivnosti prikazuje cjelokupni tijek radnji i odluka u procesu. Dijagrami stanja usredotočuju se na stanja; dijagrami aktivnosti usredotočuju se na tijek rada.

Samostalni prijelaz je prijelaz koji se vraća u isto stanje nakon što se događaj aktivira. Ponovno pokreće radnje izlaska i ulaska iz stanja bez promjene trenutnog stanja, što je korisno za ponovljeno ili ponovno pokušavano ponašanje.

Uvjet čuvara je logički izraz na prijelazu, napisan u uglatim zagradama. Prijelaz se aktivira samo kada se dogodi njegov događaj i čuvar se evaluira kao istinit, pa čuvari kontroliraju kojim putem objekt ide.

Alati za AI dijagrame mogu pročitati opis ponašanja i generirati nacrt automata stanja, s popisom stanja, događaja i prijelaza. To pomaže dizajnerima da brzo započnu, iako stanja i uvjete zaštite treba pregledati radi potpunosti.

Da. Analiza umjetne inteligencije može usporediti automat stanja sa zahtjevima i označiti nedostajuća stanja, nedostižna stanja ili prijelaze bez okidača. To pomaže u ranom otkrivanju nedostataka, ali inženjeri bi trebali potvrditi svaki prijedlog prije ažuriranja modela.

Sažmite ovu objavu uz: