Ohjelmistotuotanto, kuvaustekniikat Syksy Kuvaustekniikat. Miksi kuvaustekniikoita? Abstraktiotasot. Abstrahointi UML

Koko: px
Aloita esitys sivulta:

Download "Ohjelmistotuotanto, kuvaustekniikat Syksy Kuvaustekniikat. Miksi kuvaustekniikoita? Abstraktiotasot. Abstrahointi UML"

Transkriptio

1 5. Kuvaustekniikat Miksi kuvaustekniikoita? Tämä luku perustuu Sommervillen lisäksi seuraaviin kirjoihin: Martin Fowler, UML Distilled - Second Edition. Addison-Wesley, Roger S. Pressman, Software Engineering, A Practitioner s Approach. McGraw-Hill, 1997 tai uudempi (tietovuokaaviot). (Kirjat löytyvät kurssikirjahyllystä eikä niitä tarvitse hankkia erikseen.) Syksy 2004 Ohjelmistotuotanto / Verkamo, Taina 1 Nimensä mukaisesti vaatimusanalyysiin kuuluu analyysivaihe. Tässä vaiheessa on järkevää rakentaa yksi tai useampi malli järjestelmästä. Malli toimii sekä kuvauksena järjestelmästä korkean tason komponentteineen että vaatimusanalyysin ja suunnittelun välisenä siltana. Syksy 2004 Ohjelmistotuotanto / Verkamo, Taina 2 Abstrahointi Mallinnuksen tärkein piirre on abstrahointi. Kaikkea tietoa ei näytetä mallissa, vaan mallit esitetään eri tarkkuuksilla, eli abstraktiotasoilla. Korkein abstraktiotaso on käyttäjän vaatimusten taso. Matalin ohjelmistotuotannon abstraktiotaso on kirjoitettu koodi. Abstraktiotasot Vaatimusten ja koodin välissä meillä on abstraktiotasoja, joiden kuvaamiseen voidaan käyttää graafisia ja tekstipohjaisia malleja. Jokainen malli näyttää yhden näkymän järjestelmästä. Mallien näkymät ovat erilaiset, mutta kaikki kuvaavat samaa järjestelmää. Syksy 2004 Ohjelmistotuotanto / Verkamo, Taina 3 Syksy 2004 Ohjelmistotuotanto / Verkamo, Taina 4 UML Unified Modeling Language (UML) on nykyisin de facto standardi oliojärjestelmien kuvaustapa. Se määrittelee useita kieliä, joita voidaan käyttää prosessin työvaiheissa kuvaamaan ohjelmiston näkymiä ja abstraktioita. Käsiteltävät UML-kaaviot Tällä kurssilla esittelemme seuraavat UML-kaaviot: käyttötapauskaaviot, luokkakaaviot, tilasiirtymäkaaviot ja aktiviteettikaaviot. Lisäksi esittelemme UML:n ulkopuolelta tietovuokaaviot. Syksy 2004 Ohjelmistotuotanto / Verkamo, Taina 5 Syksy 2004 Ohjelmistotuotanto / Verkamo, Taina 6 Verkamo, Taina 1

2 5.1.Käyttötapauskaavio Käyttötapauskaavion rakenne Käyttötapauskaavio kuvaa yhden tai useamman käyttötapauksen, tapausten toimijat tai roolit (actors) ja tapauksien keskinäiset ja roolien väliset suhteet. Kaaviotekniikka selkeyttää käyttötapausten keskinäisiä suhteita ja käyttötapauksiin liittyviä toimijoita. Silti sanalliset kuvaukset ovat käyttötapausten ydin. Syksy 2004 Ohjelmistotuotanto / Verkamo, Taina 7 Kuvattava käyttötapaus on jokin toimijan ja järjestelmän välinen toiminta alusta loppuun. Alku: Tila juuri ennen käyttötapausta. Esim. henkilö on käynnistämässä ohjelmaa. Loppu: Tila käyttötapauksen päätyttyä. Esim. henkilö sulkee käyttämänsä ohjelman. Syksy 2004 Ohjelmistotuotanto / Verkamo, Taina 8 Toimijat Toimija tai rooli liittyy yhteen tai useampaan käyttötapaukseen, ja yhteen käyttötapaukseen liittyy yksi tai useampi toimija. Yksi henkilö voi olla useassa eri roolissa eli useana eri toimijana käyttötapauksessa. Syksy 2004 Ohjelmistotuotanto / Verkamo, Taina 9 Erikoistapaukset Käyttötapauksista voidaan tehdä erikoistapauksia Yleistys-relaatiolla. Näitä käytetään esimerkiksi silloin, kun halutaan kuvata oikein toimittuun käyttötapaukseen liittyviä virheellisiä toimintoja. Relaatio on Yleistys, koska varsinainen käyttötapaus on yleistys erikoistuneesta käyttötapauksesta. Syksy 2004 Ohjelmistotuotanto / Verkamo, Taina 10 Sisältyvyydet Käyttötapauskaavion symbolit Toisena käyttötapausten välisenä relaationa UML määrittelee sisältyvyyden (include). Se tarkoittaa, että useat käyttötapaukset voivat sisältää yhteisiä osia, jotka on eroteltu omaksi käyttötapaukseksi. Sisältyvyys on eräänlainen käyttötapauskaavion alikaavio, jota voidaan käyttää ylemmän tason kaavioista. Toimija/rooli (actor) Käyttötapaus (Use Case) Yleistys (generalization) Käyttötapaus (Use Case) <<include>> Sisältyvyys Käyttötapaus (Use Case) Syksy 2004 Ohjelmistotuotanto / Verkamo, Taina 11 Syksy 2004 Ohjelmistotuotanto / Verkamo, Taina 12 Verkamo, Taina 2

3 Käyttötapauskaavioesimerkki 5.2. Luokkakaaviot Asiakas Automaatille Lainaus Varaus Palautus Tiskille Teos myöhässä Laskutus Kirjastojen välinen teoshakemisto Kirjastonhoitaja Luokkakaavio on UML:n yleisimmin käytetty kuvauskieli. Luokkakaavioita voidaan käyttää järjestelmäanalyysista aina testaukseen asti. Varsinkin korkeilla abstraktiotasoilla luokkakaavioiden lisäksi käytetään täydentäviä (UML:n ulkopuolisia) kuvaustekniikoita. Syksy 2004 Ohjelmistotuotanto / Verkamo, Taina 13 Syksy 2004 Ohjelmistotuotanto / Verkamo, Taina 14 Luokkakaavionäkökulmat Luokkakaavionäkökulmat - II Luokkakaavioihin on kolme näkökulmaa: Käsitenäkökulma (conceptual): kuvataan järjestelmää, sen komponentteja, suhteita muihin järjestelmiin ja käyttäjiin. Tämä on vaatimusanalyysin näkökulma. Määrittelynäkökulma (specification): kuvataan ohjelmistoa, mutta keskitytään rajapintoihin toteutuksen sijaan. Tämä on korkean tason suunnittelun näkökulma. Syksy 2004 Ohjelmistotuotanto / Verkamo, Taina 15 Toteutusnäkökulma (implementation): kuvataan ohjelmistoa, sen toteutusta, navigointia oliosta toiseen, olioiden tarjoamia palveluja ja kutsutapoja. Tämä on matalan tason suunnittelun näkökulma. Malliin sopivan näkökulman tunnistus auttaa sekä piirtämään että ymmärtämään luokkakaavioita. Syksy 2004 Ohjelmistotuotanto / Verkamo, Taina 16 Luokkakaavion sisältö UML:n luokkakaaviot on kuvattu yksityiskohtaisesti Johdatus sovellussuunnitteluun -kurssilla, joten meille riittää kertaus. Luokkakaavio sisältää: Luokkia (classes). Jokainen luokka esittää kokoelmaa abstrakteja tai todellisia olioita. Samaan luokkaan kuuluvat oliot näyttävät samalta ja toimivat samoilla säännöillä. Syksy 2004 Ohjelmistotuotanto / Verkamo, Taina 17 Luokkakaavion sisältö - II Yhteyksiä (associations). Luokkien välillä voi olla yhteyksiä. Yhteys kuvaa jonkin suhteen, joka pätee kahden luokan olioiden välillä - tai saman luokan, jos yhteys on rekursiivinen. Yleistyksiä (generalizations). Jokin luokka voi erikoistapaus toisesta. Tällöin erikoistapausluokan oliot ovat myös yleisemmän luokan olioita. Syksy 2004 Ohjelmistotuotanto / Verkamo, Taina 18 Verkamo, Taina 3

