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

Slides:



Advertisements
Samankaltaiset esitykset
Tuloksellinen Java-ohjelmointi Luku 3 Luokkien käyttäminen
Advertisements

Tehtävä 3: PowerPoint Heli Lämsä.
Ohjelmiston tekninen suunnittelu
Ohjelman perusrakenteet
UML-notaatio staattinen ja dynaaminen mallintaminen
Luokkakaaviot Luokkakaaviot Tekninen suunnittelu.
Tietojärjestelmät ja Systeemisuunnittelu
Tilakaavio kuvaa olion, järjestelmän tai alijärjestelmän elinkaaren
Tapahtumasekvenssit = Käyttötapausten realisointi
Ohjelmistokehittäminen. Luku 1 – Mitä on ohjelmistokehittäminen?
Tilasiirtymäkaavio ja eri mallien yhteensovittaminen
Valitse sanomapalkissa Ota muokkaus käyttöön,
Graafinen käyttöliittymä, osa 2
Perintä. Yleistä Olio-ohjelmoinnin menetelmä muodostaa uusia luokkia aiemmin määriteltyjen luokkien avulla Luokka saa automaattisesti käyttöönsä kaikki.
OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT. LUOKKA JAVA ohjelma koostuu luokista LUOKKA sisältää metodeja molemmat sisältävät attribuutteja eli muuttujia.
@ Leena Lahtinen OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT.
Tehtävä 3: PowerPoint Harjoitus.
Tehtävä 3: PowerPoint Toni Kääpä.
Tehtävä 3: PowerPoint Ville Julkunen.
Oliomallittaminen ja UML
HALLITUKSEN PUHEENJOHTAJA VASTUUALUE 1VASTUUALUE 3 VASTUUALUE 4 VASTUUALUE 2 SIHTEERI MALLISEURA RY / HALLITUS - dynaamisen organisaatiokaavion esittely.
Graafisen esityksen laatiminen taulukkolaskentaohjelmalla (excel 2007)
SE-02 Olioperustainen ohjelmistokehitys Tampereen yliopisto, syksy 2000 Roope Raisamo perustuu Kai Koskimiehen Oliokirjaan ja kurssin aiempiin materiaaleihin.
Olioperustainen ohjelmistoprosessi
2. Vuokaaviot.
© Jukka Harju, Jukka Juslin
1 Kertaus koetta varten oleellisista asioista Jukka Juslin.
Vaasan yliopisto Tietojenkäsittely TiTe.1020 Ohjelmat.
Johdatus ohjelmointiin Ohjelmistosuunnittelu Jaana Holvikivi.
Osaamisen ja sivistyksen parhaaksi Oppijan verkkopalveluiden hyväksymistestitapausten kuvausohje.
Marjatilan kirjanpito-ohjelmisto Esa Hill Vaasan ammattikorkeakoulu.
UML-notaatio staattinen ja dynaaminen mallintaminen
Systeemityö 2 Tilakaavio – State machine diagram
Työasemasovelluksen käyttöliittymä sovelluksien käyttöliittymät voidaan jakaa kahteen pääluokkaan: –kohde-toiminto -pohjaisiin (object-action) käyttöliittymiin.
4. Attribuutit 4.1. Sisällys Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2.
@ Leena Lahtinen OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT.
Systeemityö 2 Toimintokaavio – Activity diagram
Koostekaavio – Composite Structure Diagram Kinnula – Kellolampi - Lehtosaari.
© Jukka Juslin1 Osio2 Olio-ohjelmointi: Merkkijonot eli Stringit Jukka Juslin.
Rinnakkaisuus Järjestelmässä, jossa voi olla useita prosesseja rinnakkain suorituksessa voi tulla tilanteita, joissa prosessien suoritusta täytyy kontrolloida.
Pikaopas: © 2013 Microsoft Corporation. Kaikki oikeudet pidätetään. Lyncin aloitusnäyttö Lyncin aloitusnäytön vasemmassa osassa on ruutuja, joiden avulla.
Jouni Juntunen Oulun seudun ammattikorkeakoulu Liiketalouden yksikkö
MultiMaker 7.0 Workshop Ohjelma, jossa voidaan luoda näyttäviä multimediasisältöjä. Yhtä sisältökoko-naisuutta kutsutaan esitykseksi. Ohjelmointitaitoja.
Vesa Ollikainen & Outi Grotenfelt
Kontrollirakenteet laajemmin
Tehtävä 3: PowerPoint Ilkka Huttunen. Tämän tulee olla DIA 2. Tämä dia on nyt dia 1. ◦ Siirrä tämä dia siten, että siitä tulee dia 2. ◦ Lisää tähän esitykseen:
Johdetun luokan olion alustus tMyn1 Johdetun luokan olion alustus määrätyillä arvoilla Kun ohjelmassa esiintyy johdetun luokan olion määrittely, järjestelmä.
Graafinen käyttöliittymä, osa 1
– Ohjelmistojen mallintaminen Unified Modeling Language (UML)
8. Periytyminen Sisällys Mitä on periytyminen? Yksittäis- ja moniperiytyminen. Oliot ja perityt luokat. Periytymisen käyttö.
Systeemityö 2 Viestiyhteyskaavio (Sekvenssi kaavio) – Sequence diagram
Ohjelmistojen mallintaminen, sekvenssikaaviot
Tehtävä 3: PowerPoint Tomi Ilmonen. Ohjeistus Tämä on tehtävä 3: Power Point Etene tässä olevien ohjeiden mukaan. ◦ Älä ”hypi” eli käy kohta kohdalta.
Tehtävä 3: PowerPoint Jarmo Lautamäki. Tämän tulee olla DIA 2. Tämä dia on nyt dia 1. ◦ Siirrä tämä dia siten, että siitä tulee dia 2. ◦ Lisää tähän esitykseen:
Olio-ohjelmoinnin perusteet luento 7
Funktiot Funktio = mahdollisten syöte- ja tulostearvojen välinen suhde siten, että kuhunkin syötearvoon on liitetty tulostearvo –Funktion laskeminen =
Päivi Ovaska Tutkijaopettaja LTY/Tite
Ohjelmassa tänään Ohjelmointimallit Pseudokieli Modulaarisuus.
Tietojärjestelmät ja Systeemisuunnittelu
UML-luokkakaavio ● Luokkakaavio (class diagram) kuvaa järjestelmän luokkarakennetta ● Mitä luokkia on olemassa ● Minkälaisia luokat ovat ● Luokkien suhteet.
OHJ-3010 Ohjelmistotuotannon perusteet, kesä 2012 OHJ-3010 Ohjelmistotuotannon perusteet, kesäkurssi 2012 [ hauska kuva ]
3. Luokat, oliot ja metodit Java-kielessä (Lausekielinen ohjelmointi I ja II –kursseilla opitun kertausta.)
Toisto Toistolausekkeet for, while(ehto){…} ja do {…} while(ehto)
Ohjelmistotekniikan menetelmät, sekvenssikaaviot
– Ohjelmistojen mallintaminen Unified Modeling Language (UML)
UML-notaatio staattinen ja dynaaminen mallintaminen
2. Olio-ohjelmoinnin perusteita
Esityksen transkriptio:

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

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

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

SE-02 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.

SE-02 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

SE-02 Alku- ja lopputilat 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 Salasanan luku help / nayta avuste do / nayta kehote entry / kaiutus pois exit / kaiutus päälle

SE-02 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

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

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

SE-02 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

SE-02 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.

SE-02 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.

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

SE-02 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

SE-02 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

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

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

SE-02 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.

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

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

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

SE-02 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ä.

SE-02 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ä

SE-02 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