Ohjelmistojen mallintaminen olioiden elinkaaret - tilakaavio. 21.11.2008 Harri Laine 1

Samankaltaiset tiedostot
Käyttötapaukset. Käyttötapaukset. Käyttötapaukset. Käyttötapaukset. Käyttötapaukset. Käyttötapaukset

Ohjelmistotuotanto, s /3/2003

Ohjelmistotuotanto, s

UML - unified modeling language - use cases

UML -mallinnus TILAKAAVIO

UML- mallinnus: Tilakaavio

Tilakaaviot, sekvenssikaaviot (Haikala, Märijärvi ss , )

Perusarkkitehtuurin ja vuorovaikutuksen mallintamisen perusteita.

Ohjelmistotekniikan menetelmät, UML

Ohjelmistojen mallintaminen Unified Modeling Language (UML)

Ohjelmistotekniikan menetelmät Luokkamallit ohjelmiston mallintamisessa Harri Laine 1

Ohjelmistojen mallintaminen Olioiden yhteistyö Harri Laine 1

Tilan luonnehdinta (yksi tapa)

Dynaaminen analyysi II

Sisältö. Tilakaaviot 2

Dynaaminen analyysi II Luento 4 Antti-Pekka Tuovinen

Ohjelmistotekniikan menetelmät, luokkamallin laatiminen

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 5. marraskuuta 2015

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

TIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 12. tammikuuta 2012

Ohjelmistojen mallintaminen kertausta Harri Laine 1

Se mistä tilasta aloitetaan, merkitään tyhjästä tulevalla nuolella. Yllä olevassa esimerkissä aloitustila on A.

Joskus yleistäminen voi tapahtua monen ominaisuuden pohjalta. Myös tällöin voi tulla moniperintätilanteita.

Johdatus sovellussuunnitteluun, s 2001, osa 4b Helsingin yliopisto / TKTL Harri Laine / Inkeri Verkamo 1. Luokkakaavion tarkoitus

Rekisteröityminen, tilojen varaaminen ja maksaminen WebTimmi varausjärjestelmässä

Johdatus sovellussuunnitteluun, s99, osa2 Helsingin yliopisto;/tktl Harri Laine 1. Olioperustaisuus (object oriented)

Johdatus sovellussuunnitteluun, s99, osa2 Helsingin yliopisto;/tktl Harri Laine 1. Olioperustainen ohjelmistokehitys

Johdatus sovellussuunnitteluun, s2000, osa5 Helsingin yliopisto;/tktl. Harri Laine 1. Luokkakaavion tarkoitus. Luokkakaavion tarkoitus

Määrittelyvaihe. Projektinhallinta

Ohjelmistojen mallintaminen, sekvenssikaaviot

Mallinnus. 5. Järjestelmämallit. Abstraktiot. Mallinnuksen etuja. Arkkitehtuurimalli. Yhteysmallit. Ohjelmistotuotanto, järjestelmämallit Kevät 2005

5. Järjestelmämallit. Mallinnus

Toimintokaavio. UML-Toimontokaavio 1

