Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

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

Samankaltaiset esitykset


Esitys aiheesta: "2/2001 Tietojärjestelmät ja Systeemisuunnittelu 010557001 Luennoitsija: Tapio Lammi"— Esityksen transkriptio:

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ä


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

Samankaltaiset esitykset


Iklan oleh Google