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

Osittavat arkkitehtuurityylit. Palveluihin perustuvat arkkitehtuurityylit. Erikoisarkkitehtuurityylit

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

Lisätiedot

6. Arkkitehtuurityylit

6. Arkkitehtuurityylit 6. Arkkitehtuurityylit Osittavat arkkitehtuurityylit Kerrosarkkitehtuurit (rakenteen ositus) Tietovuoarkkitehtuurit (toiminnan ositus) Palveluihin perustuvat arkkitehtuurityylit Asiakas-palvelin arkkitehtuurit

Lisätiedot

Viestinvälitysarkkitehtuurit

Viestinvälitysarkkitehtuurit Viestinvälitysarkkitehtuurit Lähtökohta: Järjestelmä koostuu keskenään kommunikoivista komponenteista, mahdollisesti hajautettuja Komponenttien palveluja ei tiedetä tarkasti etukäteen Komponentteja ja

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

6. Arkkitehtuurityylit

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

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

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

7 Viestipohjaisten yritysjärjestelmien suunnittelumallit

7 Viestipohjaisten yritysjärjestelmien suunnittelumallit 7 Viestipohjaisten yritysjärjestelmien suunnittelumallit Hohpe G., Woolf B.: Enterprise Integration Patterns. Addison-Wesley 2004. Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 1 Viestinvälitykseen

Lisätiedot

Viestinvälitysarkkitehtuurit Lähtökohta:

Viestinvälitysarkkitehtuurit Lähtökohta: 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

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

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

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

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

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 Konnektorit ohjelmistoarkkitehtuurissa 18.9.2012 1 Konnektorit (connectors) Konnektori (connector) (liitos) Arkkitehtuurielementti, jonka tehtävänä on mahdollistaa ja hallita komponenttien

Lisätiedot

Ylläpito. Ylläpidon lajeja

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

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

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

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

Järjestelmäarkkitehtuuri (TK081702) Web Services. Web Services Järjestelmäarkkitehtuuri (TK081702) Standardoidutu tapa integroida sovelluksia Internetin kautta avointen protokollien ja rajapintojen avulla. tekniikka mahdollista ITjärjestelmien liittämiseen yrityskumppaneiden

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

10. Muunneltavuuden hallinta: variaatiopisteet

10. Muunneltavuuden hallinta: variaatiopisteet 10. Muunneltavuuden hallinta: variaatiopisteet Muunneltavuuden hallinta (Variability management): Tekniikat ja työtavat, jotka auttavat kuvaamaan, toteuttamaan ja hyödyntämään ohjelmistotuotteiden variaatiota.

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

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1 3. Komponentit ja rajapinnat 3.1 Komponenttien idea: ohjelmistotuotannon rationalisointi 3.2 Mikä on ohjelmistokomponentti? 3.3 Komponentit ohjelmistoyksikköinä 3.4 Rajapinnat 3.6 Komponenttien räätälöinti

Lisätiedot

9. Muunneltavuuden hallinta

9. Muunneltavuuden hallinta 9. Muunneltavuuden hallinta Muunneltavuuden hallinta (Variability management): Tekniikat ja työtavat, jotka auttavat kuvaamaan, toteuttamaan ja hyödyntämään tuoterungon mahdollistamaa ohjelmistotuotteiden

Lisätiedot

Ohjelmistoarkkitehtuurit. Kevät 2014 Kertausta

Ohjelmistoarkkitehtuurit. Kevät 2014 Kertausta Ohjelmistoarkkitehtuurit Kevät 2014 Kertausta Samuel Lahtinen http://www.cs.tut.fi/~ohar/ 1 Sisältöä Hieman uutta asiaa/kertausta harjoitustöiden pohjalta Kurssin avainasioiden pikakelaus Tentin rakennetta,

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

812347A Olio-ohjelmointi, 2015 syksy 2. vsk. IX Suunnittelumallit Proxy, Factory Method, Prototype ja Singleton

812347A Olio-ohjelmointi, 2015 syksy 2. vsk. IX Suunnittelumallit Proxy, Factory Method, Prototype ja Singleton 2015 syksy 2. vsk IX Suunnittelumallit Proxy, Factory Method, Prototype ja Singleton Sisältö 1. Johdanto luontimalleihin 2. Proxy 3. Factory Method 4. Prototype 5. Singleton Suunnittelumallit Proxy et.

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

