Ohjelmistojen mallintaminen Olioperustainen ohjelmistomalli Harri Laine 1

Samankaltaiset tiedostot
Ohjelmistojen mallintaminen, käyttötapauksiin perustuva vaatimusmäärittely

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

Ohjelmistojen mallintaminen. Luento 2, pe 5.11.

Johdatus sovellussuunnitteluun, s99, osa2 Helsingin yliopisto;/tktl Harri Laine 1. Olioperustaisuus (object oriented)

Johdatus sovellussuunnitteluun, s99, osa2 Helsingin yliopisto;/tktl Harri Laine 1. Olioperustainen ohjelmistokehitys

Olioperustaisuus (object oriented)

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

Ohjelmistotekniikan menetelmät, UML

Käyttäjien tunnistaminen on ensimmäinen tehtävä järjestelmän palveluja määriteltäessä. Käyttäjien löytämiseksi voidaan esittää kysymykset:

Ohjelmistotekniikan menetelmät Luokkamallit ohjelmiston mallintamisessa Harri Laine 1

Ohjelmistojen mallintaminen, käyttötapauksiin perustuva vaatimusmäärittely

Ohjelmistojen mallintaminen kertausta Harri Laine 1

Ohjelmistojen mallintaminen Tietovuokaaviot Harri Laine 1

Ohjelmistojen mallintaminen Unified Modeling Language (UML)

Ohjelmistotekniikan menetelmät, kevät 2008

Määrittelyvaihe. Projektinhallinta

Ohjelmistojen mallintaminen

Ohjelmistojen mallintaminen, kesä 2010

5. Järjestelmämallit. Mallinnus

Käyttötapausanalyysi ja testaus tsoft

Dynaaminen analyysi II

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

Ohjelmistojen mallintaminen, mallintaminen ja UML

Ohjelmistotekniikan menetelmät, kesä 2008

Ohjelmistotuotanto, s

Ohjelmistotuotanto, kuvaustekniikat Syksy Kuvaustekniikat. Miksi kuvaustekniikoita? Abstraktiotasot. Abstrahointi UML

Ohjelmistojen mallintaminen, kesä 2009

Ohjelmistotekniikan menetelmät, luokkamallin laatiminen

Ohjelmistojen mallintaminen Olioiden yhteistyö Harri Laine 1

Dynaaminen analyysi II Luento 4 Antti-Pekka Tuovinen

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät

Lähestymistavat - toiminnallinen

UML:n yleiskatsaus. UML:n osat:

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

Weboodi. Katri Laaksonen Oppimisen IT

Ohjelmistojen mallintaminen olioiden elinkaaret - tilakaavio Harri Laine 1

Tietokantojen perusteet k2004helsingin yliopisto/tktl Tietokantojen perusteet, s 2007 ER-mallin peruskäsitteet.

3. Käsiteanalyysi ja käsitekaavio

Työkaluja esimiestyön tehostamiseen

Ohjelmistojen mallintaminen, mallintaminen ja UML

käyttötapaukset mod. testaus

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

Opetustapahtumaan ilmoittautumisen yhteydessä tehtävät tarkistukset (hylkäyksen syyt)

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

3a. Projektin hallinta (lisäys lukuun 3)

Luokka- ja oliokaaviot

UML - unified modeling language

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

Tuotemallipohjaisen toimintaprosessin mallintaminen

Ohjelmistojen mallintaminen luokkamallin lisäpiirteitä

Ohjelmistotuotanto, s /3/2003

WebOodin opinto-opas ja ilmoittautuminen

Johdatus sovellussuunnitteluun, s99, osa1 Helsingin yliopisto;/tktl Harri Laine 1

Johdatus sovellussuunnitteluun, s99, osa1 Helsingin yliopisto;/tktl Harri Laine 1. Johdatus sovellussuunnitteluun

Käyttötapaukset. Käyttötapaukset. Käyttötapaukset. Käyttötapaukset. Käyttötapaukset. Käyttötapaukset

Johdatus sovellussuunnitteluun, s99, osa5 Helsingin yliopisto;/tktl DO NOT PRINT THIS DOCUMENT. Harri Laine 1. Olioiden yhteistoiminta

Johdatus sovellussuunnitteluun, s99, osa5 Helsingin yliopisto;/tktl DO NOT PRINT THIS DOCUMENT. Harri Laine 1. Olioiden yhteistoiminta

TIEDONHALLINTA - SYKSY Luento 7. Pasi Ranne /10/17 Helsinki Metropolia University of Applied Sciences

Johdatus sovellussuunnitteluun. Johdatus sovellussuunnitteluun

UML- mallinnus: Tilakaavio

Ohjelmistojen mallintaminen, kurssikoe esimerkkivastauksia

Ohjelmistotuotanto, s

Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla.

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

Olioiden yhteistoiminta

WebOodin opinto-opas ja ilmoittautuminen

Ohjelmistoarkkitehtuurit. Syksy 2010

Opetustapahtumaan ilmoittautumisen yhteydessä tehtävät tarkistukset (hylkäyksen syyt)

UML -mallinnus TILAKAAVIO

Malliperustainen ohjelmistokehitys - MDE Pasi Lehtimäki

CHEM-A1000 Korkeakouluopiskelijan ABC

Johdatus sovellussuunnitteluun

sovellussuunnitteluun

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

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

Luento 3 Tietokannan tietosisällön suunnittelu

Uutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3

Yhteenveto. Menettelytavat

Hyvin määritelty on puoliksi tehty kuinka vältetään turha tekeminen jo alussa

CHEM-A1000 Korkeakouluopiskelijan ABC

Johdatus sovellussuunnitteluun, s99, osa3 Helsingin yliopisto;/tktl Harri Laine 1. Olioiden väliset yhteydet. Olioiden väliset yhteydet

VH5, JOTU, MagicDraw:n käyttö

Ohjelmistojen mallintaminen

Johdatus sovellussuunnitteluun, s99, osa3 Helsingin yliopisto;/tktl Harri Laine 1. Olioiden väliset yhteydet. Olioiden väliset yhteydet

Ohjelmistoarkkitehtuurit. Kevät

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1

Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla.

KauppiasExtranet -käyttöohje verkkokaupalle

Ohjelmistojen mallintaminen Ohjelmiston suunnittelu Model driven development Harri Laine 1

Opiskelun ja opetuksen tuen ja hallinnon aliprosessit. Pekka Linna KOOTuki-ryhmä,

Ohjelmistojen mallintaminen

Helia Ohjelmointitaito Tuomas Kaipainen Mermit Business Applications Oy Mermit Business Applications

Arkkitehtuuripankki. Mallintamisen metamalli ja notaatiot

11/20: Konepelti auki

Kurssin aihepiiri: ohjelmistotuotannon alkeita

Ohjelmistojen mallintaminen, kertausta

Osaamisen hallinta. Kiekun infotilaisuus

Ohjelmistotekniikka - Luento 2

Ohjelmistojen suunnittelu

Transkriptio:

Ohjelmistojen mallintaminen Olioperustainen ohjelmistomalli 4.11.2008 Harri Laine 1

Olioperustainen ohjelmistokehitys Olioperustaisuus (object oriented software development) järjestelmä (system) on olio (object), joka tuottaa tietojenkäsittelypalveluita Olio on kokonaisuus (entity), joka kykenee tuottamaan omaan tietämykseensä (information contents) perustuvia palveluita (service / operation / method) 4.11.2008 Harri Laine 2

Olioperustainen ohjelmistokehitys Olio voidaan nähdä abstraktiona, jota voidaan soveltaa eri tilanteissa eri tavoin Olio-ohjelmoinnissa: ohjelman suoritus etenee tietokoneen sisuksissa toimivien tietojenkäsittelyolioiden yhteistyön tuloksena olioiden palvelut ovat suorituksen askelia Tietojärjestelmän palvelut saadaan aikaan suorittamalla ohjelmia 4.11.2008 Harri Laine 3

Tietojärjestelmän palvelut ja olio-ohjelmointi tietojärjestelmä Palvelu tuottaa Ohjelman suoritus toteutuu Ohjelmaolioiden yhteistyönä 4.11.2008 Harri Laine 4

Olioiden yhteistyö ohjelmassa Ohjaa suoritusta Olio 1 Palvelu a Olio 2 Palvelu d tietää Käyttää apuna Olio 3 Palvelu b Olio 4 Palvelu c 4.11.2008 Harri Laine 5

Liiketoiminta olioiden yhteistyönä Toisaalta: liiketoiminta voidaan myös hahmottaa liiketoiminnan osapuolten (jälleen olioita) välisenä yhteistyönä - yleensä liiketoiminnan osapuolina ovat organisaatioyksiköt ja henkilöt 4.11.2008 Harri Laine 6

Liiketoiminnan osapuolten yhteistyötä Vastaanota tilaus Virkailija Asiakas toimitus varasto 4.11.2008 Harri Laine 7

Liiketoiminnan osapuolten yhteistyötä Vastaanota tilaus Virkailija Asiakas käyttää toimitus varasto varastojärjestelmä Tilauksen vastaanotto Tilauskannan hoito käyttää Tee kuormakirja 4.11.2008 Harri Laine 8

