Ohjelmistoarkkitehtuuri

Koko: px
Aloita esitys sivulta:

Download "Ohjelmistoarkkitehtuuri"

Transkriptio

1 Ohjelmistoarkkitehtuurien ylläpito Arkkitehtuurityylejä ja laatuvaatimuksia Arkkitehtuurin uudistaminen Arkkitehtuurin uudistamisen malleja Arkkitehtuurin arviointi TTY Ohjelmistotekniikka 1 Ohjelmistoarkkitehtuuri Sisältää järjestelmän komponentit, niiden suhteet toisiinsa ja ympäristöönsä TTY Ohjelmistotekniikka 2 1

2 Arkkitehtuurityylejä Kerrosarkkitehtuurit Tietovuoarkkitehtuurit Palveluperustaiset arkkitehtuurit Viestinvälitysarkkitehtuurit MVC (model view controller) TTY Ohjelmistotekniikka 3 Kerrosarkkitehtuurit Järjestelmä on organisoitu käsitetasoltaan nouseviin kerroksiin Käyttöliittymä Sovelluskohtainen logiikka Sovellusaluekohtainen logiikka Tietokanta TTY Ohjelmistotekniikka 4 2

3 Tietovuoarkkitehtuurit Komponentit (filter) tuottavat ja kuluttavat tietoalkioita Väylät (pipe) kuljettavat tietoalkioita komponentilta toiselle Leksikaalianalyysi Syntaksianalyysi Semanttinen analyysi Välikoodin generointi Koodin optimointi Koodin generointi TTY Ohjelmistotekniikka 5 Palveluperustaiset arkkitehtuurit Palvelin kontrolloi jotakin resurssia ja tarjoaa siihen liittyviä palveluita Asiakkaat tarvitsevat kyseistä palvelua Palvelun pyytäjä Palvelun tarjoaja Palvelun pyytäjä TTY Ohjelmistotekniikka 6 3

4 Viestinvälitysarkkitehtuurit Useita keskenään kommunikoivia komponentteja Komponenttien lukumäärää tai niiden palveluita ei tiedetä etukäteen Asiakas palvelupyyntö Palvelija Asiakas palvelun tulos Viestinvälittäjä Palvelija Asiakas Palvelija TTY Ohjelmistotekniikka 7 MVC Käyttöliittymän erottaminen sovelluslogiikasta Erilaisia näkymiä sovelluksen tilasta tilan muutokset heijastuvat käyttöliittymään komento vaste Ohjain (controller) sovelluksen toiminto Malli (model) Näkymä (view) sovelluksen tilan muutos TTY Ohjelmistotekniikka 8 4

5 Muutettavuus Laatuvaatimuksia Suorituskyky Muutettavuus [prosessi] Muutettavuus [data] Suorituskyky [muisti] Suorituskyky [aika] Uudelleenkäytettävyys TTY Ohjelmistotekniikka 9 Arkkitehtuurityylit vs. laatuvaatimukset Kerros Tietovuo Palveluperustainen Viestinvälitys MVC Muutettavuus [prosessi] Muutettavuus [data] Suorituskyky [muisti] Suorituskyky [aika] Uudelleenkäytettävyys TTY Ohjelmistotekniikka 10 5

6 Arkkitehtuurin uudistamisen vaiheet 1. Arkkitehtuurin tunnistaminen 2. Arkkitehtuurin muuttaminen 3. Uuteen arkkitehtuuriin perustuva ohjelmiston kehittäminen vrt. takaisinmallinnuksen kautta tapahtuva uudistaminen TTY Ohjelmistotekniikka 11 Arkkitehtuurin uudistaminen T u n n i s t a m i n e n Toiminnallinen taso Arkkitehtuurin muuttaminen Koodaustyylit Kooditaso Vanha lähdekoodi Suunnittelumallit ja -tyylit Ohjelman toiminnalliset suunnitelmat Arkkitehtuuritaso Uusi lähdekoodi K e h i t t ä m i n e n TTY Ohjelmistotekniikka 12 6

7 Kooditason muutokset (1) 1. taso Tekstuaaliset muutokset merkkijonojen sovittaminen ja korvaaminen esim. Y2K nimien ja tunnusten muuttaminen esim. järjestelmän siirtäminen uuteen ympäristöön muutokset yksinkertaisia, suoraviivaisia ja halpoja Jäsennyspuuhun kohdistuvat muutokset muutokset eivät riipu yksityiskohtaisesta syntaksista esim. uuteen ohjelmointikieleen siirtyminen automaattiset koodimuunnokset esim. Y2K TTY Ohjelmistotekniikka 13 Kooditason muutokset (2) 1. taso Sopivat seuraaviin tilanteisiin: muutokset t rajoittuvat t yksittäisiin ii koodikohtiin rakenteelliset tai toiminnalliset muutokset eivät ole tarpeellisia lähdekoodi on pääasiallisin tai ainoa saatavilla oleva tietolähde käytettävissä olevat resurssit rajoittavat uudistamista rakenteellisten (isompien) muutosten aiheuttama riski on suurempi kuin niiden tuoma hyöty Olennaisia i asioita it (vaatimuksia): i käytettävissä olevat työkalut tekstin ja jäsennyspuun käsittelyyn ohjelmoijien saatavuus lähdekoodin hallinta TTY Ohjelmistotekniikka 14 7

8 Toiminnallisen tason muutokset (1) Muutokset ohjelman osien välisissä suhteissa esim. funktioiden kutsusuhteet esim. koodin ja datan väliset suhteet esim. tiedostojen väliset suhteet (uudet ryhmittelyt) Muutosten toteuttaminen toiminnallisuuden kapselointi (kääriminen) erilaista ympäristöä varten esim. siirtyminen proseduraalisista ohjelmista oliokeskeisiin toiminnallisuuden pelastaminen (salvage) uuteen ympäristöön uudelleenkäyttö 2. taso TTY Ohjelmistotekniikka 15 Toiminnallisen tason muutokset (2) Sopivat seuraaviin tilanteisiin: rakenteelliset muutokset ovat välttämättömiä ohjelman osien ja niiden välisten yhteyksien rakenne on hyvin dokumentoitu tai se voidaan jäljittää käytettävissä olevat resurssit rajoittavat vain jonkin verran uudistamista rakenteellisten muutosten aiheuttamat riskit ovat keskinkertaisia Olennaisia asioita (vaatimuksia): käytettävissä olevat työkalut moduulien ja rajapintojen tunnistamiseen järjestelmän asiantuntijoiden ja ohjelmoijien saatavuus uudelleenkäytettävien osien tunnistaminen ja kapselointi 2. taso TTY Ohjelmistotekniikka 16 8

9 Arkkitehtuuritason muutokset (1) 3. taso Arkkitehtuurin elementtien muuttaminen esim. komponenttien tyypin ja rakenteen muuttaminen esim. komponenttien välisten suhteiden (connector) muuttaminen esim. järjestelmän ajoaikaisten mallien muuttaminen Suurten muutosten tai puutteiden vaatima rakenteellinen muutos Vaatii paljon resursseja, mutta tuo suurimmat hyödyt TTY Ohjelmistotekniikka 17 Arkkitehtuuritason muutokset (2) Sopivat seuraaviin tilanteisiin: pyrkimykset k tuotteen tt parantamiseen ovat korkeat k järjestelmän arkkitehtuuri on hyvin dokumentoitu käytettävissä olevat resurssit eivät suuresti rajoita uudistamista järjestelmän ylläpidon jatkaminen aiheuttaa suuremman riskin kuin järjestelmän kehittäminen Olennaisia asioita (vaatimuksia): käytettävissä olevat työkalut arkkitehtuurin tunnistamiseen järjestelmän rakentajien, asiantuntijoiden ja ohjelmoijien saatavuus arkkitehtuuriin perustuva kehittäminen tuoterunkoarkkitehtuurin tunnistaminen 3. taso TTY Ohjelmistotekniikka 18 9

