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

Samankaltaiset tiedostot
Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

Vaatimusmääritelystä UML:n avulla

Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio

UML:n yleiskatsaus. UML:n osat:

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät

Analyysi on tulkkaamista

Yhteistoimintakaavio (Esimerkki)

Perusarkkitehtuurin ja vuorovaikutuksen mallintamisen perusteita.

Ohjelmistojen mallintaminen kertausta Harri Laine 1

Ohjelmistotekniikan menetelmät, UML

Ohjelmistojen mallintaminen, kesä 2010

käyttötapaukset mod. testaus

Ohjelmistotekniikan menetelmät, luokkamallin laatiminen

Luokka- ja oliokaaviot

Ohjelmistojen mallintaminen, kesä 2009

Ohjelmistotekniikan menetelmät Luokkamallit ohjelmiston mallintamisessa Harri Laine 1

UML- mallinnus: Tilakaavio

Tenttikysymykset. + UML-kaavioiden mallintamistehtävät

Ohjelmistojen mallintaminen Unified Modeling Language (UML)

Ohjelmistotekniikan menetelmät, kesä 2008

Arkkitehtuuripankki. Mallintamisen metamalli ja notaatiot

Ohjelmistotekniikan menetelmät, kevät 2008

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät

Määrittelyvaihe. Projektinhallinta

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

5. Järjestelmämallit. Mallinnus

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

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

UML-kielen formalisointi Object-Z:lla

UML -mallinnus TILAKAAVIO

Ohjelmistojen mallintaminen, kurssikoe esimerkkivastauksia

Ohjelmistojen mallintaminen. Luento 2, pe 5.11.

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

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

Ohjelmistojen mallinnus Ohjelmistoarkkitehtuuri Harri Laine 1

Ohjelmistojen mallintaminen, mallintaminen ja UML

SÄILYTETTÄVIEN TIETOJEN MÄÄRITYS LUOKKAMALLI

Käyttötapausanalyysi ja testaus tsoft

Ohjelmistojen suunnittelu

Ohjelmistojen mallintaminen, arkkitehtuuria ja rajapintoja

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

Luento 3 Tietokannan tietosisällön suunnittelu

2. Olio-ohjelmoinnin perusteita 2.1

Ohjelmistojen mallintaminen Olioperustainen ohjelmistomalli Harri Laine 1

Ylläpitodokumentti. Boa Open Access. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

UML OHJELMISTOPROSESSIEN TUKENA

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14

Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta.

Unified Process (UP)

UCOT-Sovellusprojekti. Testausraportti

Ohjelmistotekniikan menetelmät, luokkamallin laatiminen

Harjoitustehtävät viikolle 42

Inputs: b; x= b 010. x=0. Elektroniikkajärjestelmät ETT_2068

Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta.

Hirviö. Design Patterns

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

Ohjelmistotekniikan menetelmät, toteutuksesta ja testauksesta

Haaga-Helia / TIKO-05 1 (12) Tietokannan suunnittelu ja Toteutus Outi Virkki

Ohjelmistojen mallintaminen, kertausta

HAAGA-HELIA Käyttötapaukset 1 Tietojenkäsittely Tietosysteemin määritys. Käyttötapaukset

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

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

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1

Palveluperustaiset arkkitehtuurityylit

Dynaaminen analyysi II

UML Luokkakaavio 14:41

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

SEPA - Design Patterns

Graafinen käyttöliittymä, osa 1

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

UML - unified modeling language

Ohjelmistojen mallintaminen Olioiden yhteistyö Harri Laine 1

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

Käyttöehdot, videokoulutukset

Ohjelmistotekniikan menetelmät, koe

Ohjelmistojen mallintaminen olioiden elinkaaret - tilakaavio Harri Laine 1

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

Ankkuritoimintaa Hämeen poliisilaitoksella

Ohjelmistotekniikka - Luento 2 Jouni Lappalainen

