Tilakaaviot, sekvenssikaaviot (Haikala, Märijärvi ss. 121-133, 135 141) Jari Ojasti Nokia email : jari.ojasti@nokia.com puh : 040 5926 312 Sisältö Sekvenssikaaviot ja tilakaaviot osana UML:ia Sekvenssikaaviot esimerkkejä notaatio harjoitus Tilakaaviot esimerkkejä käyttöliittymien ja tietoliikenneprotokollien mallinnus notaatio harjoitus 10.11.2002 / Jari Ojasti 2 1
dynaaminen käyttäytyminen UML kaavioesitystavat sekvenssikaaviot, tilakaaviot Käyttötapauskaaviot järjestelmän korkean tason toiminnallisuus Sijoittelukaaviot Oliokaaviot Sekvenssikaaviot Yhteistyökaaviot Komponenttikaaviot Luokkakaaviot Tilakaaviot Aktiviteettikaaviot staattinen ja dynaaminen rakenne dynaaminen käyttäytyminen 10.11.2002 / Jari Ojasti 3 Sekvenssikaaviot variaatiot ja synonyymit: communication diagram, event trace diagram, message sequence chart sekvenssikaavioita käytetään kuvaamaan usean olion yhteistoimintaa normaalitapauksessa (=ideaalitilanne). liittyy läheisesti tilakaavioon, jossa kuvataan yhden olion täydellinen sisäinen käyttäytyminen sekvenssikaavion yhteys luokkakaavioon Jos luokan A olio lähettää sanoman s luokan B oliolle, on s:n oltava joko luokan B operaatio tai B:n tunnistama signaali. Lisäksi luokkien A ja B välillä on todennäköisesti assosiaatio. 10.11.2002 / Jari Ojasti 4 2
Esimerkki sekvenssikaaviosta, herätyskello 0 9 3 0 SET ALARM M H :User Näytä aika : Ohjaus : SoittoYks : Valo t Paina ALARM {t = soittoaika} Paina ALARM Paina ALARM sytytä aloita soitto lopeta soitto sammuta 10.11.2002 / Jari Ojasti 5 Sekvenssikaavion notaatio 10.11.2002 / Jari Ojasti 6 3
Esimerkki sekvenssikaaviosta (2) Aihetta pohdiskellaan työpaikalla proffan kanssa : opiskelija : ohjaava professori aiheanomus : ohjaaja työpaikalla allekirjoitettu aiheanomus : osastoneuvosto aihe OK Dippatyötä tehdään, palavereita ohjaajien kanssa Molemmat ohjaajat tekevät lausunnon a {b-a> 2 viikkoa} valmis työ valmis työ lausunto lausunto Osastoneuvoston kokous hyväksyy työn b hyväksyminen, arvosana 10.11.2002 / Jari Ojasti 7 Esimerkki sekvenssikaaviosta (3) 10.11.2002 / Jari Ojasti 8 4
Esimerkkejä sekvenssikaavioista (4) 10.11.2002 / Jari Ojasti 9 Harjoitus, Sekvenssikaavio Henkilö haluaa liittyä uutena jäsenenä Bilehilut ry:hyn. Hän täyttää hakemuksen www-sivulla, jossa on kentät kaikille tarvittaville henkilötiedoille. Sovellus tarkistaa hakemuksen kirjoitusvirheet sekä sen, että sukunimi ja osoite on annettu. Kun tietojen oikeellisuus on tarkistettu, tietokantaan päivitetään uuden jäsenen tiedot. Tee sekvenssikaavio ylläolevasta tapahtumasta. 10.11.2002 / Jari Ojasti 10 5
Tilakaavio Tilakaavio kuvaa yhden olion sisäisen käyttäytymisen Tilakaavion ja sekvenssikaavion välillä on riippuvuus olion esiintymisen sekvenssikaaviossa tulee olla yhtäpitävä tilakaavion polun kanssa jokaisen sekvenssikaaviossa olioon kohdistuvan sanoman tulee vastata tilakaavion tilasta lähtevää siirtymää käyttömahdollisuuksia: Mitä järjestelmässä saa tapahtua Mitä järjestelmässä ei saa tapahtua Olioiden elinkaaren mallintaminen Algoritmien kuvaaminen 10.11.2002 / Jari Ojasti 11 Tilakaavioesimerkki, herätyskello Soitto [aika=soittoaika] do/soita /tee alkuasetukset ALARM/sammuta valo ALARM Soittovalmis Perustila do/näytä aika ALARM/sytytä valo do/näytä aika SET SET painetaan M/ajan minuuttilisäys painetaan Herätysasetus do/näytä Aika-asetus soittoaika M/soittoajan minuuttilisäys H/soittoajan tuntilisäys SET vapautetaan do/näytä aika H/ajan tuntilisäys SET vapautetaan 10.11.2002 / Jari Ojasti 12 6
Tilan nimi Tilakaavion notaatio Toimet (action) entry, tehdään tullessa tilaan exit, tehdään poistuessa tilasta Aktiviteetti suoritetaan tilassa ollessa Tapahtuma SalasanaSyöttö entry/kaiutus pois exit/kaiutus päälle do/näytä kehote help/näytä avuste funktionäppäin/defer reagoiminen tapahtumaan jättämättä kyseistä tilaa viivästetty tapahtuma (defer) kun tapahtumaa ei käsitellä ko. tilassa vaan säilytetään tapahtumapuskurissa odottamassa Alku- ja loppumerkki Tilasiirtymät 10.11.2002 / Jari Ojasti 13 Tilakaavioesimerkki (2) Editoi Exit [tyhjä tai talletettu] Exit [muutettu ja nimetty] Save OK do: kysy talletusta Cancel Cancel Exit [muutettu ja nimetön] Save OK do: kysy talletusta No Yes No OK File name do: kysy nimeä No OK [uusi tiedosto] OK [tiedosto olemassa] Talletus do: talleta puskuri Yes Cancel Overwrite OK do: kysy päällekirjoitusta 10.11.2002 / Jari Ojasti 14 7
Tilakaavioesimerkki (3) 10.11.2002 / Jari Ojasti 15 Tilakaavio- esimerkki (4) 10.11.2002 / Jari Ojasti 16 8
Tilakaavio- esimerkki, tietoliikenne- protokollat (TCP) 10.11.2002 / Jari Ojasti 17 Tilakaavio- esimerkki, tietoliikenne- protokollat (HTTP) 10.11.2002 / Jari Ojasti 18 9
Harjoitus, tilakaavio Kuvaa hissin toimintaa tilakaavion avulla. Ensimmäinen tila on Ykköskerroksessa. Odotetussa vastauksessa on vain muutama tila sekä niiden väliset tilasiirtymät nimettyinä. 10.11.2002 / Jari Ojasti 19 10