Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

UML-notaatio staattinen ja dynaaminen mallintaminen

Samankaltaiset esitykset


Esitys aiheesta: "UML-notaatio staattinen ja dynaaminen mallintaminen"— Esityksen transkriptio:

1 UML-notaatio staattinen ja dynaaminen mallintaminen
Kalvot: Olioperustainen ohjelmistokehitys Tampereen yliopisto, syksy 2000 Roope Raisamo

2 Dynaaminen mallintaminen: Tilakaavio
Tilakaavio (statechart diagram) kuvaa tietyn luokan ilmentymien reagoimisen ulkoisiin tapahtumiin (message).

3 Tilakaavio Käytettävissä Käytössä Huollossa Varattu alkutila palauta/
lopeta ajan lasku varaa otaKäyttöön/ aloita ajan lasku huolla exit/huoltoilmoitus valmis alkutila

4 Tilakaavio Tilakaavio on suunnattu verkko, joka koostuu tiloista (states) ja niitä yhdistävistä siirtymistä (transitions) eli tapahtumista. Tilakaavio kuvaa systeemin tilamuutokset nykyisen tilan ja tapahtuman funktiona.

5 Tilasuuntautuneet luokat
Tilakaavio on mielekäs vain tilasuuntautuneille luokille, eli luokille, joiden ilmentymät ovat selvästi identifioitavissa tiloissa elinaikanaan usein vain harvat sovellukset luokat ovat tilasuuntautuneita tyypillisesti aktiiviset luokat ja sovelluksen kontrollia ohjaavat luokat ohjausolioita ovat mm. pelisovelluksen kontrolliolio ja graafisen käyttöliittymän tapahtumankäsittelystä vastaava olio joskus paikallaan muidenkin luokkien kohdalla, jos on tarpeen ymmärtää luokan dynaamista toimintaa

6 Alku- ja lopputilat alkutila = pieni musta ympyrä
Salasanan luku help / nayta avuste do / nayta kehote entry / kaiutus pois exit / kaiutus päälle alkutila = pieni musta ympyrä jos olion ylimmän tason tilakaaviolla on alkutila, olio on tässä tilassa syntyessään (enintään yksi alkutila) ei alkutilaa: olion tila on aluksi määrittelemätön lopputila = kehän sisällä oleva musta ympyrä jos olion ylimmän tason tilakaaviolla on lopputila, ja olio joutuu siihen, se lakkaa olemasta yksi tai useampi

7 Tilasymbolin osat Tilaan voi liittyä:
nimi toimia (action) aktiviteetteja (activity) sisäisiä siirtymiä (internal transition) viivästettyjä tapahtumia (deferred event) alitiloja Mikä tahansa näistä voi myös puuttua. SalasanaSyöttö entry/kaiutus pois exit/kaiutus päälle do/näytä kehote help/näytä avuste funktionäppäin/defer

8 Tilasymbolin osat Toimet Aktiviteetti
mallin kannalta hetkellisiä, keskeytymättömiä toimintoja, joiden ei ajatella kuluttavan aikaa tulotoimen muoto: entry/toimi jättötoimen muoto: exit/toimi Aktiviteetti mallin kannalta aikaa kuluttava toiminta, jota suoritetaan tilassa ollessa aktiviteetin muoto: do/aktiviteetti SalasanaSyöttö entry/kaiutus pois exit/kaiutus päälle do/näytä kehote help/näytä avuste funktionäppäin/defer

9 Tilasymbolin osat Sisäiset siirtymät Viivästetyt tapahtumat
sallivat reagoimisen tiettyyn tapahtumaan jättämättä kyseistä tilaa eroavat tilaan palaavasta tavallisesta siirtymästä (ei jättö- ja tulotoimia) sisäisen siirtymän muoto: tapahtuma {(parametrit)}} {[ehto]} {/toimet} Viivästetyt tapahtumat tapahtumaa ei käsitellä kyseisessä tilassa, mutta se säilytetään tapahtumapuskurissa viivästetyn tapahtuman muoto: tapahtuma/defer tuntemattomat tapahtumat sivuutetaan SalasanaSyöttö entry/kaiutus pois exit/kaiutus päälle do/näytä kehote help/näytä avuste funktionäppäin/defer

10 Yhteenveto määrittelyistä
Tilaan liittyvät toiminnot voivat olla: aktiviteetteja, jotka kuvaavat tilan toimintaa do/aktiviteetti tulotoimia, jotka suoritetaan tilaan siirryttäessä entry/tulotoimet jättötoimia, jotka suoritetaan tilasta poistuttaessa exit/jättötoimet tilan sisäisiä siirtymiä, joissa sanoma liitetään tilan toimintoon tapahtuma/toimet viivästettyjä toimia tapahtuma/defer

11 Siirtymiin liittyvät määreet
Siirtymä laukeaa (fire), kun olio on sen lähtötilassa, ja siirtymään liittyvä laukaisin aktivoituu. Tällöin olio: suorittaa lähtötilan jättötoimet, siirtyy siirtymän kohdetilaan, suorittaa kohdetilan tulotoimet, suorittaa tilan varsinaiset (tavalliset) toimet, sekä jää odottamaan seuraavan siirtymän laukeamista.

