Suunnittelu - tietorakenteet

Koko: px
Aloita esitys sivulta:

Download "Suunnittelu - tietorakenteet"

Transkriptio

1 Suunnittelu - tietorakenteet ietorakenteet ovat datan abstraktioita Rakenteella pyritään mahdollistamaan tehokas käsittely (operaatiot) - ei itseisarvoa Rakenteet ohjelmointikielestä riippumattomia Valitaan sovelluksen ja ongelman mukaan Ohjelma = algoritmit + tietorakenteet Abstrakti tietotyyppi = operaatioiden avulla määritelty tietorakenne, jonka tekninen toteutus piiloutuu operaatioiden taakse Yleisesti käytettyjen rakenteiden hyvyyttä ja soveltuvuutta on tarkastetu esim. ietorakenteet ja iedonhallinta I -kursseilla. Suunnittelu - tietorakenteet sisältö analyysivaihessa, tekninen rakenne suunnitteluvaiheessa tietorakenteet vaikuttavat keskeisesti ohjelmiston toimintaan ja tehokkuuteen säätelevät mahdollisuuksia algoritmivalintaan esim tunnuksen perusteella hakemisessa kertaluokkaerot tehokkuudessa eri rakenteilla Harri Laine 1

2 ietorakenteiden suunnitteluperiaatteita (Wasserman) Käytä systemaattisia menetelmiä (esim. normalisointia voi käyttää myös keskusmuistirakenteiden analyysissä redundassin vähentämiseen). Generoi vaihtoehtoja ja arvioi niitä. arkastele tietorakenteiden yhteydessä myös niihin kohdistuvia toimenpiteitä (rakenteen edut ja haitat ilmenevät operaatioiden kautta) Käytä ja pidä yllä tietosanastoa. Käytä asteittaista tarkentamista myös tietorakenteiden määrittelyssä. ietorakenteen esitysmuoto ei saa näkyä muille kuin sitä suoraan käyttäville moduuleille. ietorakenteiden suunnitteluperiaatteita (Wasserman) Kokoa käyttökelpoisista tietorakenteista ja niihin käytettävistä operaatioista kirjasto. Käytä abstrakteja tietotyyppejä suunnittelussa ja toteutuksessa Harri Laine 2

3 Suunnittelu -algoritmit Miten operaatiot toteutetaan? Algoritmeille useita kuvaustekniikkoja, esim: perinteinen kulkukaavio (flow chart) pseudokoodi rakenteinen kulkukaavio (Nassi-Sneidermann) päätöstaulu Perinteinen kulkukaavio toiminta ehto ehdon arvo nuoli kuvaa kontrollin etenemistä Harri Laine 3

4 Kulkukaavio: johtaja urhapuron päivä herää juo kalja nälkä? syö kyljys pukeudu sataa? katsele tv:tä mene töihin ilta? mene nukkumaan pseudokoodi: johtaja urhapuron päivä begin herää; repeat until mene nukkumaan happens: if nälkä then syö kyljys else juo kalja; if sataa then begin katsele tv:ta; if ilta then mene nukkumaan; end else begin pukeudu; mene töihin; mene nukkumaan; end; end; Harri Laine 4

5 rakenteiset kulkukaaviot toiminto 1 toiminto 2 toiminto 3 peräkkäisyys while-ehto toiminto while-silmukka toiminto until -ehto do until -silmukka ehto 1 2 case-lauseke thentoiminto elsetoiminto toiminto 1... if-rakenne case-rakenne rakenteinen kulkukaavio: johtaja urhapuron päivä herää nälkä? juo kalja syö kyljys sataa? pukeudu katsele tv:tä mene töihin mene nukkumaan until nukkumassa ilta? mene nukkumaan Harri Laine 5

6 ehdon arvo säännössä Päätöstaulut säännön tunnus Sääntö n n+1 Ehto i oiminta I oiminta I+1 x x merkintä siitä, että toiminta suoritetaan kun sääntö voimassa Päätöstauluesimerkki ei merkitystä Sääntö Sairaana Sataa Viikonloppu öihin Sänkyyn Kylään V auki x x x x x x kaikki arvoyhdistelmät otettava mukaan (muutoin-vaihtoehtoa voi käyttää) Harri Laine 6

7 Algoritmin valinta Moduulin suunnittelijalla on vapaat kädet laatia algoritmi (annettujen vaatimusten rajoissa) Valmiit algoritmit: ei kannata kehittää uutta algoritmia, jos tarkoitukseen sopiva on jo olemassa Algoritmin soveltuvuus: virheettömyys voimassaoloalue tehokkuus toteutusympäristöstä riippuvat rajoitukset Suorituskyky Suorituskykynäkökohdat on otettava huomioon kaikissa elinkaaren vaiheissa: vaatimusanalyysi: riittävän täsmälliset suorituskykyvaatimukset erityisesti aika-/tilakriittiset järjestelmät arkkitehtuurisuunnittelu: epäonnistunut ratkaisu erityisesti tietorakenteiden ja tiedostojen käytön osalta voi tuhota suorituskyvyn etsittävä suorituskyvyn kannalta kriittiset osat välitettävä vaatimukset moduulisuunnittelulle käytettävä tarvittessa suorituskykymalleja esim. jonoverkot Harri Laine 7

8 moduulisuunnittelu: Suorituskyky algoritmin valinta: aikavaativuus tietorakenteiden suunnittelu: tilan tarve + algoritmien valintamahdollisuudet erityisesti aika-/tilakriittisissä tapauksissa on dokumenttiin sisällytettävä valittujen ratkaisujen aika- / tila- analyysi tila/aika kaupankäynti koodaus & testaus: suorituskykyajattelu - pitää tietää valintojen suorituskykyvaikutukset vain rajoitetut mahdollisuudet virittää suorituskykyä keskityttävä järjestelmän pullonkauloihin säilytettävä järjestelmän ylläpidettävyys Siirrettävyys Ohjelma elää usein kauemmin kuin laitteisto Ohjelmatuotteen markkinointi: tuote on voitava siirtää kohtuukustannuksin Korkean tason ohjelmointikieli: välttämätön, muttei riittävä ehto siirrettävyydelle Siirrettävyyttä voidaan edistää välttämällä epästandardeja piirteitä eristämällä riippuvuudet (portability interface) Harri Laine 8

9 Siirrettävyys Laitteistoarkkitehtuurista riippuvia osia: sananpituus arvojen esitystapa merkkikoodit Käyttöjärjestelmästä riippuvia osia: aliohjelmakirjastot tiedostojärjestelmä pääte (tiedosto vai laite) ohjelmistorakenne rakenneosien suhteellinen tehokkuus Siirrettävyystarve on syytä arvioida etukäteen vaatimusanalyysivaiheessa Suunnitteluvaiheen työskentely Lähtökohtana vaatimusvaiheessa tuotettu esitys järjestelmältä edellytettävistä ominaisuuksista: kaaviot (tietovuo-, tilasiirtymä-, tietorakenne-,...) toimintoluettelot ja -kuvaukset tietosanasto arkennetaan esitystä asteittain käyttäen valittua kuvaustapaa. Pidetään yllä tietosanastoa: jokainen uusi termi sanastoon johdonmukaiset merkintätavat Harri Laine 9

