UML- mallinnus: Tilakaavio



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

UML -mallinnus TILAKAAVIO

Ohjelmistojen mallintaminen olioiden elinkaaret - tilakaavio Harri Laine 1

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

Sisältö. Tilakaaviot 2

Perusarkkitehtuurin ja vuorovaikutuksen mallintamisen perusteita.

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

Ohjelmistotekniikan menetelmät, UML

Ohjelmistojen mallintaminen, kurssikoe esimerkkivastauksia

Ohjelmistojen mallintaminen Unified Modeling Language (UML)

Ohjelmistojen suunnittelu

Dynaaminen analyysi II

käyttötapaukset mod. testaus

Tilan luonnehdinta (yksi tapa)

Ohjelmistojen mallintaminen kertausta Harri Laine 1

UML:n yleiskatsaus. UML:n osat:

Analyysi on tulkkaamista

Ohjelmistotekniikan menetelmät, luokkamallin laatiminen

Ohjelmistojen mallintaminen, kesä 2010

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät

Ohjelmistotuotanto, s /3/2003

Ohjelmistojen mallintaminen, kesä 2009

Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio

Ohjelmistotekniikan menetelmät, kesä 2008

1. Tarkastellaan seuraavaa kaaviota

Unified Modeling Language

UML-kielen formalisointi Object-Z:lla

Yhteistoimintakaavio (Esimerkki)

Ohjelmistojen mallintaminen, mallintaminen ja UML

Käyttötapausanalyysi ja testaus tsoft

Toimintokaavio. UML-Toimontokaavio 1

Ohjelmistotekniikan menetelmät, kevät 2008

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

Ohjelmistojen mallintaminen Olioiden yhteistyö Harri Laine 1

Lomalista-sovelluksen määrittely

Dynaaminen analyysi II Luento 4 Antti-Pekka Tuovinen

TIE Samuel Lahtinen. Lyhyt UML-opas. UML -pikaesittely

Olioiden yhteistyön mallintaminen

Ohjelmistotekniikan menetelmät, mallintaminen ja UML

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

Visual Case 2. Miika Kasnio (C9767)

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

Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio

Luokka- ja oliokaaviot

Kaavioista luettavat UML-laajennukset

5. Järjestelmämallit. Mallinnus

Ohjelmistotuotanto, s

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

UML-MALLINNUS MICROSOFT VISIOLLA JOUNI HUOTARI

Käyttötapaukset. Käyttötapaukset. Käyttötapaukset. Käyttötapaukset. Käyttötapaukset. Käyttötapaukset

UML OHJELMISTOPROSESSIEN TUKENA

Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä

UML - unified modeling language

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

VH5, JOTU, MagicDraw:n käyttö

Esimerkki 1: Kahviautomaatti.

Vaatimusten keräys ja hallinta

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

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

Ohjelmien analysointi. ER-kaaviot

Olion elinikä. Olion luominen. Olion tuhoutuminen. Olion tuhoutuminen. Kissa rontti = null; rontti = new Kissa();

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

Ohjelmistotekniikan menetelmät, koe

7. Oliot ja viitteet 7.1

Harjoitustehtävät viikolle 42

Ohjelmistotekniikka: Luento 4 Jouni Lappalainen

812347A Olio-ohjelmointi, 2015 syksy 2. vsk. VIII Suunnittelumallit Observer ja State

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

Ohjelmistojen mallintaminen. Luento 2, pe 5.11.

TIE = JOTU. VH5 - MagicDraw

Ohjelmistojen mallintaminen. Luento 6,

Jouni Huotari & Ari Hovi. Käsitemallinnuksesta relaatiokantaan KÄSITEMALLI. LOOGINEN MALLI: tietomalli valittu. FYYSINEN MALLI: DBMS valittu

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

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät

4. Vaatimusmäärittely

Ohjelmistotekniikan menetelmät Luokkamallit ohjelmiston mallintamisessa Harri Laine 1

Ohjelmistojen mallinnus Ohjelmistoarkkitehtuuri Harri Laine 1