" ON PAIKKA, JOHON EPÄILTY OHJATAAN" -POLIISIN JA ESPOON LYÖMÄTTÖMÄN LINJAN YHTEISTYÖ PELAA

POLKU LUOKKAKAAVIOISTA TAULUJEN TOTEUTUKSEEN

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

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

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

Hissi - Tehtävä. Pisteytys. Tehtävän kuvaus

2. Olio-ohjelmoinnin perusteita 2.1

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14

Laki. EDUSKUNNAN VASTAUS 61/2013 vp. Hallituksen esitys eduskunnalle eräiden törkeiden. lainsäädännöksi. Asia. Valiokuntakäsittely.

Vaatimusmäärittely Ohjelma-ajanvälitys komponentti

Ohjelmistojen mallintaminen Ohjelmiston suunnittelu Model driven development Harri Laine 1

Ohjelmistotuotanto. Luento

Testaaminen ohjelmiston kehitysprosessin aikana

Luokkakaavion laatiminen

Oppijan palvelukokonaisuus. Tietomallinnuksen laaja katselmointi

Verkkorikollisuus tietoturvauhkana. Valmiusseminaari, ylitarkastaja Sari Kajantie, KRP/Tietotekniikkarikosyksikkö

Copyright by Haikala. Ohjelmistotuotannon osa-alueet

UML -mallinnus LUOKKAKAAVIO EERO NOUSIAINEN

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

Transkriptio:

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 ja joka kattaa sekä rakenteen(tilan) että käyttäytymisen. tiedot toiminnot tiedot toiminnot 1

MVC-malli: ohjelmiston suunnittelukehys Model: mallinnettavan todellisuuden kuvaus Liiketoimintaluokat vastaavat merkityksellisesta tiedosta View: käyttäjän näkymä mallista Käyttöliittymäluokat vastaavat syötteistä ja tulosteista Controller: toiminnan ohjaus Ohjainluokat vastaavat liiketoimintalogiikasta ~ viestien välittämistä Menetelmä? Coding standards Model Library management Process Project management Method Techniques Deliverables Tools Roles Life-cycle Guidelines 2

UML käyttötapaus- ja arkkitehtuurilähtöinen iteratiivinen ja inkrementaalinen Prosessimalli: tehtäväkokonaisuudet vaiheet iteraatiot Tulokset: käyttötapausmalli, analyysimalli, UML- OMT ja OMT++ yhteiset piirteet? erot? 3

Esimerkkitehtävä käyttötapausmalli: Tehtävänäsi on suunnitella tietojärjestelmä poliisin yksilölle esitetyn kohdealueen kuvauksen mukaisesti: Yksikössä on koulutukseltaan kahdenlaisia poliiseja: konstaapelit ja rikostutkijat. Poliisit tunnistetaan heidän virkamerkkinsä numeron mukaan ja lisäksi järjestelmään on kirjattu heidän sosiaaliturvatunnuksensa (SOTU), nimi sekä numero kotipuhelimeen. Rikostutkija toimii tutkimusten ajan esimiehenä konstaapeleille. Poliisit tutkivat rikoksia, jotka on ryhmitelty henkirikoksiin, petoksiin jne. Rikoksista rekisteröidään myös tapahtuma- ja ratkaisupäivämäärä sekä tutkimuksen tila - joko ratkaistu tai toistaiseksi ratkaisematon. Rikokseen liittyy epäiltyjä, joiden tiedoista poliisi kirjaa järjestelmään SOTUn ja nimen lisäksi tärkeimmät yhteystiedot mahdollisten yhteydenottojen ja tarkkailun varalta. Tutkimusten ratkettua rikollisten tiedot (samat kuin epäillyillä) lisätään järjestelmään poliisin toimesta. Rikolliselle luodaan samalla rikosrekisteri, jos tätä ei vielä entuudestaan ole. Rikosrekisteri sisältää järjestelmään jo aiemmin kirjattuja rikoksia, joten rekisterin tehtävänä onkin yhdistää rikolliset rikoksiin. Järjestelmän tulee sisältää seuraavat toiminnot: rikosten kirjaaminen ja niiden tilan muuttaminen, epäiltyjen ja rikollisten tietojen kirjaaminen sekä rikoksen lisääminen rikosrekisteriin. Käyttötapaukset notaatio: Poliisin tietojärjestelmä Kirjaa sakko Tulostin Kirjaa rikos Poliisi Luo rikosrekisteri <<extend>> Kirjaa rikollinen Muuta rikoksen tila <<include>> 4