4 Luokka ja yleistys Luokka sisältää tietoa siihen kuuluvien olioiden ominaisuuksista (attribuuteista) ja tietoa siihen kuuluvien olioiden toiminnoista. Yleistys sisältää viittauksen yliluokkaan: mistä yleistetään viittauksen aliluokkaan: mikä on yleistetyn luokan erikoistapaus. Syksy 2004 Ohjelmistotuotanto / Verkamo, Taina 19 Yhteys Yhteys sisältää asteet: montako oliota kustakin luokasta voi/täytyy osallistua tähän yhteyteen ja roolit: miten yhteyteen osallistuvat luokat esiintyvät yhteydessä. UML määrittelee kaksi erityistä yhteyttä: aggregaatin (aggregate) ja komposition (Composite). Syksy 2004 Ohjelmistotuotanto / Verkamo, Taina 20 Erityisiä yhteyksiä Aggregaattiyhteys (kokouma, yhdistelmä) on eräänlainen sisältää-suhde: auto sisältää osinaan moottorin ja pyörät. Komposiittiyhteys (kooste) on aggregaattia vahvempi yhteys. Se määrittelee rakenteisen suhteen: osat kuuluvat täsmälleen yhteen kokonaisuuteen. Kokonaisuus ja osat elävät ja kuolevat yhdessä. Yhteysesimerkki Esim. Jos meillä on aggregaattiyhteys autorengas, niin tulkintana on, että autossa on renkaat, mutta renkaita voidaan säilyttää erillään autosta (esimerkiksi talvirenkaat). Sen sijaan komposiittiyhteytenä auton renkaat ovat erottamaton osa autoa eikä niitä voida esimerkiksi ottaa erilleen, kun auto viedään romuttamolle. Syksy 2004 Ohjelmistotuotanto / Verkamo, Taina 21 Syksy 2004 Ohjelmistotuotanto / Verkamo, Taina 22 Luokkakaavioesimerkki 5.3. Tietovuokaaviot Aviovaimo Kihlasormus Avioitunut 1..* henkilö 1 1 Aviomies Isä 0..1 Äiti 1 Ydinperhe * Lapsi Syksy 2004 Ohjelmistotuotanto / Verkamo, Taina 23 Äiti 1 * * Avioliiton kautta tullut sukulainen Tietovuokaavioiden avulla pyritään selvittämään, miten tieto kulkee järjestelmässä ja mitä muutoksia siihen kohdistuu. Tietovuokaavioita pidetään joskus vanhanaikaisina, mutta ne sopivat yleensä järjestelmäsuunnitteluun ja vaatimusanalyysin korkeiden abstraktiotasojen mallinnukseen. Syksy 2004 Ohjelmistotuotanto / Verkamo, Taina 24 Verkamo, Taina 4

5 Tietovuokaavioiden rakenne Tietovuokaavioiden komponentit ovat seuraavat: Ulkoiset oliot eli sidosryhmät. Ulkoiset oliot tuottavat järjestelmään tietoa ja syötteitä ja toisaalta ottavat tulosteet vastaan. Prosessit. Prosessi on järjestelmän sisäinen komponentti, joka muokkaa tietoa toiseen muotoon. Kaikki tiedon käsittely tapahtuu prosesseissa. Tietovuokaavioiden rakenne - II Tietovuot. Tietovuo kuvaa tiedon kulkua ulkoiselta oliolta järjestlemän sisälle ja järjestelmän sisällä prosessista toiseen. Tietovuossa liikkuu nimensä mukaisesti tieto. Tietovarastot. Tietovarasto on tiedon pysyvä tai väliaikainen talletuspaikka. Tietovaraston toteutustapaa ei ole kiinnitetty. Syksy 2004 Ohjelmistotuotanto / Verkamo, Taina 25 Syksy 2004 Ohjelmistotuotanto / Verkamo, Taina 26 Kaaviot Korkeimmalla tasolla oleva tietovuokaavio on yhteyskaavio. Siinä kuvataan sidosryhmät ja niistä järjestelmään tulevat ja lähtevät tietovuot. Itse järjestelmä kuvataan prosessina. Ensimmäinen varsinainen tietovuotaso on yleiskaavio. Siinä kuvataan järjestelmän tärkeimmät prosessit ja niiden väliset tietovuot. Syksy 2004 Ohjelmistotuotanto / Verkamo, Taina 27 Kaaviohierarkia Kaaviot ovat hierarkkisia. Järjestelmän prosesseja tarkennetaan kunnes päästään halutulle tarkkuustasolle. Haluttu tarkkuustaso riippuu käytöstä. Vaatimusanalyysissä pyritään yleensä sellaiselle tasolle, että tietovuokaaviosta havaitaan jakamattomat tehtävät. Tietovuokaavioita voidaan käyttää esim. yhdessä käyttötapausten kanssa. Syksy 2004 Ohjelmistotuotanto / Verkamo, Taina 28 Kaavioiden tarkennus Tietovuokaavioiden elementit Tarkennuksessa valitaan tarkennettavasta tietovuokaaviosta jokin prosessi, joka sitten kuvataan useana osaprosessina uudessa tietovuokaaviossa. Tietovuokaavioiden tarkennuksessa informaatiota ei synny eikä häviä. Rooli Tehtävä Tieto Tieto Ulkoinen olio Prosessi Tietovuo Tietovarasto Syksy 2004 Ohjelmistotuotanto / Verkamo, Taina 29 Syksy 2004 Ohjelmistotuotanto / Verkamo, Taina 30 Verkamo, Taina 5

6 Tietovuokaavioesimerkki 5.4. Tilasiirtymäkaaviot Syksy 2004 Ohjelmistotuotanto / Verkamo, Taina 31 Kaikilla järjestelmilläja olioilla on tila: toteutuneiden tapahtumien vaikutus. Järjestelmä siirtyy tilasta toiseen, kun saapuva tapahtuma (event) vaikuttaa sen tilaan. Tilasiirtymäkaavioita käytetään kuvaamaan järjestelmän, osajärjestelmän tai olion kaikkia tiloja ja siirtymisiä tilasta toiseen. Syksy 2004 Ohjelmistotuotanto / Verkamo, Taina 32 Tilasiirtymäkaavion käyttö Tilasiirtymäkaavio voidaan piirtää koko järjestelmästä, sen osasta tai oliosta. Periaate on aina sama. Vain mittakaava muuttuu. Tilasiirtymäkaavioilla voidaan esimerkiksi kuvata olion tai (osa)järjestelmän koko elinkaari. Tilat Tilasiirtymäkaavioita käytetään kuvaamaan, miten järjestelmä reagoi tapahtumiin ja miten tapahtumat muuttavat järjestelmän tilaa. Esimerkiksi tällä PowerPoint-esityksellä on tila: kulloinkin näytettävä kalvo. Kun painan välilyöntinäppäintä, siirrän samalla esityksen uuteen tilaan, eli seuraavalle kalvolle. Syksy 2004 Ohjelmistotuotanto / Verkamo, Taina 33 Syksy 2004 Ohjelmistotuotanto / Verkamo, Taina 34 UML:n tilasiirtymäkaavio UML:ssa tilasiirtymäkaavion tiloja kuvataan pyöreäreunaisella suorakulmiolla ja siirtymiä nuolilla. Lisäksi tilasiirtymäkaaviolla voi olla lähtöpiste ja useita päätepisteitä. Lähtöpiste kuvataan mustalla ympyrällä ja päätepiste avoimella ympyrällä, missä on musta keskipiste. Tilan rakenne Jokaisella tilalla on tilan merkityksen kertova nimi. Lisäksi tilalla voi olla tilariippuvia muuttujia, kuten laskureita, ja tilassa tapahtuvia toimintoja selittäviä tapahtuma/toiminto -pareja. Käyttäjä voi määritellä omia tapahtumia, joiden toteutuessa toimitaan vastaavan toiminnon mukaan. Syksy 2004 Ohjelmistotuotanto / Verkamo, Taina 35 Syksy 2004 Ohjelmistotuotanto / Verkamo, Taina 36 Verkamo, Taina 6