10 Suunnitteluvaiheen työskentely Loppuun asti tarkennetun toimintoja kuvaavan kaavion perusteella muodostetaan ohjelmiston rakennekaavio. Moduulisuunnittelun alkaessa kokonaisuus jakautuu: sitä ennen sovittava työnjako (kuka tekee minkin moduulin suunnitelmat) moduulikuvauksissa käytettävät standardit yönjako: projektipäällikkö: tietää vähän kaikesta ryhmän jäsen: tietää paljon osasta kokoukset: koordinointitilaisuuksia vastuualueet kirjataan (myös dokumenttiin) Suunnitteludokumentti Suunnitteludokumentti on toteutuksen (koodauksen) perusta testisuunnitelmien teon perusta manuaalin tarkennus Asteittainen suunnittelu dokumentti syntyy asteittain tarkentaen: Harri Laine 10

11 Suunnitteludokumentti 1. Arkkitehtuurisuunnittelun aikana tuotetaan dokumentin yleisrakenne järjestelmän rakenteen kuvaus (moduulijako) moduulien välisten liittymien kuvaus yhteisten tietorakenteiden kuvaus moduulien yleiskuvaukset järjestelmätestauksen suunnitelma 2. Moduulisuunnittelun aikana täydennetään moduulikuvauksia: algoritmit paikalliset tietorakenteet testaussuunnitelmaa Suunnitteludokumentti Suunnitteludokumentti kirjoitetaan toteuttajaa ja ylläpitäjää varten: täsmällisyys terminologia hakemistot, ristiinviittaukset ym kytkennät Harri Laine 11

12 Suunnitteludokumentin rakenne 1. Johdanto 1.1 uotteen tausta ja tarkoitus 1.2 Mahdollinen erikoissanasto käytetyt lyhenteet 1.3. Yleiskatsaus dokumenttiin 2.Järjestelmän yleiskuvaus 2.1. Sovellusalue 2.2. Koko järjestelmä ja ohjelmiston rooli siinä 3. Vaatimusmäärittely ja siihen tehdyt muutokset viite vaatimusdokumenttiin luettelo projektin aikana muuttuneista dokumentin luvuista 3.1. Rajaukset 3.2. äydennykset Suunnitteludokumentin rakenne 4. Arkkitehtuurin kuvaus 4.1. Ratkaisun "filosofia" ja ohjelmiston toimintaperiaate 4.2. Moduulit ja niiden väliset suhteet 4.3. ietokanta-arkkitehtuuri 4.4. Moduulikuvaukset (esim. UML-menetelmällä) Moduuli Yleiskuvaus ietorakenteet (attribuutit) oiminnot (operaatiot) Erityiset tekniset suunnitteluratkaisut» olioperustaiset suunnittelumallit Virhetilanteiden käsittely Ratkaisuvaihtoehtoja (miksi hylättiin?) Ratkaisun rajoitukset x. Moduuli 2 - Moduuli x Harri Laine 12

13 Suunnitteludokumentin rakenne 5. Käyttöliittymä (ellei ole jo vaatimusdokumentissa kuvattuna) mahdollisen prototyypin kuvaus kuvaus tyypillisistä käyttöskenaarioista kuvia hahmotellusta käyttöliittymästä (prototyypistä saatuina tai piirrettyinä) 6. Rajoitteet toteutukselle 6.1. Noudatettavat standardit 6.2. Ohjelmointikielet, käyttöjärjestelmät, 6.3. Muut tarvittavat apuohjelmat 6.4. Arvio toteutuksen koosta (esim. koodirivien määrä) 6.5. Ohjelmointityyli (nimeämiskäytännöt, kommentointi, rajapinnat,...) Suunnitteludokumentin rakenne Lähdeluettelo Liitteet (esim.) kaavioissa käytettyjen symbolien kuvaus ohjelmiston sisäisten (komento)kielten syntaksi esimerkkejä ohjelmiston sisäisistä tietorakenteista Harri Laine 13

14 Suunnittelumenetelmät Kaikkien menetelmien päämääränä on kokonaisuuden jäsentäminen (decomposition); jäsennysperusteena voi olla toiminnot tiedon rakenne oliot (tieto-objektit) Kaikki menetelmät sisältävät menettelyohjeet seuraavien tehtävien ratkaisemiseksi: miten tietotarpeiden kuvaus muokataan ohjelmistosuunnitelmaksi miten toimintokomponentit ja niiden väliset liittymät esitetään miten tehtyjä suunnitelmia tarkennetaan ja ositetaan miten valvotaan suunniteltavan ohjelmatuotteen (ja suunnitteluprosessin) laatua Suunnittelumenetelmät Suunnittelumenetelmän valintaan vaikuttaa usein vaatimusanalyysissa käytetty menetelmä: mikä on sovelluksen keskeinen ongelmakenttä? millainen on luonnollinen tapa lähestyä tehtävää? Harri Laine 14

15 oimintopohjaiset menetelmät Lähtökohtana toimintopohjainen vaatimusanalyysi: tietovuokaaviot toimintojen hierarkkinen jäsentäminen Suunnitteluvaiheessa jäsennetään ratkaisu samalta pohjalta strukturoitu suunnittelu ylhäältä alaspäin (top-down) (Constantine, Yourdon, Myers) oimintopohjaiset menetelmät Suunnittelun välineitä: arkkitehtuurisuunnittelu: tietovuokaaviot rakennekaaviot tila-automaatit (erityisesti tosiaikaiset järjestelmät) tietorakenteiden suunnittelu: tietosanasto moduulisuunnittelu: Nassi-Shneiderman-kartat päätöstaulut pseudokieli Harri Laine 15

16 oimintopohjaiset menetelmät Ohjelmiston rakenteen muodostaminen vaatimusmäärittelyn perusteella? tarkennetaan tietovuokaaviota, kunnes kaikki kaavion solmut perustoimintoja kukin tietovuokaavion solmu tulee vastaamaan rakennekaavion ensimmäisen version moduulia rakennekaaviota parannetaan: kiinteys, kytkentä, moduulien itsenäisyys,... oimintopohjaiset menetelmät oiminnan luonne - kaksi päätyyppiä: muunnosjärjestelmä (transform flow): tieto muunnetaan syöttötiedosta tulostiedoksi osat : syöttötietojen käsittely, muunnos ja tulosteiden muodostus Harri Laine 16

17 oimintopohjaiset menetelmät tapahtumankäsittelyjärjestelmä (transaction flow): tiedon käsittelyn ydin on tapahtumakeskus, josta käsittely jakautuu moneksi erilliseksi toimintopoluksi osat: syöttötietojen vastaanotto, tapahtumakeskus ja joukko toimintopolkuja Muunnos tietovuokaaviosta ohjelmarakenteeksi Erotetaan vuokaavion pääosat: syöttö - muunnoskeskus - toiminta/tulos Muodostetaan näistä pääosista ylimmän tason rakennekaavio: muunnosjärjestelmä: rakennekaavion juureksi valvontasolmu, sen kolmeksi alipuuksi: syöttö, muunnos ja tulostus tapahtumankäsittelyjärjestelmä: rakennekaavion juureksi tapahtumakeskus, sen toiseksi alipuuksi syötteidenvastaanotto ja toiseksi alipuuksi valvontasolmu, jonka alipuina ovat toimenpidepolut arkennetaan kutakin alipuuta,kunnes kaikki vuokaavion solmut on sijoitettu Harri Laine 17

