Lataa esitys
Esittely latautuu. Ole hyvä ja odota
JulkaistuMika Kivelä Muutettu yli 9 vuotta sitten
1
2/2001 Tietojärjestelmät ja Systeemisuunnittelu 010557001 Luennoitsija: Tapio Lammi e-mail: tapi@iki.fi
2
Oliomenetelmät - johdanto
3
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
4
Oliomenetelmiä Ivaar Jacobsson - OOSE James Rumbaugh - OMT Grady Booch - Booch Method => Unified Modeling Language + Rational Unified Process
5
Peruskäsitteet - Olio 1 / 4 Ympäristöstä erottuva kokonaisuus Oliolla on seuraavat keskeiset ominaisuudet: –operaatiot (engl. methods) –attribuutit –identifioiva viite –suojaukset
6
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
7
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ä
8
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
9
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
10
Peruskäsitteet - Luokka 2 / 3 Luokan kuvaus koostuu kolmesta tekijästä –Nimi –Ominaisuudet eli attribuutit –Operaatiot eli metodit
11
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
12
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ää
13
Luokkien väliset suhteet 2 / 2 –Ihmiseen voi liittyä Ihminen (roolina mies, vaimo, äiti, isä, lapsi) Asunto (roolina asuinpaikka) Työnantaja
14
Luokkien väliset suhteet - esimerkki Taksinkuljettaja KuljettajaRahastaja ajokortti myontovuosi virheita tilitys- numero alue
15
Prosessimalli
16
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
17
Object Modeling Technique
18
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
19
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ä.
20
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
21
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
22
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
23
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
24
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
25
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
26
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
27
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ä
28
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ä
Samankaltaiset esitykset
© 2024 SlidePlayer.fi Inc.
All rights reserved.