Käyttötapaus Ehdot Aktori(t) Heräte Kuvaus 1.. 2.. 3. 4 5... -Vuorovaikutus järjestelmän kanssa -eli syötteet ja tulosteet Poikkeukset Jälkitilanne Esimerkkitehtävä luokkakaavio: Tehtävänäsi on suunnitella tietojärjestelmä poliisin yksilölle esitetyn kohdealueen kuvauksen mukaisesti: Yksikössä on koulutukseltaan kahdenlaisia poliiseja: konstaapelit ja rikostutkijat. Poliisit tunnistetaan heidän virkamerkkinsä numeron mukaan ja lisäksi järjestelmään on kirjattu heidän sosiaaliturvatunnuksensa (SOTU), nimi sekä numero kotipuhelimeen. Rikostutkija toimii tutkimusten ajan esimiehenä konstaapeleille. Poliisit tutkivat rikoksia, jotka on ryhmitelty henkirikoksiin, petoksiin jne. Rikoksista rekisteröidään myös tapahtuma- ja ratkaisupäivämäärä sekä tutkimuksen tila - joko ratkaistu tai toistaiseksi ratkaisematon. Rikokseen liittyy epäiltyjä, joiden tiedoista poliisi kirjaa järjestelmään SOTUn ja nimen lisäksi tärkeimmät yhteystiedot mahdollisten yhteydenottojen ja tarkkailun varalta. Tutkimusten ratkettua rikollisten tiedot (samat kuin epäillyillä) lisätään järjestelmään poliisin toimesta. Rikolliselle luodaan samalla rikosrekisteri, jos tätä ei vielä entuudestaan ole. Rikosrekisteri sisältää järjestelmään jo aiemmin kirjattuja rikoksia, joten rekisterin tehtävänä onkin yhdistää rikolliset rikoksiin. Järjestelmän tulee sisältää seuraavat toiminnot: rikosten kirjaaminen ja niiden tilan muuttaminen, epäiltyjen ja rikollisten tietojen kirjaaminen sekä rikoksen lisääminen rikosrekisteriin. 5

6

Esimerkkitehtävä sekvenssikaavio: Laadi UML-notaation mukainen sekvenssikaavio, joka esittää tuotantolinjaan kuuluvan pulttikoneen käyttötapauksen "kiinnitä runko" alla annetun kuvauksen mukaisesti. Pulttikoneen toiminnan suorittamiseksi siihen kuuluu ohjelmisto, joka sisältää olioluokat anturi, ohjain, pulttikone ja laturi. Liukuhihna antaa pulttikoneeseen kuuluvaan anturiin herätteen rungon ollessa oikealla kohdalla. Tämän jälkeen anturi siirtää ohjausvastuun toiminnan suorittamisesta ohjaimelle. Ohjain siirtää pulttikonetta ennalta määriteltyyn koordinaattipisteeseen 200 ja käskyttää laturia lataamaan pulttikoneeseen tarvittavat pultit syöttökoneen avulla. Jos laturissa ei ole tarvittavaa määrää pultteja, ohjain käskyttää laturia täydentämään laturin syöttökoneen ja lataamaan pulttikoneeseen tarvittavat lisäpultit. Kun pulttikone on ladattu ohjain siirtää sen koordinaattipisteeseen 100 ja käskee pulttikonetta kiinnittämään ensimmäisen pultin. Tämän jälkeen pulttikone siirtyy viisi senttimetriä oikealle ja kiinnittää seuraavan pultin. Pulttikoneen siirtämistä ja pulttaamista suoritetaan kunnes pulttikoneesssa ei ole enää pultteja ladattuna. Tämä palauttaa tiedon ohjaimelle kiinnittämisen loppumisesta, josta lähetetään edelleen tieto anturille. Anturi ilmoittaa liukuhihnalle toiminnan suorittamisesta ja runko siirretään tuotantolinjalle eteenpäin. Esimerkkitehtävä tilakaavio: Hissiin toimintaan voidaan kohdistaa kahdenlaisia herätteitä: tilauksia ja valintoja. Tilaukset tapahtuvat hissin ulkopuolelta tilaat hissin esimerkiksi kerrokseen, jossa sijaitset. Valintoja toisaalta tehdään hissin sisältä. Kun olet hississä, valitset hissin painikkeista sen kerroksen numeron mihin haluat hissin liikkuvan. Täten voit ohjata hissin toimintaa seuraavilla tavoilla. 1) Jos teet tilauksen samasta kerroksesta missä hissi jo on paikalla, hissin tarvitsee vain avata ovensa. 2) Jos taas hissi on tilauksen saapuessa eri kerroksessa kuin tilaaja, lähtee hissi liikkeelle. 3) Hississä tehdessäsi valinnan, joka ei ole sama kerros kuin nykyinen, lähtee hissi liikkeelle. Hissi reagoi liikkeessä seuraavaksi saapuvan kerroksen lähestymiseen. Jos lähestyvästä kerroksesta on tullut tilaus tai on määrätty valinta lähestyvään kerrokseen, hissi pysähtyy kerroksen kohdalle. Pysähdyttyään kerrokseen hissi aina avaa ovensa ja määräajan kuluttua hissi sulkee ovensa. Ovien sulkemisen jälkeen tarkastetaan onko tilauksia tai valintoja tehty (ts. vielä jäljellä juuri toteutetun lisäksi). Jos tilauksia tai valintoja on tehty lähtee hissi liikkeelle. 7

Arkkitehtuureista.. Looginen arkkitehtuuri: -Mitä toimintoja järjestelmä tarjoaa? -Mitä luokkia (tai muita elementtejä) on olemassa ja mitkä ovat näiden väliset yhteydet, ja miten yhteydet vaikuttavat luokkien toimintaan? -Miten luokat ja niiden oliot toimivat yhdessä toteuttaakseen järjestelmän toiminnallisuuden? -Mitkä ovat järjestelmän toimintojen aikarajat? -Mikä on sopiva suunnitelma, jotta järjestelmän kehittäjät voivat seurata toteuttaakseen ja kehittääkseen tätä arkkitehtuuria? UML: -kuvataan käyttötapaus-, luokka-, tila-, ja yhteistoimintakaavioilla. Arkkitehtuureista.. Fyysinen arkkitehtuuri: -Missä ohjelmissa ja prosesseissa luokat ja oliot fyysisesti sijaitsevat? -Missä laitteissa (päätelaitteet, työasemat, palvelimet,..) ohjelmat ja prosessit toimivat? -Mitä laitteita järjestelmässä on ja kuinka ne ovat yhteydessä toisiinsa? -Mitkä ovat eri kooditiedostojen väliset riippuvuussuhteet? Jos tiettyä tiedostoa muutetaan, mitkä muut tiedostot on käännettävä uudelleen? UML: -kuvataan komponentti- ja sijoituskaavioilla (jolle synonyymi käyttööotto-) 8

Arkkitehtuureista.. Rajapinta: -kokoelma operaatioita (niiden kutsumuotoja) -määrittelevät luokan tai komponentin tarjoamat palvelut rajapinta lupaa palvelua, luokka/komponentti toteuttaa näyttö.java laskupalvelu lasku.java laskupalvelu tuotalasku() 9