Tilakonekaavio ja tilakaaviokaavio UML:ssä

⚡ Älykäs yhteenveto

Tilakonekaavio, jota kutsutaan myös tilakaavioksi, mallintaa objektin dynaamista käyttäytymistä sen liikkuessa tilojen välillä tapahtumien perusteella. Tämä resurssi selittää merkinnät, tilatyypit, piirtosäännöt ja miten se eroaa vuokaaviosta.

  • 🔁 Ydintarkoitus: Tilakonekaavio kuvaa, miten objekti muuttaa tilaansa elinkaarensa aikana tapahtuvien tapahtumien perusteella.
  • 🧩 Kaksi tyyppiä: Käyttäytymiseen perustuvat tilakoneet mallintavat elementin toteutusta; protokollan tilakoneet mallintavat sallittuja protokollamuutoksia.
  • 🔷 Keskeiset merkintätavat: Alku- ja lopputilat, päätöslaatikot, siirtymät ja pyöristetyt tilalaatikot muodostavat kaavion.
  • 🗂️ Valtiotyypit: Yksinkertaiset, yhdistetyt ja alikonetilat järjestävät käyttäytymistä, ja ortogonaaliset tilat pitävät sisällään rinnakkaisia ​​​​aliaseja.
  • 🔐 Toimiva esimerkki: OTP-todennusmalli näyttää tilojen väliset siirtymät suojausehdon perusteella.

Mikä on tilakonekaavio?

Tilakaavio käytetään ohjelmistojärjestelmän käyttäytymisen kuvaamiseen. UML-tilakonekaavioita voidaan käyttää luokan, alijärjestelmän, paketin tai jopa koko järjestelmän käyttäytymisen mallintamiseen. Sitä kutsutaan myös tilakaavioksi tai tilasiirtymäkaavioksi.

Mikä on tilakaaviokaavio?

Tilakaaviokaaviot tarjoavat meille tehokkaan tavan mallintaa ulkoisten entiteettien ja järjestelmän sisällä tapahtuvaa vuorovaikutusta tai viestintää. Näitä kaavioita käytetään tapahtumapohjaisen järjestelmän mallintamiseen. Kohteen tilaa ohjataan tapahtuman avulla. Tilakaaviokaavioita käytetään kuvaamaan sovellusjärjestelmän kokonaisuuden eri tiloja.

UML:ssä on yhteensä kahdenlaisia ​​tilakonekaavioita:

1. Koneen käyttäytymistilakaavio

  • Se kaappaa järjestelmässä olevan entiteetin käyttäytymisen.
  • Sitä käytetään edustamaan elementin tiettyä toteutusta.
  • Järjestelmän käyttäytymistä voidaan mallintaa OOAD:n käyttäytymistilakonekaaviolla.

2. Protokollan tilakonekaavio

  • Näitä kaavioita käytetään protokollan toiminnan kaappaamiseen.
  • Se edustaa, kuinka protokollan tila muuttuu tapahtuman suhteen. Se edustaa myös vastaavia muutoksia järjestelmässä.
  • Ne eivät edusta elementin erityistä toteutusta.

Miksi tilakonekaavio?

Tilakaaviokaaviota käytetään järjestelmän dynaamisen puolen kuvaamiseen. Tilakonekaavioita käytetään kuvaamaan sovelluksen toimintaa. Esine käy läpi erilaisia ​​tiloja elinkaarensa aikana. Objektin käyttöikä säilyy, kunnes ohjelma lopetetaan. Objekti siirtyy useista tiloista riippuen tapahtumasta, joka tapahtuu objektissa. Jokainen tila edustaa jotain ainutlaatuista tietoa kohteesta.

Tilakaaviokaavioita käytetään suunnittelemaan interaktiivisia järjestelmiä, jotka reagoivat joko sisäiseen tai ulkoiseen tapahtumaan. UML:n tilakaaviokaavio visualisoi suorituksen kulkua objektin tilasta toiseen.

Se edustaa objektin tilaa objektin luomisesta objektin tuhoutumiseen tai lopettamiseen asti.