Sisällys. Ratkaisumallien historia. Ratkaisumalli. Ratkaisumalli [2] Esimerkki: Composite [2] Esimerkki: Composite. Jaakko Vuolasto 25.1.

Sisällys. Ratkaisumallien historia. Ratkaisumalli. Ratkaisumalli [2] Esimerkki: Composite [2] Esimerkki: Composite. Jaakko Vuolasto 25.1. Sisällys Ratkaisumallien historia Jaakko Vuolasto 25.1.2001! Ratkaisumalli! Christopher Alexander! Ohjelmistotuotannosta arkkitehtuuriin! Henkilöhistoriaa! Ensimmäisiä käyttökokemuksia! Yhteenveto 25.1.2001

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

ADE Oy Hämeen valtatie 144 20540 TURKU. Tuotekonfigurointi. ADE Oy Ly Tunnus: 1626957-3

ADE Oy Hämeen valtatie 144 20540 TURKU. Tuotekonfigurointi. ADE Oy Ly Tunnus: 1626957-3 Tuotekonfigurointi ADE Oy lyhyesti Asiakkaiden tarpeisiin suunnattua innovatiivista ja toimivaa ohjelmisto- ja 3d animaatiopalvelua. Ade Oy on toteuttanut vuodesta 2000 alkaen haastavaa interaktiivista

Lisätiedot

Palveluperustaiset arkkitehtuurityylit

Palveluperustaiset arkkitehtuurityylit Palveluperustaiset arkkitehtuurityylit Mukana palvelun tarjoajia ja palvelun käyttäjiä Perusajatuksena tyypillisesti tarjota johonkin resurssiin liittyviä palveluita 1 Asiakas-palvelin -arkkitehtuurit

Lisätiedot

3. Käsiteanalyysi ja käsitekaavio

3. Käsiteanalyysi ja käsitekaavio 3. Käsiteanalyysi ja käsitekaavio lehtori Pasi Ranne Metropolia ammattikorkeakoulu E-mail: pasi.ranne@metropolia.fi sivu 1 Käsiteanalyysi Selvitetään mitä tietokantaan pitää tallentaa Lähtökohtana käyttäjien

Lisätiedot

Ohjelmistojen mallinnus Ohjelmistoarkkitehtuuri Harri Laine 1

Ohjelmistojen mallinnus Ohjelmistoarkkitehtuuri Harri Laine 1 Ohjelmistojen mallinnus Ohjelmistoarkkitehtuuri 2 28.11.2008 Harri Laine 1 Ohjelmistoarkkitehtuuri Rajapinta UML:ssä piirteiden (attribuuttien ja operaatioiden) kokoelma, josta ei voi suoraan luoda ilmentymiä

Lisätiedot

Ohjelmistoarkkitehtuurit kevät

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

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

10. Muunneltavuuden hallinta: variaatiopisteet

10. Muunneltavuuden hallinta: variaatiopisteet Ohjelmistoarkkitehtuurit Kevät 2012-2013 Johannes Koskinen http://www.cs.tut.fi/~ohar/ 1 10. Muunneltavuuden hallinta: variaatiopisteet Muunneltavuuden hallinta (Variability management): Tekniikat ja työtavat,

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

12. Kehysarkkitehtuurit

12. Kehysarkkitehtuurit 12. Kehysarkkitehtuurit Johdanto Kehystyypit Kehysten osittaminen Kehykset ja suunnittelumallit Kehysten etuja ja ongelmia Yhteenvetoa Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 1 Johdanto

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

1.3 Katsaus ohjelmistotuotannon kehittymiseen

1.3 Katsaus ohjelmistotuotannon kehittymiseen Yleisiä asioita Oliokirja:http://www.cs.tut.fi/~kk/Ohjelmistoarkkitehtuuri.pdf Tenttipäivä 7.5. Tallennukset, jospas tänään onnistaisi Viikkoharkat löytyvät IDLEstä (TTY), kurssin kotisivuilta/paikallisilta

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

Arkkitehtuurien tutkimus Outi Räihä. OHJ-3200 Ohjelmistoarkkitehtuurit. Darwin-projekti. Johdanto