10 Arkkitehtuurin ominaisuuksia 1. vaihe Sovellusalueesta riippumattomat ominaisuudet tiedon siirto (parametrivälitys, globaalit muuttujat) järjestelmän kontrolli (aktiivinen, passiivinen) dynaaminen käyttäytyminen (prosessit, samanaikaisuus) järjestelmän rakenne (kerroksittainen, tietovirtaan perustuva) Sovelluskohtaiset ominaisuudet varmistus (kaksinkertaiset tiedot, tarkistussummat) turvallisuus (kryptaus, digitaaliset it t allekirjoitukset) it k t) Tuoteperheeseen liittyvät ominaisuudet varianssi (standardit, käyttäjien tarpeet) arkkitehtuurityyli TTY Ohjelmistotekniikka 19 Arkkitehtuurin muuttaminen Suunniteltu (käsitteellinen) arkkitehtuuri Toteutettu (konkreettinen) arkkitehtuuri Etenevä muuttaminen konkreettinen arkkitehtuuri muutetaan vastaamaan käsitteellistä arkkitehtuuria Peruuttava muuttaminen käsitteellinen arkkitehtuuri muutetaan vastaamaan konkreettista arkkitehtuuria 2. vaihe TTY Ohjelmistotekniikka 20 10

11 Arkkitehtuuriperustainen ohjelmistokehitys 3. vaihe Tarvittavien komponenttien toteuttaminen Arkkitehtuurityylin huomioon ottaminen Uudistaminen voi ulottua monelle tasolle: arkkitehtuuritasolla komponentit ja niiden suhteet muuttuvat toiminnallisella tasolla olemassa olevaa koodia voidaan kääriä kooditasolla ohjelmointikielet ja ympäristöt (alustat) voivat muuttua TTY Ohjelmistotekniikka 21 Esimerkki (1/2) Alkutilanne: Kulukorvaukset Henkilöstö Tilit Palkanmaksu Hankintakulut Asiakaslaskutus Varasto Hankinnat TTY Ohjelmistotekniikka 22 11

12 Tavoite: Esimerkki (2/2) Kulukorvaukset Palkanmaksu Henkilöstö Tilit Hankinnat Hankintakulut k t Asiakaslaskutus Varasto TTY Ohjelmistotekniikka 23 Arkkitehtuurin uudistamisen ongelmatilanteita? Arkkitehtuurin uudistamisen malleja Mikä on riittävä joukko arkkitehtuurinäkymiä? Miten voidaan säilyttää yhteys suunnitellun ja toteutetun arkkitehtuurin välillä? Miten arkkitehtuurin elementit vaikuttavat laatutekijöihin ja millaisia vaikutuksia laatutekijän muuttumisella on? Miten tunnistetaan yhteiset ja vaihtelevat osat (toisiaan muistuttavissa järjestelmissä)? Miten arkkitehtuurin uudistamisessa voidaan hyödyntää valmiita komponentteja? TTY Ohjelmistotekniikka 24 12

13 Arkkitehtuurinäkymät Kuvaus: arkkitehtuurin uudelleendokumentointiin kuuluu näkymien ja niiden suhteiden tunnistaminen Ongelma: mikä on riittävä määrä näkymiä Ratkaisu: arkkitehtuurinäkymien luettelo näkymät eri rooleissa olevien kannalta (kehittäjä, arkkitehti, projektin johtaja, ylläpitäjä, testaaja) sopivan notaation käyttö näkymät ovat erilaisia eri tyyppisille järjestelmille esim. oliokeskeiset tai proseduraaliset järjestelmät esim. räätälöidyt tai tuoterunkoarkkitehtuuriin perustuvat TTY Ohjelmistotekniikka 25 Suunniteltu vs. toteutettu arkkitehtuuri Kuvaus: arkkitehtuurityyleille ei ole vastaavia käsitteitä ohjelmointikielissä laatuvaatimusten huomioiminen voi rikkoa arkkitehtuuria Ongelma: miten arkkitehtuurin suunnittelusta voidaan päätellä sen toteutus (ja päinvastoin) Ratkaisu: toteutustyökalun pitäisi pakottaa arkkitehtuurin toteutuksen noudattamaan suunnittelua järjestelmän perustuminen hyvin määriteltyihin komponentteihin TTY Ohjelmistotekniikka 26 13

14 Laatutekijän sijainti Kuvaus: suunnitteluratkaisut on valittu sen perusteella, mitä laatuvaatimuksia ti i järjestelmän j ä tulee täyttäättää eri laatuvaatimukset voivat olla ristiriitaisia toistensa kanssa Ongelma: miten voidaan päätellä arkkitehtuurielementtien ja laatuvaatimusten suhde Esimerkki: web-pohjaiseen ympäristöön siirtyminen tehokkuus, varmuus (security) Ratkaisu: työkalu tai menetelmä, joka auttaa selvittämään, miten järjestelmä tukee jotakin tiettyä laatutekijää selvitetään, mikä arkkitehtuurityyli tukee mitäkin laatutekijää (miten tämä voidaan mitata?) TTY Ohjelmistotekniikka 27 Yhteiset ja vaihtelevat osat Kuvaus: oleellista tuoterunkoarkkitehtuureissa Ongelma: miten tunnistetaan yhteiset osat olemassa olevista järjestelmistä Esimerkki: yrityksen kolmella osastolla kehitetään samanlaisia tuotteita valitaan joka osastolta tyypillinen tuote ja verrataan niiden samanlaisuutta Ratkaisu: työkalu tai menetelmä samankaltaisuuden tunnistamiseen vertailu kooditasolla ongelmallista erilaiset koodirakenteet, nimeämiskäytännöt, ohjelmointikielet arkkitehtuurikuvausten vertailu arkkitehtuurimallit, laatutekijät, komponenttien rajapinnat, suunnitteluperusteet TTY Ohjelmistotekniikka 28 14

15 Kaupalliset komponentit Kuvaus: valmiita komponentteja käytetään yhä enemmän komponenttien toiminnan ymmärtämisen tärkeys Ongelma: miten uusi arkkitehtuuri voi hyödyntää valmiita komponentteja Esimerkki: järjestelmään tulee komponentteja eri toimittajilta, jolloin joudutaan selvittämään, mitä liimakoodia tarvitaan Ratkaisu: työkalu tai menetelmä, joka tukee arkkitehtuurin rakentamista valmiista komponenteista avoimia kysymyksiä: milloin komponentin kuvaus on riittävä? mistä tiedetään, että komponentti sopii järjestelmän arkkitehtuuriin? miten luotettavia komponenttien kuvaukset ovat? TTY Ohjelmistotekniikka 29 Järjestelmän arkkitehtuurin arviointi Skenaarioihin perustuva arviointi SAAM (software architecture analysis method) ATAM (architecture trade-off analysis method) Kysymyksiin perustuva arviointi Tarkistuslistaan perustuva arviointi Simulaatioon perustuva arviointi i Metriikkoihin perustuva arviointi TTY Ohjelmistotekniikka 30 15

16 SAAM-menetelmä 1. Laadi skenaarioita a 2. Kuvaa arkkitehtuuri(t) uu() 3. Luokittele skenaariot 4. Arvioi epäsuorat 6. Suorita lopullinen skenaariot arviointi 5. Arvioi skenaarioiden vaikutukset toisiinsa TTY Ohjelmistotekniikka 31 SAAM-menetelmän vaiheet Skenaarioiden laatiminen skenaarioille annetaan painoarvo (kerroin) Arkkitehtuuri(e)n kuvaaminen karkealla tasolla Skenaarioiden luokittelu suora skenaario arkkitehtuuri tukee skenaariota suoraan, ei tarvita muutoksia epäsuora skenaario arkkitehtuuria joudutaan muuttamaan Epäsuorien skenaarioiden arviointi tarvittavat t muutokset t ja niiden vaikeusasteet t Skenaarioiden vaikutukset toisiinsa vaativatko muutosta samaan komponenttiin? Lopullinen arviointi tuloksena paras tapa jakaa järjestelmä komponentteihin TTY Ohjelmistotekniikka 32 16

