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

Koko: px
Aloita esitys sivulta:

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

Transkriptio

1 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ö oikeassa tehtävässä = menestys, väärä henkilö väärässä tehtävässä = kaaos. Henkilöhallinnan alueita: palkkaus, valinta tehtäviin, souritusten seuranta, koulutus, hyvitysperiaatteet, urakehitys, työnkuva ja ryhmätyön kehittäminen. Tehtävä: Onnistunut projekti vaatii tarkan rajauksen ja yksityiskohtaisen tehtäväkuvauksen. Sivu Projektin hallinta (jatkuu) Prosessi: Sopivaa prosessia käyttämällä saadaan kehys projektille. Yksityiskohtaiset tehtävät määritellään projektin alkuvaiheessa käytetyn prosessin mukaisesti. Sekä tuotteen että projektin laatua valvotaan koko projektin kestoajan. Tehtävästä ja prosessista on puhuttu aiemmin. Sen sijaan henkilöistä ei ole puhuttu juuri mitään. Projektin tärkeimmät osallistujat ovat projektipäällikkö ja projektin jäsenet. Muita osallistujia ovat mm. asiakkaan tekniset asiantuntijat, johtoryhmä ja markkinointiosastojen työntekijät. Sivu

2 Projektipäällikkö Projektipäällikkö vastaa projektin lisäksi projektin jäsenistä. Projektipäälliköltä vaaditaan: ongelmanratkaisukykyä: Hän ymmärtää työalueen ja pystyy löytämään uusia ratkaisuja. Hän osaa motivoida muita. johtamistaitoa: Hän ottaa suurimman vastuun projektin onnistumisesta. Hän osaa tehdä päätöksiä ja ottaa vastuuta myös vaikeissa tilanteissa. kannustuskykyä: hän kannustaa ryhmää hallittuun riskinottoon ja uusien ideoiden tuottamiseen. pyskologista silmää: hän ymmärtää ryhmän jäsenten välisiä jännitteitä. Hän järjestää tehtävät sillä tavalla, että ryhmän jäsenet tuntevat työskentelevänsä miellyttävässä ympäristössä. Sivu Projektiryhmä Projektiryhmän rakenne: Demokraattinen hajautettu (DD, democratic decentralized): Ryhmällä ei ole pysyvää johtajaa. Jokaisella tehtävällä on vastuuhenkilö, joka vaihtuu tehtävän vaihtuessa. Kommunikointi tapahtuu demokraattisesti ryhmän sisällä. Ohjattu hajautettu (CD, controlled decentralized): Koko projektilla on vastuussa oleva johtaja. Projektiryhmä on jaettu osaryhmiin, joista jokaisella on päällikkö. Ongelmanratkaisu tapahtuu yleensä ryhmässä, mutta toteutus tehdään osaryhmissä. Kommunikointi tapahtuu pääasiassa osaryhmien sisällä. Ohjattu keskitetty (CC, controlled centralized): Ryhmällä on projektipäällikkö, joka hoitaa keskitetysti koko projektin hallinnan. Projektin jäsenille annetaan selkeät tehtävät. Kommunikointi tapahtuu projektipäällikön kautta. Sivu

3 5. Kuvaustekniikat Tämä luku perustuu Sommervillen lisäksi kirjaan Martin Fowler, UML Distilled - Second Edition. Addison-Wesley, (Kirja löytyy kurssikirjahyllystä eikä sitä tarvitse hankkia erikseen) Nimensä mukaisesti vaatimusanalyysiin kuuluu analyysivaihe. Tässä vaiheessa on järkevää rakentaa yksi tai useampi malli järjestelmästä. Malli toimii sekä yksiselitteisenä kuvauksena vaatimuksista että vaatimusanalyysin ja suunnittelun välisenä siltana. Sivu Abstrahointi Mallinnuksen tärkein piirre on abstrahointi. Kaikkea tietoa ei esitetä, vaan mallit esitetään eri abstraktiotasoilla. Korkein abstraktiotaso on käyttäjän vaatimusten taso. Matalin abstraktiotaso on kirjoitettava koodi. Näiden välissä meillä on abstraktiotasoja, joiden kuvaamiseen voidaan käyttää erilaisilla graafisia ja tekstipohjaisilla kuvauskielillä malleja. Jokainen malli näyttää yhden näkymän järjestelmästä. Mallien näkymät ovat erilaiset, mutta kaikki kuvaavat samaa asiaa. Sivu