Arkkitehtuurien tutkimus Outi Räihä. OHJ-3200 Ohjelmistoarkkitehtuurit. Darwin-projekti. Johdanto OHJ-3200 Ohjelmistoarkkitehtuurit 1 Arkkitehtuurien tutkimus Outi Räihä 2 Darwin-projekti Darwin-projekti: Akatemian rahoitus 2009-2011 Arkkitehtuurisuunnittelu etsintäongelmana Geneettiset algoritmit

Lisätiedot

Kanta. Potilastiedon arkiston arkistonhoitajan opas

Kanta. Potilastiedon arkiston arkistonhoitajan opas Käyttöohje 1 (10) Kanta Potilastiedon arkiston arkistonhoitajan opas Tämä dokumentti on terveydenhuollon palvelujenantajien (rekisterinpitäjien) arkistonhoitajille tarkoitettu ohje. Ohjeessa kuvataan arkistonhoitajan

Lisätiedot

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1 1 Johdanto 1.1 Mikä on ohjelmistoarkkitehtuuri? 1.2 Katsaus ohjelmistotuotannon kehittymiseen 1.3 Ohjelmistoarkkitehtuuri ja ohjelmistokehitysprosessi 1.4 Toteutusalustan arkkitehtuurin rooli 1.5 Yhteenvetoa

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

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

Järjestelmäarkkitehtuuri (TK081702) Avoimet web-rajapinnat

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

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

Muunneltavuuden hallinta (Variability management):

Muunneltavuuden hallinta (Variability management): 11. Muunneltavuuden hallinta Muunneltavuuden hallinta (Variability management): Tekniikat ja työtavat, jotka auttavat kuvaamaan, toteuttamaan ja hyödyntämään ohjelmistotuotteiden variaatiota. Ohjelmistoarkkitehtuurit

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

Tiedonlouhinta rakenteisista dokumenteista (seminaarityö)

Tiedonlouhinta rakenteisista dokumenteista (seminaarityö) Tiedonlouhinta rakenteisista dokumenteista (seminaarityö) Miika Nurminen (minurmin@jyu.fi) Jyväskylän yliopisto Tietotekniikan laitos Kalvot ja seminaarityö verkossa: http://users.jyu.fi/~minurmin/gradusem/

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

Integrointi. Ohjelmistotekniikka kevät 2003

Integrointi. Ohjelmistotekniikka kevät 2003 Integrointi Ohjelmistotekniikka kevät 2003 ERP (Toiminnanohjausjärjestelmä) Myynti Henkilöstö, palkanlaskenta Kirjanpito Myynti Myyjät Extranet Tietovarasto Laskutus, reskontrat Asiakas ERP Asiakasrekisteri

Lisätiedot

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

Hieman lisää malleista ja niiden hyödyntämisestä Hieman lisää malleista ja niiden hyödyntämisestä Ohjelmistojen mallintaminen Kesä 2012 (Avoin yliopisto) Toni Ruokolainen, 23.8.2012 Mallit Mallit ovat todellisuuden abstraktioita, jotka on muodostettu

Lisätiedot

Ohjelmistotuotanto. Luento 9 23.4.2012

Ohjelmistotuotanto. Luento 9 23.4.2012 Ohjelmistotuotanto Luento 9 23.4.2012 Lisää suunnittelumalleja Olion rikastaminen dekoraattorilla Joskus eteen tulee tarve lisätä olioon jotain ekstraominaisuuksia, pitäen kuitenkin olio sellaisena että

Lisätiedot

ELM GROUP 04. Teemu Laakso Henrik Talarmo

ELM GROUP 04. Teemu Laakso Henrik Talarmo ELM GROUP 04 Teemu Laakso Henrik Talarmo 23. marraskuuta 2017 Sisältö 1 Johdanto 1 2 Ominaisuuksia 2 2.1 Muuttujat ja tietorakenteet...................... 2 2.2 Funktiot................................

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

Sisäänrakennettu tietosuoja ja ohjelmistokehitys