17 Arvioinnin tavoite Kahden (tai useamman) arkkitehtuurin vertailu Yhden arkkitehtuurin arviointi tavoitteet laatutekijöille esimerkkitavoitteita muutettavuudelle: järjestelmä on helposti muutettava, jos todennäköisimmät muutokset onnistuvat vain korkeintaan kahta komponenttia muuttamalla edellisen tulee olla voimassa vähintään 50 % muutoksista, jotka arvioinnissa otetaan huomioon TTY Ohjelmistotekniikka 33 Skenaarioiden kattavuus Varastonhallintajärjestelmä tietokannan muuttaminen järjestelmä olemassa olevien rajapintojen muuttaminen järjestelmän rajapinnat käyttöliittymän muuttaminen näyttöjen muuttaminen kommunikaatioteknologian muuttaminen sisällön muuttaminen toimittajan muuttuminen käyttöjärjestelmän muuttaminen uusien rajapintojen lisääminen ominaisuuden muuttaminen ominaisuuden lisääminen käyttäjän toiminnon muuttaminen sisäisen toiminnon muuttaminen käyttäjän toiminnon lisääminen sisäisen toiminnon lisääminen A B C D E F G H I J TTY Ohjelmistotekniikka 34 17

18 Esimerkkejä muutosskenaarioista A Uusia tekstikenttiä lisätään asiakastietodialogiin. M-1 C Asiakas- tai tuotenumeroiden tietotyyppiä laajennetaan. M-2 C Uusi pakkaustyyppi lisätään. M-3 C Tuotteille lisätään uusia attribuutteja (esim. väri, koko). M-4 D Tietokannan toimittaja vaihtuu. M-5 E Käyttöjärjestelmä muuttuu. M-6 F Järjestelmä muutetaan automaattiseksi tietovarastoksi M-7 (data warehouse). G Tilaustoimintoa muutetaan niin, että tilaus voidaan ottaa M-8 vastaan, vaikka kaikkia tavaroita ei ole heti saatavissa. H Järjestelmään lisätään uusi käyttäjätyyppi (pääkäyttäjän, M-9 operaattorin ja vuoropäällikön lisäksi). I Järjestelmään lisätään tuntiraportointi. M-10 J Joitakin toimintoja muutetaan niin, että niiden M-11 suorittaminen on mahdollista vain varaston sisältä. TTY Ohjelmistotekniikka 35 Esimerkkejä käyttöskenaarioista Vastaanottaja antoi tuotteiden määrän väärin, ja K-1 virhe yritetään korjata vahvistuksen jälkeen. Operaattori yrittää perua aikaisemmin tehdyn tilauksen mutta ei tiedä tilausnumeroa. Tavallinen käyttäjä toimii vuoropäällikön sijaisena ja tarvitsee väliaikaisesti laajemmat käyttöoikeudet. Aikaisemmin tehty tapahtuma täytyy ajaa uudelleen lokitietojen perusteella. K-2 K-3 K-4 TTY Ohjelmistotekniikka 36 18

19 Arkkitehtuurin kuvaaminen Asiakas1 Asiakas2 Asiakas3 Asiakashallinta Viestijono Käsittelijä1 Käsittelijä2 Käsittelijä3 Java database connectivity JDBC Tietokanta TTY Ohjelmistotekniikka 37 Uusia skenaarioita Tuotteiden vastaanottoa muutetaan niin, että jos tuotetta ei ole vielä rekisteröity, niin se rekisteröidään vastaanoton yhteydessä. Asiakkaiden määrä ylittää asiakashallinnan kapasiteetin. M-12 M-13 TTY Ohjelmistotekniikka 38 19

20 Skenaarioiden luokittelu Skenaario M2 vaatii vain yhden koodirivin muutoksen tuotteiden ja asiakkaiden ID-numeroita varten on oma tietotyyppi lisäksi tarvitaan pieni muutos tietokantatauluihin skenaariota voidaan pitää suorana Skenaario M5 on suora JDBC erottaa tietokannan käsittelijöistä Muut skenaariot ovat epäsuoria TTY Ohjelmistotekniikka 39 Epäsuorien skenaarioiden arviointi (esimerkkejä) M-1: Tekstikenttien lisääminen ei ole kovin suuri muutos XML-pohjaisessa viestin välityksessä, mutta lisäksi tarvitaan muutos viestien käsittelyssä. M-3: Pakkaustyypin lisääminen aiheuttaa paljon muutoksia. Pakkaustyyppi täytyy lisätä tietokantaan, lisäksi kaikki tuotteita käsittelevät näytöt ja viestien käsittelijät joudutaan muuttamaan. M-4: Toisistaan i riippumattomia i attribuutteja lisättäessä ä (esim. koko, väri) joudutaan lisäämään uusi tietokantataulu, koska uudet attribuutit pitää lisätä kaikille tuotteille. Lisäksi tarvitaan muutoksia näyttöihin ja käsittelijöihin. TTY Ohjelmistotekniikka 40 20

21 Skenaarioiden vaatimat muutokset M näytöt skenaario käsittelijä(t) XMLformaatti tietokanta viestijono asiakashallinta arkkitehtuurikuvaus M M M-6???? M M M-9 + M M M M TTY Ohjelmistotekniikka 41 21

Arkkitehtuuriperustainen. Tuoterunkoihin perustuva ohjelmistotuotanto. Tuoterunkoarkkitehtuurien hyödyntäminen uudistamisessa

Arkkitehtuuriperustainen. Tuoterunkoihin perustuva ohjelmistotuotanto. Tuoterunkoarkkitehtuurien hyödyntäminen uudistamisessa Tuoterunkoarkkitehtuurien hyödyntäminen uudistamisessa Järjestelmän arkkitehtuurin tarkoituksena edistää uudelleenkäyttöä ohjelmisto- tai tuoteperheiden Järjestelmän arkkitehtuurin uudistaminen Arkkitehtuurin

Lisätiedot

Johdantoluento. Ohjelmien ylläpito

Johdantoluento. Ohjelmien ylläpito Johdantoluento Ylläpito-termin termin määrittely Ylläpito ohjelmistotuotannon vaiheena Evoluutio-termin määrittely Muita kurssin aiheeseen liittyviä termejä TTY Ohjelmistotekniikka 1 Ohjelmien ylläpito

Lisätiedot

Ohjelmistoarkkitehtuurit kevät

Ohjelmistoarkkitehtuurit kevät Ohjelmistoarkkitehtuurit Kevät 2011-2012 Johannes Koskinen http://www.cs.tut.fi/~ohar/ 6. Arkkitehtuurityylit Osittavat arkkitehtuurityylit Kerrosarkkitehtuurit (rakenteen ositus) Tietovuoarkkitehtuurit

Lisätiedot

6. Arkkitehtuurityylit

6. Arkkitehtuurityylit 6. Arkkitehtuurityylit Osittavat arkkitehtuurityylit - Kerrosarkkitehtuurit - Tietovuoarkkitehtuurit Palveluihin perustuvat arkkitehtuurityylit - Asiakas-palvelin arkkitehtuurit - Viestinvälitysarkkitehtuurit

Lisätiedot

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

Ohjelmistoarkkitehtuurit

Ohjelmistoarkkitehtuurit Ohjelmistoarkkitehtuurit Kevät 2012-2013 Johannes Koskinen http://www.cs.tut.fi/~ohar/ 1 Arkkitehtuurityylit Osittavat arkkitehtuurityylit Kerrosarkkitehtuurit (rakenteen ositus) Tietovuoarkkitehtuurit

Lisätiedot

Ohjelmistoarkkitehtuurit Johannes Koskinen. Osittavat arkkitehtuurityylit