Tilakaaviokaavion ensisijainen tarkoitus on mallintaa interaktiivisia järjestelmiä ja määrittää objektin jokainen tila. Tilakaaviokaaviot on suunniteltu kuvaamaan sovellusjärjestelmän dynaamista käyttäytymistä. Näitä kaavioita käytetään esittämään järjestelmän eri tiloja ja järjestelmän kokonaisuuksia.

Tilakonekaavion merkintä ja symboli (Statechart Diagram)

Seuraavassa on eri merkintöjä, joita käytetään koko tilakaaviokaaviossa. Kaikki nämä merkinnät yhdessä muodostavat yhden kaavion.

UML-tilakaavion merkinnät
UML-tilakaavion merkinnät

Alkutila

Alkutilasymbolia käytetään osoittamaan tilakonekaavion alkua.

Lopullinen tila

Tätä symbolia käytetään osoittamaan tilakonekaavion loppua.

Päätöslaatikko

Se sisältää ehdon. Arvioidun suojatilan tuloksesta riippuen ohjelman suorittamiseen valitaan uusi polku.

Siirtyminen

Siirtyminen on tilan muutosta toiseen tilaan, joka tapahtuu jonkin tapahtuman vuoksi. Siirtymä aiheuttaa muutoksen kohteen tilassa.

Valtion laatikko

Se on tietty hetki esineen eliniässä. Se määritellään jollakin ehdolla tai lausekkeella luokittelijan rungossa. Sitä käytetään edustamaan kaikkia staattisia ja dynaamisia tilanteita.

Se on merkitty suorakulmiolla, jossa on pyöreät kulmat. Osavaltion nimi kirjoitetaan pyöristetyn suorakulmion sisään.

Osavaltion nimi voidaan sijoittaa myös suorakulmion ulkopuolelle. Tämä voidaan tehdä komposiitti- tai koneistotiloissa. Osavaltion nimi voidaan sijoittaa joko suorakulmion sisään tai suorakulmion ulkopuolelle taulukkoruutuun. Molempia ei voi suorittaa yhtä aikaa.

Tila voi olla joko aktiivinen tai ei-aktiivinen. Kun tila on työtilassa, se on aktiivinen, heti kun se lopettaa suorittamisen ja siirtyy toiseen tilaan, edellinen tila muuttuu ei-aktiiviseksi ja nykyinen tila muuttuu aktiiviseksi.

Valtioiden tyypit

Unified Modeling Language määrittelee kolmen tyyppisiä tiloja:

  • Yksinkertainen tila
  • Niillä ei ole alitilaa.
  • Yhdistelmätila
  • Tämän tyyppisillä tiloilla voi olla yksi tai useampi kuin yksi alitila.
  • Yhdistelmätilaa, jossa on kaksi tai useampia alitiloja, kutsutaan ortogonaaliksi tilaksi.
  • Subkoneen tila
  • Nämä tilat ovat semanttisesti yhtä suuria kuin yhdistelmätilat.
  • Toisin kuin komposiittitilassa, voimme käyttää alikoneen tiloja uudelleen.

Kuinka piirtää tilakaavion kaavio?

Tilakaaviokaavioita käytetään kuvaamaan erilaisia ​​tiloja, joiden läpi objekti kulkee. Siirtyminen tilasta toiseen tapahtuu jonkin laukaisevan tapahtuman vuoksi. Piirrä tilakaavio UML, täytyy tunnistaa minkä tahansa tietyn kokonaisuuden kaikki mahdolliset tilat.

Näiden tarkoitus UML-kaaviot on edustaa järjestelmän tiloja. Osavaltioilla on tärkeä rooli tilasiirtymäkaavioissa. Kaikki olennaiset objektit, tilat ja tapahtumat, jotka aiheuttavat muutoksia tilojen sisällä, on ensin analysoitava ennen kaavion toteuttamista.

Seuraavat säännöt on otettava huomioon tilakaaviota piirtäessä:

  1. Tilasiirtymän nimen on oltava yksilöllinen.
  2. Valtion nimen tulee olla helposti ymmärrettävä ja kuvailla tilan käyttäytymistä.
  3. Jos objekteja on useita, vain olennaiset objektit tulee toteuttaa.
  4. Jokaiselle siirtymälle ja tapahtumalle on annettava oikeat nimet.

