UML-notaatio staattinen ja dynaaminen mallintaminen

Slides:



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

SE-02 UML-notaatio staattinen ja dynaaminen mallintaminen Kalvot: Olioperustainen ohjelmistokehitys Tampereen yliopisto, syksy 2000 Roope Raisamo.
MS Visio Prosessikaavion mallintaminen sanallisesta kuvauksesta
Ohjelmiston tekninen suunnittelu
Ohjelman perusrakenteet
UML-notaatio staattinen ja dynaaminen mallintaminen
Luokkakaaviot Luokkakaaviot Tekninen suunnittelu.
Tilakaavio kuvaa olion, järjestelmän tai alijärjestelmän elinkaaren
Tapahtumasekvenssit = Käyttötapausten realisointi
Tilasiirtymäkaavio ja eri mallien yhteensovittaminen
Valitse sanomapalkissa Ota muokkaus käyttöön,
Näytölle tulostaminen. 7.2 Sisällys System.out.println - ja System.out.print -operaatiot. Tulostus erikoismerkeillä. Edistyneempää tulosteiden.
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.
Graafisen esityksen laatiminen taulukkolaskentaohjelmalla (excel 2013)
BPMN ja hiukan prosessien määrittelystä
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.
Oliomallittaminen ja UML
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.
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.
5. Kapselointi Yleistä Kapseloinnilla (encapsulation) tarkoitetaan luokan tietojen ja toimintojen pakkaamista yhdeksi suojatuksi kokonaisuudeksi.
@ Leena Lahtinen OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT.
Systeemityö 2 Toimintokaavio – Activity diagram
Koostekaavio – Composite Structure Diagram Kinnula – Kellolampi - Lehtosaari.
Harjoitustyö 1. Olio-ohjelmoinnin perusteet | Kevät 2015 | Jorma Laurikkala2 Harjoitustyö Tehtävä: ohjelmoi lötköjen kansoittamaa alkulimaa simuloiva.
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.
Ajoituskaavio– Timing diagram Olli-Pekka Jokinen Aleksi Alapuranen tik9sna.
11. Rajapinnat Sisällys Mitä rajapinnat ovat? Kuinka ne määritellään ja otetaan käyttöön? Moniperiytyminen rajapintojen avulla. Varoituksen.
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
Valintarakenne valintarakenne alkaa aina kysymyksellä eli ehdolla ehto tarkoittaa, että muuttujan sisältöä verrataan toisen muuttujan sisältöön tai vakioon.
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 ]
Harjoitustyö.
3. Luokat, oliot ja metodit Java-kielessä (Lausekielinen ohjelmointi I ja II –kursseilla opitun kertausta.)
PaikkaOppi Mobiilin käyttöohje
Toisto Toistolausekkeet for, while(ehto){…} ja do {…} while(ehto)
14. Hyvä ohjelmointitapa.
8. Periytyminen.
7. Näytölle tulostaminen
Ohjelmistotekniikan menetelmät, sekvenssikaaviot
Kontrollirakenteet laajemmin
– Ohjelmistojen mallintaminen Unified Modeling Language (UML)
MS Visio Prosessikaavion mallintaminen sanallisesta kuvauksesta
Ohjelman perusrakenteet
3. Attribuutit.
4. Luokan testaus ja käyttö olion kautta
2. Olio-ohjelmoinnin perusteita
Esityksen transkriptio:

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).

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

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.

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

Alku- ja lopputilat alkutila = pieni musta ympyrä 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

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

Tilasymbolin osat Toimet Aktiviteetti 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

Tilasymbolin osat Sisäiset siirtymät Viivästetyt tapahtumat 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

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

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.

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.

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

Tapahtumat Tapahtumat: Signaali: ei sisäistä informaatiota 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

Tapahtumat Esimerkki: Esimerkki: Javan tapahtumankäsittely 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

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

Haarautumissymbolin käyttö do/Vihreä valo E-P suunnalle do/Vihreä valo E-P suunnassa vasemmalle after(30s) [on vas. E-P] [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)

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.

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

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

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 M/soittoajan minuuttilisäys H/soittoajan tuntilisäys do/näytä aika H/ajan tunti- lisäys SET vapautetaan SET vapautetaan

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

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ä

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