Implisiittiset vaatimukset. 4. Vaatimusmäärittely. Eksplisiittiset vaatimukset. Vaatimusmäärittelyn tavoitteet. Vaatimusten luonne II

TAMK Ohjelmistotekniikka G Graafisten käyttöliittymien ohjelmointi Herkko Noponen Osmo Someroja. Harjoitustehtävä 2: Karttasovellus Kartta

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

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

POLKU LUOKKAKAAVIOISTA TAULUJEN TOTEUTUKSEEN

Ohjelmistojen mallintaminen. Luento 3, 9.11.

KIRJASTOJÄRJESTELMÄ Tietojenkäsittelytieteiden laitos Jyväskylän Yliopisto

Kaaviotekniikoista (erityisesti UML) (ajan riittäessä pikkasen projekteista)

UML -mallinnus Viestiyhteyskaavio EERO NOUSIAINEN

Tenttikysymykset. + UML-kaavioiden mallintamistehtävät

Suunnitteluvaihe prosessissa

Kurssin aihepiiri: ohjelmistotuotannon alkeita

Tällä harjoituskerralla on tarkoituksena harjoitella käyttötapaus-, luokka- ja tapahtumasekvenssikaavioiden luontia.

Kaaviotekniikoista (erityisesti UML)

MagicDraw-pikaohje (VH5)

Johdanto. Olio (Object) Luokka (Class) Olion kuvaaminen

812347A Olio-ohjelmointi, 2015 syksy 2. vsk. IX Suunnittelumallit Proxy, Factory Method, Prototype ja Singleton

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

Paikkatiedon mallinnus Dokumentoinnin ymmärtäminen. Lassi Lehto

Ohjelmistojen kehittämisessä tarvitaan kaaviotekniikoita

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

2. Käsiteanalyysi ja relaatiomalli

Transkriptio:

UML- mallinnus: Tilakaavio

Karkea kuvaus UML- kaavioiden käytöstä ohjelmistonkehityksen eri vaiheissa ja tehtävissä.

Mallinnus tilakaavioilla Tilakaaviolla kuvataan yhden luokan olioiden tilan muuttumista olioon kohdistuvien tapahtumien mukaan. Tilakaavio on täydellinen kuvaus, ei esimerkinomainen. Tilakaavio laaditaan vain olioista, joiden ymmärtäminen eri tilojen kautta on järjestelmän kannalta tärkeää.

Toiminnot (action) ovat välittömästi tapahtuvia - aiheutuvat tapahtumista - muuttuvat tilan mukaan Ero aktiviteettikaavioon: aktiviteettikaavio on tilakaavio, jonka tilat ovat aktiviteetteja aktiviteetti on operaatio, jonka suorittaminen kestää; ei välitön. Tilat (state) ovat abstraktioita luokan attribuuttien arvojen yhdistelmistä

Tilakaavio notaatio State name entry/action exit/action do/action eventname/action eventname/defer Suoritetaan tilaan saavuttaessa Suoritetaan tilasta poistuttaessa Suoritetaan tilassa ollessa Toiminto Vahti: tilasiirtymä mahdollinen, jos tosi Suoritetaan tapahtuman sattuessa eventname(param)[guard]/action Alkutila Lopputila Viivästetty tapahtuma Action: assignment call create destroy return send terminate

Tilakaaviot esimerkki Esimerkkinä VarauksenTeko-kontrolliolion tilakaavio; vain tilasiirtymiä aiheuttavat tapahtumat on esitetty. kysysaatavuus[ei löydy]/- Ei varaustietoja alustatiedot(v.tiedot)/- Varaus ei saatavilla etsivaraus[löytyi]/- timeout tai peruuta()/ peruuta alustava varaus kysysaatavuus[löytyi]/ alustava varaus ok/- Varaus vahvistettu Vahvista()/ vahvista alustava var. Varaus saatavana entry/aloita ajan lasku peruuta()/ peruuta varaus