18 Muunnos tietovuokaaviosta ohjelmarakenteeksi valvonta syöttö muunnos tulostus Muunnos tietovuokaaviosta ohjelmarakenteeksi 1 2 tapahtumakeskus syöttö valvonta toim 1 toim 2 Harri Laine 18

Suunnitteluvaihe prosessissa

Suunnitteluvaihe prosessissa Suunnittelu Suunnitteluvaihe prosessissa Silta analyysin ja toteutuksen välillä (raja usein hämärä kumpaankin suuntaan) Asteittain tarkentuva Analyysi -Korkea abstraktiotaso -Sovellusläheiset käsitteet

Lisätiedot

OSAII: Käytännön rutiinit. Ohjelmiston suunnittelu

OSAII: Käytännön rutiinit. Ohjelmiston suunnittelu OSAII: Käytännön rutiinit Projektin hallinta Ohjelmiston vaatimusten määrittely Ohjelmiston suunnittelu Ohjelmointi Testaus ja laadunvarmistus Ylläpito Ohjelmiston suunnittelu Ohjelmiston suunnittelun

Lisätiedot

TOIMINNALLINEN MÄÄRITTELY MS

TOIMINNALLINEN MÄÄRITTELY MS TOIMINNALLINEN MÄÄRITTELY 11.11.2015 MS YLEISTÄ 1/2 jäsennelty etenee yleiskuvauksesta yksityiskohtiin kieliasultaan selkeä kuvaa myös tulevan järjestelmän ympäristöä tarpeellisella tarkkuudella kuvaa

Lisätiedot

Ohjelmiston toteutussuunnitelma

Ohjelmiston toteutussuunnitelma Ohjelmiston toteutussuunnitelma Ryhmän nimi: Tekijä: Toimeksiantaja: Toimeksiantajan edustaja: Muutospäivämäärä: Versio: Katselmoitu (pvm.): 1 1 Johdanto Tämä luku antaa yleiskuvan koko suunnitteludokumentista,

Lisätiedot

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Tekninen määrittely: Editori Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Sisällysluettelo 1. Johdanto...4 1.1. Tarkoitus ja kattavuus...4 1.2. Tuote ja ympäristö...4 1.3. Määritelmät,

Lisätiedot

Ohjelmistojen suunnittelu

Ohjelmistojen suunnittelu Ohjelmistojen suunnittelu 581259 Ohjelmistotuotanto 154 Ohjelmistojen suunnittelu Software design is a creative activity in which you identify software components and their relationships, based on a customer

Lisätiedot

Tietojärjestelmän osat

Tietojärjestelmän osat Analyysi Yleistä analyysistä Mitä ohjelmiston on tehtävä? Analyysin ja suunnittelun raja on usein hämärä Ei-tekninen näkökulma asiakkaalle näkyvien pääkomponenttien tasolla Tietojärjestelmän osat Laitteisto

Lisätiedot

Yhteenveto. Menettelytavat

Yhteenveto. Menettelytavat Yhteenveto Ohjelmistotuotanto: Luotettavien ja tehokkaiden ohjelmistojärjestelmien tuottamista noudattaen hyviksi havaittuja menettelytapoja. Menettelytavat Prosessimalli (vesiputous/spiraali/kasvattava)

Lisätiedot

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit Ohjelmiston testaus ja laatu Ohjelmistotekniikka elinkaarimallit Vesiputousmalli - 1 Esitutkimus Määrittely mikä on ongelma, onko valmista ratkaisua, kustannukset, reunaehdot millainen järjestelmä täyttää

Lisätiedot

Ohjelmiston suunnittelu

Ohjelmiston suunnittelu Ohjelmiston suunnittelu Sunnittelu: asiakaslähtöisten vaatimusten muuntaminen teknisiä mahdollisuuksia tehokkaasti hyödyntäväksi ratkaisuksi luova prosessi Pääkohteet: ohjelmiston yleisrakenne ja toimintaperiaatteet

Lisätiedot

Ohjelmistotuotanto, s

Ohjelmistotuotanto, s Toiminnan osiinjako Ohjelmistotuotanto Systeemiteoreettinen lähestymistapa INPUT PROCESS OUTPUT Vaatimusanalyysin menetelmiä systeemi on prosessi, joka saa syötteitä ja tuottaa tuloksia systeemi voidaa

Lisätiedot

Lähestymistavat - toiminnallinen

Lähestymistavat - toiminnallinen Lähestymistavat - toiminnallinen Systeemiteoreettinen lähestymistapa INPUT PROCESS OUTPUT systeemi on prosessi, joka saa syötteitä ja tuottaa tuloksia systeemi voidaa jakaa osasysteemeihin tietojärjestelmissä

Lisätiedot

Ohjelmistojen mallintaminen Tietovuokaaviot Harri Laine 1

Ohjelmistojen mallintaminen Tietovuokaaviot Harri Laine 1 Ohjelmistojen mallintaminen Tietovuokaaviot 3.11.2008 Harri Laine 1 t Data flow diagrams Pohjana systeemiteoreettinen järjestelmämalli Input system output Järjestelmän tehtävä on muokata lähtötiedoista

Lisätiedot

Ohjelmistojen mallintaminen kertausta Harri Laine 1

Ohjelmistojen mallintaminen kertausta Harri Laine 1 kertausta 5.12.2008 Harri Laine 1 Ohjelmiston elinkaari, elinkaarimallit Yleinen puitemalli (reference model) - abstrakti kokonaiskuva ei etenemiskontrollia, ei yksityiskohtia Ohjelmistoprosessimallit

Lisätiedot

Ohjelmien analysointi. ER-kaaviot

Ohjelmien analysointi. ER-kaaviot Ohjelmien analysointi Ohjelmien kuvaaminen kaavioilla ohjelmien ymmärtäminen kaavioiden avulla kaavioiden tuottaminen ohjelmasta Erilaisia kaaviotyyppejä: ER-kaaviot, tilakaaviot, UML-kaaviot tietohakemisto

Lisätiedot

Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen

Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari 1 1. JOHDANTO 1.1 Määritelmiä 1.2 Tietorakenteen ja algoritmin valinta 1.3 Algoritmit ja tiedon määrä 1.4 Tietorakenteet ja toiminnot 1.5 Esimerkki:

Lisätiedot

Johnson, A Theoretician's Guide to the Experimental Analysis of Algorithms.

Johnson, A Theoretician's Guide to the Experimental Analysis of Algorithms. Kokeellinen algoritmiikka (3 ov) syventäviä opintoja edeltävät opinnot: ainakin Tietorakenteet hyödyllisiä opintoja: ASA, Algoritmiohjelmointi suoritus harjoitustyöllä (ei tenttiä) Kirjallisuutta: Johnson,

Lisätiedot

Algoritmit 1. Luento 1 Ti Timo Männikkö

Algoritmit 1. Luento 1 Ti Timo Männikkö Algoritmit 1 Luento 1 Ti 10.1.2017 Timo Männikkö Luento 1 Algoritmi Algoritmin toteutus Ongelman ratkaiseminen Algoritmin tehokkuus Algoritmin suoritusaika Algoritmin analysointi Algoritmit 1 Kevät 2017

Lisätiedot

811120P Diskreetit rakenteet