Ohjelmistoarkkitehtuurit Johannes Koskinen.  Osittavat arkkitehtuurityylit Ohjelmistoarkkitehtuurit Kevät 2012-2013 Johannes Koskinen http://www.cs.tut.fi/~ohar/ 1 Arkkitehtuurityylit Osittavat arkkitehtuurityylit Kerrosarkkitehtuurit (rakenteen ositus) Tietovuoarkkitehtuurit

Lisätiedot

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

Ylläpito. Ylläpito. Ylläpidon lajeja Ohjelmistotuotanto, syksy 1998 Ylläpito Kaikki ohjelmistoon sen julkistamisen jälkeen kohdistuvat muutostoimenpiteet jopa 70-80% ohjelmiston elinkaarenaikaisista kehityskustannuksista Ylläpidon lajeja korjaava ylläpito (corrective) testausvaiheessa

Lisätiedot

Ohjelmistoarkkitehtuurit. Kevät 2012-2013

Ohjelmistoarkkitehtuurit. Kevät 2012-2013 Ohjelmistoarkkitehtuurit Kevät 2012-2013 Johannes Koskinen http://www.cs.tut.fi/~ohar/ 1 Viestipohjaisten yritysjärjestelmien suunnittelumallit 1 Viestinvälitykseen perustuvat yritysjärjestelmät Peruselementit:

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

2 Ohjelmistoarkkitehtuurien kuvaus

2 Ohjelmistoarkkitehtuurien kuvaus 2 Ohjelmistoarkkitehtuurien kuvaus 2.1 Arkkitehtuurikuvauksen merkityksestä 2.2 Arkkitehtuurin kuvaukseen liittyvät käsitteet 2.3 Arkkitehtuurikuvaukset eri tasoilla 2.4 Arkkitehtuurinäkymät ja kuvaustyypit

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

Liite 1: KualiKSB skenaariot ja PoC tulokset. 1. Palvelun kehittäjän näkökulma. KualiKSB. Sivu 1. Tilanne Vaatimus Ongelma jos vaatimus ei toteudu

Liite 1: KualiKSB skenaariot ja PoC tulokset. 1. Palvelun kehittäjän näkökulma. KualiKSB. Sivu 1. Tilanne Vaatimus Ongelma jos vaatimus ei toteudu Liite 1: skenaariot ja PoC tulokset 1. Palvelun kehittäjän näkökulma Tilanne Vaatimus Ongelma jos vaatimus ei toteudu Palvelun uusi versio on Palveluiden kehittäminen voitava asentaa tuotantoon vaikeutuu

Lisätiedot

Ohjelmistoarkkitehtuurit. Kevät

Ohjelmistoarkkitehtuurit. Kevät Ohjelmistoarkkitehtuurit Kevät 2012-2013 Johannes Koskinen http://www.cs.tut.fi/~ohar/ 1 Viestipohjaisten yritysjärjestelmien suunnittelumallit Viestinvälitykseen perustuvat yritysjärjestelmät Peruselementit:

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

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

Toiminnot eli käyttäytyminen. Tieto eli rakenteelliset ominaisuudet Toiminnot eli käyttäytyminen Tieto eli rakenteelliset ominaisuudet Olio (ks. määritelmä): rajattavissa ja yksilöitävissä oleva asia tai käsite, joka on merkityksellinen käsillä olevan tarkastelun kannalta

Lisätiedot

Ohjelmistojen mallintaminen, arkkitehtuuria ja rajapintoja

Ohjelmistojen mallintaminen, arkkitehtuuria ja rajapintoja 582104 Ohjelmistojen mallintaminen, arkkitehtuuria ja rajapintoja 1 Arkkitehtuurisuunnittelu Ohjelmistoarkkitehtuurin määritelmä & arkkitehtuurisuunnittelun lähtökohta ja tavoitteet Kerrosarkkitehtuuri

Lisätiedot

Bosch-malli. Kolme vaihetta. Termistöä. Ohjelm!toarkkitehtuu"n

Bosch-malli. Kolme vaihetta. Termistöä. Ohjelm!toarkkitehtuun Bosch-malli Ohjelm!toarkkitehtuu"n suunni#elu 2$6 Quality Attribute-oriented Software Architecture Design method Toiminnallisista vaatimuksista laadittu arkkitehtuurimalli kehitetään arvioimalla sitä laadullisten

Lisätiedot

Järjestelmäarkkitehtuuri (TK081702)

Järjestelmäarkkitehtuuri (TK081702) Järjestelmäarkkitehtuuri (TK081702) yleistyvät verkkopalveluissa Youtube Google... Avaavat pääsyn verkkopalvelun sisältöön. Rajapintojen tarjoamia tietolähteitä yhdistelemällä luodaan uusia palveluja,

Lisätiedot

Arkkitehtuurityylejä ja ratkaisumalleja

Arkkitehtuurityylejä ja ratkaisumalleja Arkkitehtuurityylejä ja ratkaisumalleja Luento 4 12.9.2013 581358 Ohjelmistoarkkitehtuurit 1 Oppimistavoitteet Esimerkkejä yleisesti käytetyistä arkkitehtuurisista ratkaisumalleista ja tyyleistä Muutama

Lisätiedot

1 Johdanto. TTY Ohjelmistotekniikka. Ohjelmistoarkkitehtuurit Syksy 2008

1 Johdanto. TTY Ohjelmistotekniikka. Ohjelmistoarkkitehtuurit Syksy 2008 1 Johdanto 1.1 Mikä on ohjelmistoarkkitehtuuri? 1.2 Katsaus ohjelmistotuotannon kehittymiseen 1.3 Epäonnistuneen ohjelmistoarkkitehtuurin seurauksia 1.4 Ohjelmistoarkkitehtuuri ja ohjelmistokehitysprosessi

Lisätiedot

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys Tällä kurssilla on tutustuttu ohjelmistojen mallintamiseen oliomenetelmiä ja UML:ää käyttäen Samaan aikaan järjestetyllä kurssilla on käsitelty

Lisätiedot

Avoimen lähdekoodin ohjelmistot julkisessa hallinnossa

Avoimen lähdekoodin ohjelmistot julkisessa hallinnossa Avoimen lähdekoodin ohjelmistot julkisessa hallinnossa Ohjelmistotuotteen hallinta ja hallinnointi 22.4.2015 Mikael Vakkari, neuvotteleva virkamies. VM Strategisten linjausten perusteemat Avoimuus Hallinto,

Lisätiedot

Harjoitustehtävät ja ratkaisut viikolle 48

Harjoitustehtävät ja ratkaisut viikolle 48 Harjoitustehtävät ja ratkaisut viikolle 48 1. Tehtävä on jatkoa aiemmalle tehtävälle viikolta 42, missä piti suunnitella älykodin arkkitehtuuri käyttäen vain ennalta annettua joukkoa ratkaisuja. Tämäkin

Lisätiedot

Ohjelmistoarkkitehtuurit

Ohjelmistoarkkitehtuurit Ohjelmistoarkkitehtuurit Kevät 2012-2013 Johannes Koskinen http://www.cs.tut.fi/~ohar/ 1 Viestinvälitysarkkitehtuurit Lähtökohta: Järjestelmä koostuu keskenään kommunikoivista komponenteista, mahdollisesti

Lisätiedot

Tuotemallin hyödyntäminen rakentamisprosessissa

Tuotemallin hyödyntäminen rakentamisprosessissa Tuotemallin hyödyntäminen rakentamisprosessissa Rakennusteollisuuden tuotemallitieto-prosessit Pro IT Kehitystyön käynnistystilaisuus 23.9.2002 Susanne Backas 05.03.2002 Strategia Tuottaa tietoa asiakkaan

Lisätiedot

Oleelliset vaikeudet OT:ssa 1/2