7 Vakiotapahtumat UML määrittelee kolme vakiotapahtumaa: entry, exit ja do. entry -toiminnot suoritetaan, kun järjestelmä tulee tilaan. exit-toiminnot suoritetaan, kun järjestelmä poistuu tilasta. do-toiminnot suoritetaan, kun järjestelmä on tilassa. Siirtymän rakenne Siirtymä kuvataan nuolella lähtötilasta maalitilaan. Lisäksi siihen voi kuulua tieto siirtymän aiheuttaneesta tapahtumasta ja laukaisimesta. Laukaisin (trigger) on ehto, jonka täytyy toteutua, jotta järjestelmä voi siirtyä tapahtuman tullessa tilasta toiseen. Syksy 2004 Ohjelmistotuotanto / Verkamo, Taina 37 Syksy 2004 Ohjelmistotuotanto / Verkamo, Taina 38 Siirtymän rakenne - II Tilasiirtymäkaavion komponentit Laukaisinten avulla kuvataan ehdollisia siirtymiä. Siirtymän toteutuminen vaatii sekä saapuneen tapahtuman että toteutuneen laukaisimen. Sekä tapahtuma että laukaisin voivat yksin aktivoida siirtymän. Molempien ei ole pakko olla mukana. Lähtöpiste Päätepiste Nimi Muuttujat tapahtuma/toiminto tapahtuma/toiminto tapahtuma [laukaisin] Tila Siirtymä Syksy 2004 Ohjelmistotuotanto / Verkamo, Taina 39 Syksy 2004 Ohjelmistotuotanto / Verkamo, Taina 40 Tilasiirtymäesimerkki (hissi) 5.5. Aktiviteettikaaviot Menossa ensimmäiseen kerrokseen perillä Ensimmäisessä kerroksessa Menossa alas ylös (kerros) perillä alas (kerros) Menossa ylös perillä [ajastin = maksimi odotusaika]/alas (ensimmäinen kerros) Odottaa ajastin = 0 do/kasvata ajastinta help/anna opastusta ylös (kerros) Aktiviteettikaavio kuvaa tietyn tehtävän sisäisen logiikan. Tehtävä voi olla yksittäinen operaatio tai jokin korkeamman tason tehtävä, kuten käyttötapauksen skenaario. Aktiviteettikaavio on sukua tilasiirtymäkaaviolle, mutta näkökulmana on tällä kertaa tehtävien keskinäinen sisäinen logiikka. Syksy 2004 Ohjelmistotuotanto / Verkamo, Taina 41 Syksy 2004 Ohjelmistotuotanto / Verkamo, Taina 42 Verkamo, Taina 7

8 Aktiviteettikaavion osat Aktiviteettikaavion komponentit Lähtö- ja päätepiste. Suoritettavia toimintoja (aktiviteetteja). Siirtymiä aktiviteetista toiseen. Siirtymään voi liittyä siirtymän aktivoiva ehto. Tehtävien synkronointejaa, joilla mallinnetaan tehtävien rinnakkaisuutta. Haaraumia, joilla mallinnetaan vaihtoehtoja Ratoja (swimlanes), joilla mallinnetaan toimijoita. Lähtöpiste Päätepiste Synkronointi Toimija Rata Toiminto [ehto] Aktiviteetti Siirtymä Haarauma Syksy 2004 Ohjelmistotuotanto / Verkamo, Taina 43 Syksy 2004 Ohjelmistotuotanto / Verkamo, Taina 44 Aktiviteettikaavioesimerkki Asiakas Anna kirja Hyräile Kirjastonhoitaja [Myöhässä] Kirjaa myöhästyminen Tarkista palautus Kirjaa palautus [else] Syksy 2004 Ohjelmistotuotanto / Verkamo, Taina Muut UML:n kaaviot Edellä esiteltyjen kaaviotekniikkojen lisäksi UML:n nykyinen versio määrittelee seuraavat kaaviot: Sekvenssikaavio (sequence diagram): Tällä kaaviolla kuvataan olioiden välistä dynaamista yhteistyötä. Kaaviosta selviää, missä järjestyksessä oliot kutsuvat toistensa palveluja tietyllä hetkellä ja mitä viestejä/palvelupyyntöjä oliot lähettävät toisilleen. Syksy 2004 Ohjelmistotuotanto / Verkamo, Taina 46 Muut UML:n kaaviot - II Yhteistyökaavio (collaboration diagram): Myös tällä kaaviolla kuvataan olioiden välistä yhteistyötä, mutta järjestys ei ole aikaan sidottu. Osallistujat voidaan asetella esimerkiksi loogisesti yhteenkuuluviksi kokonaisuuksiksi. Oliokaavio (object diagram): Oliokaavio kuvaa olioita ja niiden välisiä suhteita. Kaavio esittää luokkakaavion mahdollista ajoaikaista ilmentymää. Syksy 2004 Ohjelmistotuotanto / Verkamo, Taina 47 Muut UML:n kaaviot - III Komponenttikaavio (component diagram): Tällä kaaviolla kuvataan fyysisiä ohjelmistokomponentteja. Kaavio kuvaa komponentit ja niiden väliset suhteet. Sijoittelukaavio (deployment diagram): Kaavio näyttää laitteiston ja ohjelmiston fyysisen arkkitehtuurin. Tämä on UML:n työkalu järjestelmäsuunnitteluun, mitä voidaan käyttää luokkakaavioiden ja tietovuokaavioiden sijaan tai rinnalla. Syksy 2004 Ohjelmistotuotanto / Verkamo, Taina 48 Verkamo, Taina 8

3a. Projektin hallinta (lisäys lukuun 3)

3a. Projektin hallinta (lisäys lukuun 3) 3a. Projektin hallinta (lisäys lukuun 3) Tehokas projektin hallinta keskittyy kolmeen osaalueeseen: henkilökuntaan, tehtävään ja prosessiin. Henkilökunta: on yrityksen tärkein voimavara, oikea henkilö

Lisätiedot

5. Järjestelmämallit. Mallinnus

5. Järjestelmämallit. Mallinnus 5. Järjestelmämallit Käyttäjävaatimukset pitää kirjoittaa luonnollisella kielellä. Niitä lukevat myös asiakkaat ja loppukäyttäjät. Järjestelmävaatimukset kannattaa kirjoittaa jollain rakenteisella kuvaustavalla.

Lisätiedot

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

Mallinnus. 5. Järjestelmämallit. Abstraktiot. Mallinnuksen etuja. Arkkitehtuurimalli. Yhteysmallit. Ohjelmistotuotanto, järjestelmämallit Kevät 2005 5. Järjestelmämallit Käyttäjävaatimukset pitää kirjoittaa luonnollisella kielellä. Niitä lukevat myös asiakkaat ja loppukäyttäjät. Järjestelmävaatimukset kannattaa kirjoittaa jollain rakenteisella kuvaustavalla.

Lisätiedot

Ohjelmistotekniikan menetelmät, UML

Ohjelmistotekniikan menetelmät, UML 582101 - Ohjelmistotekniikan menetelmät, UML 1 Sisältö DFD- ja sidosryhmäkaavioiden kertaus Oliomallinnus UML:än kaaviotyypit 2 Tietovuokaaviot Data flow diagrams, DFD Historiallisesti käytetyin kuvaustekniikka

Lisätiedot

Ohjelmistojen mallintaminen, mallintaminen ja UML

Ohjelmistojen mallintaminen, mallintaminen ja UML 582104 Ohjelmistojen mallintaminen, mallintaminen ja UML 1 Mallintaminen ja UML Ohjelmistojen mallintamisesta ja kuvaamisesta Oliomallinnus ja UML Käyttötapauskaaviot Luokkakaaviot Sekvenssikaaviot 2 Yleisesti

Lisätiedot

Ohjelmistojen mallintaminen Unified Modeling Language (UML)

Ohjelmistojen mallintaminen Unified Modeling Language (UML) 582104 Ohjelmistojen mallintaminen Unified Modeling Language (UML) 1 Olioperustaisuus Olio toimii mallinnuksen perusyksikkönä eri abstraktiotasoilla Järjestelmän rajaus, suunnittelu, ohjelmointi, suoritus..

Lisätiedot

UML:n yleiskatsaus. UML:n osat:

UML:n yleiskatsaus. UML:n osat: UML:n yleiskatsaus - voidaan hyödyntää hyvin laajasti. - sopii liiketoimintamallinnukseen, ohjelmistomallinnukseen sen jokaiseen vaiheeseen tai minkä tahansa pysyviä ja muuttuvia ominaisuuksia sisältävän

Lisätiedot

Ohjelmistotekniikan menetelmät, kesä 2008

Ohjelmistotekniikan menetelmät, kesä 2008 582101 - Ohjelmistotekniikan menetelmät, kesä 2008 1 Ohjelmistotekniikan menetelmät Methods for Software Engineering Perusopintojen pakollinen opintojakso, 4 op Esitietoina edellytetään oliokäsitteistön

Lisätiedot

Ohjelmistotuotanto, s

Ohjelmistotuotanto, s Toiminnan osiinjako Ohjelmistotuotanto Systeemiteoreettinen lähestymistapa INPUT PROCESS OUTPUT Vaatimusanalyysin menetelmiä systeemi on prosessi, joka saa syötteitä ja tuottaa tuloksia systeemi voidaa

Lisätiedot

Ohjelmistojen mallintaminen, kesä 2009

Ohjelmistojen mallintaminen, kesä 2009 582104 Ohjelmistojen mallintaminen, kesä 2009 1 Ohjelmistojen mallintaminen Software Modeling Perusopintojen pakollinen opintojakso, 4 op Esitietoina edellytetään oliokäsitteistön tuntemus Ohjelmoinnin

Lisätiedot

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

Ohjelmistotekniikan menetelmät, käyttötapauksiin perustuva vaatimusmäärittely 582101 - Ohjelmistotekniikan menetelmät, käyttötapauksiin perustuva vaatimusmäärittely 1 Vaatimukset ja käyttötapaukset Vaiheittainen mallintaminen ja abstraktiotasot Järjestelmän rajaaminen sidosryhmäkaaviolla

Lisätiedot

Ohjelmistotekniikan menetelmät, kevät 2008

Ohjelmistotekniikan menetelmät, kevät 2008 582101 - Ohjelmistotekniikan menetelmät, kevät 2008 1 Ohjelmistotekniikan menetelmät Methods for Software Engineering Perusopintojen pakollinen opintojakso, 4 op Esitietoina edellytetään oliokäsitteistön

Lisätiedot

UML -mallinnus TILAKAAVIO

UML -mallinnus TILAKAAVIO UML -mallinnus TILAKAAVIO SISÄLLYS 3. Tilakaavio 3.1 Tilakaavion alku- ja lopputilat 3.2 Tilan nimi, muuttujat ja toiminnot 3.3 Tilasiirtymä 3.4 Tilasiirtymän vai tilan toiminnot 3.5 Tilasiirtymän tapahtumat

Lisätiedot

Ohjelmistojen mallintaminen, kesä 2010

Ohjelmistojen mallintaminen, kesä 2010 582104 Ohjelmistojen mallintaminen, kesä 2010 1 Ohjelmistojen mallintaminen Software Modeling Perusopintojen pakollinen opintojakso, 4 op Esitietoina edellytetään oliokäsitteistön tuntemus Ohjelmoinnin

Lisätiedot

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi Tarkentaa ja jäsentää vaatimusmäärittelyä, vastaa kysymykseen MITÄ järjestelmän tulisi tehdä. Suoritetaan seuraavia

Lisätiedot

UML - unified modeling language

UML - unified modeling language UML - unified modeling language Lähtökohtana: Booch, Rumbaugh, Jacobsson Tavoitteena Unified Method - syntyykö? Kehittäjänä: Rational Inc. Standardointi: Object Management Group (OMG) - vaiheessa Lähteet:

Lisätiedot

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi Tarkentaa ja jäsentää vaatimusmäärittelyä, vastaa kysymykseen MITÄ järjestelmän tulisi tehdä. Suoritetaan seuraavia

Lisätiedot

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

Joskus yleistäminen voi tapahtua monen ominaisuuden pohjalta. Myös tällöin voi tulla moniperintätilanteita. Moniperintä 2 Joskus yleistäminen voi tapahtua monen ominaisuuden pohjalta. Myös tällöin voi tulla moniperintätilanteita. Oliomallinnus TITE.2040 Hannu K. Niinimäki 1 Delegointi 1 Moniperinnän toteuttaminen

Lisätiedot

Lähestymistavat - toiminnallinen

Lähestymistavat - toiminnallinen Lähestymistavat - toiminnallinen Systeemiteoreettinen lähestymistapa INPUT PROCESS OUTPUT systeemi on prosessi, joka saa syötteitä ja tuottaa tuloksia systeemi voidaa jakaa osasysteemeihin tietojärjestelmissä

Lisätiedot

Ohjelmistojen mallintaminen

Ohjelmistojen mallintaminen Ohjelmistojen mallintaminen - Mallit - Ohjelmiston kuvaaminen malleilla 31.10.2008 Harri Laine 1 Malli: abstraktio jostain kohteesta Abstrahointi: asian ilmaiseminen tavalla, joka tuo esiin tietystä näkökulmasta

Lisätiedot

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

Tilakaaviot, sekvenssikaaviot (Haikala, Märijärvi ss , ) Tilakaaviot, sekvenssikaaviot (Haikala, Märijärvi ss. 121-133, 135 141) Jari Ojasti Nokia email : jari.ojasti@nokia.com puh : 040 5926 312 Sisältö Sekvenssikaaviot ja tilakaaviot osana UML:ia Sekvenssikaaviot

Lisätiedot

UML-kielen formalisointi Object-Z:lla

UML-kielen formalisointi Object-Z:lla UML-kielen formalisointi Object-Z:lla Kalvot ja seminaarityö WWW:ssä: http://users.jyu.fi/~minurmin/opiskelu/form/ UML UML == Unified Modelling Language. OMG:n standardoima kieli ohjelmistojärjestelmien,

Lisätiedot

Ohjelmistojen mallintaminen kertausta Harri Laine 1

Ohjelmistojen mallintaminen kertausta Harri Laine 1 kertausta 5.12.2008 Harri Laine 1 Ohjelmiston elinkaari, elinkaarimallit Yleinen puitemalli (reference model) - abstrakti kokonaiskuva ei etenemiskontrollia, ei yksityiskohtia Ohjelmistoprosessimallit

Lisätiedot

Ohjelmistojen mallintaminen, kurssikoe esimerkkivastauksia

Ohjelmistojen mallintaminen, kurssikoe esimerkkivastauksia Ohjelmistojen mallintaminen, kurssikoe 15.12. esimerkkivastauksia Tehtävä 1 a: Ohjelmistotuotantoprosessi sisältää yleensä aina seuraavat vaiheet: määrittely, suunnittelu, toteutus, testaus ja ylläpito.

Lisätiedot

Ohjelmistojen mallintaminen Olioperustainen ohjelmistomalli Harri Laine 1