811120P Diskreetit rakenteet 811120P Diskreetit rakenteet 2016-2017 1. Algoritmeista 1.1 Algoritmin käsite Algoritmi keskeinen laskennassa Määrittelee prosessin, joka suorittaa annetun tehtävän Esimerkiksi Nimien järjestäminen aakkosjärjestykseen

Lisätiedot

Algoritmit 2. Luento 2 Ke Timo Männikkö

Algoritmit 2. Luento 2 Ke Timo Männikkö Algoritmit 2 Luento 2 Ke 15.3.2017 Timo Männikkö Luento 2 Tietorakenteet Lineaarinen lista, binääripuu Prioriteettijono Kekorakenne Keko-operaatiot Keon toteutus taulukolla Algoritmit 2 Kevät 2017 Luento

Lisätiedot

Tietorakenteet ja algoritmit - syksy 2015 1

Tietorakenteet ja algoritmit - syksy 2015 1 Tietorakenteet ja algoritmit - syksy 2015 1 Tietorakenteet ja algoritmit - syksy 2015 2 Tietorakenteet ja algoritmit Johdanto Ari Korhonen Tietorakenteet ja algoritmit - syksy 2015 1. JOHDANTO 1.1 Määritelmiä

Lisätiedot

Algoritmit 1. Luento 10 Ke Timo Männikkö

Algoritmit 1. Luento 10 Ke Timo Männikkö Algoritmit 1 Luento 10 Ke 14.2.2018 Timo Männikkö Luento 10 Algoritminen ongelmanratkaisu Suunnittelumenetelmät Raaka voima Järjestäminen eli lajittelu Kuplalajittelu Lisäyslajittelu Valintalajittelu Permutaatiot

Lisätiedot

Algoritmit 2. Luento 2 To Timo Männikkö

Algoritmit 2. Luento 2 To Timo Männikkö Algoritmit 2 Luento 2 To 14.3.2019 Timo Männikkö Luento 2 Tietorakenteet Lineaarinen lista, binääripuu Prioriteettijono Kekorakenne Keko-operaatiot Keon toteutus taulukolla Algoritmit 2 Kevät 2019 Luento

Lisätiedot

Testaus käsite. Sekalaista testausasiaa. Testauksen käsitteestä. Kattavuusmitat. Jos ajatellaan, että testaus = V&V, voidaan erottaa:

Testaus käsite. Sekalaista testausasiaa. Testauksen käsitteestä. Kattavuusmitat. Jos ajatellaan, että testaus = V&V, voidaan erottaa: Testaus käsite Sekalaista asiaa Sami Kollanus 15.11.2006 Jos ajatellaan, että = V&V, voidaan erottaa: Staattinen Dynaaminen Toisaalta voidaan määritellä Myersin (1979) mukaan: Testaus on ohjelman suoritusta,

Lisätiedot

811120P Diskreetit rakenteet

811120P Diskreetit rakenteet 811120P Diskreetit rakenteet 2018-2019 1. Algoritmeista 1.1 Algoritmin käsite Algoritmi keskeinen laskennassa Määrittelee prosessin, joka suorittaa annetun tehtävän Esimerkiksi Nimien järjestäminen aakkosjärjestykseen

Lisätiedot

Työkalujen yleinen arkkitehtuuri. Ylläpitoon liittyvät työkalut. Ylläpitotehtävien mukaiset työkalut. Työkalujen jaotteluperusteita

Työkalujen yleinen arkkitehtuuri. Ylläpitoon liittyvät työkalut. Ylläpitotehtävien mukaiset työkalut. Työkalujen jaotteluperusteita Ylläpitoon liittyvät työkalut Käyttötarkoituksia ohjelman ymmärtäminen visualisointi etsintä dokumentointi muutosten hallinta koodin muotoilu (pretty printer) erikoistuneet editorit metriikkoihin liittyvät

Lisätiedot

Ohjelmistojen mallintaminen, mallintaminen ja UML

Ohjelmistojen mallintaminen, mallintaminen ja UML 582104 Ohjelmistojen mallintaminen, mallintaminen ja UML 1 Mallintaminen ja UML Ohjelmistojen mallintamisesta ja kuvaamisesta Oliomallinnus ja UML Käyttötapauskaaviot Luokkakaaviot Sekvenssikaaviot 2 Yleisesti

Lisätiedot

Ohjelmistotuotanto, s

Ohjelmistotuotanto, s Ohjelmistotuotanto : asiakaslähtöisten vaatimusten muuntaminen teknisiä mahdollisuuksia tehokkaasti hyödyntäväksi ratkaisuksi luova prosessi Pääkohteet: ohjelmiston yleisrakenne ja toimintaperiaatteet

Lisätiedot

Tietokannan rakenteen suunnittelu

Tietokannan rakenteen suunnittelu HAAGA-HELIA Heti-09 1 (12) ICT05 Tiedonhallinta ja tietokkanat Tietokannan rakenteen suunnittelu Tietokannan suunnitteluprosessi... 2 Lähtökohdat... 3 Looginen mallintaminen... 4 Muunnos luokkakaaviosta

Lisätiedot

Ohjelmistojen mallintaminen

Ohjelmistojen mallintaminen 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

Lisätiedot

13/20: Kierrätys kannattaa koodaamisessakin

13/20: Kierrätys kannattaa koodaamisessakin Ohjelmointi 1 / syksy 2007 13/20: Kierrätys kannattaa koodaamisessakin Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy

Lisätiedot

Johdatus rakenteisiin dokumentteihin

Johdatus rakenteisiin dokumentteihin -RKGDWXVUDNHQWHLVLLQGRNXPHQWWHLKLQ 5DNHQWHLQHQGRNXPHQWWL= rakenteellinen dokumentti dokumentti, jossa erotetaan toisistaan dokumentin 1)VLVlOW, 2) UDNHQQHja 3) XONRDVX(tai esitystapa) jotakin systemaattista

Lisätiedot

SÄHKÖISEN LIIKETOIMINNAN AMMATILLISET ERIKOISTUMIS- OPINNOT (30 op) 30.9.2010 31.5.2011

SÄHKÖISEN LIIKETOIMINNAN AMMATILLISET ERIKOISTUMIS- OPINNOT (30 op) 30.9.2010 31.5.2011 1 SÄHKÖISEN LIIKETOIMINNAN AMMATILLISET ERIKOISTUMIS- OPINNOT (30 op) 30.9.2010 31.5.2011 Sähköinen liiketoiminta on tieto- ja viestintätekniikan hyödyntämistä yrityksen liiketoiminnassa ja liiketoimintaprosesseissa.

Lisätiedot

Ohjelmistojen mallintaminen Olioiden yhteistyö. 18.11.2008 Harri Laine 1

Ohjelmistojen mallintaminen Olioiden yhteistyö. 18.11.2008 Harri Laine 1 Ohjelmistojen mallintaminen Olioiden yhteistyö 18.11.2008 Harri Laine 1 Olioiden yhteistyö Oliokeskeisen ohjelmistonäkemyksen mukaan ohjelmiston palvelut tuotetaan olioiden yhteistyön tuloksena. Ohjelmisto

Lisätiedot

Sisällys. 18. Abstraktit tietotyypit. Johdanto. Johdanto

Sisällys. 18. Abstraktit tietotyypit. Johdanto. Johdanto Sisällys 18. bstraktit tietotyypit Johdanto abstrakteihin tietotyyppeihin. Pino ja jono. Linkitetty lista. Pino linkitetyllä listalla toteutettuna. 18.1 18.2 Johdanto Javan omat tietotyypit ovat jo tuttuja:

Lisätiedot

TIE Tietorakenteet ja algoritmit 1. TIE Tietorakenteet ja algoritmit

TIE Tietorakenteet ja algoritmit 1. TIE Tietorakenteet ja algoritmit TIE-20100 Tietorakenteet ja algoritmit 1 TIE-20100 Tietorakenteet ja algoritmit TIE-20100 Tietorakenteet ja algoritmit 2 Lähteet Luentomoniste pohjautuu vahvasti prof. Antti Valmarin vanhaan luentomonisteeseen

Lisätiedot

Kontrollipolkujen määrä

Kontrollipolkujen määrä Testaus Yleistä Testaus on suunnitelmallista virheiden etsimistä Tuotantoprosessissa ohjelmaan jää aina virheitä, käytettävistä menetelmistä huolimatta Hyvät menetelmät, kuten katselmoinnit pienentävät

Lisätiedot

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Vaatimusmäärittely Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Versio Päiväys Tekijä Kuvaus 0.1 12.10.01 Pekka Koskinen Ensimmäinen luonnos 0.2 17.10.01 Pekka Koskinen Lisätty vaatimuksia

Lisätiedot

Uudelleenkäytön jako kahteen

Uudelleenkäytön jako kahteen Uudelleenkäyttö Yleistä On pyritty pääsemään vakiokomponenttien käyttöön Kuitenkin vakiokomponentit yleistyneet vain rajallisilla osa-alueilla (esim. windows-käyttöliittymä) On arvioitu, että 60-80% ohjelmistosta

Lisätiedot

Toteutussuunnitelma. Luennon tavoitteista. Motivointia. Pressman, Software Engineering

Toteutussuunnitelma. Luennon tavoitteista. Motivointia. Pressman, Software Engineering Toteutussuunnitelma Luennon tavoitteista Luennon sisällöstä Motivointia Lähteinä: Pressman, Software Engineering 1 Tavoitteista Luentojen jälkeen opiskelijan tulisi osata: 2 Sisällöstä Tavoitekalvon asioita.

Lisätiedot

Imperatiivisen ohjelmoinnin peruskäsitteet. Meidän käyttämän pseudokielen lauseiden syntaksi

Imperatiivisen ohjelmoinnin peruskäsitteet. Meidän käyttämän pseudokielen lauseiden syntaksi Imperatiivisen ohjelmoinnin peruskäsitteet muuttuja muuttujissa oleva data voi olla yksinkertaista eli primitiivistä (esim. luvut ja merkit) tai rakenteista jolloin puhutaan tietorakenteista. puhuttaessa

Lisätiedot

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

Uutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3 Uutisjärjestelmä Vaatimusmäärittely Versio 1.3 Sisällys 1 Muutoshistoria... 4 2 Viitteet... 4 3 Sanasto... 4 3.1 Lyhenteet... 4 3.2 Määritelmät... 4 4 Johdanto...5 4.1 Järjestelmän yleiskuvaus... 5 4.2

Lisätiedot

Copyright by Haikala. Ohjelmistotuotannon osa-alueet

Copyright by Haikala. Ohjelmistotuotannon osa-alueet Copyright by Haikala Ohjelmistotuotannon osa-alueet Ohjelmiston elinkaari 1. Esitutkimus, tarvekartoitus, kokonaissuunnittelu, järjestelmäsuunnittelu (feasibility study, requirement study, preliminary

Lisätiedot

Sisäinen auditointi osa Oamkin ympäristöohjelmatyötä 11.05.2009

Sisäinen auditointi osa Oamkin ympäristöohjelmatyötä 11.05.2009 Sisäinen auditointi osa Oamkin ympäristöohjelmatyötä 11.05.2009 2. Päivä Sisäinen auditointi Luovassa (1.6.09) Etätehtävien purku Auditoinnin suunnittelu ja menetelmät Poikkeamat Auditoinnin raportointi

Lisätiedot

Ohjelmistojen mallinnus (OMa) - Johdatus ohjelmistotuotantoon Harri Laine 1

Ohjelmistojen mallinnus (OMa) - Johdatus ohjelmistotuotantoon Harri Laine 1 Ohjelmistojen mallinnus (OMa) - Johdatus ohjelmistotuotantoon 31.10.2008 Harri Laine 1 Ohjelmisto Tietokoneohjelma (computer program) toimintaohje, jonka mukaan toimien tietokone suorittaa jonkin tietojenkäsittelytehtävän

Lisätiedot

Seuranta ja raportointi KA2-hankkeessa. CIMO, Helsinki 17.9.2015. Esityksen sisältö. 1. Hankkeen sisäinen seuranta ja raportointi

Seuranta ja raportointi KA2-hankkeessa. CIMO, Helsinki 17.9.2015. Esityksen sisältö. 1. Hankkeen sisäinen seuranta ja raportointi Seuranta ja raportointi KA2-hankkeessa CIMO, Helsinki 17.9.2015 Esityksen sisältö 1. Hankkeen sisäinen seuranta ja raportointi 2. Raportointi kansalliselle toimistolle & hankkeiden monitorointi a) Väliraportti

Lisätiedot

Miten käydä läpi puun alkiot (traversal)?

Miten käydä läpi puun alkiot (traversal)? inääripuut ieman lisää aidon binääripuun ominaisuuksia lehtisolmuja on yksi enemmän kuin sisäsolmuja inääripuut tasolla d on korkeintaan 2 d solmua pätee myös epäaidolle binääripuulle taso 0: 2 0 = 1 solmu

Lisätiedot

UML- mallinnus: Tilakaavio

UML- mallinnus: Tilakaavio UML- mallinnus: Tilakaavio Karkea kuvaus UML- kaavioiden käytöstä ohjelmistonkehityksen eri vaiheissa ja tehtävissä. Mallinnus tilakaavioilla Tilakaaviolla kuvataan yhden luokan olioiden tilan muuttumista

Lisätiedot

A215 Tietorakenteet. Tietojenkäsittelytieteiden laitos Tampereen yliopisto. Periodit I-II, syksy 2007

A215 Tietorakenteet. Tietojenkäsittelytieteiden laitos Tampereen yliopisto. Periodit I-II, syksy 2007 Kurssiesittely Tietojenkäsittelytieteiden laitos Tampereen yliopisto A215 Tietorakenteet Periodit I-II, syksy 2007 Luennot/vastuuhenkilö: Heikki Hyyrö Sähköposti: heikki.hyyro@cs.uta.fi Kurssin kotisivu:

Lisätiedot

Lisää segmenttipuusta

Lisää segmenttipuusta Luku 24 Lisää segmenttipuusta Segmenttipuu on monipuolinen tietorakenne, joka mahdollistaa monenlaisten kyselyiden toteuttamisen tehokkaasti. Tähän mennessä olemme käyttäneet kuitenkin segmenttipuuta melko

Lisätiedot

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä www.niksula.cs.hut.fi/~jjkankaa// Demosovelluksen tekninen määrittely v. 0.6 Päivitetty 11.12.2000 klo 20:26 Mickey Shroff 2 (12) Dokumentin versiohistoria Versio Päivämäärä Tekijä / muutoksen tekijä Selite