Oleelliset vaikeudet OT:ssa 1/2 Oleelliset vaikeudet OT:ssa 1/2 Monimutkaisuus: Mahdoton ymmärtää kaikki ohjelman tilat Uusien toimintojen lisääminen voi olla vaikeaa Ohjelmista helposti vaikeakäyttöisiä Projektiryhmän sisäiset kommunikointivaikeudet

Lisätiedot

1 Johdanto. Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 1

1 Johdanto. Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 1 1 Johdanto 1.1 Mikä on ohjelmistoarkkitehtuuri? 1.2 Ohjelmistoarkkitehtuuri ja laatuvaatimukset 1.3 Katsaus ohjelmistotuotannon kehittymiseen 1.4 Miksi ohjelmistoarkkitehtuuri on tärkeä 1.5 Ohjelmistoarkkitehtuuri

Lisätiedot

SEPA - Design Patterns

SEPA - Design Patterns SEPA - Design Patterns Kimmo Karlsson, 51066R & Antti Pirinen, 51406N 15. maaliskuuta 2005 1 Sisältö 1. Sisältö 2. Johdanto 3. Käyttöönotto 4. Käyttökokemukset 2 Johdanto Valitsemamme ohjelmistonkehityskäytäntö

Lisätiedot

Ohjelmistoarkkitehtuurit Kevät 2014 Arkkitehtuurityylit vol 2

Ohjelmistoarkkitehtuurit Kevät 2014 Arkkitehtuurityylit vol 2 Ohjelmistoarkkitehtuurit Kevät 2014 Arkkitehtuurityylit vol 2 Samuel Lahtinen (Johannes Koskinen) http://www.cs.tut.fi/~ohar/ 1 Yleisesti Huomenna ei luentoa, tapaaminen TC103:ssa Muistakaa harkkavälinäyttöilmo

Lisätiedot

Liiketoimintasovellusten modernisointi - Anna sovelluksillesi uusi elämä. Sofor varmistaa investointiesi tehokkaan hyödyntämisen

Liiketoimintasovellusten modernisointi - Anna sovelluksillesi uusi elämä. Sofor varmistaa investointiesi tehokkaan hyödyntämisen Liiketoimintasovellusten modernisointi - Anna sovelluksillesi uusi elämä Sofor varmistaa investointiesi tehokkaan hyödyntämisen 1 Syitä liiketoimintasovellusten modernisointiin Sovellusten käyttötarkoitus

Lisätiedot

POTILASTIEDON ARKISTO ARKISTONHOITAJAN KÄYTTÖLIITTYMÄN KÄYTTÖOHJE

POTILASTIEDON ARKISTO ARKISTONHOITAJAN KÄYTTÖLIITTYMÄN KÄYTTÖOHJE POTILASTIEDON ARKISTO ARKISTONHOITAJAN KÄYTTÖLIITTYMÄN KÄYTTÖOHJE SISÄLLYSLUETTELO 1.... 1 2. Arkistonhoitajan käyttöoikeudet ja toimenpiteiden seuranta... 1 3. Sisäänkirjautuminen ja käyttäjän tunnistaminen...

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

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

Käytännön haasteita ja ratkaisuja integraation toteutuksessa. Jukka Jääheimo Teknologiajohtaja Solita Oy

Käytännön haasteita ja ratkaisuja integraation toteutuksessa. Jukka Jääheimo Teknologiajohtaja Solita Oy Käytännön haasteita ja ratkaisuja integraation toteutuksessa Jukka Jääheimo Teknologiajohtaja Solita Oy 13.03.2008 Sisältö 2 Alustus Integraation haasteet Integraatioarkkitehtuuri Hyvän integraatioarkkitehtuurin

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

4.2 Yhteensopivuus roolimalleihin perustuvassa palvelussa

4.2 Yhteensopivuus roolimalleihin perustuvassa palvelussa 4. Roolimallipalvelu 4.1 Tiedot palvelusta Palvelun nimi: Palvelun versio 01.01.00 Toteuttaa palvelun yksilöllistä palvelua (kts. M14.4.42) Roolimallipalvelu (Model role service) MYJ:lle, jotka toteuttavat

Lisätiedot

Järjestelmäarkkitehtuuri (TK081702) Järjestelmäarkkitehtuuri. Järjestelmäarkkitehtuuri

