Dijagram stroja stanja i dijagram stanja u UML-u
Što je dijagram stroja stanja?
Dijagram stanja koriste se za snimanje ponašanja softverskog sustava. UML dijagrami stroja stanja mogu se koristiti za modeliranje ponašanja klase, podsustava, paketa ili čak cijelog sustava. Također se naziva grafikon stanja ili dijagram 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.
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:
- Naziv prijelaza stanja mora biti jedinstven.
- Naziv države mora biti lako razumljiv i opisivati ponašanje države.
- Ako postoji više objekata, tada se trebaju implementirati samo bitni objekti.
- 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:
- Modelirati objekte sustava.
- Modelirati i implementirati interaktivne sustave.
- Za prikaz događaja koji pokreću promjene unutar stanja.
Primjer državnog stroja
Sljedeći primjer dijagrama stanja predstavlja proces autentifikacije korisnika.
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. |
rezime
- Dijagrami stanja se također nazivaju i dijagrami stanja stroja.
- Ovi se dijagrami koriste za modeliranje sustava temeljenog na događajima.
- Stanje entiteta kontrolira se uz pomoć događaja.
- Postoje ukupno dvije vrste dijagrama stroja stanja: 1) dijagram bihevioralnog stroja stanja 2) dijagram automata stanja protokola
- Dijagram stanja se koristi za hvatanje dinamičkog aspekta sustava.
- Stanje je određeni trenutak u životnom vijeku objekta.