12 Siirtymiin liittyvät määreet
Siirtymän laukaisin on yleisesti muotoa: {nimi:} {tapahtuma {(parametrit)}} {[ehto]} {/toimet} mikä hyvänsä laukaisimen osa voi puuttua Laukaisin aktivoituu, kun olio saa laukaisimessa annetun tapahtuman, ja ehto joko puuttuu tai on tosi. Siirtymätoimet ovat hetkellisiä toimia, jotka suoritetaan, kun siirtymä laukeaa.

13 Siirtymän laukaisimen merkinnöistä
Laukaisimessa voi esiintyä seuraavia määreitä: sanoma(parametrit) [ehto] ^sanoman_oheislähetys /siirtymätoimi

14 Tapahtumat Tapahtumat: Signaali: ei sisäistä informaatiota
tapahtuvat tiettyinä aikana hetkellisiä jaksottavat systeemin toiminnan tiloihin ovat joko signaaleja tai tapahtumaolioita Signaali: ei sisäistä informaatiota Tapahtumaolio: attribuutteja kuten oliolla Tapahtumaluokka: kuvaa tietyn tyyppiset tapahtumat

15 Tapahtumat Esimerkki: Esimerkki: Javan tapahtumankäsittely
luokka: Koneen lähtö attribuutit: lennon numero lähtöaika lähtöpaikka tulopaikka tapahtumaolio: ”Lento AY835 lähtee Pariisiin Helsingistä, lähtöaika 17.30” Esimerkki: Javan tapahtumankäsittely

16 Liikennevalojen ohjaimen tilakaavio
after(30s) [on vas. E-P] do/Vihreä valo E-P suunnalle do/Vihreä valo E-P suunnassa vasemmalle after(30s) [ei vas. I-L] after(30s) after(30s) [ei vas. E-P] after(30s) do/Vihreä valo I-L suunnassa vasemmalle do/Vihreä valo I-L suunnalle after(30s) [on vas. I-L]

17 Haarautumissymbolin käyttö
do/Vihreä valo E-P suunnalle do/Vihreä valo E-P suunnassa vasemmalle after(30s) [on vas. E-P] [ei vas. E-P] [ei vas. I-L] after(30s) after(30s) do/Vihreä valo I-L suunnassa vasemmalle do/Vihreä valo I-L suunnalle [on vas. I-L] after(30s)

18 Tilakaaviot Tiloihin voidaan soveltaa periytymistä.
Alitila perii ylitilansa lähtevät siirtymät Saapuvia siirtymiä ei voi periä, koska useampi kuin yksi alitila tekisi tilakaaviosta epädeterministisen. Jos ylitilaan on siirtymä, suoritus jatkuu alitilan alkutilasta Tilaa voidaan myös tarkentaa. Rinnakkaiset prosessit voidaan esittää tilan sisäisinä säikeinä, jotka erotetaan katkoviivoilla.

19 Koostetilan käyttö yhteisten siirtymien yhdistelyyn
Aktiivinen entry/lue kortti exit/poista kortti kortti syötetty Tarkistus Vapaa [jatka] peruuta huolto Valinta Prosessointi Huollossa [lopeta] Kuitin tulostus

20 Rinnakkaistettu koostetila
Huolto Testaus Komponenttien testaus Itsetesti Käyttövalmis huolla Komentotila näppäin(n) Odotus Komennon suoritus [lopetus] [ei lopetus]

21 Herätyskellon ohjausyksikön tilakaavio
Soitto [aika=soittoaika] do/soita /tee alkuasetukset ALARM/sammuta valo ALARM Perustila Soittovalmis do/näytä aika do/näytä aika ALARM/sytytä valo SET painetaan SET painetaan M/ajan minuutti- lisäys Herätysasetus Aika-asetus do/näytä soittoaika M/soittoajan minuuttilisäys H/soittoajan tuntilisäys do/näytä aika H/ajan tunti- lisäys SET vapautetaan SET vapautetaan

22 Sanomakaaviot (OMT) Sanomakaavio ei kuulu UML-kaavioihin, mutta sitä voidaan käyttää sovelluksen tarkasteluun yleisemmällä tasolla. Sanomakaavio (event flow diagram) esittää yhteenvedon olioiden välisistä sanomista. Luokat kuvataan suorakaiteina. Luokkien välisiin nuoliin kirjoitetaan mahdolliset sanomat näiden luokkien välillä.

23 Sovelluksen täydellinen spesifikaatio
Jos kaikilla sovelluksen olioilla on tilakaavio, näiden kaavioiden joukko on sovelluksen täydellinen toiminnallinen spesifikaatio. Jos annetut käyttötavat kattavat tarkasti kaikki sovelluksen mahdolliset käyttötavat, ne antavat saman informaation kuin tilakaavioiden joukko. ei kuitenkaan esitä suoraan yhden olion käyttäytymistä

24 Kaavioiden välisiä suhteita
Skenaario (sekvenssikaavio) on yksi käyttötapauksen ilmentymä. Yhtä käyttötapausta vastaa (jopa ääretön) joukko skenaarioita. Skenaario vastaa myös tilakaavioiden joukon yhtä mahdollista suorituspolkua, eli on myös tilakaaviojoukon ilmentymä. --> kalvot


Lataa ppt "UML-notaatio staattinen ja dynaaminen mallintaminen"

Samankaltaiset esitykset


Iklan oleh Google