Tietojärjestelmät ja Systeemisuunnittelu

Slides:



Advertisements
Samankaltaiset esitykset
Tuloksellinen Java-ohjelmointi Luku 3 Luokkien käyttäminen
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ä.
ER-mallista relaatiomalliin
Ohjelmiston tekninen suunnittelu
@ Leena Lahtinen Helia TIETO JA TIETOKONEOHJELMA  TIETOKONEOHJELMA KÄSITTELEE TIETOJA  TIETOJA VOIDAAN KÄSITELLÄ OHJELMASSA VAIN SALLITUILLA.
Tietojärjestelmät 2.
Ohjelmistotuotanto - Mallinnus
UML-notaatio staattinen ja dynaaminen mallintaminen
Luokkakaaviot Luokkakaaviot Tekninen suunnittelu.
Tietojärjestelmät ja Systeemisuunnittelu
Tietokanta.
UML RASE
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
Olio-mallinnus Tietojärjestelmien suunnittelu KYAMK, Liiketalous, Kouvola Jarkko Ansamäki, 2002.
Ohjelmistotekniikka: Ohjelmiston mallintaminen, osa I
OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT. LUOKKA JAVA ohjelma koostuu luokista LUOKKA sisältää metodeja molemmat sisältävät attribuutteja eli muuttujia.
CSC / Tietohallinnon asiakkaat ja tuotteet / Teemu Kemppainen Käsitemalli kuvaa relevantit tiedot kohdealueelta. Tietotarpeet määrittävät relevantit.
2/2001 Tietojärjestelmät ja Systeemisuunnittelu Luennoitsija: Tapio Lammi
Oliomallittaminen ja UML
Tietoyhteiskunnan palveluarkkitehdit ja -rakentajat © 2014 Gofore 1 ePerusteet – tietomalli ja rajapinnat Jarkko Hyöty Opetushallituksen tarjoamien.
SE-02 Olioperustainen ohjelmistokehitys Tampereen yliopisto, syksy 2000 Roope Raisamo perustuu Kai Koskimiehen Oliokirjaan ja kurssin aiempiin materiaaleihin.
Olioperustainen ohjelmistoprosessi
2. Vuokaaviot.
© Jukka Harju, Jukka Juslin
1 Kertaus koetta varten oleellisista asioista Jukka Juslin.
Korkeakoulujen ja opetus- ja kulttuuriministeriön yhteinen tietohallintohanke, jota CSC koordinoi RAkenteellisen KEhittämisen Tukena TIetohallinto Arkkityön.
Johdatus ohjelmointiin Ohjelmistosuunnittelu Jaana Holvikivi.
Käyttötapauskaavio ja käyttötapaukset
Esitutkimus (tarvekartoitus)
Systeemityö 2 Käyttötapauskaavio Teppo Räisänen, Principal Lecturer
Muunnos luokkakaaviosta relaatiokaavioon
Käsitteellisen mallinnuksen tekniikkaa
Johdanto Teppo Räisänen, Principal Lecturer Oulu University of Applied Sciences, School of Business and Information Management
OHJELMOINTITAITO ICT02D 12 ECTS. OPINTOJAKSON TOTEUTUS  KESTO: –  AVOIMEN OPISKELIJAT: – YKSI LUOKA (SUOMI) – LUOKKA ICT02O-1.
Tässä esityksessä on piilotettu osa dioista
Koostekaavio – Composite Structure Diagram Kinnula – Kellolampi - Lehtosaari.
– Ohjelmistojen mallintaminen, mallintaminen ja UML.
Mallinnustavat.
Jouni Juntunen Oulun seudun ammattikorkeakoulu Liiketalouden yksikkö
Komponenttikaavio Lehtonen Iiro, Janne Liikka
Component diagram– Komponenttikaavio J. Pätsi & H. Malmihuhta
Käyttöönottokaavio– Deployment diagram Vesa Jokikokko Tarmo Kemi TIK9SNA.
– Ohjelmistojen mallintaminen Unified Modeling Language (UML)
8. Periytyminen Sisällys Mitä on periytyminen? Yksittäis- ja moniperiytyminen. Oliot ja perityt luokat. Periytymisen käyttö.
15. Ohjelmoinnin tekniikkaa
Pakkauskaavio– Package Diagram Jani Pelkonen, Niko Viinikanoja, Teemu Tervahauta.
Koostekaavio– composite structure diagram Mikko Näpänkangas.
Olio-ohjelmoinnin perusteet luento 7
Ohjelmistotekniikka - Määrittely (Analysis) Kevät 2003 Hanna-Kaisa Lammi LTY/Tite.
Projektityöskentely Luento 1: kurssin käytännön asiat Hanna-Kaisa Lammi
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
Tietojärjestelmät ja Systeemisuunnittelu
2/2001 Tietojärjestelmät ja Systeemisuunnittelu Luennoitsija: Tapio Lammi
UML-luokkakaavio ● Luokkakaavio (class diagram) kuvaa järjestelmän luokkarakennetta ● Mitä luokkia on olemassa ● Minkälaisia luokat ovat ● Luokkien suhteet.
jew1 Systeemityön eteneminen opintojaksolla Ohjelmiston suunnittelutaito Opintojakson eteneminen.ppt.
Yrityksen projektisuunnitelma
UML-mallinnus osana tietotuotemäärittelyä
Rajapintaluokat Rajapintaluokka luettelee metodit, joille tulee löytyä toteutus asianomaisen rajapinnan toteuttavista luokista. Rajapintaluokka on siis.
8. Periytyminen.
Vaatimukset ja käyttötapaukset
Ohjelmistotekniikan menetelmät, sekvenssikaaviot
– Ohjelmistojen mallintaminen Unified Modeling Language (UML)
Vaatimukset ja käyttötapaukset
Esityksen transkriptio:

Tietojärjestelmät ja Systeemisuunnittelu 2/2001 Tietojärjestelmät ja Systeemisuunnittelu 010557001 Luennoitsija: Tapio Lammi e-mail: tapi@iki.fi 1

Unified Modelling Language 1 / 2

UML:n tarjoamat työkalut Käyttötapauskaavio Luokkakaavio Oliokaavio Sekvenssikaavio Vuorovaikutuskaavio Tilakaavio Aktiviteettikaavio Komponenttikaavio Ajonaikaiskaavio

Käyttötapauskaaviot Tarjoaa työkalut, joilla kuvataan järjestelmään liittyvät ulkoiset toimijat ja tavat, joilla nämä järjestelmää käyttävät. Mahdollistaa ulkoisten rajapintojen löytämisen ja dokumentoinnin

Käyttötapauskaaviot - peruskomponentit 1 Toimija Käyttäjä (rooli) Ulkoinen järjestelmä jokin järjestelmän osa Käyttötapaus Suoritettava operaatio Ulkopuolelta tuleva heräte

Käyttötapauskaaviot - peruskomponentit 2 Yksisuuntainen yhteys Kuvaa herätteen suunnan Yhdistää herätteen tekijän operaatioon Riippuvuus Kuvaa riippuvuuden kahden käyttötapauksen välillä Esittää myös riippuvuuden suunnan

Käyttötapauskaaviot - peruskomponentit 3 Yleistys Kuvaa yleistyssuhteen kahden käyttötapauksen välillä Mahdollistaa samankaltaisten käyttötapausten mallintamisen perimishierarkiaan

Käyttötapausten dokumentointi ID <selväkielinen yksikäsitteinen tunniste> Kuvaus <kuvaus käyttötapauksen toiminnasta> Syötteet <tiedot, jotka järjestelmä tarvitsee voidakseen suorittaa operaation> Palaute <toiminteen suorittamisesta käyttäjälle tuleva palaute> Laajentaa <mahdolliset extends-suhteiden tunnisteet> Hyödyntää <mahdolliset uses-suhteiden tunnisteet> Lisätietoja <mahdolliset muut huomioitavat asiat>

Mitä käyttötapauksista saadaan? Rajapintaluokat järjestelmän ulkoisille rajapinnoille Kuvaus yksittäisten operaatioiden saamista syötteistä ja vaadituista tulosteista Riippuvuudet eri rajapintojen välille Mahdollisuus hyödyntää perintää rajapintojen suunnittelussa rakennettavan mallin yksinkertaistamiseksi

Yksinkertainen esimerkki Kaksi henkilöä, mies ja nainen, tekevät kotona erilaisia töitä Mies hakee tv:n mainostauolla itselleen voileipää sekä keittää kahvia Nainen laittaa ruokaa sekä saattaa keittää kahvia

Yksinkertainen esimerkki (jatkoa)

Yksinkertainen esimerkki (jatkoa)

Käyttötapauskaavio - Esimerkki Vaatimuslauseet Tilausten käsittelijän tulee voida luoda tilaus, selata tehtyjä tilauksia, sekä tehdä lähetys tilauksiin liittyen. Jotta tilausta voidaan käsitellä, tulee asiakkaan tietojen löytyä järjestelmästä Tilaus voidaan toimittaa joko kokonaan kerralla tai useampana osatoimituksena Asiakashallinnan tulee voida laskuttaa asiakasta kokonaan toimitetuista tilauksista

Käyttötapauskaavio - Esimerkki (jatkoa)

Käyttötapauskaavio - Esimerkki (jatkoa)

Käyttötapauskaavio - Esimerkki (Mitä saatiin) Operaatiot Tilauksen luonti Tilauksen Seuranta Tilauksen lähetys Osalähetys Laskutus Asiakashaku Tilauksen haku Parametrit kullekin operaatiolle Käyttäjät Tilausten käsittelijä Asiakashallinta Tilauksen lähetys Laskutus Tilauksen seuranta Tilauksen luonti Lähtökohta testauksen suunnittelulle