Järjestelmäarkkitehtuuri (TK081702) Järjestelmäarkkitehtuuri. Järjestelmäarkkitehtuuri Järjestelmäarkkitehtuuri (TK081702) ja Järjestelmäarkkitehtuuri Sovellukset ovat olemassa Järjestelmien uudistaminen vie yleensä arvioitua enemmän resursseja ja kestää arvioitua kauemmin Migration (Migraatio

Lisätiedot

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

Haaga-Helia / TIKO-05 1 (12) Tietokannan suunnittelu ja Toteutus Outi Virkki Haaga-Helia / TIKO-05 1 (12) Tietotarpeet Tietotarpeiden määrittely... 2 Tietotarveanalyysi... 3 Lähtökohtana tietojenkäsittelytehtävät... 3 Määrittelyn sisältö... 4 Vaiheistus... 5 Tietolähteet... 5 Lähestymistapa...

Lisätiedot

Ohjelmistotekniikan menetelmät, Ohjelmistotuotannon työkaluista

Ohjelmistotekniikan menetelmät, Ohjelmistotuotannon työkaluista 582101 - Ohjelmistotekniikan menetelmät, Ohjelmistotuotannon työkaluista 1 Ohjelmistotuotannon työkaluuista Projektinhallintatyökalut (ei käsitellä tällä kurssilla) CASE- ja mallinnustyökalut (esim. Poseidon)

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

Luokka- ja oliokaaviot

Luokka- ja oliokaaviot Luokka- ja oliokaaviot - tärkeimmät mallinnuselementit : luokat, oliot ja niiden väliset suhteet - luokat ja oliot mallintavat kuvattavan järjestelmän sisältöä ja niiden väliset suhteet näyttävät, kuinka

Lisätiedot

TOIMIJAREKISTERIN TOTEUTUKSEN JA YLLÄPIDON HANKINTA - HANKINNAN YKSI- LÖINTI HUOM!

TOIMIJAREKISTERIN TOTEUTUKSEN JA YLLÄPIDON HANKINTA - HANKINNAN YKSI- LÖINTI HUOM! TARJOUSPYYNTÖ / LIITE 1 1 (5) TOIMIJAREKISTERIN TOTEUTUKSEN JA YLLÄPIDON HANKINTA - HANKINNAN YKSI- LÖINTI HUOM! Tällä liitteellä yksilöidään hankinnan kohteen ominaisuuksia ja toiminnallisuuksia, jotka

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

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät Tenttikysymykset 1. Selitä mitä asioita kuuluu tietojärjestelmän käsitteeseen. 2. Selitä kapseloinnin ja tiedon suojauksen periaatteet oliolähestymistavassa ja mitä hyötyä näistä periaatteista on. 3. Selitä

Lisätiedot

Aurinkoenergiajärjestelmien etäseurantajärjestelmä

Aurinkoenergiajärjestelmien etäseurantajärjestelmä Aurinkoenergiajärjestelmien etäseurantajärjestelmä Janne Raitaniemi (Bitec Oy) Saku Rantamäki (SAMK) Aurinkoenergiajärjestelmien luonne järjestelmien odotettu elinkaari on pitkä investoinnin kannattavuus

Lisätiedot

11. Kehysarkkitehtuurit

11. Kehysarkkitehtuurit 11. Kehysarkkitehtuurit Johdanto Kehystyypit Kehykset ja arkkitehtuuri Kehykset ja suunnittelumallit Kehyspohjainen ohjelmistokehitys Esimerkkikehys Kehysten toteutuksesta Kehysten etuja ja ongelmia Yhteenvetoa

Lisätiedot

Valppaan asennus- ja käyttöohje

Valppaan asennus- ja käyttöohje Versio Päiväys Muokkaaja Kuvaus 0.9 16.2.2006 Tuukka Laakso Korjattu versio 0.1 Antti Kettunen Alustava versio Sisällysluettelo 1 Johdanto...2 2 Valppaan asennus...3 2.1 Valppaan kääntäminen...3 2.2 Valmiiksi

Lisätiedot

Juulin kehittäminen: tilannekatsaus

Juulin kehittäminen: tilannekatsaus Juulin kehittäminen: tilannekatsaus VIRTA-julkaisuyhteyshenkilöiden kokous, 4.11.2016 Jyrki Ilva Juuli-julkaisutietoportaali Juuli-portaali (www.juuli.fi) ollut käytössä kesäkuusta 2013 lähtien Uutta dataa

Lisätiedot

Ohjelmistotekniikan menetelmät, luokkamallin laatiminen

Ohjelmistotekniikan menetelmät, luokkamallin laatiminen 582101 - Ohjelmistotekniikan menetelmät, luokkamallin laatiminen 1 Lähestymistapoja Kokonaisvaltainen lähestymistapa (top-down) etsitään kerralla koko kohdealuetta kuvaavaa mallia hankalaa, jos kohdealue

Lisätiedot

SEPA diary. Dokumentti: SEPA_diary_PK_HS.doc Päiväys: Projekti: AgileElephant Versio: V0.3

SEPA diary. Dokumentti: SEPA_diary_PK_HS.doc Päiväys: Projekti: AgileElephant Versio: V0.3 AgilElephant SEPA Diary Petri Kalsi 55347A Heikki Salminen 51137K Tekijä: Petri Kalsi Omistaja: ElectricSeven Aihe: PK&HS Sivu 1 / 7 Dokumenttihistoria Revisiohistoria Revision päiväys: 29.11.2004 Seuraavan

Lisätiedot

Tenttikysymykset. + UML-kaavioiden mallintamistehtävät

Tenttikysymykset. + UML-kaavioiden mallintamistehtävät Tenttikysymykset 1. Selitä mitä asioita kuuluu tietojärjestelmän käsitteeseen. 2. Selitä kapseloinnin ja tiedon suojauksen periaatteet oliolähestymistavassa ja mitä hyötyä näistä periaatteista on. 3. Selitä

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

Ohjelmointi 1 / syksy /20: IDE

Ohjelmointi 1 / syksy /20: IDE Ohjelmointi 1 / syksy 2007 10/20: IDE Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/8 Tämän luennon rakenne

Lisätiedot

Yhteinen opintohallinnon järjestelmä

Yhteinen opintohallinnon järjestelmä Yhteinen opintohallinnon järjestelmä Uudenmuotoiset yliopistot ja tietohallinto, Helsinki 1.2.2008 Sami Hautakangas tietojärjestelmäpäällikkö Valmistelevia vaiheita OPM:n hallinnonalan tietohallintostrategia

Lisätiedot

Kurssin hallinta -työväline

Kurssin hallinta -työväline Kurssin hallinta -työväline Kurssin hallinta -työvälineellä muokataan kursseja A&Ooppimisympäristöalustalla Kurssi koostuu - ohjelmasta (linkit työkaluihin& muihin resursseihin), - materiaaleista, - keskusteluryhmästä,

Lisätiedot

Ohjelmistotuotteen hallinnasta

Ohjelmistotuotteen hallinnasta Ohjelmistotuotteen hallinnasta Luennon tavoitteista Luennon sisällöstä Motivointia Lähteinä: Haikala ja Märijärvi, Ohjelmistotuotanto Royce, Software Project Management, A Unified Framework 1 Tavoitteista

Lisätiedot

Hirviö. Design Patterns

Hirviö. Design Patterns Hirviö SEPA-päiväkirja Design Patterns Anssi Kalliolahti Liia Sarjakoski 8. helmikuuta 2005 1 Sisältö 1 Johdanto 3 2 Menetelmän käytäntöön soveltaminen 3 3 Kokemuksia ja muutoksia 3 3.1 PP..........................................

Lisätiedot

Action Request System

Action Request System Action Request System Manu Karjalainen Ohjelmistotuotantovälineet seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos 25.10.2000 Action Request System (ARS) Manu Karjalainen Ohjelmistotuotantovälineet

Lisätiedot

Tietokannan hallintajärjestelmän (DBMS) palvelut ja rakenne

Tietokannan hallintajärjestelmän (DBMS) palvelut ja rakenne HAAGA-HELIA Heti-09 1 (6) Tietokannan hallintajärjestelmän (DBMS) palvelut ja rakenne Tietovarastotekniikan kehittyminen... 2 Tiedostopohjaiset ratkaisut... 2 Tiedoston palvelut... 3 Tiedostopohjaisten

Lisätiedot

Jokaisella tiedostolla on otsake (header), joka sisältää tiedostoon liittyvää hallintatietoa

Jokaisella tiedostolla on otsake (header), joka sisältää tiedostoon liittyvää hallintatietoa Tietojen tallennusrakenteet Jokaisella tiedostolla on otsake (header), joka sisältää tiedostoon liittyvää hallintatietoa tiedot tiedostoon kuuluvista lohkoista esim. taulukkona, joka voi muodostua ketjutetuista

Lisätiedot

Taitaja 2015 Windows finaalitehtävä

Taitaja 2015 Windows finaalitehtävä Taitaja 2015 Windows finaalitehtävä Tehtäväkuvaus Tehtävänäsi on siirtää, asentaa ja määritellä yrityksen Windows -ratkaisuihin perustuva IT-ympäristö. Käytä salasanaa Qwerty123, jos muuta ei ole pyydetty.

Lisätiedot

Ohjelmistojen mallintaminen. Luento 11, 7.12.

Ohjelmistojen mallintaminen. Luento 11, 7.12. Ohjelmistojen mallintaminen Luento 11, 7.12. Viime viikolla... Oliosuunnittelun yleiset periaatteet Single responsibility eli luokilla vain yksi vastuu Program to an interface, not to concrete implementation,

Lisätiedot

Projektin tilanne. Tavaraliikenteen telematiikka-arkkitehtuuri Liikenne- ja viestintäministeriö

Projektin tilanne. Tavaraliikenteen telematiikka-arkkitehtuuri Liikenne- ja viestintäministeriö Projektin tilanne Tavaraliikenteen telematiikka-arkkitehtuuri Liikenne- ja viestintäministeriö Tehtyä työtä Syksyn mittaan projektiryhmä on kuvannut tavaraliikenteen telematiikkaarkkitehtuurin tavoitetilan

Lisätiedot

8. Kehysarkkitehtuurit

8. Kehysarkkitehtuurit 8. Kehysarkkitehtuurit Johdanto Kehystyypit Esimerkki: Simulointikehyksen malleja Kehyspohjainen ohjelmistokehitys Kehykset ja suunnittelumallit Esimerkkikehys Kehysten toteutuksesta Kehysten etuja ja

Lisätiedot

Avoin lähdekoodi ja hankinnat. JHS-SEMINAARI Avoimet teknologiat haaste ja mahdollisuus 14.5.2008

Avoin lähdekoodi ja hankinnat. JHS-SEMINAARI Avoimet teknologiat haaste ja mahdollisuus 14.5.2008 Avoin lähdekoodi ja hankinnat JHS-SEMINAARI Avoimet teknologiat haaste ja mahdollisuus 13.5.2008 Sisältö: Ohjelmistohankintojen haasteet Hankintalaki ja ohjelmistot Case: toimisto-ohjelmiston hankinta

Lisätiedot

KUNTIEN JA HUS:N ASIAKAS- JA POTILASTIETOJÄRJESTELMÄN HANKINTA

KUNTIEN JA HUS:N ASIAKAS- JA POTILASTIETOJÄRJESTELMÄN HANKINTA KUNTIEN JA HUS:N ASIAKAS- JA POTILASTIETOJÄRJESTELMÄN HANKINTA Tarjouspyyntö Liite 5.3: Järjestelmän ylläpidettävyden arviointi 1 / 5 VERSIOHISTORIA Päivä Versio Kuvaus Tekijä 22.4.15 3.01 Poistettu kotihoito

Lisätiedot

Tietosisällön eheys. Kimmo Janhunen Riskienhallintapäällikkö

Tietosisällön eheys. Kimmo Janhunen Riskienhallintapäällikkö Tietosisällön eheys Kimmo Janhunen kimmo.janhunen@om.fi Riskienhallintapäällikkö Oikeusrekisterikeskuski k 26.11.2014 Esityksen sisältö Tiedon merkitys - tiedon eheyden merkitys Määritelmät Lainsäädäntö

Lisätiedot

10. Tuoterunkoarkkitehtuurit

10. Tuoterunkoarkkitehtuurit 10. Tuoterunkoarkkitehtuurit Johdanto Näkökulmat tuoterunkoihin perustuvaan ohjelmistokehitykseen: liiketoiminta, organisaatio, prosessi, tekninen Tuoterunkojen etuja ja ongelmia 1 Uudelleenkäytt yttö

Lisätiedot

VERKKOTALLENNUS 21.1.2014 OPETUS- JA KULTTUURIMINISTERIÖN KESKUSTELUTILAISUUS

VERKKOTALLENNUS 21.1.2014 OPETUS- JA KULTTUURIMINISTERIÖN KESKUSTELUTILAISUUS VERKKOTALLENNUS 21.1.2014 OPETUS- JA KULTTUURIMINISTERIÖN KESKUSTELUTILAISUUS SISÄLLYS 1. Ratkaisun tavoitteet 2. Oikeudenhaltijan näkökulma 3. Lähettäjäyrityksen näkökulma 4. Verkkotallennuksen tarjoajan

Lisätiedot

Web-palvelu voidaan ajatella jaettavaksi kahteen erilliseen kokonaisuuteen: itse palvelun toiminnallisuuden toteuttava osa ja osa, joka mahdollistaa k

Web-palvelu voidaan ajatella jaettavaksi kahteen erilliseen kokonaisuuteen: itse palvelun toiminnallisuuden toteuttava osa ja osa, joka mahdollistaa k 1 Web-palvelu voidaan ajatella jaettavaksi kahteen erilliseen kokonaisuuteen: itse palvelun toiminnallisuuden toteuttava osa ja osa, joka mahdollistaa ko. toiminnallisuuden hyödyntämisen Web-palveluna.

Lisätiedot

Yksikkötestaus. import org.junit.test; public class LaskinTest public void testlaskimenluonti() { Laskin laskin = new Laskin(); } }