Lisätiedot

Algoritmit 1. Luento 10 Ke 11.2.2015. Timo Männikkö

Algoritmit 1. Luento 10 Ke 11.2.2015. Timo Männikkö Algoritmit 1 Luento 10 Ke 11.2.2015 Timo Männikkö Luento 10 Algoritminen ongelman ratkaisu Suunnittelumenetelmät Raaka voima Järjestäminen eli lajittelu Kuplalajittelu Väliinsijoituslajittelu Valintalajittelu

Lisätiedot

Paikkatietojen tietotuotemäärittely

Paikkatietojen tietotuotemäärittely Paikkatietojen tietotuotemäärittely Esityksen sisältö: Mikä on paikkatietotuote? Mikä on paikkatietotuoteseloste? Kuka paikkatietotuotteita määrittelee? Mikä on paikkatietotuoteselosteen sisältö? Mitä

Lisätiedot

Ohjelmistotuotanto, s2001 2/10/2003

Ohjelmistotuotanto, s2001 2/10/2003 Ohjelmistotuotanto Ohjelmistosuunnittelu 1 : asiakaslähtöisten vaatimusten muuntaminen teknisiä mahdollisuuksia tehokkaasti hyödyntäväksi ratkaisuksi luova, asiantuntemusta vaativa prosessi Pääkohteet:

Lisätiedot

OHJ-1151 Ohjelmointi IIe

OHJ-1151 Ohjelmointi IIe Tampereen teknillinen yliopisto Ohjelmistotekniikan laitos OHJ-1151 Ohjelmointi IIe Harjoitustyö Tomaattisota Välipalautus / Loppudokumentaatio Assistentin nimi Välipalautusaika (päivä ja kellonaika) ja

Lisätiedot

1 Puu, Keko ja Prioriteettijono

1 Puu, Keko ja Prioriteettijono TIE-20100 Tietorakenteet ja algoritmit 1 1 Puu, Keko ja Prioriteettijono Tässä luvussa käsitellään algoritmien suunnitteluperiaatetta muunna ja hallitse (transform and conquer) Lisäksi esitellään binääripuun

Lisätiedot

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

Ohjelmistotuotanto vs. muut insinööritieteet. (Usein näennäinen) luotettavuus ja edullisuus Yhteenveto Ohjelmistotuotanto vs. muut insinööritieteet Monimutkaisuus Näkymättömyys (Usein näennäinen) luotettavuus ja edullisuus Muunnettavuus Epäjatkuvuus virhetilanteissa Skaalautumattomuus Copyright

Lisätiedot

TEKNINEN MÄÄRITTELY. PROJEKTITYÖ Tik-76.115 Wclique

TEKNINEN MÄÄRITTELY. PROJEKTITYÖ Tik-76.115 Wclique TEKNINEN MÄÄRITTELY PROJEKTITYÖ Tik-76.115 SISÄLLYSLUETTELO Sisällysluettelo... 2 Versiohistoria... 2 1. JOHDANTO... 3 1.1 Tarkoitus ja kattavuus... 3 1.2 Tuote ja ympäristö... 3 1.3 Määritelmät, merkintätavat

Lisätiedot

ohjelman arkkitehtuurista.

ohjelman arkkitehtuurista. 1 Legacy-järjestelmällä tarkoitetaan (mahdollisesti) vanhaa, olemassa olevaa ja käyttökelpoista ohjelmistoa, joka on toteutettu käyttäen vanhoja menetelmiä ja/tai ohjelmointikieliä, joiden tuntemus yrityksessä

Lisätiedot

Paikkatietojen tietotuotemäärittely

Paikkatietojen tietotuotemäärittely Paikkatietojen tietotuotemäärittely Esityksen sisältö: Mikä on paikkatietotietotuote? Mikä on paikkatietotuotemäärittely? Kuka paikkatietotuotteita määrittelee? Mikä on paikkatietotuotemäärittelyn sisältö?

Lisätiedot

A B C LAATUKÄSIKIRJA. Yrityksen laatupolitiikka

A B C LAATUKÄSIKIRJA. Yrityksen laatupolitiikka A100 A1 2/5 1. L A AT U K Ä S I K I R J A 1. 1 L a a t u k ä s i k i r j a n t a r k o i t u s Laatukäsikirjan pohjana on halu kehittää ja tehostaa toimintoja määrittelemällä suunnitteluvaiheen toimintatavat

Lisätiedot

Algoritmi on periaatteellisella tasolla seuraava:

Algoritmi on periaatteellisella tasolla seuraava: Algoritmi on periaatteellisella tasolla seuraava: Dijkstra(V, E, l, v 0 ): S := { v 0 } D[v 0 ] := 0 for v V S do D[v] := l(v 0, v) end for while S V do valitse v V S jolle D[v] on minimaalinen S := S

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2009 1 / 28 Puhelinluettelo, koodi def lue_puhelinnumerot(): print "Anna lisattavat nimet ja numerot." print

Lisätiedot

Windows Live SkyDrive - esittely

Windows Live SkyDrive - esittely Windows Live SkyDrive - esittely Microsoftin SkyDrive on pilvipohjainen tiedostojen säilytys- ja jakopalvelu. SkyDrive tarjoaa 25 Gb ilmaista säilytystilaa tiedostoille ja valokuville. Voit käyttää SkyDriven

Lisätiedot

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi Tarkentaa ja jäsentää vaatimusmäärittelyä, vastaa kysymykseen MITÄ järjestelmän tulisi tehdä. Suoritetaan seuraavia

Lisätiedot

Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta.

Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta. Malli-näkym kymä-ohjain arkkitehtuurit (Model-View View-Controller, MVC) Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta. Lähtökohdat: Sovelluksen

Lisätiedot

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Toiminnallinen määrittely: Editori Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Versio Päiväys Tekijä Kuvaus 0.01 7.11.01 Pekka Koskinen Alustava sisällysluettelo 0.1 12.11.01 Pekka

Lisätiedot

Ohjelmointitekniikka lyhyesti Survival Kit 1 Evtek KA ELINKAARIMALLEISTA

Ohjelmointitekniikka lyhyesti Survival Kit 1 Evtek KA ELINKAARIMALLEISTA Ohjelmointitekniikka lyhyesti Survival Kit. Vesiputousmalli ELINKAARIMALLEISTA. Ohjelmiston elinkaari Ohjelmiston elinkaarella (life cycle) tarkoitetaan aikaa, joka kuluu ohjelmiston kehittämisen aloittamisesta

Lisätiedot

18. Abstraktit tietotyypit 18.1

18. Abstraktit tietotyypit 18.1 18. Abstraktit tietotyypit 18.1 Sisällys Johdanto abstrakteihin tietotyyppeihin. Pino ja jono. Linkitetty lista. Pino linkitetyllä listalla toteutettuna. 18.2 Johdanto Javan omat tietotyypit ovat jo tuttuja:

Lisätiedot

Tietojärjestelmä tuotantoympäristössä. Sovellusohjelmat Helsingin ammattikorkeakoulu Stadia / Tekniikka ja liikenne Vesa Ollikainen

Tietojärjestelmä tuotantoympäristössä. Sovellusohjelmat Helsingin ammattikorkeakoulu Stadia / Tekniikka ja liikenne Vesa Ollikainen Tietojärjestelmä tuotantoympäristössä Tausta ja tavoitteet Tausta Kurssilla on opiskeltu suunnittelemaan ja toteuttamaan tietokanta, joka on pieni perustuu selkeisiin vaatimuksiin on (yleensä) yhden samanaikaisen