4 UML Unified Modeling Language (UML) on nykyisin de facto standardi oliojärjestelmien kuvauskieli. Se määrittelee useita kieliä, joita voidaan käyttää prosessin työvaiheissa kuvaamaan ohjelmiston näkymiä ja abstraktioita. Tällä kurssilla esittelen seuraavat UML-kaaviot: käyttötapauskaaviot, luokkakaaviot ja tilasiirtymäkaaviot. Lisäksi esittelen UML:n ulkopuolisina tietovuokaaviot. Sivu Käyttötapauskaavio Käyttötapauskaavio kuvaa yhden tai useamman käyttötapauksen, tapausten toimijat tai roolit (actors) ja tapauksien keskinäiset ja roolien väliset suhteet. 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. Käyttötapauskaaviossa käyttötapaukset kuvataan soikioina ja toimijat tikku-ukkoina. Käyttötapausten kuvaukset kirjoitetaan erikseen. Sivu

5 Käyttötapauskaavio (jatkuu) 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. 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. Sivu Käyttötapauskaavio (jatkuu) Yleistyksen lisäksi UML määrittelee laajennoksen (extension). Laajennos toimii samoin kuin yleistys, mutta sille voidaan antaa lisäksi sääntöjä, jotka vaikuttavat laajennetun käyttötapauksen toimintaan. Viimeisenä 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. Käyttötapauskaaviot antavat rakennetta käyttötapauksille, mutta kaavioita tärkeämpiä ovat itse käyttötapausten kuvaukset. Sivu

6 Käyttötapauskaavion symbolit Toimija/rooli (actor) <<extend>> Laajentaa Käyttötapaus (Use Case) Laajennospisteet (extension points) Yleistys (generalization) <<include>> Sisältää Käyttötapaus (Use Case) Käyttötapaus (Use Case) Käyttötapaus (Use Case) Sivu Käyttötapauskaavioesimerkki Sivu

7 5.2. Luokkakaaviot Luokkakaavio on UML:n yleisimmin käytetty kuvauskieli. Luokkakaavioita voidaan käyttää järjestelmäanalyysista aina testaukseen asti. 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. 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. Sivu Luokkakaaviot (jatkuu) 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ä. 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. Sivu

8 Luokkakaavion sisältöä Luokka sisältää tietoa siihen kuuluvien olioiden ominaisuuksista (attribuuteista) ja tietoa siihen kuuluvien olioiden toiminnoista. 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ä. Yleistys sisältää viittauksen yliluokkaan: mistä luokasta yleistetään viittauksen aliluokkaan: mikä on yleistetyn luokan erikoistapaus. Sivu Erityisiä yhteyksiä UML määrittelee kaksi erityistä yhteyttä: aggregaatin (aggregate) ja komposition (Composite). 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ä. Esim. Jos meillä on aggregaattiyhteys auto-rengas, 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. Sivu

9 Luokkakaavioesimerkki Kihlasormus Avioitunut henkilö 1..* * Avioliiton kautta tullut sukulainen Aviomies 1 Isä Äiti Aviovaimo Äiti * 0..1 Ydinperhe * Lapsi Sivu Tietovuokaaviot Tietovuokaavioiden avulla pyritään selvittämään, miten tieto kulkee järjestelmässä ja mitä muutoksia siihen kohdistuu. Tietovuokaavioita pidetään joskus vanhanaikaisina kuvausmenetelminä, mutta oikein käytettyinä ne sopivat erittäin hyvin järjestelmäsuunnitteluun ja vaatimusanalyysin korkean abstraktiotason mallinnukseen. Kaaviot perustuvat tarkennuksiin: ylemmän tason kaavion toimintaa tarkennetaan yhdellä tai useammalla alemman tason kaaviolla. Sivu