M =(K, Σ, Γ,, s, F ) Σ ={a, b} Γ ={c, d} = {( (s, a, e), (s, cd) ), ( (s, e, e), (f, e) ), (f, e, d), (f, e)

E-lasku ja suoramaksu Käytännön kysymyksiä ja vastauksia

Ohjelmistotekniikan menetelmät, mallintaminen ja UML

Ohjelmistotekniikan menetelmät, käyttötapauksiin perustuva vaatimusmäärittely

Esimerkki 1: Kahviautomaatti.

Ohjelmistojen vaatimusmäärittely Helsingin yliopisto, TKTL, s2013. Harri Laine 1. Tietovuokaaviot (data flow diagrams)

Olioperustaisuus (object oriented)

Ohjelmistojen mallintaminen, kesä 2010

Solidity älysopimus ohjelmointi. Sopimus suuntautunut ohjelmointi

Yhteydelle voi antaa nimen kumpaankin suuntaan Sille ei tarvise antaa lainkaan nimeä Yhteysnimen asemasta tai lisäksi voidaan käyttää roolinimiä

Ohjelmistojen mallintaminen Ohjelmiston suunnittelu Model driven development Harri Laine 1

Ohjelmistotuotanto vs. muut insinööritieteet. (Usein näennäinen) luotettavuus ja edullisuus

Ohjelmistojen mallintaminen luokkamallin lisäpiirteitä

UML-MALLINNUS MICROSOFT VISIOLLA JOUNI HUOTARI

UML-kielen formalisointi Object-Z:lla

Luokkakaavion laatiminen

Ohjelmistojen mallintaminen, arkkitehtuuria ja rajapintoja

Johdatus sovellussuunnitteluun, s99, osa3 Helsingin yliopisto;/tktl Harri Laine 1. Olioiden väliset yhteydet. Olioiden väliset yhteydet

Tietokantojen perusteet k2004helsingin yliopisto/tktl Tietokantojen perusteet, s 2007 ER-mallin peruskäsitteet.

UML - unified modeling language

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät

VETUMA rekisteröityminen

Johdatus sovellussuunnitteluun, s99, osa3 Helsingin yliopisto;/tktl Harri Laine 1. Olioiden väliset yhteydet. Olioiden väliset yhteydet

käyttötapaukset mod. testaus

1. Tarkastellaan seuraavaa kaaviota

Ohjelmistojen mallintaminen, kertausta

Mikä ihmeen e-lasku? E-laskutietoa yritysten käyttöön

TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 22. toukokuuta 2013

Ohjelmistojen suunnittelu

Apix Vastaanota-palvelun lisäominaisuus. Vastaanota+ Pikaohje Versio 1.0

UML:n yleiskatsaus. UML:n osat:

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 9. lokakuuta 2016

Ohjelmistotuotanto, s

Kiertokysely. Sulautetut järjestelmät Luku 2 Sivu 1 (??)

Energiatodistusrekisteri ja laatijan rooli

UML-mallinnus ja prosessien kuvaaminen Microsoft Visiolla (versio 2003 professional) Jouni Huotari

Tietokantojen suunnittelu, relaatiokantojen perusteita

Lisää pysähtymisaiheisia ongelmia

Laatija: Staria Oyj Ostolaskujen käsittelyohje versio 0.1 Hyväksyjä: Jukka Suonvieri OSTOLASKUJEN KÄSITTELY

Ohjelmistojen mallintaminen, mallinnustekniikat käytännössä

Johdatus sovellussuunnitteluun, s99, osa5 Helsingin yliopisto;/tktl DO NOT PRINT THIS DOCUMENT. Harri Laine 1. Olioiden yhteistoiminta

Johdatus sovellussuunnitteluun, s99, osa5 Helsingin yliopisto;/tktl DO NOT PRINT THIS DOCUMENT. Harri Laine 1. Olioiden yhteistoiminta

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

Ohjelmiston suunnittelu. Olioperustaiset menetelmät

Ongelma(t): Mikä on Turingin kone? Miten Turingin kone liittyy funktioihin ja algoritmeihin? Miten Turingin kone liittyy tietokoneisiin?

Tervetuloa OmaLounea-palveluun! KÄYTTÄJÄN OPAS

Tulorekisteri: Erillisilmoitus Visma Fivaldi

Apix Vastaanota-palvelun lisäominaisuus. Vastaanota+ Pikaohje Versio 2.0 DRAFT

Ohjelmistojen mallintaminen, kurssikoe esimerkkivastauksia

Muistilista eurosta käytäviä keskusteluja varten

Kuntien Kansalliseen palveluarkkitehtuuriin liittyminen. Kunta-KaPA

Ohjelmistotekniikan menetelmät, kesä 2008

Unified Modeling Language

9. Matemaattisista koneista.


Automaatit. Muodolliset kielet

Tämän lisäksi listataan ranskalaisin viivoin järjestelmän tarjoama toiminnallisuus:

Ohjelmistojen mallintaminen Olioperustainen ohjelmistomalli Harri Laine 1

LIITÄNTÄSOVITIN ipodille KS-PD100 Ennen tämän sovittimen käyttöä

Yhteenveto. Menettelytavat

Toiminnot eli käyttäytyminen. Tieto eli rakenteelliset ominaisuudet

Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio

StanForD-XML. Juha-Antti Sorsa, Tapio Räsänen, Vesa Imponen

Visma Financial Solutions

Ohjelmistojen mallinnus Ohjelmistoarkkitehtuuri Harri Laine 1

Avoimen ja yhteisen rajapinnan hallintasuunnitelma v.1.4

Transkriptio:

Ohjelmistojen mallintaminen olioiden elinkaaret - tilakaavio 21.11.2008 Harri Laine 1

Joidenkin järjestelmien sisältömallissa on erotettavissa luokkia, joiden ilmentymien käyttäytymisen kuvaaminen, kirjaus ja hallinta ovat tärkeässä asemassa koko järjestelmän kannalta. Järjestelmä saattaa olla olemassa pelkästään näitä varten puhelinkeskuksen puhelunhallinta hakemus tai valitusprosessi tilaustenhallinta liikenteenohjaus prosessinhallinta 21.11.2008 Harri Laine 2

Myös ohjelmiston toteutukseen käytettävien teknisten luokkien olioihin voi liittyä erilaisia tiloja ja sääntöjä jotka kontrolloivat siirtymisiä tilojen välillä, esim ohjelman toimintaa ohjaavat kontrollioliot jotkin käyttöliittymäoliot syötteiden tulkinta UML tarjoaa olioiden käyttäytymisen kuvaukseen tilakaavio (state diagram) tekniikan 21.11.2008 Harri Laine 3

Käyttäytyminen perustuu siihen, että olio on elinkaarensa aikana erilaisissa tiloissa (state). Tila (state) = attribuuttien arvojen ja olion kytkentöjen muodostama nimetty kokonaisuus, olotila. Tilan määrytymiseen voi vaikuttaa vai yksi attribuutti tai useampien yhdistelmä. Tuoppi on tilassa täysi Lasku on tilassa maksettu Lompakko on tilassa tyhjä tila Perinteisessä tila-automaattimallissa automaatti (tässä yhteydessä olio) voi olla vain yhdessä tilassa tietyllä hetkellä. 21.11.2008 Harri Laine 4

Siirtymä (transition) = Siirtyminen tilasta toiseen. Siirtymän saa aikaan jokin heräte (event, message). Heräte on jokin tapahtuma. Siirtymiseen tilasta toiseen liittyy olion suorittamaa toimintaa. maksamatta maksaminen maksettu Laskun tiloja, heräte maksaminen vaihtaa tilaa. 21.11.2008 Harri Laine 5

Siirtymään voidaan liittää ehto, joka säätelee siirtymismahdollisuutta. maksamatta maksaminen [eräpäivään alle viikko] maksettu Laskua ei saa maksaa liian aikaisin. 21.11.2008 Harri Laine 6

Siirtymään voidaan liittää myös toimintaa tai viestin lähetys toiselle oliolle. LASKU: maksaminen [eräpäivään alle viikko] / lompakko. anna_rahaa(määrä) maksamatta maksettu LOMPAKKO pullottaa anna_rahaa tyhjä 21.11.2008 Harri Laine 7

Alkutila ja lopputilat (alla laskun elinkaarta) maksamatta maksaminen maksettu alkutila eräpäivä ohi karhuttu maksaminen lopputila nyt_saa_jo_riittää perinnässä tuloutus uffet luottotappiona 21.11.2008 Harri Laine 8

Tiloihin voidaan liittää toimintaa. Toiminta voidaan liittää tilaan saapumiseen (entry) tilasta poistumiseen (exit) tilassa olemiseen (do) (kaikki toiminnot toteutetaan olion palveluina) 21.11.2008 Harri Laine 9

odotus kolikko Saatu rahaa do:lisää pottiin näytä kolikko Painettu valintanappia Saatu liian vähän entry:lisää Laskettu [vaihto<=0] Karkit_jakoon entry: vaihtoraha Laskettu [vaihto=>0] Tilanne tarkistettu [on] Karkki_valittu entry: tarkista Tilanne tarkistettu [ei ole] Painettu valintanappia Kolikko/ lisää pottiin Saatu liikaa entry:palauta liika Karkkia ei ole Painettu peruutusnappia Rahat otettu Ei vaihtorahaa Painettu peruutusnappia Karkit otettu valmis entry:anna karkit Rahat otettu valmis entry: palauta Peruttu entry:palauta 21.11.2008 Painettu peruutusnappia Harri Laine 10

Rakenteinen tila-automaatti (statechart) Harel: Statecharts: A visual formalism for complex systems, Science of computer programming, 8, 1987, 231-274 Poikkeaa perinteisestä tila-automaatista esim. tarjoamalla rinnakkaiset tilakoneet kokonaisuus voi olla samanaikaisesti useassa rinnakkaisessa tilassa - seuraus pienemmät tilakoneet rinnakkaiset tilakoneet voivat olla toisistaan riippumattomia tai riippuvia esim. olion tilaa tarkastellaan eri ominaisuuksien suhteen. 21.11.2008 Harri Laine 11

yleistyshierarkia tiloille - alitila - ylitila (xor-tila) ylitila H Paluu siihen missä oltiin help s13 ali_1 ali_2 ali_3 Siirtyminen mistä tahansa alitilasta Siirtyy sisällä alkutilaan s15 21.11.2008 Harri Laine 12

Edellisen kalvon automaatissa 'help' siirtää mistä tahansa alitilasta ali_1, ali_2, ali_3 tilaan s13. Automaatti voi olla joko tilassa ali_1, ali_2, ali_3, s13 tai s15. Jos ulkopuolelta siirrytään ylitilaan valitaan alitilaksi aloitustilaksi merkitty eli s15:sta siirrytään ali_1:een. Tässä automaatissa on historiatila H, joka tarkoittaa paluuta siihen alitilaan, josta viimeeksi poistuttiin, eli tässä palataan help-toiminnon jälkeen samaan tilaan, josta lähdettiin 21.11.2008 Harri Laine 13

Yhteydet muihin malleihin Tilakaavio vs. käyttötapaukset Käyttötapausten joukosta pitää löytyä siirtymiä aiheuttavat käyttötapaukset Tilat vs tietosisältö Määriteltävä miten tila ilmaistaan tietosisällössä Märiteltävä palvelut tilasiirtymien toteuttamisesksi 21.11.2008 Harri Laine 14

Uuden version saapuminen 4. korjattavana Artikkelin saapuminen hylkäyspäätöksen teko 1. valmisteilla 5. hylätty artikkelin elinkaari Lähetys lausunnoille Lausuntoa ei saada Korjattavaksi lähettäminen 3. käsiteltävänä hylkäyspäätöksen teko 2. lausunnolla Lausuntojen saapuminen Hyväksyminen Viimeistelyyn lähetys 7. viimeisteltävänä 6. hyväksytty Viimeistelty versio saapuu Sijoitetaan lehteen 21.11.2008 8. oikoluettavana Harri Laine 15 9. julkaistu