Lisätiedot

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

Helsingin yliopisto/tktl DO Tietokantojen perusteet, s 2000 Johdanto & yleistä Harri Laine 1. Tietokanta. Tiedosto Tietokanta Tiedosto Tietokanta (database) jotakin käyttötarkoitusta varten laadittu kokoelma toisiinsa liittyviä säilytettäviä tietoja Ohjelmointikielissä apumuistiin tallennettuja tietoja käsitellään

Lisätiedot

1. Olio-ohjelmointi 1.1

1. Olio-ohjelmointi 1.1 1. Olio-ohjelmointi 1.1 Sisällys Olio-ohjelmointi on eräs ohjelmointiparadigma. Olio-ohjelmoinnin muotoja. Ohjelmiston analyysi ja suunnittelu. Olioparadigman etuja ja kritiikkiä. 1.2 Ohjelmointiparadigmoja

Lisätiedot

TEKNINEN MÄÄRITTELY. PROJEKTITYÖ Tik-76.115 Wclique

TEKNINEN MÄÄRITTELY. PROJEKTITYÖ Tik-76.115 Wclique TEKNINEN MÄÄRITTELY PROJEKTITYÖ Tik-76.115 SISÄLLYSLUETTELO Sisällysluettelo... 2 Versiohistoria... 2 1. JOHDANTO... 3 1.1 Tarkoitus ja kattavuus... 3 1.2 Tuote ja ympäristö... 3 1.3 Määritelmät, merkintätavat

Lisätiedot

- Kommentoi koodisi. Koodin kommentointiin kuuluu kuvata metodien toiminta ja pääohjelmassa tapahtuvat tärkeimmät toiminnat. Esim.

- Kommentoi koodisi. Koodin kommentointiin kuuluu kuvata metodien toiminta ja pääohjelmassa tapahtuvat tärkeimmät toiminnat. Esim. Projektityö olioista. Projektityön ohjeistus: - Jokainen valitsee vain yhden aiheen projektityökseen. Projektityön tarkoitus on opetella tekemään hieman isompi, toimiva ohjelma olioita käyttäen. Ohjelmakoodi

Lisätiedot

TESTIRAPORTTI - JÄRJESTELMÄ, ADMIN Virtuaaliyhteisöjen muodostaminen Versio 1.0

TESTIRAPORTTI - JÄRJESTELMÄ, ADMIN Virtuaaliyhteisöjen muodostaminen Versio 1.0 TESTIRAPORTTI - JÄRJESTELMÄ, ADMIN i Sisällysluettelo DUMENTIN VERSIOT 1 1. YLEISTÄ 2 1.1. Dokumentin tarkoitus ja yleisiä toimintaohjeita 2 1.2. Viittaukset muihin dokumentteihin 2 2. SUORITETTAVA TESTI

Lisätiedot

Usein kysytyt kysymykset

Usein kysytyt kysymykset Usein kysytyt kysymykset EVERYTHING DISC WORK OF LEADERS -KONSEPTIT Miten Everything DiSC Work of Leaders liittyy DiSC -malliin? Miksi saamani Everything DiSC Work of Leaders -tiedot ovat tilannekohtaisia?

Lisätiedot

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi Tarkentaa ja jäsentää vaatimusmäärittelyä, vastaa kysymykseen MITÄ järjestelmän tulisi tehdä. Suoritetaan seuraavia

Lisätiedot

Ohjelmistojen mallinnus, s2008 HY/TKTL, 28/10/2008. Harri Laine 1. Ohjelmisto

Ohjelmistojen mallinnus, s2008 HY/TKTL, 28/10/2008. Harri Laine 1. Ohjelmisto jen mallinnus, s2008 jen mallinnus (OMa) - Johdatus ohjelmistotuotantoon Tietokoneohjelma (computer program) toimintaohje, jonka mukaan toimien tietokone suorittaa jonkin tietojenkäsittelytehtävän suoritettava

Lisätiedot

811312A Tietorakenteet ja algoritmit 2015-2016. I Johdanto

811312A Tietorakenteet ja algoritmit 2015-2016. I Johdanto 811312A Tietorakenteet ja algoritmit 2015-2016 I Johdanto Sisältö 1. Algoritmeista ja tietorakenteista 2. Algoritmien analyysistä 811312A TRA, Johdanto 2 I.1. Algoritmeista ja tietorakenteista I.1.1. Algoritmien

Lisätiedot

Palvelulinjakohtaisen standardin mahdollisuudet kuntoutuksen toteutuksessa. 2015 Pirjo K Tikka

Palvelulinjakohtaisen standardin mahdollisuudet kuntoutuksen toteutuksessa. 2015 Pirjo K Tikka Palvelulinjakohtaisen standardin mahdollisuudet kuntoutuksen toteutuksessa 2015 Pirjo K Tikka Esityksen sisältö perusrakennemallin muutokset mitä muutokset tarkoittavat palvelun toteuttamisen kannalta

Lisätiedot

II- luento. Etiikan määritelmiä. Eettisen ajattelu ja käytänteet. 1 Etiikka on oikean ja väärän tutkimusta

II- luento. Etiikan määritelmiä. Eettisen ajattelu ja käytänteet. 1 Etiikka on oikean ja väärän tutkimusta II- luento Eettisen ajattelu ja käytänteet Etiikan määritelmiä 1 Etiikka on oikean ja väärän tutkimusta 2. Etiikka ei ole samaa kuin moraali, se on moraalin tutkimusta 3. Etiikka ei ole tutkimusta siitä,

Lisätiedot

STRATEGISET PÄÄMÄÄRÄT

STRATEGISET PÄÄMÄÄRÄT STRATEGISET PÄÄMÄÄRÄT Kasvihuonekaasupitoisuudet ilmakehässä vakiinnutetaan tasolle, joka estää vaaralliset muutokset ja mahdollistaa sopeutumisen Rakennettu ympäristö on energiatehokas, elinvoimainen

Lisätiedot

Avoimen ja yhteisen rajapinnan hallintamalli

Avoimen ja yhteisen rajapinnan hallintamalli Avoimen ja yhteisen rajapinnan hallintamalli 1.10.2015 Sisältö tausta avoimet toimittajakohtaiset rajapinnat (toimittajan hallitsemat rajapinnat) avoimet yhteiset rajapinnat (tilaajan hallitsemat rajapinnat)

Lisätiedot

1. Algoritmi 1.1 Sisällys Algoritmin määritelmä. Aiheen pariin johdatteleva esimerkki. Muuttujat ja operaatiot (sijoitus, aritmetiikka ja vertailu). Algoritmista ohjelmaksi. 1.2 Algoritmin määritelmä Ohjelmointi

Lisätiedot

Luku 8 Rakennusvaihe. Detailed Design. Programming. Moduulisuunnittelu. Ohjelmointi

Luku 8 Rakennusvaihe. Detailed Design. Programming. Moduulisuunnittelu. Ohjelmointi Luku 8 Rakennusvaihe Moduulisuunnittelu Detailed Design Programming Ohjelmointi Teknisen Complete suunnittelun Technical viimeistely Design Suunnittelukatselmuksen Design Perform suorittaminen Review Yhteisen