Ohjelmistojen mallintaminen Olioperustainen ohjelmistomalli Harri Laine 1 Ohjelmistojen mallintaminen Olioperustainen ohjelmistomalli 4.11.2008 Harri Laine 1 Olioperustainen ohjelmistokehitys Olioperustaisuus (object oriented software development) järjestelmä (system) on olio

Lisätiedot

käyttötapaukset mod. testaus

käyttötapaukset mod. testaus käyttötapaukset Jari Ojasti Nokia email : jari.ojasti@nokia.com puh : 040 5926 312 Kartta hyväksyntä määrittely suunnittelu suunnittelu mod. testaus integrointi sys. testaus Ylläpito koodaus (toteutus)

Lisätiedot

Sisällys. Mitä on periytyminen? Yksittäis- ja moniperiytyminen. Oliot ja perityt luokat. Periytymisen käyttö. 8.2

Sisällys. Mitä on periytyminen? Yksittäis- ja moniperiytyminen. Oliot ja perityt luokat. Periytymisen käyttö. 8.2 8. Periytyminen 8.1 Sisällys Mitä on periytyminen? Yksittäis- ja moniperiytyminen. Oliot ja perityt luokat. Periytymisen käyttö. 8.2 Mitä on periytyminen? Periytyminen (inheritance) tarkoittaa luokan piirteiden

Lisätiedot

Ohjelmistojen suunnittelu

Ohjelmistojen suunnittelu Ohjelmistojen suunnittelu 581259 Ohjelmistotuotanto 154 Ohjelmistojen suunnittelu Software design is a creative activity in which you identify software components and their relationships, based on a customer

Lisätiedot

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät Tenttikysymykset 1. Selitä mitä asioita kuuluu tietojärjestelmän käsitteeseen. 2. Selitä kapseloinnin ja tiedon suojauksen periaatteet oliolähestymistavassa ja mitä hyötyä näistä periaatteista on. 3. Selitä

Lisätiedot

Luokka- ja oliokaaviot

Luokka- ja oliokaaviot Luokka- ja oliokaaviot - tärkeimmät mallinnuselementit : luokat, oliot ja niiden väliset suhteet - luokat ja oliot mallintavat kuvattavan järjestelmän sisältöä ja niiden väliset suhteet näyttävät, kuinka

Lisätiedot

Kertaus: yleistys-erikoistus ja perintä

Kertaus: yleistys-erikoistus ja perintä Kertaus: yleistys-erikoistus ja perintä Nauta, Lehmä ja Kuttu ovat Kotieläimiä, Kotieläimet Eläimiä Kotieläimillä (siis myös Naudoilla, Lehmillä ja Kutuilla) on Omistaja Kuttu ja Lehmä toteuttavat rajapinnan

Lisätiedot

Ohjelmistojen mallintaminen Tietovuokaaviot Harri Laine 1

Ohjelmistojen mallintaminen Tietovuokaaviot Harri Laine 1 Ohjelmistojen mallintaminen Tietovuokaaviot 3.11.2008 Harri Laine 1 t Data flow diagrams Pohjana systeemiteoreettinen järjestelmämalli Input system output Järjestelmän tehtävä on muokata lähtötiedoista

Lisätiedot

Mitä on periytyminen?

Mitä on periytyminen? 8. Periytyminen 8.1 Sisällys Mitä on periytyminen? Yksittäis- ja moniperiytyminen. Oliot ja perityt luokat. Filosofinen ja käytännönläheinen näkökulma periytymiseen. Periytymisen soveltaminen. 8.2 Mitä

Lisätiedot

UML-MALLINNUS MICROSOFT VISIOLLA JOUNI HUOTARI 11.1.2005 14.2.2010