Sisäänrakennettu tietosuoja ja ohjelmistokehitys Sisäänrakennettu tietosuoja ja ohjelmistokehitys Petri Strandén 14. kesäkuuta, 2018 Petri Strandén Manager Cyber Security Services Application Technologies Petri.stranden@kpmg.fi Petri vastaa KPMG:n Technology

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

Koodimalli Code Model

Koodimalli Code Model Koodimalli Code Model Luento 6 10.10.2017 CSM14101 Ohjelmistoarkkitehtuurit 1 Oppimistavoitteet Koodimalli Arkkitehtuurisuunnittelun ja implementaation välinen kuilu ja sen hallitseminen Arkkitehtuuria

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

OHJ-3010 Ohjelmistotuotannon perusteet. Ohjelmistoprojektin hallinta

OHJ-3010 Ohjelmistotuotannon perusteet. Ohjelmistoprojektin hallinta OHJ-3010 Ohjelmistotuotannon perusteet Ohjelmistoprojektin hallinta 1 Sisältö Projektiorganisaatio ja sidosryhmät Ohjelmistoprojektin kulku Projektin suunnittelu Ositus Osallistujat Työmäärän arviointi

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

RECO irtaimiston- ja omaisuuden hallinta

RECO irtaimiston- ja omaisuuden hallinta ACCO kulunohjaus APPARATUS sanomavälitys RECO irtaimiston- ja omaisuuden hallinta 20.8.2014 Oy Santa Margarita SA Santa Margarita Oy ICT-ratkaisut Operatiiviset järjestelmät Mittausjärjestelmät Logistiikka

Lisätiedot

Mikkelin sähköisen asioinnin alusta - päätöksenteko. Kalle Launiala / ProtonIT Oy kalle.launiala@protonit.net +358 44 5575665

Mikkelin sähköisen asioinnin alusta - päätöksenteko. Kalle Launiala / ProtonIT Oy kalle.launiala@protonit.net +358 44 5575665 Mikkelin sähköisen asioinnin alusta - päätöksenteko Kalle Launiala / ProtonIT Oy kalle.launiala@protonit.net +358 44 5575665 Esityksen osat Hankemallista jatkuvaan ylläpitoon Etenemisehdotus sidosryhmien

Lisätiedot

Fiksumpi käyttöliittymä kuntaan. Miten kuntien tietojärjestelmät saadaan palvelemaan kuntalaisia? LapIT-päivät 2015

Fiksumpi käyttöliittymä kuntaan. Miten kuntien tietojärjestelmät saadaan palvelemaan kuntalaisia? LapIT-päivät 2015 Fiksumpi käyttöliittymä kuntaan Miten kuntien tietojärjestelmät saadaan palvelemaan kuntalaisia? LapIT-päivät 2015 Otso Kivekäs 20.8.2015 Otso Kivekäs+ Codento Kehittämispäällikkö, kunta-alan projektit

Lisätiedot

Pikaopas. Ohjeiden etsiminen Hae ohjesisältöä napsauttamalla kysymysmerkkiä.

Pikaopas. Ohjeiden etsiminen Hae ohjesisältöä napsauttamalla kysymysmerkkiä. Pikaopas Microsoft Access 2013 näyttää erilaiselta kuin aiemmat versiot. Tämän oppaan avulla pääset alkuun nopeasti ja saat yleiskuvan uusista ominaisuuksista. Näyttökoon muuttaminen tai tietokannan sulkeminen

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

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 Syksy 2009 TTY Ohjelmistotekniikka 1

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1 2 Ohjelmistoarkkitehtuurien kuvaus 2.1 Arkkitehtuurin kuvaukseen liittyvät käsitteet 2.2 Arkkitehtuurikuvaukset eri tasoilla 2.3 Arkkitehtuurinäkökulmat ja kuvaustyypit 2.4 Arkkitehtuuriviipaleiden kuvaus

Lisätiedot

Harjoitustehtävät viikolle 42

Harjoitustehtävät viikolle 42 Harjoitustehtävät viikolle 42 1. Suunnittele pieni työkaluohjelma, joka laskee keskiarvon lukujoukosta. Käyttöliittymä koostuu perusikkunan lisäksi yhdestä valikosta, jossa on kaksi komentoa: Start (aloita

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

Tarjolla tänää: Ohjelmiston toteutuksesta. Kuinka tulla hyväksi ohjelmoijaksi? CRC-kortit. Testilähtöinen kehittäminen JOT2007. Uudelleenrakentaminen

Tarjolla tänää: Ohjelmiston toteutuksesta. Kuinka tulla hyväksi ohjelmoijaksi? CRC-kortit. Testilähtöinen kehittäminen JOT2007. Uudelleenrakentaminen Tarjolla tänää: Ohjelmiston toteutuksesta JOT2007 CRC-kortit Testilähtöinen kehittäminen Uudelleenrakentaminen Voisiko ohjelmointi olla sittenkin suunnittelua? Kuinka tulla hyväksi ohjelmoijaksi? CRC-kortit

Lisätiedot

3. Komponentit ja rajapinnat

3. Komponentit ja rajapinnat 3. Komponentit ja rajapinnat 3.1 Komponenttien idea: ohjelmistotuotannon rationalisointi 3.2 Mikä on ohjelmistokomponentti? 3.3 Komponentit ohjelmistoyksikköinä 3.4 Rajapinnat 3.6 Komponenttien räätälöinti

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

Ohjelmistoarkkitehtuurit. Syksy 2008

Ohjelmistoarkkitehtuurit. Syksy 2008 Ohjelmistoarkkitehtuurit Syksy 2008 Kai Koskimies 1 Tervetuloa Kuopion yliopisto, Oulun yliopisto, Tampereen yliopisto, Teknillinen korkeakoulu, Turun yliopisto, Vaasan yliopisto, Tampereen teknillinen

Lisätiedot

Muutamia peruskäsitteitä

Muutamia peruskäsitteitä Muutamia peruskäsitteitä Huom. 1: nämä peruskäsitteet eivät muodosta hyvin määriteltyä keskenään yhteensopivien käsitteiden joukkoa, vaan käsitteet ovat osittain päällekkäisiä ja eri yhteyksissä niillä

Lisätiedot

Yhteentoimivuusalusta: Miten saadaan ihmiset ja koneet ymmärtämään toisiaan paremmin?

Yhteentoimivuusalusta: Miten saadaan ihmiset ja koneet ymmärtämään toisiaan paremmin? Yhteentoimivuusalusta: Miten saadaan ihmiset ja koneet ymmärtämään toisiaan paremmin? Avoin verkkoalusta ihmisen ja koneen ymmärtämien tietomääritysten tekemiseen Riitta Alkula 20.3.2019 Esityksen sisältö

Lisätiedot

XPages käyttö ja edut Jarkko Pietikäinen toimitusjohtaja, Netwell Oy

XPages käyttö ja edut Jarkko Pietikäinen toimitusjohtaja, Netwell Oy IBM Collaboration Forum ٨.٣.٢٠١١ XPages käyttö ja edut Jarkko Pietikäinen toimitusjohtaja, Netwell Oy ٢٠١١ IBM Corporation Domino-sovelluskehitys Nopea kehitysympäristö (Rapid application development,

Lisätiedot

TIE-20200 Ohjelmistojen suunnittelu

TIE-20200 Ohjelmistojen suunnittelu TIE-20200 Ohjelmistojen suunnittelu Luento 6: MVC:t ja kumppanit Samuel Lahtinen TIE-20200 Samuel Lahtinen 1 Ajankohtaista Harjoitustyö Versiohallinnan salasanat jne. lähetetty, ota yhteyttä, jos on kadoksissa

Lisätiedot

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

TIEDONHALLINTA - SYKSY Luento 7. Pasi Ranne /10/17 Helsinki Metropolia University of Applied Sciences TIEDONHALLINTA - SYKSY 2017 Kurssikoodi: Saapumisryhmä: Luento 7 TX00CN57-3001 TXQ16ICT, TXQ16S1 ja TXQ16PROS Pasi Ranne 02.10.2017 1/10/17 Helsinki Metropolia University of Applied Sciences 1 Tietokannan

Lisätiedot

ITK130 Ohjelmistojen luonne

ITK130 Ohjelmistojen luonne ITK130 Ohjelmistojen luonne Luennon sisältö Ohjelmistotekniikka ja vaatimukset Ohjelmistotuote Ei-toiminnallisten vaatimusten luokittelu Sisäiset ja ulkoiset vaatimukset Oikeellisuus Luotettavuus Kestävyys

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

EUREFin vaikutukset organisaatioiden tietojärjestelmiin

EUREFin vaikutukset organisaatioiden tietojärjestelmiin EUREFin vaikutukset organisaatioiden tietojärjestelmiin EUREF-päivä 4.9.2012 ALEKSI LESKINEN Sisältö Tietojärjestelmät ja EUREF Keskeiset haasteet EUREF-muunnoksissa EUREF-muunnosprosessin vaiheet Yhteenveto

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

Suomen avoimien tietojärjestelmien keskus COSS ry

Suomen avoimien tietojärjestelmien keskus COSS ry Viisaat hankinnat: Avoimuudet uusissa JIT 2015 -ehdoissa JulkICTLab-seminaari 20.11.2015 Martin von Willebrand, puheenjohtaja Avoin arkkitehtuuri Luo jäsenien menestystarinoita avoimilla ratkaisuilla Avoimet

Lisätiedot

Visual Case 2. Miika Kasnio (C9767) 23.4.2008

Visual Case 2. Miika Kasnio (C9767) 23.4.2008 Visual Case 2 Miika Kasnio (C9767) 23.4.2008 Työn tarkasti: Jouni Huotari 24.4.2008 1 SISÄLTÖ 1. TYÖN LÄHTÖKOHDAT... 2 2. PERUSTIEDOT... 2 3. ASENTAMINEN... 2 4. OMINAISUUDET... 3 4.1. UML-kaaviot... 4

Lisätiedot

Maailma visuaalivalmistajan näkökulmasta

Maailma visuaalivalmistajan näkökulmasta Maailma visuaalivalmistajan näkökulmasta Haasteita ja motivointia projektille Esityksen sisältö Laaja-alaiset tietokannat ja niiden rakentaminen Geospesifinen ja geotyyppinen tietokanta Lähtömateriaaliongelmia

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

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

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

Projektinhallintaa paikkatiedon avulla

Projektinhallintaa paikkatiedon avulla Projektinhallintaa paikkatiedon avulla Tampereen Teknillinen Yliopisto / Porin laitos Teemu Kumpumäki teemu.kumpumaki@tut.fi 25.6.2015 1 Paikkatieto ja projektinhallinta Paikkatiedon käyttäminen projektinhallinnassa

Lisätiedot

Sisäänrakennettu tietosuoja ja ohjelmistokehitys

Sisäänrakennettu tietosuoja ja ohjelmistokehitys Sisäänrakennettu tietosuoja ja ohjelmistokehitys Petri Strandén 8. kesäkuuta, 2018 Agenda Ohjelmistokehitys Ohjelmistokehitys vs. konsultointi Vaatimukset Tietosuoja Tietosuoja ohjelmistokehityksessä kiteytettynä

Lisätiedot

SecGo. Sähköinen allekirjoitus ja sen käyttö. Ari-Pekka Paananen, SecGo VE Oy Director,technology ari-pekka.paananen@secgo.com

SecGo. Sähköinen allekirjoitus ja sen käyttö. Ari-Pekka Paananen, SecGo VE Oy Director,technology ari-pekka.paananen@secgo.com SecGo Sähköinen allekirjoitus ja sen käyttö Ari-Pekka Paananen, SecGo VE Oy Director,technology ari-pekka.paananen@secgo.com Turvallinen Sähköinen Tiedonkulku Tunnistetut käyttäjät tietojärjestelmiin Pääsyoikeudet

Lisätiedot

Agenda. Johdanto Ominaispiirteitä Kokonaisjärjestelmän määrittely Eri alojen edustajien roolit Sulautetut järjestelmät ja sulautettu ohjelmointi

Agenda. Johdanto Ominaispiirteitä Kokonaisjärjestelmän määrittely Eri alojen edustajien roolit Sulautetut järjestelmät ja sulautettu ohjelmointi 1. Luento: Sulautetut Järjestelmät Arto Salminen, arto.salminen@tut.fi Agenda Johdanto Ominaispiirteitä Kokonaisjärjestelmän määrittely Eri alojen edustajien roolit Sulautetut järjestelmät ja sulautettu

Lisätiedot