10 Tietovuokaavioiden komponentit Tietovuokaavioiden komponentit ovat seuraavat: Ulkoiset oliot eli sidosryhmät. Ulkoiset oliot tuottavat järjestelmään tietoa ja syötteitä ja toisaalta ottavat tulosteet vastaan. Ulkoinen olio vastaa pitkälti käyttötapauskaavioiden toimijaa. Prosessit. Prosessi on järjestelmän sisäinen komponentti, joka muokkaa tietoa toiseen muotoon. Kaikki tiedon käsittely tapahtuu prosesseissa. 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. Sivu Kaaviot Korkeimmalla tasolla oleva tietovuokaavio on yhteyskaavio. Siinä kuvataan sidosryhmät, niistä järjestelmään tulevat tietovuot ja niille järjestelmästä lähtevät tietovuot. Itse järjestelmä kuvataan yhtenä prosessina. Ensimmäinen varsinainen tietovuotaso on yleiskaavio. Siinä kuvataan järjestelmän tärkeimmät prosessit ja niiden väliset tietovuot. Tietovuokaavioiden piirto on hierarkkista. Järjestelmän prosesseja tarkennetaan kunnes päästään halutulle tarkkuustasolle. Sivu

11 Kaavioiden tarkennus Tarkennuksessa valitaan tarkennettavasta tietovuokaaviosta jokin prosessi, joka sitten kuvataan useana osaprosessina uudessa tietovuokaaviossa. Tietovuokaavioiden tarkennuksessa informaatiota ei synny eikä häviä. Käytännössä tämä tarkoittaa, että jotain tietovuokaavion prosessia tarkennettaessa prosessiin tulevat ja sieltä lähtevät tietovuot tulevat myös tarkennukseen. Sivu Ohjaustiedot Edellisillä komponenteilla kuvataan järjestelmiä, joiden toiminta riippuu yksinomaan käsiteltävistä tiedoista. Hyvin usein järjestelmän toiminta on kuitenkin ohjauspainotteista. Tällöin ulkoiset tapahtumat vaikuttavat siirtymisiin prosessista toiseen. Ohjauspainotteisissa tietovuokaavioissa kuvataan myös ohjaustiedon siirtyminen prosessista toiseen. Osa prosesseista ja tietovarastoista voi olla puhtaasti ohjaavia. Sivu

12 Tietovuokaavioiden elementit Rooli Ulkoinen olio Tehtävä Prosessi (ohjausprosessi katkoviivalla) Tieto Tieto Tietovuo (ohjausvuo katkoviivalla) Tietovarasto (ohjaustietovarasto katkoviivalla) Sivu Tietovuokaavioesimerkki Sivu

13 5.4. Tilasiirtymäkaaviot Kaikilla järjestelmillä, osajärjestelmillä ja olioilla on tila: kaikkien jo toteutuneiden tapahtumien vaikutus. Järjestelmä siirtyy tilasta toiseen, kun saapuva tapahtuma (event) vaikuttaa sen tilaan. Tilalasiirtymäkaavioita käytetään kuvaamaan järjestelmän, osajärjestelmän tai olion kaikkia tiloja ja siirtymisiä tilasta toiseen. Tilasiirtymäkaavio voidaan piirtää koko järjestelmästä, sen osasta tai oliosta. Periaate on aina sama. Vain mittakaava muuttuu. Sivu 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. 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. Sivu

14 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. 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. Käyttäjä voi määritellä omia tapahtumia, joiden toteutuessa toimitaan vastaavan toiminnon mukaan. Sivu 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. 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. Sivu

15 Tilasiirtymäkaavion komponentit Lähtöpiste Päätepiste Nimi Muuttujat tapahtuma/toiminto tapahtuma/toiminto Tila tapahtuma [laukaisin] Siirtymä Sivu Tilasiirtymäesimerkki (hissi) Ensimmäisessä kerroksessa ylös (kerros) Menossa ylös perillä perillä ylös (kerros) Menossa ensimmäiseen kerrokseen Menossa alas perillä Odottaa ajastin = 0 do/kasvata ajastinta help/anna opastusta alas (kerros) [ajastin = maksimi odotusaika]/alas (ensimmäinen kerros) Sivu