Osajärjestelmät olioina Järjestelmä voidaan jakaa osiin järjestelmän palvelut osien yhteistyön tuloksena Yleensä kunkin osajärjestelmän vastuulla on jokin toiminnallinen kokonaisuus. Osajärjestelmät voidaan nähdä olioina Osajärjestelmä voidaan edelleen jakaa pienempiin osajärjestelmiin, jne 4.11.2008 Harri Laine 9

Osajärjestelmät olioina osajärjestelmä Järjestelmä 4.11.2008 Harri Laine 10

Vaatimusten kuvaaminen Vastaanota tilaus Virkailija Liiketoiminta Asiakas käyttää toimitus varasto varastojärjestelmä Tilauksen vastaanotto Tilauskannan hoito Kuormakirjan teko käyttää Palvelut 4.11.2008 Harri Laine 11

Vaatimusten kuvaaminen Vaatimukset liiketoimintamallien avulla erilaisia vaihtoehtoja sille, miten liiketoimintaa pitäisi kuvata liiketoiminnan osapuolten väliset työnkulut liiketoimintatehtävät (business use cases) perustuu käyttötapausmalliin (use case model) 4.11.2008 Harri Laine 12

Liiketoiminnan sidosryhmät Kokonaiskuva liiketoiminnasta liiketoiminnan sidosryhmäkaaviona (business context diagram) Kuten tietovuokaavioista tuttu sidosryhmäkaavio, mutta prosessina koko liiketoiminta Ulkoiset tahot kuten sidosryhmäkaaviossa Yhteydet sidosryhmien ja liiketoiminnan välillä esittävät sidosryhmiltä liiketoimintaan saatavia tai niille toimitettavia tietoja 4.11.2008 Harri Laine 13

Liiketoiminnan sidosryhmät Kirjan esimerkkikuva: 6.1 (markkinoinnin vaikutusten ja kustannusten analysointia) 4.11.2008 Harri Laine 14

Liiketoimintatehtävämalli Liiketoiminnan tarkempi kuvaus liiketoimintatehtävämallin (business use case model) avulla. Ylimmän tason mallissa kuvataan tärkeimmät liiketoiminnan osaprosessit ja niihin osallistuvat tahot. Erikoistapaus UML:n käyttötapausmallista (use case model) 4.11.2008 Harri Laine 15

Käyttötapausmalli Käyttötapaus (use case) Järjestelmän avulla suoritettava looginen tavoitteellinen tehtäväkokonaisuus, jolla on lähtökohta ja lopputulos Järjestelmän toiminnan kuvaus Sanallinen kuvaus ei muotovaatimuksia esitetään tyypillisesti toimintosarjana käyttäjän kannalta tarkasteltuna mitä käyttäjä tekee tavoitteensa saavuttamiseksi, mitä palvelua saa riittävän yksityiskohtainen ei käyttöliittymäasioita eikä toteutukseen liittyviä yksityiskohtia 4.11.2008 Harri Laine 16

Käyttötapausmalli Käyttötapaus voidaan kuvata eri tarkkuuksilla Lisää yksityiskohtia suunnittelun edetessä Tiivis Laaja Pari lausetta Pari kappaletta Yksityiskohtainen dokumentti 4.11.2008 Harri Laine 17

Käyttötapausmalli Käyttötapaus. Käyttötapaus voi kuvata liiketoimintaa (liiketoimintatehtävä) tai Käyttötapaus voi kuvata järjestelmän käyttöä (system use case) yllä olevien kytkentä jää heikosti määritellyksi ja epämääräiseksi - UML ei tarjoa välineistöä eri tasoisten käyttötapausmallien yhdistämiseen voisi ajatella, että liiketoimintatehtävään (-prosessiin) liittyisi useita järjestelmän käyttöä kuvaavia käyttötapauksia 4.11.2008 Harri Laine 18

Käyttötapausmalli Käyttötapauksen kuvauksessa Nimi (tekemistä, esim. lainaus, palautus) (name) Versio Tavoite (goal) mitä tarkoitus saavuttaa Yhteenveto (summary) tiivis kuvaus Käyttäjät (actors) osallistujat, välitön / välillinen Lähtötilanne (pre-conditions) millä edellytyksin toimii Käynnistyminen (triggers) mikä laukaisee toiminnan Peruskulku (basic course of events) miten etenee normaalisti Vaihtoehtoiset kulut (alternative paths) eteneminen poikkeustilanteissa Lopputilanne (post-conditions) mihin päädytään Liiketoimintasäännöt (business rules) säännöt, joita toimintaan liittyy 4.11.2008 Harri Laine 19

