1 / 24

UML-notaatio staattinen ja dynaaminen mallintaminen

UML-notaatio staattinen ja dynaaminen mallintaminen. Kalvot: Olioperustainen ohjelmistokehitys Tampereen yliopisto, syksy 2000 Roope Raisamo. Dynaaminen mallintaminen: Tilakaavio. Tilakaavio (statechart diagram) kuvaa tietyn luokan ilmentymien reagoimisen ulkoisiin tapahtumiin (message).

edric
Download Presentation

UML-notaatio staattinen ja dynaaminen mallintaminen

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. UML-notaatiostaattinen ja dynaaminen mallintaminen Kalvot: Olioperustainen ohjelmistokehitysTampereen yliopisto, syksy 2000Roope Raisamo

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

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

  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 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 SalasanaSyöttö entry/kaiutus pois exit/kaiutus päälle do/näytä kehote help/näytä avuste funktionäppäin/defer 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.

  8. Tilasymbolin osat SalasanaSyöttö entry/kaiutus pois exit/kaiutus päälle do/näytä kehote help/näytä avuste funktionäppäin/defer Toimet • 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

  9. Tilasymbolin osat SalasanaSyöttö entry/kaiutus pois exit/kaiutus päälle do/näytä kehote help/näytä avuste funktionäppäin/defer Sisäiset siirtymät • 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

  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 toimintoontapahtuma/toimet • viivästettyjä toimiatapahtuma/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: • 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: • 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 suunnalle do/Vihreä valo I-L suunnassa vasemmalle after(30s) [on vas. I-L]

  17. Haarautumissymbolin käyttö do/Vihreä valo E-P suunnalle do/Vihreä valo E-P suunnassa vasemmalle [on vas. E-P] after(30s) [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 Prosessointi Valinta 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 do/näytä aika H/soittoajan tuntilisäys M/soittoajan minuuttilisäys 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

More Related