Yksikkötestaus. import org.junit.test; public class LaskinTest public void testlaskimenluonti() { Laskin laskin = new Laskin(); } } Yksikkötestauksella tarkoitetaan lähdekoodiin kuuluvien yksittäisten osien testaamista. Termi yksikkö viittaa ohjelman pienimpiin mahdollisiin testattaviin toiminnallisuuksiin, kuten olion tarjoamiin metodeihin.

Lisätiedot

käyttötapaukset mod. testaus

käyttötapaukset mod. testaus käyttötapaukset Jari Ojasti Nokia email : jari.ojasti@nokia.com puh : 040 5926 312 Kartta hyväksyntä määrittely suunnittelu suunnittelu mod. testaus integrointi sys. testaus Ylläpito koodaus (toteutus)

Lisätiedot

Avoin lähdekoodi hankinnoissa Juha Yrjölä

Avoin lähdekoodi hankinnoissa Juha Yrjölä Avoin lähdekoodi hankinnoissa 9.6.2016 Juha Yrjölä Mitä on avoin lähdekoodi? 1. Lähdekoodi tulee jakaa ohjelmiston mukana tai antaa saataville joko ilmaiseksi tai korkeintaan luovuttamiskulujen hinnalla.

Lisätiedot

Opiskelija osaa määritellä ohjelmiston tiedot ja toiminnot, suunnitella ohjelmiston rakenteen ja laatia ohjelmiston teknisen spesifikaation.

Opiskelija osaa määritellä ohjelmiston tiedot ja toiminnot, suunnitella ohjelmiston rakenteen ja laatia ohjelmiston teknisen spesifikaation. 1(7) TYÖSSÄOPPIMINEN JA AMMATTIOSAAMISEN NÄYTTÖ Tutkinnon osa: Ohjelmiston prototyypin toteuttaminen 30 osp Tavoitteet: Opiskelija osaa määritellä ohjelmiston tiedot ja toiminnot, suunnitella ohjelmiston

Lisätiedot

POLKU LUOKKAKAAVIOISTA TAULUJEN TOTEUTUKSEEN

POLKU LUOKKAKAAVIOISTA TAULUJEN TOTEUTUKSEEN POLKU LUOKKAKAAVIOISTA TAULUJEN TOTEUTUKSEEN KIRJAN HOVI, HUOTARI, LAHDENMÄKI: TIETOKANTOJEN SUUNNITTELU & INDEKSOINTI DOCENDO (2003, 2005) LUKU 7 JOUNI HUOTARI & ARI HOVI IIO30100 TIETOKANTOJEN SUUNNITTELU

Lisätiedot

Ohar-ATAM pikaisesti. Ohjelmistoarkkitehtuurit 2009

Ohar-ATAM pikaisesti. Ohjelmistoarkkitehtuurit 2009 Ohar-ATAM pikaisesti Ohjelmistoarkkitehtuurit 2009 Aikataulu Tämä Ohar-ATAM esittely otsikkotasolla(~5min) Arkkitehtuurin esittely (~40min), arvioiva ryhmä esittää kysymyksiä Arkkitehtuurilähestymistavat,

Lisätiedot

Sovellusarkkitehtuurit

Sovellusarkkitehtuurit HELIA TiKo-05 1 (9) Sovellusarkkitehtuurit ODBC (Open Database Connectivity)... 2 JDBC (Java Database Connectivity)... 5 Middleware... 6 Middleware luokittelu... 7 Tietokanta -middleware... 8 Tapahtumamonitorit

Lisätiedot

Ohjelmistotekniikan menetelmät, toteutuksesta ja testauksesta

Ohjelmistotekniikan menetelmät, toteutuksesta ja testauksesta 582101 - Ohjelmistotekniikan menetelmät, toteutuksesta ja testauksesta 1 Toteutuksesta ja testauksesta Suunnitteluprosessista Tarkan tason luokkasuunnittelu Siirtyminen UML-kaavioista Java-toteutukseen

Lisätiedot

Ohjelmistotekniikan menetelmät, arkkitehtuuria ja rajapintoja

Ohjelmistotekniikan menetelmät, arkkitehtuuria ja rajapintoja 582101 - Ohjelmistotekniikan menetelmät, arkkitehtuuria ja rajapintoja 1 Arkkitehtuurisuunnittelu Ohjelmistoarkkitehtuurin määritelmä & arkkitehtuurisuunnittelun lähtökohta ja tavoitteet Kerrosarkkitehtuuri

Lisätiedot

Toiminnalliset ja ei-toiminnalliset vaatimukset Tunnus (ID) Vaatimus Vaatimuksen

Toiminnalliset ja ei-toiminnalliset vaatimukset Tunnus (ID) Vaatimus Vaatimuksen Vaatimusluettelo versio 0.17 Toiminnalliset ja ei-toiminnalliset vaatimukset Tunnus (ID) Vaatimus Vaatimuksen Yleiset vaatimukset 1 Koodistopalvelujärjestelmä on selainkäyttöinen 2 Käyttöliittymän tulee

Lisätiedot

Tietotuen suunnittelu hoitolinjojen sairaalassa

