Olekusmasina diagramm ja olekudiagramm UML-is

Mis on olekumasina diagramm?

Oleku diagramm kasutatakse tarkvarasüsteemi käitumise jäädvustamiseks. UML-i oleku masinaskeeme saab kasutada klassi, alamsüsteemi, paketi või isegi terve süsteemi käitumise modelleerimiseks. Seda nimetatakse ka olekukaardiks või oleku ülemineku diagrammiks.

Mis on olekukaardi diagramm?

Olekukaardi diagrammid pakuvad meile tõhusa viisi väliste üksuste ja süsteemi sees toimuva interaktsiooni või suhtluse modelleerimiseks. Neid diagramme kasutatakse sündmustepõhise süsteemi modelleerimiseks. Objekti olekut juhitakse sündmuse abil. Olekukaardi diagramme kasutatakse olemi erinevate olekute kirjeldamiseks rakendussüsteemis.

UML-is on kokku kahte tüüpi olekumasina diagramme:

1. Käitumusliku oleku masina diagramm

  • See fikseerib süsteemis oleva olemi käitumise.
  • Seda kasutatakse elemendi konkreetse teostuse tähistamiseks.
  • Süsteemi käitumist saab modelleerida käitumusliku oleku masina diagrammi abil OOAD-is.

2. Protokolli oleku masina diagramm

  • Neid diagramme kasutatakse protokolli käitumise jäädvustamiseks.
  • See näitab, kuidas protokolli olek sündmusega seoses muutub. See tähistab ka vastavaid muudatusi süsteemis.
  • Need ei esinda elemendi konkreetset rakendamist.

Miks olekumasina diagramm?

Olekukaardi diagrammi kasutatakse süsteemi dünaamilise aspekti jäädvustamiseks. Rakenduse käitumise kujutamiseks kasutatakse olekumasina diagramme. Objekt läbib oma eluea jooksul erinevaid seisundeid. Objekti eluiga püsib kuni programmi lõpetamiseni. Objekt läheb mitmest olekust sõltuvalt objektis toimuvast sündmusest. Iga olek esindab unikaalset teavet objekti kohta.

Olekukaardi diagramme kasutatakse interaktiivsete süsteemide kujundamiseks, mis reageerivad nii sise- kui ka välissündmustele. Olekukaardi diagramm UML-is visualiseerib täitmise voogu objekti ühest olekust teise olekusse.

See kujutab objekti olekut objekti loomisest kuni objekti hävitamiseni või lõpetamiseni.

Olekukaardi diagrammi peamine eesmärk on interaktiivsete süsteemide modelleerimine ja objekti iga oleku määratlemine. Olekukaardi diagrammid on loodud rakendussüsteemi dünaamilise käitumise jäädvustamiseks. Neid diagramme kasutatakse süsteemi erinevate olekute ja süsteemis olevate üksuste kujutamiseks.

Olekumasina diagrammi tähistus ja sümbol (Statechart diagramm)

Järgnevalt on toodud erinevad tähistused, mida kasutatakse kogu olekudiagrammi diagrammil. Kõik need tähised moodustavad kombineerituna ühe diagrammi.

UML olekudiagrammi tähistused
UML olekudiagrammi tähistused

Esialgne olek

Algoleku sümbolit kasutatakse olekumasina diagrammi alguse tähistamiseks.

Lõplik olek

Seda sümbolit kasutatakse olekumasina diagrammi lõpu tähistamiseks.

Otsuste kast

See sisaldab tingimust. Sõltuvalt hinnatud valveseisundi tulemusest valitakse programmi täitmiseks uus tee.

Üleminek

Üleminek on ühe oleku muutumine teise olekusse, mis toimub mõne sündmuse tõttu. Üleminek põhjustab muutuse objekti olekus.

Riigi kast

See on konkreetne hetk objekti eluea jooksul. See defineeritakse mõne tingimuse või lause abil klassifikaatori kehas. Seda kasutatakse nii staatiliste kui ka dünaamiliste olukordade tähistamiseks.

Seda tähistatakse ümarate nurkadega ristkülikuga. Osariigi nimi kirjutatakse ümardatud ristküliku sisse.

Osariigi nime saab paigutada ka ristkülikust väljapoole. Seda saab teha komposiit- või allmasina olekute korral. Osariigi nime saab paigutada ristküliku sisse või ristkülikust väljapoole tabelikasti. Mõlemat korraga ei saa täita.

Olek võib olla kas aktiivne või passiivne. Kui olek on töörežiimis, on see aktiivne, niipea kui see lõpetab täitmise ja läheb teise olekusse, muutub eelmine olek passiivseks ja praegune olek muutub aktiivseks.