Tilakaavioiden laadinta Haetaan kontrollin kannalta oleelliset tilat ja tilasiirtymät Käydään läpi olion operaatiot, joiden seurauksena tila muuttuu Jokaiselle tilalle mietitään kaikki mahdolliset tilasiirtymät - laukaisuehdot kaikille siirtymille - tilaan saapumis- ja tilasta poistumistoiminnot - siirtymiin liittyvät toiminnot ja niiden ehdot - alku- ja lopputila

Esimerkki ylitilasta reaaliluvun arvon laskeminen 6 /s = 0 piste alku merkki on d/ s = merkki merkki on "." merkki on d/ s = s+merkki/10 k = 2 loppu tai merkki ="."/ status = FAIL loppu tai merkki on "."/ status = FAIL kok.osa merkki on d/ s = 10*s + merkki des.osa merkki on d/ s = s+merkki/10**k k =k+1 loppu/ arvo = s status = OK loppu/ arvo = s status = OK merkki on "."/ status = FAIL merkki ei ole d eikä "."/ status = FAIL 6 6

Esimerkki rinnakkaisista tiloista dokumentin tallennus tyhjä nimetön editoi muutettu lataa tai talleta talleta talleta lataa editoi lataa nimetty talletettu poistu [tyhjä tai talletettu] poistu [muutettu ja nimetön]/ varmista talletus ja kysy tiedostolle nimi poistu [muutettu ja nimetty]/ varmista talletus

Tilakaaviot vs. sekvenssikaaviot Sekvenssikaaviot kuvaavat olioiden interaktion Tilakaaviot yhden olion toiminnallisuuden Sekvenssikaaviot ja tilakaaviot riippuvat vahvasti toisistaan. Sekvenssikaavion tapahtumien ja tilakaavion tilasiirtymien suhde: tilasiirtymät tapahtuvat sekvenssikaavion olioon tulevien nuolien kohdalla. Sekvenssikaaviossa - olioon tuleva nuoli on palvelupyyntö ja oliosta lähtevä nuoli on vaste pyynnölle tai palvelupyyntö toiselle oliolle.

Sekvenssikaaviossa yksittäisen olion pystyviiva kuvaa olioon kohdistuvia tilamuutoksia. Tällöin voidaan tarkistaa, tuottaako tilakone olion pystyviivalla olevan tilamuutossekvenssin ja etsiä tilakoneen tilasiirtymät sekvenssikaaviosta. Tilakaaviot ovat sekvenssikaavioita voimakkaampia, sillä ne sisältävät kaiken sen informaation minkä sekvenssikaaviotkin (jos jokaisesta oliosta tehtäisiin tilakone). Skenaariot ovat havainnollisempia, mutta epätäydellisiä.

Tilakaavion ja sekvenssikaavion yhteys Dialog diagrams Y:n tilakaaviossa:... / x.a() Y: Y X Z X:n tilakaaviossa: a b a /... User UI System Do: z.b Task specifications tai... /^x.a() tai... /send x.a()

Yhteys luokkakaavioihin Design model A B A B m m User View Contr Event traces

Dokumentoinnista Vaatimusmäärittelyn ja analyysin tulos dokumentoidaan yrityksen laatujärjestelmässä kuvatun mallin mukaan. Sisällysluettelo voisi näyttää vaikka tältä. 1. Johdanto 2. Nykyisen järjestelmän kuvaus ( jos sellainen on ) 3. Uuden järjestelmän kuvaus 3.1 3.2 3.3 3.4 Yleiskatsaus Toiminnalliset vaatimukset Ei-toiminnalliset vaatimukset Rajoitteet eli Pseudo requirements 3.5 Analyysivaiheen malli 3.5.1 Käyttöliittymän kuvaus 3.5.2 Käyttötapausmalli 3.5.2.1 Käyttötapauskaaviot 3.5.2.2. Käyttötapauskuvaukset 3.5.3 Oliomalli 3.5.3.1 Tietohakemisto 3.5.3.2 Luokkakaaviot 3.5.4 Dynaaminen malli 3.5.4.1 Sekvenssikaaviot käyttötapauksista 3.5.4.2 Tilakaavio(t) 4. Sanasto