Ohjelmistojen mallintaminen

Samankaltaiset tiedostot
Ohjelmistojen mallintaminen, mallintaminen ja UML

Ohjelmistojen mallintaminen, mallintaminen ja UML

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

Ohjelmistojen mallintaminen kertausta Harri Laine 1

Ohjelmistotekniikan menetelmät, UML

Olioperustaisuus (object oriented)

Hieman lisää malleista ja niiden hyödyntämisestä

Malliperustainen ohjelmistokehitys - MDE Pasi Lehtimäki

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

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

Ohjelmistojen mallintaminen Unified Modeling Language (UML)

Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo

Kurssin aihepiiri: ohjelmistotuotannon alkeita

UML - unified modeling language

Johdatus sovellussuunnitteluun. Johdatus sovellussuunnitteluun

TIE Samuel Lahtinen. Lyhyt UML-opas. UML -pikaesittely

Ohjelmistojen mallintaminen Olioiden yhteistyö Harri Laine 1

sovellussuunnitteluun

UML Luokkakaavio 14:41

Ohjelmistojen mallintaminen Tietovuokaaviot Harri Laine 1

Sisällys. 19. Unified Modeling Language (UML) Johdanto. Johdanto. Johdanto. Luokkakaavio:

4. Lausekielinen ohjelmointi 4.1

TIE = JOTU. VH5 - MagicDraw

Mallinnus UML-yleiskatsaus

UML-kielen formalisointi Object-Z:lla

PROSESSIMALLINNUS. Ari Wahlstedt, KTT

11/20: Konepelti auki

Ohjelmistojen mallintaminen Olioperustainen ohjelmistomalli Harri Laine 1

Ohjelmistojen mallintaminen. Matti Luukkainen

ELM GROUP 04. Teemu Laakso Henrik Talarmo

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

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

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

Ohjelmistotekniikan menetelmät, mallintaminen ja UML

Yhteydelle voi antaa nimen kumpaankin suuntaan Sille ei tarvise antaa lainkaan nimeä Yhteysnimen asemasta tai lisäksi voidaan käyttää roolinimiä

Integrointi. Ohjelmistotekniikka kevät 2003

Ohjelmistotekniikan menetelmät Luokkamallit ohjelmiston mallintamisessa Harri Laine 1

5. Järjestelmämallit. Mallinnus

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

Ylläpito. Ylläpito. Ylläpidon lajeja Ohjelmistotuotanto, syksy 1998 Ylläpito

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

Ohjelmistotuotanto, s

Tietorakenteet op, 50 h. Luennot alkavat 7.9. ja päättyvät

Tietojärjestelmäarkkitehtuurit

Paikkatiedon mallinnus Dokumentoinnin ymmärtäminen. Lassi Lehto

Prosessien ja toiminnan kuvaamisen kehittämiskohteet, tasot, näkökulmat ja esimerkit

812341A Olio-ohjelmointi, I Johdanto

UML metamallina. Seminaariesitelmä Minna Majuri HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Unified Modeling Language

Luokka- ja oliokaaviot

Luento 3 Tietokannan tietosisällön suunnittelu

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

Ohjelmistotekniikan menetelmät, Ohjelmistotuotannon työkaluista

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät

Ohjelmistojen suunnittelu

Malliperustainen ohjelmistokehitys (Model-Driven Engineering, MDE)

MAOL ry on pedagoginen ainejärjestö, joka työskentelee matemaattisluonnontieteellisen. osaamisen puolesta suomalaisessa yhteiskunnassa.

Vastuuopettaja. Kurssiesite Olio-ohjelmoinnin perusteet Kevät Olio-ohjelmoinnin perusteet (5 op) Tavoitteena

Käyttötapausanalyysi ja testaus tsoft

Ohjelmistoarkkitehtuurit, syksy

Ohjelmistojen mallintaminen Ohjelmiston suunnittelu Model driven development Harri Laine 1

Luento 1 Tietokonejärjestelmän rakenne

Luento 1 Tietokonejärjestelmän rakenne

Luento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus

Tutoriaaliläsnäoloista

Ohjelmistojen mallintaminen, sekvenssikaaviot

Copyright by Haikala. Ohjelmistotuotannon osa-alueet

Luento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus

Helsingin yliopisto/tktl Tietokantojen perusteet, s 2006 Tiedon mallinnus ja tietokannat. Harri Laine 1. Tietokanta.

Lähestymistavat - toiminnallinen

Ohjelmistojen mallintaminen Luokkakaaviot Harri Laine 1

Dynaaminen analyysi II

Helsingin yliopisto/tktl DO Tietokantojen perusteet, s 2000 Johdanto & yleistä Harri Laine 1. Tietokanta. Tiedosto

UML-MALLINNUSKIELI JA SEN HYÖDYNTÄMINEN OHJELMISTOKEHITYKSESSÄ

Ohjelmistotekniikan menetelmät

Maailma visuaalivalmistajan näkökulmasta

TIEDONHALLINNAN PERUSTEET - SYKSY 2013

.NET ja C# Virtuaalikone. Common Language Infrastructure (CLI) Periaate. Etuja. Haittoja. Mikä on CLI. CLI standardin merkitys (CLS, Ecma)

Ohjelmistotekniikan menetelmät

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

Ohjelmistotuotanto, s

Ohjelmointi 1 / 2009 syksy Tentti / 18.12

Ohjelmistojen mallintaminen

Ohjelmistotuotanto, s /3/2003

TIETOKANNAN SUUNNITTELU

Ylläpito. Ylläpidon lajeja

Ohjelmistojen mallintaminen

19. Unified Modeling Language (UML)

Käyttötapausten mallintaminen

Johdantoluento. Ohjelmien ylläpito

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1

2. Olio-ohjelmoinnin perusteita 2.1

Luento 1 (verkkoluento 1) Ohjelman sijainti Ohjelman esitysmuoto Laitteiston nopeus

Ohjelmistojen mallintaminen, kertausta

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

Ohjelmistojen mallintaminen. Luento 3, 9.11.

Project group Tete Work-time Attendance Software

4. Lausekielinen ohjelmointi 4.1

Malliperustainen ohjelmistokehitys (Model-Driven Engineering, MDE)

Transkriptio:

Ohjelmistojen mallintaminen - Mallit - Ohjelmiston kuvaaminen malleilla 31.10.2008 Harri Laine 1

Malli: abstraktio jostain kohteesta Abstrahointi: asian ilmaiseminen tavalla, joka tuo esiin tietystä näkökulmasta katsottuna oleellisen ja kätkee tarpeettomat yksityiskohdat abstraktio on abstrahoinnin tulos, siis tietystä näkökulmasta katsottuna oleellisia asioita sisältävä kuvaus kohteesta Ohjelmiston malli: abstraktio ohjelmistosta (näkemys, kuvaus) 31.10.2008 Harri Laine 2

Ohjelma itsessään on malli tietojenkäsittelytehtävän suorituksen malli ohjelmointikielen käsittein esitettynä suoritettava malli: ohjelman tulee sisältää kaikki suorituksen kannalta tarpeellinen ohjelmakoodiin (=mallin esitys) voi sisältyä myös suorituksen kannalta tarpeetonta informaatiota, kommentteja kuvaavat (mallintavat) ohjelmaa tai sen suoritusta ja ollakseen hyödyllisiä ovat korkeammalla abstraktiotasolla kuin ohjelmakoodi 31.10.2008 Harri Laine 3

Esim. i=1; // i saa arvon 1 -- hyödytön kommentti, sama abstraktiotaso // muunnetaan eurohinnat dollareiksi for (int i=0; i<euros.length; i++) { dollars[i]= ExchangeRate*euros[i]; } 31.10.2008 Harri Laine 4

Ohjelmakommenttien tarjoamat abstraktiot ohjelmasta eivät perustu mihinkään yhtenäiseen käsitteistöön, vaan ovat ohjelmoijan vapaasti muodostettavissa eritasoisia taso ei mitenkään näy esitetään luonnollisella kielellä, dokumentointijärjestelmä (esim. JavaDoc) voi asettaa jotain syntaktisia ehtoja 31.10.2008 Harri Laine 5

Tietojenkäsittelytieteessä puhutaan usein abstraktiotasoista (levels of abstraction) eri tasoilla on oma kiinnitetty käsitteistönsä, johon kyseisen tason mallit perustuvat sama kohde mallinnetaan kullakin tasolla eri käsittein 'ylempi' taso suhteellisesti abstraktimpi ja 'alempi' konkreettisempi 31.10.2008 Harri Laine 6

Ohjelman mallinnustasoja vaatimukset ohjelmaspesifikaatio lausekielinen ohjelma taso voi jakautua useammaksi alitasoksi esim. konekielitaso virtuaalikone ja todellinen kone -tasoiksi konekielinen ohjelma 31.10.2008 Harri Laine 7

Abstraktiotasoon liittyvä käsitteistö muodostaa perustan tason mukaisen abstraktion muodostamiselle. Käsitteistö on suunnittelun ja ajattelun apuväline Ohjelmat ovat keinotekoisia kuten myös niiden mallinnuksessa käytettävät käsitteet. Uusia käsitejärjestelmiä syntyy jatkuvasti. Ei voida yleisesti osoittaa, että jokin kattava käsitteistö olisi toista parempi - joitain puutteita käsitejärjestelmissä toki on osoitettavissa. 31.10.2008 Harri Laine 8

Ajatellaan ohjelmointikielen rakenteita mallinnuskäsitteistöinä. Ei voida esim. osoittaa, että Javan perustana oleva käsitys ohjelmasta olisi yleisesti parempi kuin esimerkiksi funktionaalisen Haskell kielen tai päinvastoin. Mallit ovat ajattelun väline, mutta myös dokumentoinnin väline. Mallit on siten kyettävä myös esittämään Mallinnuskieli (modeling language) = käsitteistö + esitystapa. 31.10.2008 Harri Laine 9

Mallinnuskieliä on graafisia ja tekstuaalisia, jopa molemmat esitysmuodot tarjoavia. Graafiset esitykset on ensisijaisesti tarkoitettu ihmisille tekstuaaliset ihmisille ja/tai koneille. Ohjelmistosta laaditut mallit vastaavat laitteiden ja rakennusten piirustuksia 31.10.2008 Harri Laine 10

Olioperustaisen ohjelmistonäkemyksen keskeinen mallinnuskieli on graafinen UML (unified modeling language) Hierarkkiseen tiedonmuokkausprosessiin perustuvan ohjelmistonäkemyksen keskeinen mallinnustekniikka on tietovuokaavio (data flow diagram) 31.10.2008 Harri Laine 11

(UML-kaaviot) 31.10.2008 Harri Laine 12

(UML-kaaviot) Kehitetty Rational Software Corp. toimesta 1996 -> OMG:n (Object Management Group) valinta kuvaustekniikaksi, standardointi OMG on olioteknologian kehittämiseen tähtäävä yritysten perustama organisaatio - tuotoksia mm. CORBA-teknologia Useat CASE- välineet (Computer Aided Software Engineering) tukevat UML-tekniikkoja 31.10.2008 Harri Laine 13