Käyttötapausmalli Käyttäjä (actor) Ulkopuolinen taho (henkilö, rooli, laite, järjestelmä tai osajärjestelmä), joka osallistuu käyttötapauksen kulkuun Välitön käyttäjä suora osallistuminen (esim. toimihenkilö joka käynnistää raportin tekemisen) Välillinen käyttäjä epäsuora osallistuminen (esim., viranomainen, joka saa raportin) Käyttäjä toimii vuorovaikutuksessa järjestelmän kanssa 4.11.2008 Harri Laine 20

Käyttötapausmalli Käyttötapausmalliin liittyy graafinen kuvaustekniikka, jolla voidaan kuvata Käyttäjän yhteys käyttötapauksiin Käyttäjien suhteita toisiinsa Käyttäjä voi olla erikoistapaus toisesta (tai päinvastoin toisen yleistys) [generalization] Käyttötapausten suhteita toisiinsa Käyttötapaus voi olla erikoistapaus tai yleistys Käyttötapaus voi olla toisen laajennus (esim. poikkeustilannetoiminnot) [extends] Käyttötapaus voi sisältää toisen tapauksen [include] HUOM: sekä käyttäjät että käyttötapaukset ovat tyyppitasolla eivät yksilöitä 4.11.2008 Harri Laine 21

Käyttötapausmalli 'Virallisessa' UML-notaatiossa tikku-ukko Asiakas Tilin käyttö yleistys Tililtä otto Tilillepano Saldokysely erikoistapauksia tilin käytöstä <<include>> <<include>> <<include>> Kirjautuminen <<extends>> Kirjautumisen epäonnistuminen 4.11.2008 Harri Laine 22

Käyttötapausmalli TKTL:n ilmoittautumisjärjelmä opetushallinto opiskelija raportit opetusohjelma kurssitarjonta opetustiedot ilmo ilmoittautumiset ja peruutukset ilmoittautumis tilanne opettaja ilmoittautumis tilanne autentikointikysely opiskelijatiedot tunnushallinto suoritustiedot Oodi kurssikirjanpito 4.11.2008 Harri Laine 23

Käyttötapausmalli TKTL:n ilmoittautumisjärjelmä opiskelija <<extends>> ilmoittautuminen estetty opetustarjonnan selvittäminen peruminen <<include>> <<include>> tunnistautuminen esitieto-ongelma kertausongelma 4.11.2008 Harri Laine 24

Käyttötapausmalli TKTL:n ilmoittautumisjärjelmä Ilmoittautuminen (peruskulku) opiskelija valitsee opetustarjonnasta opetustapahtuman jos opiskelija on tuntematon suoritetaan tunnistautuminen tunnistautuminen onnistui järjestelmä luo tai päivittää opiskelijan henkilötiedot järjestelmä kirjaa ilmoittautumisen Tavoite: saada varmistettua kurssipaikka 4.11.2008 Harri Laine 25

Käyttötapausmalli TKTL:n ilmoittautumisjärjelmä Poikkeustapauksia: opiskelijalla on liika yrityskertoja ryhmään pääsemiseksi opiskelija ei ole suorittanut esitietokursseja ryhmässä ei olekaan tila opiskelija on jo ilmoittautunut kurssille tunnistautuminen ei onnistunut 4.11.2008 Harri Laine 26

Lähtötilanne Käyttötapausmalli TKTL:n ilmoittautumisjärjelmä Kurssit on avattu ilmoittautumisille Lopputilanne ilmoittautuminen on kirjattu Käynnistyminen Opiskelija aktivoi Muuta Ruuhkahuippu periodin alussa noin 5 minuutin aikana 500 ilmoittautumista 4.11.2008 Harri Laine 27

Käyttötapausmalli TKTL:n ilmoittautumisjärjelmä Sääntöjä: joillekin kursseille (LAMA,TIRA,RIO) on määritelty tarkistettavat esitietovaatimukset harjoitustyökurssien normaaliryhmään voi ilmoittautua vain kerran perus- ja aineopintojen pakollisille kursseille voi osallistua vain kahdesti 4.11.2008 Harri Laine 28

Käyttötapausmalli UML:n käyttötapausmallin kuvaesityksessä on kovin vähän informaatiota luettelo riittää usein Käyttötapauskokoelman tulisi määritellä järjestelmän toiminnallisuus kokonaan kattavuuden varmistamiseen ei kuitenkaan ole välineitä (voivat olla päällekkäisiä, sisältö tekstin varassa) soveltuu huonosti, jos järjestelmä ei ole vuorovaikutteinen 4.11.2008 Harri Laine 29