Riigi tüübid

Ühtne modelleerimiskeel määratleb kolme tüüpi olekuid:

  • Lihtne olek
  • Neil pole alamolekut.
  • Liitolek
  • Seda tüüpi olekutel võib olla üks või mitu alamolekut.
  • Kahe või enama alamolekuga liitolekut nimetatakse ortogonaalseks olekuks.
  • Allmasina olek
  • Need olekud on semantiliselt võrdsed liitolekutega.
  • Erinevalt liitolekust saame alammasina olekuid uuesti kasutada.

Kuidas olekukaardi diagrammi joonistada?

Olekukaardi diagramme kasutatakse erinevate olekute kirjeldamiseks, mille objekt läbib. Üleminek ühest olekust teise toimub mõne käivitatud sündmuse tõttu. Olekudiagrammi joonistamiseks UML, tuleb tuvastada mis tahes konkreetse olemi kõik võimalikud olekud.

Nende eesmärk UML diagrammid on kujutada süsteemi olekuid. Olekud mängivad oleku ülemineku diagrammides olulist rolli. Enne diagrammi rakendamist tuleb kõigepealt analüüsida kõiki olulisi objekte, olekuid ja sündmusi, mis põhjustavad olekute sees muutusi.

Olekudiagrammi koostamisel tuleb arvestada järgmiste reeglitega:

  1. Oleku ülemineku nimi peab olema kordumatu.
  2. Riigi nimi peab olema kergesti arusaadav ja kirjeldama riigi käitumist.
  3. Kui objekte on mitu, tuleks rakendada ainult olulisi objekte.
  4. Igale üleminekule ja sündmusele tuleb anda õiged nimed.

Millal kasutada olekumasina diagrammi?

Olekudiagramme kasutatakse reaalse elu töömudelite ja objektorienteeritud süsteemide põhjalikuks juurutamiseks. Neid diagramme kasutatakse süsteemi dünaamilise ja staatilise olemuse võrdlemiseks, jäädvustades süsteemi dünaamilise käitumise.

Olekukaardi diagramme kasutatakse süsteemi erinevates olemites toimunud muutuste jäädvustamiseks algusest lõpuni. Neid kasutatakse analüüsimaks, kuidas sündmus võib käivitada muutusi süsteemi mitmes olekus.

Kasutatakse olekumärkide diagramme:

  1. Modelleerida süsteemi objekte.
  2. Interaktiivsete süsteemide modelleerimine ja juurutamine.
  3. Olekutes muutusi käivitavate sündmuste kuvamiseks.

Näide olekumasinast

Järgmine olekudiagrammi näidistabel kujutab kasutaja autentimise protsessi.

UML oleku diagramm

UML oleku diagramm

Olekuid on kokku kaks ja esimene olek näitab, et esmalt tuleb sisestada OTP. Pärast seda märgitakse otsustuskasti OTP, kui see on õige, siis toimub ainult oleku üleminek ja kasutaja valideeritakse. Kui OTP on vale, siis üleminekut ei toimu ja see naaseb taas algolekusse, kuni kasutaja sisestab õige OTP, nagu on näidatud ülaltoodud olekumasina diagrammi näites.

Olekusmasina diagramm vs vooskeem

Järgnevalt on toodud peamised erinevused olekuskeemi diagrammi ja vooskeemi vahel

Masina olekuskeem Vooskeem
See tähistab süsteemi erinevaid olekuid. Vooskeem illustreerib programmi täitmise voogu.
Olekumasinal on WAIT kontseptsioon ehk oodake toimingut või sündmust. Vooskeem ei käsitle kontseptsiooni ootamist.
Olekumasinaid kasutatakse pinge all töötava süsteemi jaoks. Vooskeem visualiseerib süsteemi hargnevaid järjestusi.
Olekumasin on modelleerimisskeem. Vooskeem on jadavoog või DFD diagramm.
Olekumasin suudab uurida süsteemi erinevaid olekuid. Vooskeem käsitleb teid ja kontrolli voogu.

kokkuvõte

  • Olekukaardi diagramme nimetatakse ka olekumasina diagrammideks.
  • Neid diagramme kasutatakse sündmustepõhise süsteemi modelleerimiseks.
  • Olemi olekut juhitakse sündmuse abil.
  • Kokku on kahte tüüpi olekumasina diagramme: 1) käitumusliku oleku masina diagramm 2) protokolli olekumasina diagramm
  • Olekukaardi diagrammi kasutatakse süsteemi dünaamilise aspekti jäädvustamiseks.
  • Seisund on konkreetne hetk objekti eluea jooksul.