Tietotuen suunnittelu hoitolinjojen sairaalassa Tietotuen suunnittelu hoitolinjojen sairaalassa Kaarina Tanttu, VSSHP, T- Pro hanke VARSINAIS-SUOMEN SAIRAANHOITOPIIRI kaarina.tanttu@tyks.fi HOSPITAL DISTRICT OF VARSINAIS-SUOMI Hoitolinjojen sairaalan

Lisätiedot

Ohjelmiston kuvakkeiden kuvaus

Ohjelmiston kuvakkeiden kuvaus Ohjelmiston kuvakkeiden kuvaus Aliro-ohjelmiston kuvakkeiden esittely kattaa kaikki ohjelmistossa käytettävät kuvakkeet. Esittelyn avulla tunnistat helposti kuvakkeet ja niiden kautta käytettävät toiminnot.

Lisätiedot

TIETOKANNAN SUUNNITTELU

TIETOKANNAN SUUNNITTELU TIETOKANNAN SUUNNITTELU HOVI, HUOTARI, LAHDENMÄKI: TIETOKANTOJEN SUUNNITTELU & INDEKSOINTI DOCENDO (2003, 2005) LUKU 2 JOUNI HUOTARI & ARI HOVI TIETOJEN MALLINNUS TIETOJEN MALLINNUKSESTA TIETOKANTAAN Käsiteanalyysin

Lisätiedot

KITT2, uusi tieteellisten kirjastojen yhteistilastotietokanta

KITT2, uusi tieteellisten kirjastojen yhteistilastotietokanta KITT2, uusi tieteellisten kirjastojen yhteistilastotietokanta Asiantuntijaseminaari Helsinki 26.11.2013 Markku Laitinen, Kansalliskirjasto Tieteellisten kirjastojen yhteistilasto (KITT) KITT = Kirjastotilastotietokanta

Lisätiedot

Tämä dokumentti sisältää kenttäkohtaiset ohjeet WS1 Sinfokseen lisätyistä Synkka-tuotetietopankin pakollisista kentistä

Tämä dokumentti sisältää kenttäkohtaiset ohjeet WS1 Sinfokseen lisätyistä Synkka-tuotetietopankin pakollisista kentistä Ohjeen sisältö: Tämä dokumentti sisältää kenttäkohtaiset ohjeet WS1 Sinfokseen lisätyistä Synkka-tuotetietopankin pakollisista kentistä 1. Pakolliset Synkka-tuotetietopankin kentät, joista annetaan varoitus

Lisätiedot

Tietotekniikan Sovellusprojektit

Tietotekniikan Sovellusprojektit Tietotekniikan Sovellusprojektit Jukka-Pekka Santanen Tietotekniikan laitos 16.2.2010 Tavoitteena taitoja ja kokemusta projektimuotoisesta työtavasta ja ryhmätyöstä, projektin hallinnasta ja johtamisesta,

Lisätiedot

Standardi IEC Ohjelmisto

Standardi IEC Ohjelmisto Sundcon Oy Standardi IEC 61508 3 Ohjelmisto muutokset Matti Sundquist Sundcon Oy www.sundcon.fi Standardi IEC 61508 3 (1) Standardissa di esitetään vaatimukset niiden tietojen ja menettelytapojen valmisteluun,

Lisätiedot

Avoimen ja yhteisen rajapinnan hallintasuunnitelma v.1.4

Avoimen ja yhteisen rajapinnan hallintasuunnitelma v.1.4 Avoimen ja yhteisen rajapinnan hallintasuunnitelma v.1.4 Tämän esityksen sisältö tausta avoimet toimittajakohtaiset rajapinnat (toimittajan hallitsemat rajapinnat) avoimet yhteiset rajapinnat (tilaajan

Lisätiedot

9. Ohjelmistoarkkitehtuurien arviointi

9. Ohjelmistoarkkitehtuurien arviointi 9. Ohjelmistoarkkitehtuurien arviointi Johdanto ATAM-menetelmä Esimerkki Käytännön kokemuksia ja ongelmia Yhteenveto Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 1 Mitä on ohjelmistoarkkitehtuurin

Lisätiedot

TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö

TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö Tekijät: Eemeli Honkonen Joni Metsälä Työ palautettu: SISÄLLYSLUETTELO: 1 SEMINAARITYÖN KUVAUS... 3 2 TIETOKANTA... 3 2.1 MITÄ TIETOKANNAT SITTEN OVAT?... 3

Lisätiedot

TILINPÄÄTÖS 2015 JA NÄKYMÄT

TILINPÄÄTÖS 2015 JA NÄKYMÄT TILINPÄÄTÖS 2015 JA NÄKYMÄT Petri Kairinen, CEO 17.2.2016 17.2.16 Nixu 2016 1 KASVUSTRATEGIA ETENI. NIXU LAAJENTUI KANSAINVÄLISESTI JA KÄYNNISTI UUSIA SKAALAUTUVIA PALVELUITA 17.2.16 Nixu 2016 2 Hyvä kasvu

Lisätiedot

VYPEdit verkkosivualusta SVY-toimijoille

VYPEdit verkkosivualusta SVY-toimijoille VYPEdit verkkosivualusta SVY-toimijoille www.vy.fi/admin/vypedit TieVie 26.8.2005 Hely Lahtinen VypEdit sisällönhallintajärjestelmällä voi www.vy.fi/admin/vypedit tuottaa ja ylläpitää www-sivustoja SVY:n

Lisätiedot

Ohjelmistoarkkitehtuurit. Syksy 2007

Ohjelmistoarkkitehtuurit. Syksy 2007 Ohjelmistoarkkitehtuurit Syksy 2007 Kai Koskimies 1 Tervetuloa Tampereen yliopisto, Teknillinen korkeakoulu, Turun yliopisto 2 Kurssin tavoitteet Arkkitehtuuritason peruskäsitteiden ymmärtäminen Arkkitehtuurien

Lisätiedot

Toiminnallinen turvallisuus

Toiminnallinen turvallisuus Toiminnallinen turvallisuus Mitä uutta standardeissa IEC 61508 Tekn.lis. Matti Sundquist, Sundcon Oy www.sundcon.fi matti.sundquist@sundcon.fi Mitä uutta standardeissa IEC 61508-1 ja -4? IEC 61508-1 (yleistä):

Lisätiedot

tsoft Tarkastusmenettelyt ja katselmukset Johdanto Vesa Tenhunen 4.2.2004

tsoft Tarkastusmenettelyt ja katselmukset Johdanto Vesa Tenhunen 4.2.2004 Tarkastusmenettelyt ja katselmukset tsoft Vesa Tenhunen 4.2.2004 http://cs.joensuu.fi/tsoft/ Johdanto Yksi tärkeimmistä tekijöistä laadukkaiden ohjelmistojen tuottamisessa on puutteiden aikainen havaitseminen

Lisätiedot

Kuntasektorin asianhallinnan viitearkkitehtuuri 1.0. Kuntamarkkinat Tuula Seppo, erityisasiantuntija

Kuntasektorin asianhallinnan viitearkkitehtuuri 1.0. Kuntamarkkinat Tuula Seppo, erityisasiantuntija Kuntasektorin asianhallinnan viitearkkitehtuuri 1.0 Kuntamarkkinat 14.9.2016 Tuula Seppo, erityisasiantuntija Kuntasektorin asianhallinnan viitearkkitehtuuri 1.0 Hallinnon toimintatapojen digitalisointi

Lisätiedot

Ohjelmistojen laadun parantaminen refaktoroinnilla Simo Mäkinen Tietojenkäsittelytieteen laitos Helsingin yliopisto

Ohjelmistojen laadun parantaminen refaktoroinnilla Simo Mäkinen Tietojenkäsittelytieteen laitos Helsingin yliopisto Ohjelmistojen laadun parantaminen refaktoroinnilla Simo Mäkinen Tietojenkäsittelytieteen laitos Helsingin yliopisto Mäkinen / Ohjelmistojen laadun parantaminen / Ohjelmistoprosessit ja ohjelmistojen laatu

Lisätiedot