1 / 29

Tila- ja tapahtumasekvenssikaaviot

Tila- ja tapahtumasekvenssikaaviot. Tapahtumasekvenssikaaviot Notaatio Yhteys luokkakaavioihin Esimerkki Olioyhteistyökaavio Tilakaaviot Notaatio Käyttötavat Hierarkisuus Esimerkki Yhteys luokkakaavioihin Tilasiirtymämatriisit (ei osa UML-kieltä) Aktiviteettikaaviot. Kaaviot.

amalia
Download Presentation

Tila- ja tapahtumasekvenssikaaviot

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. Tila- ja tapahtumasekvenssikaaviot Tapahtumasekvenssikaaviot Notaatio Yhteys luokkakaavioihin Esimerkki Olioyhteistyökaavio Tilakaaviot Notaatio Käyttötavat Hierarkisuus Esimerkki Yhteys luokkakaavioihin Tilasiirtymämatriisit (ei osa UML-kieltä) Aktiviteettikaaviot

  2. Kaaviot Käyttötapaus Käsittele puu Kuljettaja Sahaa tukki

  3. Esimerkki tapahtumasekvenssistä

  4. Notaatio, kuva 8.2 funktiokutsu ("nested flow of cntrl") "Flat flow of control" ”Focus of control” Paluu funktiosta (ei pakollinen)

  5. : C2 <<create>> <<destroy>> …notaatio TAI: aktiivinen olio olion luonti, voi ilmaista myös stereotyypillä <<create>> x: C1 : C2 sisäinen kutsu op1(x) op2() true olion tuhoaminen (myös stereotyyppi <<destroy>>)

  6. :A :B Yhteys luokkakaavioihin B A B m m

  7. Opiskelijarekisterisovellus • Korkeakoulun opinto-oppaassa on opintojaksoja (esimerkiksi Ohjelmistotuotannon menetelmät). • Kuhunkin opintojaksoon liittyy joukko muita opintojaksoja esitietovaatimuksina. • Opiskelijalla on joukko opintojaksojen suorituksia. • Kurssi on opintojakson toteutus, esimerkiksi OTM keväällä 1999). • Opiskelijan ilmoittautuessa kurssille järjestelmän tulee pystyä päättelemään, onko opiskelijalla oikeus osallistua tietylle opintojaksolle, ts. onko hän suorittanut opintojakson kaikki esitietovaatimusopintojaksot. • Piirrä tilannetta vastaava luokkakaavio. • Oletetaan, että opiskelijan lisääminen kurssille tapahtuu luokan kurssi metodilla ilmoittaudu, joka tarkastaa esitietovaatimukset ja lisää opiskelijan kurssille. • Hahmottele tapahtumasekvenssikaavio, joka alkaa metodin ilmoittaudu kutsusta. Poimi tapahtumasekvenssikaaviosta metodit luokkakaavioon.

  8. Olioyhteistyökaavio 1: resizeArea(scale:int) d:DrawingArea resizeView(scale:int) 1.1: dimension(newh:int, neww:int) v: View 2: setDimensions(newh:int, neww:int) b: Border 4: setWidth(neww:int) 3: setHeight(newh:int) t: TitleBar s: ScrollBar

  9. Kaaviot Käyttötapaus Käsittele puu Kuljettaja Sahaa tukki

  10. Tilakaavio, kuva 7.2

  11. Notaation "hienouksia“ (kaikkea ei löydy kirjasta) Suoritetaan tilaan saavuttaessa toiminto State name Suoritetaan tilasta poistuttaessa entry/action exit/action do/action eventName/action eventName/defer Vahti: tilasiirtymä mahdollinen jos tosi Suoritetaan tilassa ollessa eventName(par)[guard]/action Suoritetaan tapah- tuman sattuessa Estetty tapahtuma Initial state Final state

  12. Tilasiirtymät (ei kirjassa) • eventName(par)[guard]/action • Tapahtuma • ehto, joka muuttuu todeksi: when(a>0) • signaalin vastaanottaminen: OK • funktiokutsu: setWarmerOn() • ajastus: after(15) seconds • kalenteritapahtuma: when(time=12:30) • melkeinpä mitä hyvänsä (?) • Vahti (guard): ehtolauseke, voi esim. testata toisen tilakoneen tilaa: in and not in, esim. [not in processing] • toiminto: mitä tahansa toimintoja (funktiokutsu, suoritettava lause, sanoman lähetys jne.)

  13. Esimerkki: yksinkertainen kello (ei kirjassa) M 0 9 3 0 SET H Visio, Navision stencil, file simpleclock

  14. Tilakoneiden käyttömahdollisuuksia • Mitä järjestelmässä saa tapahtua • Mitä järjestelmässä ei saa tapahtua • Olioiden elinkaaren mallintaminen • Algoritmien kuvaaminen • Käyttöliittymälogiikan kuvaaminen

  15. Sisäkkäiset tilakaaviot NestedState SubState SubState • Sisäkkäisiä tilakaavioita voidaan käyttää • top-down strukturointiin • yhteisten siirtymien yhdistämiseen • rinnakkaisuuden kuvaukseen

  16. Yhteisten siirtymien yhdistäminen alitiloilla a a S a S a a

  17. Tilasiirtymien yhdistäminen (kuva ei kirjassa) Active entry/read card exit/remove card Card inserted Checking Available [continue] cancel maintenance Processing Selection Under maintenance [quit] Printing receipt

  18. Rinnakkaisuus (kuva ei kirjassa) Huolto Testaus Komponenttien testaus Itsetesti Käyttövalmis huolla Komentotila näppäin(n) Odotus Komennon suoritus [lopetus] [ei lopetus]

  19. H Historiatila (ei kirjassa) Go to the last active state BackingUp Collecting query Command CleaningUp Copying

  20. Reaaliluvun arvon laskeminen, kuva 7.5

  21. Tilakaavion ja tapahtumasekvenssikaavion yhteys (ei kirjassa) ... / x.a() Y: X:n tilakaaviossa:: X Y Z a a /... b Do: z.b tai ... /send x.a()

  22. Tilakaavion ja tapahtumasekvenssikaavion yhteys/2 (ei kirjassa Statechart diagrams for classes X, Y, Z: :Y :Z :X External interaction Z c/^d b j/ c d f/^g e f g X Y h g/^j d/^e i b/^c e/^f j i/^j h/^i 4.11 Note: ^ is used instead of send or simply writing the name of the event (a convention used in some contexts)

  23. Tilasiirtymämatriisi (kuva 7.4)

  24. Yksinkertainen esimerkki aktiviteettikaaviosta (kuva 5.4a)

  25. Esimerkki

  26. Aktiviteettikaavioiden muita ominaisuuksia (kuva 5.4b) Uimaradat Kontrolli jakautuu Synkronointi Oliovuo

More Related