Käyttötapauskaavio testauksen työkaluna Kun käyttötapauskaavio on tehty: Luodaan tapahtumaketjut kullekin käyttötapaukselle (näin löydetään järjestelmän osat, joihin ko. käyttötapauksella on vaikutusta) Tehdään testitapaukset kunkin käyttötapauksen testaamiseksi Jos tarpeellista, tehdään skripteistä simulaatio, joka simuloi käyttäjien toimintaa Suoritetaan testisarjat aina kun käyttötapaukseen liittyvissä järjestelmän osissa tapahtuu muutos

Käyttötapauskaavion läpikäynti Kun järjestelmä on suunniteltu ja suunnitelmaa lähdetään käymään läpi: Tunnistetaan järjestelmän käyttäjät Tunnistetaan käyttäjän tekemien operaatioiden vaikutus järjestelmään, sen tilaan tai ympäristöön, sekä järjestelmän käyttäjälle antama vaste Käydään läpi sekvenssikaaviot ja varmistetaan toiminnallisuus Kirjataan sekvenssit ja niiden riippuvuus käyttötapauksista

Vihjeitä käyttötapauskaavion suunnitteluun Hyvin suunniteltu käyttötapauskaavio Kuvaa järjestelmän staattista rakennetta Kuvaa ainoastaan ne käyttäjät ja käyttötapaukset, jotka ovat välttämättömiä toiminnan ymmärtämisen kannalta Kuvaa toiminnat yhtenäisellä yksityiskohtien tasolla Sisältää riittävän informaation järjestelmän toiminnan ymmärtämiseksi

Luokkakaavio Tarjoaa työkalut järjestelmän staattisen rakenteen kuvaamiselle Kuvaa järjestelmästä: Loogiset kokonaisuudet Mahdolliset operaatiot Eri kokonaisuuksien tietosisällöt Eri kokonaisuuksien väliset suhteet toisiinsa nähden

Luokkakaavio - peruskomponentit Perusabstraktio Luokka sisältää operaatiot ja ominaisuudet

Luokkien väliset suhteet - Assosiaatio Kuvaa yhteyden kahden luokan välillä Dokumentoi luokkien välisen riippuvuuden roolin Kuvaa assosiaatioiden määrän

Luokkien väliset suhteet - Koosterakenne Luokkien muodostuminen muista luokista Erikoistapaus assosiaatiosta Dokumentoi myös koosterakenteiden määrän

Luokkien väliset suhteet - Periytyminen Kuvaa rakenteen jossa luokan ominaisuudet siirtyvät myös aliluokalle Yhdestä luokasta pystytään perimään useita luokkia Yksi luokka voi periä ominaisuutensa useilta luokilta

Rajapintaluokat Rajapintaluokalla kuvataan moduulin tai luokan ulospäin tarjoama rajapinta Rakenne yleensä jaetaan ennen toteutusta rajapinta- ja toteutusluokkiin.

Luokkakaavio - esimerkki

Luokkakaavio - Jatkoa Käyttötapauskaavioesimerkille

Relaatiomallin kuvaus luokkakaaviolla Määrittele luokat, joihin kuuluvien olioiden tila on pysyvä Tee luokkakaavio ja merkitse luokat pysyviksi (ominaisuus löytyy yleensä suunnittelutyökalusta) Määrittele luokkien data-alkiot (attribuutit) ja kiinnitä erityisesti huomiota luokkien välisten suhteiden mallintamiseen Poista mallista mahdollisesti relaatiomallin kannalta mahdottomat suhteet (n-n yhteydet, syklisyydet luokkien välisissä suhteissa jne.) Suunnittele varsinaisen toimintoketjuihin liittyvä logiikka kerrokseksi pysyvien olioiden päälle

Esimerkki - Oliomallista relaatiomalliin Opiskelija Etunimi Sukunimi Opiskelijanumero Sotu Opintosuoritus KurssiNumero OpiskelijaNumero Arvosana Kurssi KurssiNimi KurssiNumero Pitäjä Opintoviikkoja

Vihjeitä luokkakaavion rakentamiseen Hyvin rakennettu luokkamalli Kuvaa järjestelmän staattisen rakenteen Sisältää ainoastaan välttämättömät elementit järjestelmän rakenteen ymmärtämiseksi Kuvaa yksityiskohdat yhtenäisellä abstraktiotasolla menemättä liiallisiin yksityiskohtaisuuksiin Sisältää riittävästi informaatiota koko järjestelmän rakenteen kuvaamiseksi

Piirto- ja nimeämisteknisiä vihjeitä Nimeä luokkakaaviot kuvaavilla nimillä Suunnittele kaavio siten, että minimoit risteävien viivojen määrän Jaottele loogisesti yhteen kuuluvat luokat myös kaaviossa lähekkäin Käytä värejä ja sivuhuomautuksia korostamaan tärkeitä kohtia kaaviossa Älä sotke samaan luokkakaavioon liian monentyyppisiä suhteita luokkien välille