Lisätiedot

DOI-tunnisteet ja Crossref lehden kokemuksia

DOI-tunnisteet ja Crossref lehden kokemuksia Kotilava Kotimaiset tieteelliset lehdet avoimiksi ja vaikuttamaan OJS-työpaja 4.5.2016 DOI-tunnisteet ja Crossref lehden kokemuksia Pekka Nygren, Suomen Metsätieteellinen Seura Silva Fennica, www.silvafennica.fi

Lisätiedot

Massaeditorikoulutus 8.12.2015. KANSALLISKIRJASTO - Kirjastoverkkopalvelut

Massaeditorikoulutus 8.12.2015. KANSALLISKIRJASTO - Kirjastoverkkopalvelut Massaeditorikoulutus 8.12.2015 Massaeditoinnin toimintaperiaate Kokoelman tai hakutuloksen tietueet (itemit) voidaan eksportoida CSV-tiedostona omalle työasemalle taulukkomuodossa CSV:tä muokataan Libre/OpenOfficen

Lisätiedot

Proseduurit, funktiot ja herättimet - esimerkkeinä Oracle, SQL Server, MySQL ja OCELOT. Jouni Huotari S2008

Proseduurit, funktiot ja herättimet - esimerkkeinä Oracle, SQL Server, MySQL ja OCELOT. Jouni Huotari S2008 Proseduurit, funktiot ja herättimet - esimerkkeinä Oracle, SQL Server, MySQL ja OCELOT Jouni Huotari S2008 2 Proseduurit Ohjelmamoduuleita, jotka voidaan tallettaa tietokantaan (DBMS:n tietohakemistoon)

Lisätiedot

Algoritmit 1. Luento 2 Ke Timo Männikkö

Algoritmit 1. Luento 2 Ke Timo Männikkö Algoritmit 1 Luento 2 Ke 11.1.2017 Timo Männikkö Luento 2 Algoritmin esitys Algoritmien analysointi Suoritusaika Asymptoottinen kertaluokka Peruskertaluokkia NP-täydelliset ongelmat Algoritmit 1 Kevät

Lisätiedot

PROSEDUURIT, FUNKTIOT JA HERÄTTIMET - ESIMERKKEINÄ ORACLE, SQL SERVER, MYSQL JA OCELOT JOUNI HUOTARI K2009

PROSEDUURIT, FUNKTIOT JA HERÄTTIMET - ESIMERKKEINÄ ORACLE, SQL SERVER, MYSQL JA OCELOT JOUNI HUOTARI K2009 PROSEDUURIT, FUNKTIOT JA HERÄTTIMET - ESIMERKKEINÄ ORACLE, SQL SERVER, MYSQL JA OCELOT JOUNI HUOTARI K2009 PROSEDUURIT Ohjelmamoduuleita, jotka voidaan tallettaa tietokantaan (DBMS:n tietohakemistoon)

Lisätiedot

4. Vaatimusanalyysi. Vaatimusanalyysin tavoitteet

4. Vaatimusanalyysi. Vaatimusanalyysin tavoitteet 4. Vaatimusanalyysi Laadukkaiden ohjelmistojen tuottaminen ei ole helppo tehtävä. Sen lisäksi, että ohjelman täytyy toimia virheettömästi, sen täytyy täyttää sille asetetut implisiittiset ja eksplisiittiset

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiikan tukikurssi Kurssikerta 8 1 Derivaatta Tarkastellaan funktion f keskimääräistä muutosta tietyllä välillä ( 0, ). Funktio f muuttuu tällä välillä määrän. Kun tämä määrä jaetaan välin pituudella,

Lisätiedot

HELIA 1 (8) Outi Virkki Tietokantasuunnittelu

HELIA 1 (8) Outi Virkki Tietokantasuunnittelu HELIA 1 (8) Luento 1 Johdatusta tietokannan suunnitteluun... 2 Tietokantasuunnittelu?... 2 Tietokanta?... 2 Tieto?... 2 Tietokantasuunnittelun tavoite, v.1... 2 Luotettavuus?... 3 Tietokantasuunnittelun

Lisätiedot

AV-SUUNNITTELUN TARJOUSPYYNTÖ

AV-SUUNNITTELUN TARJOUSPYYNTÖ AVQ2 18.11.2007 AV-SUUNNITTELUN TARJOUSPYYNTÖ Ari Lepoluoto Copyright Avita Ry 2007 Avita Ry, Tykistönkatu 9, 00260 HELSINKI e-mail info@avita.org, tel (09) 463 2525 fax (09) 449 091 AVQ2 AV- SUUNNITTELUN

Lisätiedot

Ohjelmistojen mallintaminen olioiden elinkaaret - tilakaavio. 21.11.2008 Harri Laine 1

Ohjelmistojen mallintaminen olioiden elinkaaret - tilakaavio. 21.11.2008 Harri Laine 1 Ohjelmistojen mallintaminen olioiden elinkaaret - tilakaavio 21.11.2008 Harri Laine 1 Joidenkin järjestelmien sisältömallissa on erotettavissa luokkia, joiden ilmentymien käyttäytymisen kuvaaminen, kirjaus

Lisätiedot

Ohjelmistotuotanto, s

Ohjelmistotuotanto, s Rakenteellinen testaus (white box) Ohjelmistotuotanto Testaus Rakenteellinen testaus perustuu ohjelman rakenteen hyväksikäyttöön - tieto ja kontrollivuoesityksiin tietovuo (data flow) - tiedon kulku kontrollivuo

Lisätiedot

1. Ohjelmoinnin peruskäsitteet ja -elementit

1. Ohjelmoinnin peruskäsitteet ja -elementit 1. Ohjelmoinnin peruskäsitteet ja -elementit 1. ohjelmoinnin periaatteet 2. ohjelmointikielet 3. algoritmien suunnittelu 1 1.1 Ohjelmoinnin periaatteet Vaatimukset Määrittely Suunnittelu Toteutus Integrointi

Lisätiedot

Yhteenvetodokumentti. Boa Open Access. Helsinki 5.5.2006 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Yhteenvetodokumentti. Boa Open Access. Helsinki 5.5.2006 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Yhteenvetodokumentti Boa Open Access Helsinki 5.5.2006 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Ilmari

Lisätiedot

Algoritmit 2. Luento 7 Ti Timo Männikkö

Algoritmit 2. Luento 7 Ti Timo Männikkö Algoritmit 2 Luento 7 Ti 4.4.2017 Timo Männikkö Luento 7 Joukot Joukko-operaatioita Joukkojen esitystapoja Alkiovieraat osajoukot Toteutus puurakenteena Algoritmit 2 Kevät 2017 Luento 7 Ti 4.4.2017 2/26

Lisätiedot

Teknillinen korkeakoulu T-76.115 Tietojenkäsittelyopin ohjelmatyö. Testitapaukset - Koordinaattieditori

Teknillinen korkeakoulu T-76.115 Tietojenkäsittelyopin ohjelmatyö. Testitapaukset - Koordinaattieditori Testitapaukset - Koordinaattieditori Sisällysluettelo 1. Johdanto...3 2. Testattava järjestelmä...4 3. Toiminnallisuuden testitapaukset...5 3.1 Uuden projektin avaaminen...5 3.2 vaa olemassaoleva projekti...6

Lisätiedot