150 likes | 304 Views
Tilakaavio. kuvaa olion, järjestelmän tai alijärjestelmän elinkaaren yhden luokan olion eri tilat ”elämänsä” aikana mikä tapahtuma vaikutti tilaan joutumiseen mikä kertoo tilassa olemisen (= tilamuuttuja(t)) mitä tilassa voi tehdä tilaan tullessa (entry), tilasta lähtiessä (exit) ja
E N D
Tilakaavio • kuvaa olion, järjestelmän tai alijärjestelmän elinkaaren • yhden luokan olion eri tilat ”elämänsä” aikana • mikä tapahtuma vaikutti tilaan joutumiseen • mikä kertoo tilassa olemisen (= tilamuuttuja(t)) • mitä tilassa voi tehdä • tilaan tullessa (entry), • tilasta lähtiessä (exit) ja • tilassa ollessa (do) 8. Tilakaaviot
Tilakaavio • Esimerkkejä • lasku • maksamatta, maksettu, karhuttu, … • opiskelija • läsnä oleva, ? • auto (autovuokraamosovelluksen kannalta) • vuokralla, ? • kirja (kirjastosovellus) ? • tili (pankkisovellus) ? 8. Tilakaaviot
Tilakaavion notaatio Tilan nimi Tilamuuttujat Toiminnot - entry - do - exit Tapahtuma(parametrit) [ehtolauseke] /toimenpide Tapahtuma(parametrit) [ehtolauseke] /toimenpide olion syntyminen Tapahtuma(parametrit) [ehtolauseke] /toimenpide olion ”kuoleminen” 8. Tilakaaviot
Esimerkki: lasku tapahtuma ehto, joka pitää olla voimassa toimenpide maksaLasku() [maksettu< laskusumma] /laskusumma:= laskusumma-maksettu maksamaton lasku maksettu = ’ei’ eraPvm>=date maksettu lasku maksettu = ’kyllä’ maksaLasku() uusiLasku() tarkistaEraantyneet() [eraPvm<date] maksaLasku() siirraArkistoon() erääntynyt lasku maksettu = ’ei’ eraPvm<date 8. Tilakaaviot
Esimerkki: kello 11:45 Näytön tila (aika, tunnit, minuutit) Kasvata 8. Tilakaaviot
Luokka: kasvataNappi() /tunnit:=tunnit+1 Tilakaavio: kasvataNappi() /minuutit:=minuutit+1 Minuuttien säätö Näyttö Tuntien säätö tilaNappi() tilaNappi() tila= kellonaika tila = tunnit tila = minuutit Do/näytä kellonaika Do/näytä tunnit Do/näytä minuutit tilaNappi() KELLO tila tilaNappi() kasvataNappi() Esimerkki: kello 8. Tilakaaviot
Tilakaavioiden käyttömahdollisuuksia • Toiminnon kuvaaminen • Laitteiden toimintaa, prosessien kulkua • Tilatietojen ja toimintojen löytämiseen • Tarkastellaan olioiden elinkaaria, tiloja ja tilasiirtymiä; olion tila muuttuu jonkun toiminnon seurauksena toimintoja voi löytyä tilasiirtymiä tarkastellessa. • Tilakaaviot havainnollistavat, tarkentavat toimintoja ja niiden vaikutuksia olioihin • Käyttäjäliittymien spesifiointi 8. Tilakaaviot
Toimintokaavio (activity diagram) • toimintokaavio eli aktiviteettikaavio on tilakaavion muunnos • usean tekniikan yhdistelmä • tapahtumakaavio, SDL-tilamallinnus, työnkulkukaavio, Petri-verkot • hyödyllinen • työnkulkua tarkasteltaessa • paljon rinnakkaista käsittelyä sisältävän käyttäytymisen kuvaamisessa • kuvaa toimintoja ja niiden seurauksia • keskittyy operaation toteutuksessa tehtyyn työhön • toiminnot voidaan sijoitta uimaradoille (swimlanes) • uimaradoilla ryhmitellään toimintoja niiden vastuuolion tai sijainnin mukaan • kaavio sopii erittäin hyvin myös laajemmin (rinnakkain tapahtuvien) toimintojen kuvaamiseen (esim. osaston toiminnan kuvaaminen) 8. Tilakaaviot
Toimintokaavio • toimintokaavio kuvaa siis tehtävien tapahtumajärjestystä; tuetaan sekä ehdollista että rinnakkaista toimintaa alku vastaanota tilaus jakautuminen haarautuma tehtävä täytä tilaus lähetä lasku [kiireellinen] pika- toimitus normaali toimitus vastaanota maksu sulje tilaus liittymä 8. Tilakaaviot yhdistyminen päätepiste
Keskeiset symbolit • tehtävä (activity) tai tehtävätila (activity state) • tilaa, jossa suoritetaan jotain tilaa: manuaalinen toimenpide tai jonkin tk-tehtävän toteutus • kaavio kuvaa tehtävien järjestyksen • ehdollinen käyttäytyminen • haarautumassa (branch) toiminto jakautuu kahteen tai useampaan toisensa poissulkeviin toimintohaaroihin • liittymässä (merge) kuvataan ehdollisen käyttäytymisen päättyminen • rinnakkainen käyttäytyminen • jakautumisessa (fork) toiminto jakautuu useampaan yhtä aikaa suoritettaviin toimintohaaroihin (säikeisiin, thread) • yhdistymisellä (join) kuvataan rinnakkain suoritettujen toimintosarjojen päättyminen 8. Tilakaaviot
Uimaradat (swimlanes) • toimintokaaviossa voidaan myös kuvata eri luokkien (liiketoiminnan mallinnuksessa henkilöiden tai osastojen) vastuut toimintojen suorittamiseksi • kaavio jaetaan pystysuoriin vyöhykkeisiin ja nimetään ”vastuunkantajan” mukaan • näin voidaan yhdistää toimintakaavioiden looginen kuvaus ja vuorovaikutuskaavioiden vastuukuvaus yhteen • seuraavassa esimerkki uimaradoista sovellettuna osaston tehtävien kuvaamiseen 8. Tilakaaviot
Asiakaspalvelu Tilausten käsittely Rahaliikenne vastaanota tilaus täytä tilaus lähetä lasku [kiireellinen] pika- toimitus vastaanota maksu normaali toimitus sulje tilaus 8. Tilakaaviot
Milloin toimintakaavioita? • erityisen sopiva työnkulun mallintamiseen • liiketoiminnan prosessien kuvaaminen ennen käyttötapausmallien hahmottumista • yleiskuva sovellusalueesta ja eri osastojen tehtävistä • toimintojen vastuut selkiytyy • tietojärjestelmän toimijoiden roolit selkiytyy (kuka tarvitsee ja mitä toiminnallisuutta tietojärjestelmästä) 8. Tilakaaviot