Milloin tilakonekaaviota käytetään?

Tilakaavioita käytetään tosielämän toimintamallien ja oliojärjestelmien syvälliseen toteuttamiseen. Näitä kaavioita käytetään vertaamaan järjestelmän dynaamista ja staattista luonnetta kuvaamalla järjestelmän dynaamista käyttäytymistä.

Tilakaaviokaavioita käytetään järjestelmän eri entiteettien muutokset alusta loppuun. Niitä käytetään analysoimaan, kuinka tapahtuma voi laukaista muutoksen järjestelmän useissa tiloissa.

Käytetään tilamerkkikaavioita:

  1. Mallintamaan järjestelmän objekteja.
  2. Vuorovaikutteisten järjestelmien mallintaminen ja toteuttaminen.
  3. Näyttää tapahtumat, jotka laukaisevat muutoksia tilojen sisällä.

Esimerkki tilakoneesta

Seuraava tilakaavion esimerkkikaavio esittää käyttäjän todennusprosessia.

UML-tilakaavio

UML-tilakaavio

Tilaa on yhteensä kaksi, ja ensimmäinen tila osoittaa, että OTP on syötettävä ensin. Sen jälkeen OTP valitaan päätösruutuun, jos se on oikein, tapahtuu vain tilasiirtymä ja käyttäjä validoidaan. Jos OTP on virheellinen, siirtoa ei tapahdu, ja se palaa takaisin alkutilaan, kunnes käyttäjä syöttää oikean OTP:n yllä olevan tilakonekaavioesimerkin mukaisesti.

Tilakonekaavio vs. vuokaavio

Seuraavassa on tärkeimmät erot tilakaavion ja vuokaavion välillä

Tilakonekaavio Vuokaavio
Se edustaa järjestelmän eri tiloja. Vuokaavio havainnollistaa ohjelman suorituskulkua.
Tilakoneella on WAIT-konsepti, eli odota toimintoa tai tapahtumaa. Vuokaavio ei käsittele konseptin odottamista.
Tilakoneita käytetään elävässä käynnissä olevassa järjestelmässä. Vuokaavio visualisoi järjestelmän haarautuneet sekvenssit.
Tilakone on mallinnuskaavio. Vuokaavio on sekvenssivuo tai DFD-kaavio.
Tilakone voi tutkia järjestelmän eri tiloja. Vuokaavio käsittelee polkuja ja ohjaa virtausta.

UKK

Tilakaavio näyttää yhden objektin tilat ja tapahtumat, jotka siirtävät sitä tilojen välillä. Aktiviteettikaavio näyttää prosessin toimintojen ja päätösten yleisen kulun. Tilakaaviot keskittyvät tiloihin; aktiviteettikaaviot keskittyvät työnkulkuun.

Itsesiirtymä on siirtymä, joka palaa samaan tilaan tapahtuman käynnistyttyä. Se käynnistää tilan poistumis- ja paluutoiminnot uudelleen muuttamatta nykyistä tilaa, mikä on hyödyllistä toistuvissa tai uudelleenyrityksissä.

Suojaehto on siirtymän looginen lauseke, joka kirjoitetaan hakasulkeisiin. Siirtymä käynnistyy vain, kun sen tapahtuma tapahtuu ja suojan arvo on tosi, joten suojat ohjaavat objektin polkua.

Tekoälykaaviotyökalut voivat lukea toimintakuvauksen ja luoda luonnostilakoneen, joka listaa tilat, tapahtumat ja siirtymät. Tämä auttaa suunnittelijoita aloittamaan nopeasti, vaikka tilat ja suojausehdot tulisi tarkistaa täydellisyyden varmistamiseksi.

Kyllä. Tekoälyanalyysi voi verrata tilakonetta vaatimuksiin ja merkitä puuttuvat tilat, saavuttamattomat tilat tai siirtymät ilman liipaisimia. Tämä auttaa havaitsemaan aukot varhaisessa vaiheessa, mutta insinöörien tulisi vahvistaa jokainen ehdotus ennen mallin päivittämistä.

Tiivistä tämä viesti seuraavasti: