2/2001 Tietojärjestelmät ja Systeemisuunnittelu 010557001 Luennoitsija: Tapio Lammi

Slides:



Advertisements
Samankaltaiset esitykset
18. Abstraktit tietotyypit
Advertisements

Rajapintaluokat Rajapintaluokka luettelee metodit, joille tulee löytyä toteutus asianomaisen rajapinnan toteuttavista luokista. Rajapintaluokka on siis.
Tietojärjestelmät ja Systeemisuunnittelu
– Ohjelmistojen mallintaminen luokkamallin lisäpiirteitä.
Ohjelmiston tekninen suunnittelu
Tietojärjestelmät 2.
UML-notaatio staattinen ja dynaaminen mallintaminen
Luokkakaaviot Luokkakaaviot Tekninen suunnittelu.
Tietojärjestelmät ja Systeemisuunnittelu
Tietokanta.
Tietokannan suunnittelu
Tapahtumasekvenssit = Käyttötapausten realisointi
Olio-ohjelmointi. Mitä olio-ohjelmointi on ?  Pyritään mallintamaan jotain reaalimaailman kohdetta tietokoneohjelman avulla  Olio on luokan ilmentymä.
EXtensible Markup Language
Tekninen suunnit-telu
Olio-mallinnus Tietojärjestelmien suunnittelu KYAMK, Liiketalous, Kouvola Jarkko Ansamäki, 2002.
Perintä. Yleistä Olio-ohjelmoinnin menetelmä muodostaa uusia luokkia aiemmin määriteltyjen luokkien avulla Luokka saa automaattisesti käyttöönsä kaikki.
Antti-Jussi Lakanen Nuorten peliohjelmointi 2009 / Jyväskylän yliopisto.
Ohjelmiston toteutus (teknisestä näkökulmasta)
Päivi Ovaska Tutkijaopettaja LTY/Tite
OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT. LUOKKA JAVA ohjelma koostuu luokista LUOKKA sisältää metodeja molemmat sisältävät attribuutteja eli muuttujia.
@ Leena Lahtinen OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT.
@ Leena Lahtinen Helia OHJELMOINTITAITO ICT02D 12 OP.
Olio-ohjelmoinnin perusteet luento 3
Tietojärjestelmät ja Systeemisuunnittelu
Oliomallittaminen ja UML
(Joskus puhutaan myös komponenttitestauksesta.) Pienin kokonaisuus, joka on järkevä testata erikseen. ● Perinteisesti yksittäinen aliohjelma. ● Olio-ohjelmien.
SE-02 Olioperustainen ohjelmistokehitys Tampereen yliopisto, syksy 2000 Roope Raisamo perustuu Kai Koskimiehen Oliokirjaan ja kurssin aiempiin materiaaleihin.
Olioperustainen ohjelmistoprosessi
3. Spesifikaatioiden laatiminen
Oliosuunnittelu.
Johdatus ohjelmointiin Ohjelmistosuunnittelu Jaana Holvikivi.
XML -kielen perusteet SIMO Seminaari Antti Mäkinen.
Ohjelmistotekniikka ja projektinhallinta, 4 op
Testauksen tutkimustulokset Marko Jäntti
Esitutkimus (tarvekartoitus)
10. Abstrakti luokka Johdanto Abstrakti luokka (abstract class) poikkeaa konkreettisesta luokasta (ei-abstrakti luokka) siten, että siitä ei.
Johdanto Teppo Räisänen, Principal Lecturer Oulu University of Applied Sciences, School of Business and Information Management
Koostekaavio – Composite Structure Diagram Kinnula – Kellolampi - Lehtosaari.
– Ohjelmistojen mallintaminen, mallintaminen ja UML.
Rinnakkaisuus Järjestelmässä, jossa voi olla useita prosesseja rinnakkain suorituksessa voi tulla tilanteita, joissa prosessien suoritusta täytyy kontrolloida.
Jouni Juntunen Oulun seudun ammattikorkeakoulu Liiketalouden yksikkö
Component diagram– Komponenttikaavio J. Pätsi & H. Malmihuhta
Refaktorointi ”Te olette tehneet tätä ennenkin”. Mitä on refaktorointi? (1/2) prosessi ohjelmakoodin laadun parantamiseksi ohjelman sisäisen rakenteen.
1 © Jukka Juslin Luokat, attribuutit ja metodit Yleistietoa: seuraavalla koulutusviikolla tarkempi käsittely.
– Ohjelmistojen mallintaminen Unified Modeling Language (UML)
8. Periytyminen Sisällys Mitä on periytyminen? Yksittäis- ja moniperiytyminen. Oliot ja perityt luokat. Periytymisen käyttö.
Koostekaavio– composite structure diagram Mikko Näpänkangas.
Ohjelmistotekniikka - Määrittely (Analysis) Kevät 2003 Hanna-Kaisa Lammi LTY/Tite.
Tietojärjestelmät ja Systeemisuunnittelu
2/2001 Tietojärjestelmät ja Systeemisuunnittelu Luennoitsija: Tapio Lammi
2/2001 Tietojärjestelmät ja Systeemisuunnittelu Luennoitsija: Tapio Lammi
Tietojärjestelmät ja Systeemisuunnittelu
Ohjelmassa tänään Ohjelmointimallit Pseudokieli Modulaarisuus.
Tietojärjestelmät ja Systeemisuunnittelu
Tietojärjestelmät ja Systeemisuunnittelu
2/2001 Tietojärjestelmät ja Systeemisuunnittelu Luennoitsija: Tapio Lammi
Julkisen hallinnon yhteinen tuki- ja ylläpitotehtävien eAMS-malli Christian Jämsen
UML-luokkakaavio ● Luokkakaavio (class diagram) kuvaa järjestelmän luokkarakennetta ● Mitä luokkia on olemassa ● Minkälaisia luokat ovat ● Luokkien suhteet.
Sosiaalinen markkinointi Monikulttuurinen ehkäisevä päihdekasvatus Ohjausryhmän suunnittelupäivä
1. Olio-ohjelmointi.
– Ohjelmistojen mallintaminen, mallintaminen ja UML
OHJELMOINTITAITO ICT02D 12 Leena Lahtinen Helia
OHJELMOINTITAITO ICT02D 12 Leena Lahtinen Helia
8. Periytyminen.
– Ohjelmistojen mallintaminen Unified Modeling Language (UML)
OHJELMOINTITAITO ICT02D 12 ECTS.
8. Periytyminen.
4. Luokan testaus ja käyttö olion kautta
2. Olio-ohjelmoinnin perusteita
Esityksen transkriptio:

2/2001 Tietojärjestelmät ja Systeemisuunnittelu Luennoitsija: Tapio Lammi

Oliomenetelmät - johdanto

Oliomenetelmä Oliopohjainen suunnittelu koostuu kahdesta osatekijästä: –Kuvaustekniikka –Menetelmä Kuvaustekniikka tarjoaa työkalut järjestelmän rakenteen ja toiminnallisuuden kuvaamiselle Menetelmä sisältää ohjeistuksen siitä miten työkaluja käytetään yhtenäisen ja ymmärrettävän lopputuloksen aikaansaamiseksi

Oliomenetelmiä Ivaar Jacobsson - OOSE James Rumbaugh - OMT Grady Booch - Booch Method => Unified Modeling Language + Rational Unified Process

Peruskäsitteet - Olio 1 / 4 Ympäristöstä erottuva kokonaisuus Oliolla on seuraavat keskeiset ominaisuudet: –operaatiot (engl. methods) –attribuutit –identifioiva viite –suojaukset

Peruskäsitteet - Olio 2 / 4 Teknisessä mielessä ohjelman strukturoinnin perusyksikkö, joka ei ole puhtaasti toiminnallinen (esim. aliohjelma) tai puhtaasti tietoa sisältävä (esim. tietue), vaan sisältää molempia ominaisuuksia Ohjelma on täydellisesti olioperustainen jos kaikki sen toiminnallisuus on kuvattu olioiden operaatioissa ja tieto attribuuteissa

Peruskäsitteet - Olio 3 / 4 olion sisäiset operaatiot pääsevät käyttämään käyttämään olion omia attribuutteja ja muita operaatioita muiden olioiden piirteitä päästään käyttämään vain olion suojauksen mukaisesti operaatiot ovat joko olion tilaa muuttavia, tilaa tutkivia tai olion osille jotain tiettyjä toimenpiteitä tekeviä

Peruskäsitteet - Olio 4 / 4 Olion elinkaari: –olio on olemassa luontinsa jälkeen kunnes se poistetaan –Jos olio jää olemaan ohjelman suorituksen jälkeen, sitä kutsutaan pysyväksi olioksi (persistent object), esim. oliotietokantaan kuuluvat oliot

Peruskäsitteet - Luokka 1 / 3 Luokka on kuvaus joka kokoaa yhteen olioiden ominaisuudet Luokka ei ole olio (Luokalla ei ole identiteettiä) Luokat voi tunnistaa: –Tunnistamalla järjestelmään liittyvät roolit –Etsimällä tunnistetuista kokonaisuuksista samoja piirteitä –Soveltamalla valmiita suunnittelumalleja ongelmaan

Peruskäsitteet - Luokka 2 / 3 Luokan kuvaus koostuu kolmesta tekijästä –Nimi –Ominaisuudet eli attribuutit –Operaatiot eli metodit

Peruskäsitteet - Luokka 3 / 3 Eri luokat voivat liittyä toisiinsa kolmella tavalla: –Periytyminen (Inheritance) - luokka perii osan ominaisuuksistaan toiselta luokalta –Koostuminen (Aggregation) - luokka koostuu yhdestä tai useammasta luokasta –Assosiaatio - Luokka liittyy jollain tavoin yhteen tai useampaan muuhun luokkaan

Luokkien väliset suhteet 1 / 2 Esimerkkejä luokkien välisistä suhteista: –Ihminen perii ominaisuuksiaan: Eliöltä Maa-eläimiltä Nisäkkäältä –Ihminen koostuu: Kädet jalat pää

Luokkien väliset suhteet 2 / 2 –Ihmiseen voi liittyä Ihminen (roolina mies, vaimo, äiti, isä, lapsi) Asunto (roolina asuinpaikka) Työnantaja

Luokkien väliset suhteet - esimerkki Taksinkuljettaja KuljettajaRahastaja ajokortti myontovuosi virheita tilitys- numero alue

Prosessimalli

Prosessimallin tavoitteet Maksimoida uudelleenkäytettävyys Minimoida päällekkäinen työ Luoda käytäntö jossa kullakin järjestelmän osalla on roolinsa järjestelmässä Minimoida muutosten jälkeen tarvittava testaustyö Mahdollistaa komponenttipohjainen konfiguraationhallinta

Object Modeling Technique

Object Modelling Technique Kehittäjä James Rumbaugh Koostuu sekä kuvaustavasta että soveltamisemenetelmästä Sisältää työkalut erityisesti suuria datamääriä sisältävien laajojen tietojärjestelmien mallintamiseen

OMT - kuvaustyökalut Luokkakaaviot - joilla voidaan kuvata järjestelmän osat ja niiden väliset suhteet Sekvenssikaaviot - joilla kuvataan kontrollin eteneminen järjestelmän osien välillä Tilasiirtymäkaaviot - joilla kuvataan mahdolliset tilat sekä tilasiirtymät järjestelmässä.

OMT - Menetelmä Kehitysprosessi jossa saman työvaiheen eri malleja kehitetään samanaikaisesti iteroiden Koostuu kahdesta osasta –Analyysi Oliomalli Dynaaminen malli Toiminnallinen malli –Järjestelmäsuunnittelu (System design) Järjestelmämalli Tekninen oliomalli

Oliomallin rakennus Tunnistetaan oliot ja luokat Kootaan käsiteluettelo jotka sisältävät kuvauksen luokista, niiden attribuuteista ja sidoksista muihin luokkiin Lisätään sidokset luokkien välille Rakennetaan mahdolliset perimishierarkiat luokkien välille Varmistetaan rakenteen toimivuus sekvenssikaavion avulla Järjestetään luokat loogisiksi moduuleiksi Oliomalli = oliokaavio + käsiteluettelo

Dynaamisen mallin rakennus Luodaan käyttötapaukset eri järjestelmän käyttäjille Tunnistetaan käyttötapaukseen liittyvät luokat sekä rakennetaan sekvenssikaaviot niille Rakennetaan tilakaaviot kullekin tilalliselle luokalle Tarkistetaan suunnitelman eheys oliomalliin verraten, sekä käymällä läpi tilakaaviot Dynaaminen malli = tilakaaviot + sekvenssikaavio

Toiminnallinen malli Tunnista syötteet ja tulosteet kullekin operaatiolle Lisää tarvittavat parametrit sekvenssikaavioihin Kuvaa luokkien kunkin funktion toiminta Kuvaa kuhunkin funktioon liittyvät reunaehdot Määrittele mahdolliset optimointikriteerit Funktionaalinen malli = sekvenssikaaviot + reunaehdot

Analyysivaiheen yhteenveto Käydään läpi sekvenssikaaviot ja täydennetään oliokaavion operaatiokuvaukset Käydään läpi käsitekaavio, luokkakaavio ja sekvenssidiagrammi ja varmistetaan niiden eheys keskenään Tarkennetaan sekvenssikaaviot sisältämään mm. Virhetilanteiden käsittely Käydään läpi yllä kuvatut vaiheet kunnes riittävä tarkkuustaso on saavutettu Analyysidokumentaatio = Ongelmakuvaus + oliomalli + dynaaminen malli + toiminnallinen malli + käsiteluettelo

Järjestelmämalli Jaetaan järjestelmä alijärjestelmiin Ratkotaan samanaikaisuuteen liittyvät ongelmat Jaetaan järjestelmä fyysisiin komponentteihin Jaetaan datan talletus tiedostoihin / tietokantoihin ja luodaan säilytysrakenteet Rakennetaan mekanismit datan käsittelyyn Suunnitellaan ohjelman kontrollirakenteet Käydään läpi analyysivaiheen toiminnallisen kuvauksen reunaehdot

Tekninen oliomalli Kerätään analyysivaiheessa dokumentoidut luokkien operaatiot Suunnitellaan algoritmit operaatioille Optimoidaan funktioiden sisäinen toiminta Muokataan luokkarakenne tukemaan perintää Suunnitellaan luokkien välisten riippuvuuksien toteutus Luodaan tekninen rakenne olioille Paketoidaan luokat moduuleihin

OMT - Yhteenveto Analyysivaiheessa –Suunnitellaan järjestelmä käsitteellisellä tasolla –Ei oteta kantaa toteutusvälineisiin ja tekniikoihin –Kuvataan järjestelmä siten, että läpikäynti voidaan suorittaa asiakkaan kanssa Järjestelmäsuunnitteluvaiheessa –Sovitetaan analyysin tulos käytetyille työkaluille –Tehdään tarvittavat tarkennukset jotta toteutus voidaan suorittaa –Kuvaukset eivät ole välttämättä muiden kuin toteuttajien ymmärrettävissä

OMT - Mitä puuttuu ? Työkalut Käyttötapausten kuvaamiselle –Ivaar Jacobssonin OOSE (Object Oriented Software Engineering) menetelmä esittelee käyttötapauskaaviot Asynkronisten tapahtumaketjujen kuvaustyökalut Kaaviot pakettirakenteiden kuvaamiseksi Nämä korjattu UML:ssä