UML-MALLINNUS MICROSOFT VISIOLLA JOUNI HUOTARI 11.1.2005 14.2.2010 UML-MALLINNUS MICROSOFT VISIOLLA JOUNI HUOTARI 11.1.2005 14.2.2010 TUTUSTUMISKIERROS VISION UML-KAAVIOIHIN Avaa ChampionzoneUML.vsd-tiedosto Tutustu malliin eli eri sivuilla oleviin kaavioihin (napsautus

Lisätiedot

UML- mallinnus: Tilakaavio

UML- mallinnus: Tilakaavio 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

Lisätiedot

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys Tällä kurssilla on tutustuttu ohjelmistojen mallintamiseen oliomenetelmiä ja UML:ää käyttäen Samaan aikaan järjestetyllä kurssilla on käsitelty

Lisätiedot

Olioperustaisuus (object oriented)

Olioperustaisuus (object oriented) DO NOT PRINT THIS DOCUMENT Olioperustainen ohjelmistokehitys Olioperustaisuus (object oriented) järjestelmä (system) muodostuu joukosta olioita (object), jotka yhteistyössä toimien tuottavat järjestelmän

Lisätiedot

TIE = JOTU. VH5 - MagicDraw

TIE = JOTU. VH5 - MagicDraw TIE-02300 = JOTU VH5 - MagicDraw TIE-02300 2 VH5 kaavionpiirtelyharjoitus Tässä harjoituksessa opetellaan tunnistamaan ja piirtämään tavallisimpia ja käytetyimpiä ohjelmistotuotannon kaavioita: käyttötapauskaavio

Lisätiedot

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

Johdatus sovellussuunnitteluun, s99, osa2 Helsingin yliopisto;/tktl Harri Laine 1. Olioperustaisuus (object oriented) DO NOT PRINT THIS DOCUMENT Olioperustainen ohjelmistokehitys Olioperustaisuus (object oriented) järjestelmä (system) muodostuu joukosta olioita (object), jotka yhteistyössä toimien tuottavat järjestelmän

Lisätiedot

Ohjelmistotuotanto, s /3/2003

Ohjelmistotuotanto, s /3/2003 Ohjelmistotuotanto Määrittelytekniikat 1 Sidosryhmät (ulkopuoliset tahot) ihmiset (käyttäjät), organisaatiot, toiset järjestelmät ulkopuolella, mutta tekemisissä kehitettävän ohjelmiston kanssa Sidosryhmien

Lisätiedot

Ohjelmistotekniikan menetelmät, mallintaminen ja UML

Ohjelmistotekniikan menetelmät, mallintaminen ja UML 582101 - Ohjelmistotekniikan menetelmät, mallintaminen ja UML 1 Mallintaminen ja UML (Ch 2.) Ohjelmistojen mallintamisesta ja kuvaamisesta Strukturoitu mallinnus Tietovuo- ja ER-kaaviot Oliomallinnus ja

Lisätiedot

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

Yhteydelle voi antaa nimen kumpaankin suuntaan Sille ei tarvise antaa lainkaan nimeä Yhteysnimen asemasta tai lisäksi voidaan käyttää roolinimiä DO NOT PRINT THIS DOCUMENT DO NOT PRINT THIS DOCUMENT Olioiden väliset yhteydet Yhteyden nimi Nimen lukusuunta pankkitili 0..10 Omistaja-> 1..3 asiakas

Lisätiedot

Ohjelmistojen mallintaminen Olioiden yhteistyö. 18.11.2008 Harri Laine 1

Ohjelmistojen mallintaminen Olioiden yhteistyö. 18.11.2008 Harri Laine 1 Ohjelmistojen mallintaminen Olioiden yhteistyö 18.11.2008 Harri Laine 1 Olioiden yhteistyö Oliokeskeisen ohjelmistonäkemyksen mukaan ohjelmiston palvelut tuotetaan olioiden yhteistyön tuloksena. Ohjelmisto

Lisätiedot

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

UML-mallinnus ja prosessien kuvaaminen Microsoft Visiolla (versio 2003 professional) Jouni Huotari 11.1.2005 UML-mallinnus ja prosessien kuvaaminen Microsoft Visiolla (versio 2003 professional) Jouni Huotari 11.1.2005 Tutustumiskierros Vision UML-kaavioihin Avaa ChampionzoneUML.vsd-tiedosto Tutustu malliin eli

Lisätiedot

Copyright by Haikala. Ohjelmistotuotannon osa-alueet

Copyright by Haikala. Ohjelmistotuotannon osa-alueet Copyright by Haikala Ohjelmistotuotannon osa-alueet Ohjelmiston elinkaari 1. Esitutkimus, tarvekartoitus, kokonaissuunnittelu, järjestelmäsuunnittelu (feasibility study, requirement study, preliminary

Lisätiedot

Ohjelmistotekniikan menetelmät Luokkamallit ohjelmiston mallintamisessa Harri Laine 1

Ohjelmistotekniikan menetelmät Luokkamallit ohjelmiston mallintamisessa Harri Laine 1 Ohjelmistotekniikan menetelmät Luokkamallit ohjelmiston mallintamisessa 14.11.2008 Harri Laine 1 Oliot ohjelmiston mallinnuksessa käyttötapaus käyttää Käyttämämme oliokeskeinen perusmalli ohjelmistojen

Lisätiedot

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

Johdatus sovellussuunnitteluun, s99, osa2 Helsingin yliopisto;/tktl Harri Laine 1. Olioperustainen ohjelmistokehitys DO NOT PRINT THIS DOCUMENT Olioperustainen ohjelmistokehitys Olioperustaisuus (object oriented) järjestelmä (system) muodostuu joukosta olioita (object), jotka yhteistyössä toimien tuottavat järjestelmän

Lisätiedot

Unified Modeling Language

Unified Modeling Language Unified Modeling Language Confuse 25.11.2001 Tila Versio: 1.0 Vaihe: T1 Jakelu: Julkinen Luontipäivä: 15.11.2001 Antti Haapakoski Muutettu viimeksi: 25.11.2001 Antti Haapakoski Sisältö 1 Yleistä 1 2 Mallinnuksesta

Lisätiedot

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

Johdatus sovellussuunnitteluun, s99, osa3 Helsingin yliopisto;/tktl Harri Laine 1. Olioiden väliset yhteydet. Olioiden väliset yhteydet ..999 DO NOT PRINT THIS DOCUMENT DO NOT PRINT THIS DOCUMENT Yhteyden nimi Nimen lukusuunta pankkitili asiakas 0..0 Omistaja->..3

Lisätiedot

1. Tarkastellaan seuraavaa kaaviota

1. Tarkastellaan seuraavaa kaaviota HELSINGIN YLIOPISTO TIETOJENKÄSITTELYTIETEEN LAITOS JOHDATUS SOVELLUSSUUNNITTELUUN (JSS) 19.12.2001 (H.Laine) 1. Tarkastellaan seuraavaa kaaviota Mitkä seuraavista väitteistä ovat kaavion mukaisia t.s.

Lisätiedot

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

Johdatus sovellussuunnitteluun, s99, osa3 Helsingin yliopisto;/tktl Harri Laine 1. Olioiden väliset yhteydet. Olioiden väliset yhteydet DO NOT PRINT THIS DOCUMENT DO NOT PRINT THIS DOCUMENT Yhteyden nimi Nimen lukusuunta pankkitili 0..0 Omistaja->..3 asiakas

Lisätiedot

Olioiden yhteistyön mallintaminen

Olioiden yhteistyön mallintaminen Olioiden yhteistyön mallintaminen Luokkakaaviosta käy hyvin esille ohjelman rakenne minkälaisia luokkia on olemassa miten luokat liittyvät toisiinsa Entä ohjelman toiminta? Luokkakaaviossa voi olla metodien

Lisätiedot

Ohjelmistojen mallintaminen, käyttötapauksiin perustuva vaatimusmäärittely

Ohjelmistojen mallintaminen, käyttötapauksiin perustuva vaatimusmäärittely 582104 Ohjelmistojen mallintaminen, käyttötapauksiin perustuva vaatimusmäärittely 1 Vaatimukset ja käyttötapaukset Vaiheittainen mallintaminen ja abstraktiotasot Käyttötapausmalli ja kaavio Käyttötapausmallin

Lisätiedot

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

TIE-20200 Samuel Lahtinen. Lyhyt UML-opas. UML -pikaesittely Lyhyt UML-opas UML -pikaesittely UML, Unified Modeling Language Standardoitu, yleiskäyttöinen mallinnuskieli, jota ylläpitää/hallitsee (Object Management Group) OMG Historiaa: 90-luvulla oli paljon kilpailevia

Lisätiedot

Ohjelmistojen mallintaminen olioiden elinkaaret - tilakaavio. 21.11.2008 Harri Laine 1

Ohjelmistojen mallintaminen olioiden elinkaaret - tilakaavio. 21.11.2008 Harri Laine 1 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

Lisätiedot

Mallinnus UML-yleiskatsaus

Mallinnus UML-yleiskatsaus 2 Mallinnus UML-yleiskatsaus Tule maalle - näe mullin malli. Tämän osan sisältö Mallinnus ohjelmistoprojekteissa Mallinnuskielet UML-yleiskatsaus Oliopohjainen ajattelu UML-kaaviot rakennetta kuvaavat

Lisätiedot

Ohjelmistojen mallintaminen luokkamallin lisäpiirteitä

Ohjelmistojen mallintaminen luokkamallin lisäpiirteitä 582104 Ohjelmistojen mallintaminen luokkamallin lisäpiirteitä 1 Luokkamallin lisäpiirteitä Erilaiset yhteystyypit kooste kompositio Muita luokkien välisiä suhteita riippuvuudet periytyminen eli luokkahierarkia

Lisätiedot

Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio

Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio Analyysi Tarkentaa ja jäsentää vaatimusmäärittelyä, vastaa kysymykseen MITÄ järjestelmän tulisi tehdä. Suoritetaan seuraavia tehtäviä:

Lisätiedot

Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio

Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio Analyysi Tarkentaa ja jäsentää vaatimusmäärittelyä, vastaa kysymykseen MITÄ järjestelmän tulisi tehdä. Suoritetaan seuraavia tehtäviä:

Lisätiedot

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

Toiminnot eli käyttäytyminen. Tieto eli rakenteelliset ominaisuudet Toiminnot eli käyttäytyminen Tieto eli rakenteelliset ominaisuudet Olio (ks. määritelmä): rajattavissa ja yksilöitävissä oleva asia tai käsite, joka on merkityksellinen käsillä olevan tarkastelun kannalta

Lisätiedot

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

Ohjelmistojen vaatimusmäärittely Helsingin yliopisto, TKTL, s2013. Harri Laine 1. Tietovuokaaviot (data flow diagrams) Ohjelmistojen vaatimusmäärittely syksy 2013/5b Vaatimusten spesifiointi ja dokumentointi DeMarco & Yourdon 1979, Gane & Sarson 1979 Kuvauksen sisältö toiminnan hierarkkinen osiinjako tiedon kulku toimintojen

Lisätiedot

UML metamallina. Seminaariesitelmä Minna Majuri HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

UML metamallina. Seminaariesitelmä Minna Majuri HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Seminaariesitelmä 26.9.2000 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Sisällys 1 Johdanto 1 2 UML:n perusteet 2 2.1 Kaaviot 2 2.1.1 Yleiskäsitteet ja käyttötapauskaavio 2 2.1.2 Luokkakaavio 3

Lisätiedot

Ohjelmistojen mallintaminen, mallintaminen ja UML

Ohjelmistojen mallintaminen, mallintaminen ja UML 582104 Ohjelmistojen mallintaminen, mallintaminen ja UML 1 Mallintaminen ja UML (Ch 2.) Ohjelmistojen mallintamisesta ja kuvaamisesta Strukturoitu mallinnus Tietovuo- ja ER-kaaviot Oliomallinnus ja UML

Lisätiedot

Tietokantojen suunnittelu, relaatiokantojen perusteita

Tietokantojen suunnittelu, relaatiokantojen perusteita Tietokantojen suunnittelu, relaatiokantojen perusteita A277, Tietokannat Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: Leon Atkinson: core MySQL Ari Hovi: SQL-opas TTY:n tietokantojen perusteet-kurssin

Lisätiedot

Yhteistoimintakaavio (Esimerkki)

Yhteistoimintakaavio (Esimerkki) Yhteistoimintakaavio (Esimerkki) Käyttötapaus: Vuokraa ajoneuvo Yleiskuvaus: Käyttäjä vuokraa ajoneuvon määräajaksi. Esiehdot: Käyttäjä on hakenut vuokrausaikana vapaat ajoneuvot näytölle. Aktori: Asiakas

Lisätiedot

Johdatus sovellussuunnitteluun, s2001, osa 3 Helsingin yliopisto / TKTL. Harri Laine / Inkeri Verkamo 1. Järjestelmän palvelujen määrittely

Johdatus sovellussuunnitteluun, s2001, osa 3 Helsingin yliopisto / TKTL. Harri Laine / Inkeri Verkamo 1. Järjestelmän palvelujen määrittely Tietojärjestelmät tarjoavat tietoa sekä käyttäjille että epäsuorasti muille tahoille. Tahoja, jotka ovat järjestelmän ulkopuolella, mutta kuitenkin palvelujen kautta kytkeytyneitä järjestelmään, kutsutaan

Lisätiedot

Arkkitehtuuripankki. Mallintamisen metamalli ja notaatiot

Arkkitehtuuripankki. Mallintamisen metamalli ja notaatiot Arkkitehtuuripankki Mallintamisen metamalli ja notaatiot 21.2.2018 Sisältö Kuvaustapa (notaatio) ja standardit Mallityypit Metamalli Muuta Kuvaustavat ja hyödynnetyt standardit JHS179 template ArchiMate

Lisätiedot

2. Olio-ohjelmoinnin perusteita 2.1

2. Olio-ohjelmoinnin perusteita 2.1 2. Olio-ohjelmoinnin perusteita 2.1 Sisällys Esitellään peruskäsitteitä yleisellä tasolla: Luokat ja oliot. Käsitteet, luokat ja oliot. Attribuutit, olion tila ja identiteetti. Metodit ja viestit. Olioperustainen

Lisätiedot

Harjoitustehtävät ja ratkaisut viikolle 48

Harjoitustehtävät ja ratkaisut viikolle 48 Harjoitustehtävät ja ratkaisut viikolle 48 1. Tehtävä on jatkoa aiemmalle tehtävälle viikolta 42, missä piti suunnitella älykodin arkkitehtuuri käyttäen vain ennalta annettua joukkoa ratkaisuja. Tämäkin

Lisätiedot

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

Ohjelmistotuotanto vs. muut insinööritieteet. (Usein näennäinen) luotettavuus ja edullisuus Yhteenveto Ohjelmistotuotanto vs. muut insinööritieteet Monimutkaisuus Näkymättömyys (Usein näennäinen) luotettavuus ja edullisuus Muunnettavuus Epäjatkuvuus virhetilanteissa Skaalautumattomuus Copyright

Lisätiedot

VH5, JOTU, MagicDraw:n käyttö

VH5, JOTU, MagicDraw:n käyttö VH5, JOTU, MagicDraw:n käyttö 1. Käynnistä MagicDraw (versio 18.2) 2. Valitse Manage Projects-kohdasta Create New Project toiminto. Oletusarvona on UML Project, saa olla. Täytä nimi (Name) ja tallennuspaikka

Lisätiedot

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

Tällä harjoituskerralla on tarkoituksena harjoitella käyttötapaus-, luokka- ja tapahtumasekvenssikaavioiden luontia. MagicDraw-pikaohje Tällä harjoituskerralla on tarkoituksena harjoitella käyttötapaus-, luokka- ja tapahtumasekvenssikaavioiden luontia. Alkuvalmistelut Windows (sali TC205) 1) Kirjaudu sisään TTY:n intra-tunnuksella.

Lisätiedot

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät Tenttikysymykset 1. Selitä mitä asioita kuuluu tietojärjestelmän käsitteeseen. 2. Selitä kapseloinnin ja tiedon suojauksen periaatteet oliolähestymistavassa ja mitä hyötyä näistä periaatteista on. 3. Selitä

Lisätiedot

UML Luokkakaavio 14:41

UML Luokkakaavio 14:41 UML Luokkakaavio UML Olio-ohjelman luokkien pääpiirteet voidaan kätevähkösti esittää ns. UML-luokkakaaviona. Näin usein tehdäänkin esim. suunniteltaessa, millaisia luokkia ohjelmaan on tarkoitus laatia,

Lisätiedot

Yhteenveto. Menettelytavat

Yhteenveto. Menettelytavat Yhteenveto Ohjelmistotuotanto: Luotettavien ja tehokkaiden ohjelmistojärjestelmien tuottamista noudattaen hyviksi havaittuja menettelytapoja. Menettelytavat Prosessimalli (vesiputous/spiraali/kasvattava)

Lisätiedot

Perusarkkitehtuurin ja vuorovaikutuksen mallintamisen perusteita.

Perusarkkitehtuurin ja vuorovaikutuksen mallintamisen perusteita. Perusarkkitehtuurin ja vuorovaikutuksen mallintamisen perusteita. Arkkitehtuuriin vaikuttavat ympäristötekijät Jo kehittämisen alkuvaiheessa on tarpeellista hahmotella arkkitehtuurin perusratkaisu. Lähtökohdat

Lisätiedot

Kurssin aihepiiri: ohjelmistotuotannon alkeita

Kurssin aihepiiri: ohjelmistotuotannon alkeita Kurssin aihepiiri: ohjelmistotuotannon alkeita [wikipedia]: Ohjelmistotuotanto on yhteisnimitys niille työnteon ja työnjohdon menetelmille, joita käytetään, kun tuotetaan tietokoneohjelmia sekä monista

Lisätiedot

MagicDraw-pikaohje (VH5)

MagicDraw-pikaohje (VH5) MagicDraw-pikaohje (VH5) Tällä harjoituskerralla on tarkoituksena harjoitella käyttötapaus-, luokka- ja tapahtumasekvenssikaavioiden luontia. Alkuvalmistelut Linux-työasemaluokka: käynnistä MagicDraw jollakin

Lisätiedot

Määrittely- ja suunnittelumenetelmät

Määrittely- ja suunnittelumenetelmät Menetelmädokumentti Määrittely- ja suunnittelumenetelmät Versio Päiväys Tekijä Kuvaus 0.01 5.12.01 Pekka Koskinen Alustava sisällysluettelo 0.1 7.12.01 Pekka Koskinen Ensimmäinen luonnos 1.0 11.12.01 Pekka

Lisätiedot

Ohjelmistotekniikan menetelmät, koe 2.5.2014

Ohjelmistotekniikan menetelmät, koe 2.5.2014 Ohjelmistotekniikan menetelmät, koe 2.5.2014 Vastaa tehtävään 3 erilliselle konseptille. Tehtävät 1 ja 2 saavat olla samalla konseptilla. Kirjoita jokaiseen palauttamaasi konseptiin kurssin nimi, kokeen

Lisätiedot

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

Käyttötapaukset. Käyttötapaukset. Käyttötapaukset. Käyttötapaukset. Käyttötapaukset. Käyttötapaukset Järjestelmän rajaus Ohjelmistotuotanto Määrittelytekniikat 1 Sidosryhmät (ulkopuoliset tahot) ihmiset, organisaatiot, toiset järjestelmät ulkopuolella, mutta tekemisissä kehitettävän ohjelmiston kanssa

Lisätiedot

Käyttötapausanalyysi ja testaus tsoft

Käyttötapausanalyysi ja testaus tsoft Käyttötapausanalyysi ja testaus tsoft 15.09.2004 http://cs.joensuu.fi/tsoft/ Johdanto Use Case analyysi (käyttötapausanalyysi) on yleisesti käytetty järjestelmälle asetettujen toiminnallisten vaatimusten

Lisätiedot

Ohjelmistotuotanto, s

Ohjelmistotuotanto, s Ohjelmistotuotanto Määrittelytekniikat 1 Sidosryhmät (ulkopuoliset tahot) ihmiset, organisaatiot, toiset järjestelmät ulkopuolella, mutta tekemisissä kehitettävän ohjelmiston kanssa Liittymät tiedot tai

Lisätiedot

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

Tämän lisäksi listataan ranskalaisin viivoin järjestelmän tarjoama toiminnallisuus: Dokumentaatio, osa 1 Tehtävämäärittely Kirjoitetaan lyhyt kuvaus toteutettavasta ohjelmasta. Kuvaus tarkentuu myöhemmin, aluksi dokumentoidaan vain ideat, joiden pohjalta työtä lähdetään tekemään. Kuvaus

Lisätiedot

Ohjelmistojen mallintaminen

Ohjelmistojen mallintaminen Luentomoniste kurssille Ohjelmistojen mallintaminen Matti Luukkainen ja Harri Laine Tietojenkäsittelytieteen laitos Helsingin Yliopisto 31. lokakuuta 2010 Esipuhe Käsissäsi on Ohjelmistojen mallintaminen

Lisätiedot

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

812347A Olio-ohjelmointi, 2015 syksy 2. vsk. IX Suunnittelumallit Proxy, Factory Method, Prototype ja Singleton 2015 syksy 2. vsk IX Suunnittelumallit Proxy, Factory Method, Prototype ja Singleton Sisältö 1. Johdanto luontimalleihin 2. Proxy 3. Factory Method 4. Prototype 5. Singleton Suunnittelumallit Proxy et.

Lisätiedot

Vaatimusmääritelystä UML:n avulla

Vaatimusmääritelystä UML:n avulla Vaatimusmääritelystä UML:n avulla Mitä käyttötapauskaaviolla voi kuvata? Mitkä ovat sen keskeiset elementit? Miten laaditaan käyttötapauskaavio? Miksi laaditaan kirjallisia kuvauksia? Miksi käyttötapaukset

Lisätiedot

Johdatus sovellussuunnitteluun, s2000, osa3 Helsingin yliopisto;/tktl. Harri Laine 1. Järjestelmän palvelujen määrittely

Johdatus sovellussuunnitteluun, s2000, osa3 Helsingin yliopisto;/tktl. Harri Laine 1. Järjestelmän palvelujen määrittely Tietojärjestelmät tarjoavat tietoa sekä käyttäjille että epäsuorasti muille tahoille Tahoja, jotka ovat järjestelmän ulkopuolella, mutta kuitenkin palvelujen kautta kytkeytyneitä järjestelmään kutsutaan

Lisätiedot

Dynaaminen analyysi II

Dynaaminen analyysi II Dynaaminen analyysi II Luento 7 Antti-Pekka Tuovinen 9 April 2013 1 Tavoitteet Black-box testitapausten suunnittelutekniikat II Tilamallien käyttö Syys-seurausverkot ja päätöstaulut Käyttötapaukset Yhteenveto

Lisätiedot

Visual Case 2. Miika Kasnio (C9767) 23.4.2008

Visual Case 2. Miika Kasnio (C9767) 23.4.2008 Visual Case 2 Miika Kasnio (C9767) 23.4.2008 Työn tarkasti: Jouni Huotari 24.4.2008 1 SISÄLTÖ 1. TYÖN LÄHTÖKOHDAT... 2 2. PERUSTIEDOT... 2 3. ASENTAMINEN... 2 4. OMINAISUUDET... 3 4.1. UML-kaaviot... 4

Lisätiedot

Ohjelmistojen mallintaminen. Luento 2, pe 5.11.

Ohjelmistojen mallintaminen. Luento 2, pe 5.11. Ohjelmistojen mallintaminen Luento 2, pe 5.11. Kertausta Ohjelmistotuotantoprosessin vaiheet: Vaatimusanalyysi- ja määrittely Mitä halutaan? Suunnittelu Miten tehdään? Toteutus Ohjelmointi Testaus Varmistetaan

Lisätiedot

Ohjelmistojen mallintaminen, kertausta

Ohjelmistojen mallintaminen, kertausta 582104 Ohjelmistojen mallintaminen, kertausta 1 Kertausluennon asiat Kysymyksiä? Kurssin keskeisin asiasisältö Koetehtävät tehtävätyypit esimerkkitehtäviä ja -ratkaisuja ja vielä kysymyksiä? 2 Kysymyksiä

Lisätiedot

UML OHJELMISTOPROSESSIEN TUKENA

UML OHJELMISTOPROSESSIEN TUKENA UML OHJELMISTOPROSESSIEN TUKENA Kimmo Kampman 11.5.2001 Joensuun yliopisto Tietojenkäsittelytiede Pro gradu -tutkielma TIIVISTELMÄ Ohjelmistojen teko muuttuu jatkuvasti vaativammaksi. Ohjelmiston mallintamisen

Lisätiedot

Ohjelmistotekniikan menetelmät, luokkamallin laatiminen

Ohjelmistotekniikan menetelmät, luokkamallin laatiminen 582101 - Ohjelmistotekniikan menetelmät, luokkamallin laatiminen 1 Lähestymistapoja Kokonaisvaltainen lähestymistapa (top-down) etsitään kerralla koko kohdealuetta kuvaavaa mallia hankalaa, jos kohdealue

Lisätiedot

Paikkatiedon mallinnus Dokumentoinnin ymmärtäminen. Lassi Lehto

Paikkatiedon mallinnus Dokumentoinnin ymmärtäminen. Lassi Lehto Paikkatiedon mallinnus Dokumentoinnin ymmärtäminen Lassi Lehto INSPIRE-seminaari 23.08.2012 Sisältö Tietotuoteselosteen rakenne (ISO 19131) Unified Modeling Language (UML) Luokkakaaviotekniikan perusteet

Lisätiedot

Olio-ohjelmointi Johdanto olio-ohjelmointiin

Olio-ohjelmointi Johdanto olio-ohjelmointiin Olio-ohjelmointi Johdanto olio-ohjelmointiin Ohjelmistoa kehitettäessä voidaan tunnistaa ainakin kaksi abstraktiota: prosessiabstraktio ja dataabstraktio. Prosessiabstraktio huomattiin jo varhain, koska

Lisätiedot

HELIA 1 (14) Outi Virkki Käyttöliittymät ja ohjlmiston suunnittelu

HELIA 1 (14) Outi Virkki Käyttöliittymät ja ohjlmiston suunnittelu HELIA 1 (14) Luento 7 Käyttöliittymäolio... 2 Olioajattelun perusteet... 3 Tavoitteet... 3 Peruskäsitteet... 4 Olio / Olioinstanssi / Olion esiintymä... 4 Ominaisuudet... 4 Toiminnot... 4 Olioluokka /

Lisätiedot

2. Olio-ohjelmoinnin perusteita 2.1

2. Olio-ohjelmoinnin perusteita 2.1 2. Olio-ohjelmoinnin perusteita 2.1 Sisällys Luokat ja oliot. Käsitteet, luokat ja oliot. Attribuutit, olion tila ja identiteetti. Metodit ja viestit. 2.2 Luokat ja oliot Olio-ohjelmoinnin keskeisimpiä

Lisätiedot

PROSESSIMALLINNUS. Ari Wahlstedt, KTT

PROSESSIMALLINNUS. Ari Wahlstedt, KTT PROSESSIMALLINNUS Ari Wahlstedt, KTT Prosessimalli Graafinen esitys prosessin tehtävistä: Tehtävien järjestys, kulku ja niiden keskinäiset riippuvuudet (siirtymien ehdot ja logiikka) Prosessi Joukko toisiinsa

Lisätiedot

Suorituskyky ja ohjelmistokehitys Suorituskykymallit

Suorituskyky ja ohjelmistokehitys Suorituskykymallit Suorituskyky ja ohjelmistokehitys Suorituskykymallit Luento 2 58153003 Ohjelmistojen suorituskyky 1 SUORITUSKYKYISTEN OHJELMISTOJEN KEHITTÄMINEN 58153003 Ohjelmistojen suorituskyky 2 Helsingin Yliopisto

Lisätiedot