16 5.5. Muut UML:n kaaviot Edellä esiteltyjen kaaviotekniikkojen lisäksi UML:n nykyinen versio määrittelee seuraavat kaaviot: Oliokaavio (object diagram): Tämä on lähes samanlainen kuin luokkakaavio, mutta luokkien sijaan tässä kuvataan varsinaisia olioita ja niiden välistä yhteistyötä. Oliokaaviot (ja luokkakaaviot) käsittelevät staattista yhteistyötä. Aika ja tapahtumien järjestys eivät näy näissä kaavioissa. Sekvenssikaavio (sequence diagram): Tällä kaaviolla kuvataan olioiden välistä dynaamista yhteistyötä. Kaaviosta selviää, missä järjestyksessä oliot kutsuvat toistensa palveluja tietyllä hetkellä. Yhteistyökaavio (collaboration diagram): Myös tällä kaaviolla kuvataan olioiden välistä yhteistyötä, mutta ajan sijaan kuvataan palveluiden kutsujärjestys. Sekvenssikaavio ja yhteistyökaavio ovat rinnakkaisia dynaamisen yhteistyön kuvaustapoja. Sivu Muut UML:n kaaviot (jatkuu) Aktiviteettikaavio (activity diagram): Tämä kaavio on UML:n versio tietovuo- ja lohkokaavioista. Kaavio kuvaa tapahtumat ja niiden järjestyksen, mutta ei kerro tapahtumien tekijöitä. Kaavioihin on mahdollista lisätä alkutila, lopputiloja ja ehtoja. Komponenttikaavio (component diagram): Tällä kaaviolla kuvataan fyysisiä ohjelmistokomponentteja, eli yleensä tiedostoja. Kaavio kuvaa komponentit ja niiden väliset suhteet. Sijoituskaavio (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. Ylläolevia UML:n kaavioita ei käsitellä sen enempää. Lohkokaavioista puhutaan testauksen yhteydessä. Sivu

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

Ohjelmistotuotanto, kuvaustekniikat Syksy Kuvaustekniikat. Miksi kuvaustekniikoita? Abstraktiotasot. Abstrahointi UML 5. Kuvaustekniikat Miksi kuvaustekniikoita? Tämä luku perustuu Sommervillen lisäksi seuraaviin kirjoihin: Martin Fowler, UML Distilled - Second Edition. Addison-Wesley, 2000. Roger S. Pressman, Software

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

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

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

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

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, 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Käyttäjien tunnistaminen on ensimmäinen tehtävä järjestelmän palveluja määriteltäessä. Käyttäjien löytämiseksi voidaan esittää kysymykset:

Käyttäjien tunnistaminen on ensimmäinen tehtävä järjestelmän palveluja määriteltäessä. Käyttäjien löytämiseksi voidaan esittää kysymykset: 1 Käyttötapausmalli Ohjelmisto tarjoaa käyttäjilleen palveluita, jotka perustuvat järjestelmän tietosisältöön. Ohjelmiston toiminta voidaan kuvata määrittelemällä millaisia palveluita ohjelmisto tarjoaa.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Yhteenveto. Menettelytavat

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

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

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

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

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

Uudelleenkäytön jako kahteen

Uudelleenkäytön jako kahteen Uudelleenkäyttö Yleistä On pyritty pääsemään vakiokomponenttien käyttöön Kuitenkin vakiokomponentit yleistyneet vain rajallisilla osa-alueilla (esim. windows-käyttöliittymä) On arvioitu, että 60-80% ohjelmistosta

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

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

Matopeli C#:lla. Aram Abdulla Hassan. Ammattiopisto Tavastia. Opinnäytetyö

Matopeli C#:lla. Aram Abdulla Hassan. Ammattiopisto Tavastia. Opinnäytetyö Matopeli C#:lla Aram Abdulla Hassan Ammattiopisto Tavastia Opinnäytetyö Syksy 2014 1 Sisällysluettelo 1. Johdanto... 3 2. Projektin aihe: Matopeli C#:lla... 3 3. Projektissa käytetyt menetelmät ja työkalut

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

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

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

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

Kaaviotekniikoista (erityisesti UML) (ajan riittäessä pikkasen projekteista) Kaaviotekniikoista (erityisesti UML) (ajan riittäessä pikkasen projekteista) Kari Systä 05.10.2015 9/30/2013 Jotu2013/KSY 1 Ajankohtaista kurssista Keskiviikon viimeinen viikkoharjoitus saatetaan lopettaa

Lisätiedot

Tietojärjestelmän osat

Tietojärjestelmän osat Analyysi Yleistä analyysistä Mitä ohjelmiston on tehtävä? Analyysin ja suunnittelun raja on usein hämärä Ei-tekninen näkökulma asiakkaalle näkyvien pääkomponenttien tasolla Tietojärjestelmän osat Laitteisto

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

Analyysi on tulkkaamista

Analyysi on tulkkaamista Analyysi on tulkkaamista Petri: Pitää osata menetelmiä, arkkitehtuureja, suunnittelumalleja, eli miten [ohjelmistoja] ylipäänsä kehitetään. Pitää olla viestintätaitoja. Perttu: Pitää ymmärtää miten projekti

Lisätiedot

Ohjelmistojen mallintaminen, sekvenssikaaviot

Ohjelmistojen mallintaminen, sekvenssikaaviot 582104 - Ohjelmistojen mallintaminen, sekvenssikaaviot 1 Vuorovaikutussuunnittelu Oliojärjestelmän toiminta perustuu olioiden vuorovaikutukseen ja yhteistyöhön Olioiden yhteistyö toteutuu operaatioiden

Lisätiedot

Käyttötapausten mallintaminen

Käyttötapausten mallintaminen Käyttötapausten mallintaminen Vaatimukset ja testauslähtöisyys, swd4tn001 Anne Valsta 1.3.2011 (ent. 11.2.2011) Sisällysluettelo 1 Käyttötapaukset ohjelmiston vaatimusten määrityksessä... 2 1.1 Käyttötapauskartta...

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

Tietokannan suunnittelu

Tietokannan suunnittelu HELIA TIKO-05 1 (12) ICT03D Tieto ja tiedon varastointi Tietokannan suunnittelu Tietokannan suunnitteluprosessi... 2 Tavoitteet...2 Tietojärjestelmän suunnitteluprosessi...3 Abstraktiotasot tietokannan

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

Siltatiedon tarkkuustason määrittäminen Taitorakennerekisterissä. Maria Vinter

Siltatiedon tarkkuustason määrittäminen Taitorakennerekisterissä. Maria Vinter Siltatiedon tarkkuustason määrittäminen Taitorakennerekisterissä Maria Vinter 2 Taustaa Diplomityö: Tietomallinnuksen hyödyntäminen siltojen ylläpidossa, valmis 09/2017 https://julkaisut.liikennevirasto.fi/pdf8/opin_2017-03_tietomallinnuksen_hyodyntaminen_web.pdf

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

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

Sisällys. JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta. Abstraktin luokan idea. Abstrakti luokka ja metodi. Esimerkki

Sisällys. JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta. Abstraktin luokan idea. Abstrakti luokka ja metodi. Esimerkki Sisällys JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta Abstrakti luokka ja metodi Rajapintamäärittely (interface) Eero Hyvönen Tietojenkäsittelytieteen laitos Helsingin yliopisto 13.10.2000 E.

Lisätiedot

Ohjelmistojen mallintaminen. Luento 4, 12.11.

Ohjelmistojen mallintaminen. Luento 4, 12.11. Ohjelmistojen mallintaminen Luento 4, 12.11. Kertausta: Olioperustainen ohjelmistokehitys Lähdemme siis oletuksesta, että kehitettävän järjestelmän voidaan ajatella koostuvan oliosta Tehdään koko ohjelmistokehitys

Lisätiedot

T 76.115 Tietojenkäsittelyopin ohjelmatyö Hirviöryhmä loppukatselmointi. Hirviö. Projektikatselmointi

T 76.115 Tietojenkäsittelyopin ohjelmatyö Hirviöryhmä loppukatselmointi. Hirviö. Projektikatselmointi Hirviö Projektikatselmointi Mikä Hirviö on? Hajautettu muistikirja Professoreille Muistiinpanoja keskusteluista opiskelijan kanssa Diplomitöiden ja jatko opintojen seuranta Raportointi Opetushenkilökunnalle

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