7. Ohjelmistoarkkitehtuurien arviointi

Koko: px
Aloita esitys sivulta:

Download "7. Ohjelmistoarkkitehtuurien arviointi"

Transkriptio

1 7. Ohjelmistoarkkitehtuurien arviointi Johdanto ATAM-menetelmä Esimerkki Käytännön kokemuksia ja ongelmia Yhteenveto 1

2 Miksi ohjelmistoarkkitehtuuria on arvioitava? Arkkitehtuuri on ensimmäinen täsmällinen kuvaus järjestelmästä Arkkitehtuuri sisältää järjestelmän kannalta kriittisimmät ratkaisut Arkkitehtuurin arviointi auttaa ymmärtämään paremmin järjestelmää Arkkitehtuurilla on vaikutuksia prosesseihin ja organisaatioon 2

3 Milloin ohjelmistoarkkitehtuuri olisi arvioitava? Ensimmäisten (vaihtoehtoisten) luonnosten pohjalta (alustava arkkitehtuuridokumentti) Arkkitehtuurisuunnittelun jälkeen, ennen toteutuksen aloittamista (järjestelmä/alijärjestelmäarkkitehtuuridokumentti) Olemassaolevalle järjestelmälle (esim. vanhan järjestelmän uudistaminen) 3

4 Arkkitehtuurin rakentaminen kehitysprosessissa Laatuvaatimukset Arkkitehtuurin kannalta merkittävät vaatimukset Vaatimusanalyysi Keskeiset toiminnalliset vaatimukset Alustava arkkitehtuuri Alustava arkkitehtuurisuunnittelu Laatuvaatimuksen huomiointi Rajoitteet Toissijaiset toiminnalliset vaatimukset Arkkitehtuurimuunnos ei OK OK Kaikki käsitelty Yksityiskohtainen suunnittelu Arkkitehtuurin katselmointi Arkkitehtuuri 4

5 Arkkitehtuuri ja laatuvaatimukset Arkkitehtuuri määrää miten (useimmat) laatuvaatimukset toteutuvat Arkkitehtuurin kuvauksen täytyy sisältää kaikki se informaatio, joka tarvitaan päättelemään laatuvaatimusten toteutuminen tai toteutumattomuus Arkkitehtuuria arvioidaan (yleensä) vasten laatuvaatimuksia 5

6 Ohjelmistojen laatuominaisuudet Ajoaikaiset laatuominaisuudet Suorituskyky Tilankäyttö Luotettavuus Saatavuus Tietoturvallisuus Käytettävyys Kehitys- ja evoluutioaikaiset laatuominaisuudet: Muunneltavuus Siirrettävyys Ylläpidettävyys Uudelleenkäytettävyys Laatustandardit: esim. ISO

7 ISO 9126 laatukehikko 7

8 Tarkennetut laatuominaisuudet Efficiency Time performance Resource utilization Response time Memory usage Scalability Throughput Maintainability Analyzability Changeability Stability Testability Variability Subsetability Conceptual integrity Traceability Portability Adaptability Installability Co-existence Replaceability Functionality Suitability Accuracy Interoperability Security Data security Access security Safety Reliability Maturity Fault tolerance Recoverability Availability Predictability Usability Understandability Learnability Operability Attractiveness 8

9 Arvioinnin tulokset Ohjelmistoarkkitehtuurin arviointi vastaa tyypillisesti seuraaviin kysymyksiin: 1) Täyttääkö suunniteltu arkkitehtuuri olennaiset laatuvaatimukset? Jos täyttää, miksi? Jos ei täytä, miksi? 2) Mikä vaihtoehtoisista arkkitehtuuriratkaisuista sopii parhaiten järjestelmälle? Miksi? 3) Kuinka hyvin tietty laatuvaatimus voidaan saavuttaa suunnitellulla arkkitehtuurilla? 9

10 Varauksia Arviointi pohjautuu arkkitehtuurin kuvaukseen ja saatavilla olevaan informaatioon Arvioinnin tulosten tarkkuus riippuu lähtötietojen tarkkuudesta Arvioinnissa täytyy olettaa järkevä toteutus, arkkitehtuurin täytyy mahdollistaa järkevä toteutus 10

11 Arvioinnin perusongelma Laatuvaatimukset Arkkitehtuuri Täsmennys Täsmennetyt laatuvaatimukset Vastaavuuden löytäminen Arvioinnin perustana oleva tieto arkkitehtuurista Tiedon louhinta 11

12 Laatuvaatimusten täsmennyst Hyvä suorituskyky, luotettava, hyvä käytettävyys Helposti ylläpidettävä, siirrettävä? Loppukäyttäjä Ylläpitäjä 12

13 Laatuvaatimusten täsmentt smentäminenminen skenaarioilla Skenaario = tilanne tai tapahtumasarja, joka tuo esille jonkin laatuvaatimuksen täyttymisen (jonkin järjestelmän osan kannalta) Skenaario konkretisoi laatuvaatimuksen esimerkillä Skenaarion on oltava riittävän täsmällinen, jotta arkkitehtuuria voidaan arvioida sitä vasten usein tarkkoja lukuarvoja Vrt. perinteinen käyttötapaus toiminnallinen vaatimus Skenaario = arkkitehtuurin testitapaus 13

14 Esimerkki skenaariosta Maintainability Extendability Easy to attach new devices A new sensor is attached Scenario: A new boom position sensor (& driver) for Model XYZ is taken into use in a week Skenaario voi olla käyttötapauksen kaltainen toimintakuvaus, tai ylläpito- tai muutostoimenpide, tai muulla tavoin konkretisoitu ja yksilöity laatuvaatimus, jota vasten arkkitehtuuria voidaan arvioida. Skenaario liittyy aina johonkin yleiseen laatuominaisuuteen. Skenaario voi olla järjestelmän rajoja hakeva tai tulevia mahdollisia muutoksia ennakoiva. 14

15 Tiedon louhinta arkkitehtuurista Asiantuntijoiden näkemykset esim. pääarkkitehti, muita vastaavia järjestelmiä suunnitelleet arkkitehdit ym. Metriikat voidaan käyttää karkeana työkaluna epäilyttävien kohtien löytämiseen (toimii lähinnä ylläpidettävyydelle), edellyttää hyviä työkaluja esim. suuret luokat, paljon riippuvuuksia komponenttien välillä Takaisinmallinnus koodia voidaan abstrahoida takaisinmallinnustyökaluilla, ei tuota varsinaista arkkitehtuurikuvausta vaan analysoi erilaisia riippuvuuksia Simulointi jos on olemassa ajettava malli, voidaan tutkia arkkitehtuurista johtuvaa suorituskykyä, luotettavuutta; edellyttää hyvää työkalua 15

16 Laatuvaatimusten liittäminen arkkitehtuuriin Skenaarioiden läpikäynti arkkitehtuurin kannalta - arkkitehti suorittaa yksin (voi olla osa arkkitehtuurin rakentamista) - tehdään ryhmässä arkkitehdin kanssa (ATAM) arkkitehtuurin valmistuttua Yleisten laatuvaatimus-arkkitehtuuri yhteyksien hyväksi käyttäminen yleiset/järjestelmätyyppikohtaiset tarkistuslistat esim.: onko käyttöliittymäosat erotettu selvästi sovelluslogiikasta? onko kerrosten välillä selvät rajapinnat? onko tietokanta abstrahoitu yleisen rajapinnan taakse? 16

17 Skenaariopohjaiset arviointimenetelmät SAAM (Software Architecture Analysis Method) keskittyy erityisesti muunneltavuuteen, siirrettävyyteen, ylläpidettävyyteen kehitetty SEI:ssä perustuu evoluutioaikaisiin skenaarioihin ATAM (Architecture Tradeoff Analysis Method) soveltuu kaikille laatuominaisuuksille kehitetty SEI:ssä johdettu SAAM:ista MPM (Maintenance Prediction Method) keskittyy ylläpidettävyyteen pyrkii löytämään suht. tarkat kustannusarviot ylläpidolle Jan Bosch:in kehittämä perustuu ylläpitoskenaarioihin 17

18 ATAM (Architecture Tradeoff Analysis Method) Valmistelu Vaihe 1 Esittely Analyysi Vaihe 2 Testaus Raportointi 18

19 ATAM tietovuo Len Bass 19

20 Esittely (Vaihe 1) ATAM prosessi ATAM menetelmän kuvaus ATAMin vaiheet ATAMin tekniikat (skenaariot, laatupuu, jne) Liiketoimintanäkökulma tärkeimmät toiminnallisuudet käyttäjien kannalta liiketoimintatavoitteet taloudelliset, poliittiset yms. rajoitteet Arkkitehtuurin esittely tekniset rajoitteet (kj, ohjelmistoalustat, laitteisto jne.) järjestelmän ulkoiset rajapinnat arkkitehtuurin kuvaus 20

21 Analyysi (Vaihe 1) Arkkitehtuuriratkaisujen identifiointi tunnistetaan ja nimetään käytetyt tyylit, suunnittelumallit ja omat ratkaisut selitetään miten ratkaisuilla oletetaan saavutettavan tietyt laatuvaatimukset Laatupuun rakentaminen tarkennetaan laatuvaatimukset järjestelmäkohtaisella ryhmittelyllä konkretisoidaan kukin tarkennettu laatuvaatimus skenaariolla priorisoidaan skenaariot tärkeyden ja vaikeuden perusteella Arkkitehtuuriratkaisujen analysointi skenaarioiden pohjalta keskitytään tärkeimpiin skenaarioihin kysytään: tekeekö tämä arkkitehtuuri mahdolliseksi skenaarion, miksi? pyritään tunnistamaan riskit, turvalliset ratkaisut, herkkyyskohdat ja tasapainokohdat 21

22 Laatu Suorituskyky Muunneltavuus Saatavuus Tietoturvallisuus laatuominaisuudet Laatupuu Transaktioiden käsittely Vasteaika GUI muutokset Tietokantamuutokset Laitteistoviat Palvelimen kaatuminen Korttien käyttö tarkennukset skenaariot Käsittelee 1000 palvelupyyntöä/sek. (H,M) Käyttäjävarmistus < 1 sek. (H,M) GUI Web-pohjaiseksi 1 kk:ssa (M,H) Tietokanta vaihdetaan Oracleksi 6 kk:ssa (L,H) Kovalevyn hajoamisen jälkeen uusintakäynnistys 5 min:ssa (L,H) Uudelleenkäynnistys palvelimen kaatuessa 5 min:ssa (M,M) Luottokortin tiedot turvassa % (H,L) 22

23 Muunneltavuus Taulukkomuodossa Laatuvaatimus Skenaario Tärkeys Vaikeus Ratkaisutapa Riski analyysi Laatupuun rakentaminen Analyysi 23

24 Esimerkki 24

25 tai tekstinä: Muunneltavuus Käyttöliittymä Kielen vaihtaminen skenaario: kieli vaihdetaan venäjäksi 2 viikossa priorisointi: (H, L) ratkaisu: lokalisointitaulut, Unicode riski: käänteiset lukemisjärjestykset eivät tuettuja GUI:ssa Alustan vaihtaminen skenaario: Web-pohjainen GUI toteutetaan 1 kk:ssa priorisointi: (M, M) ratkaisu: MVC riski: tapahtumapohjainen Web GUI huonosti ymmärretty Tietokanta 25

26 tai perusteellisemmin analysoituna: 26

27 Riskit Riski = potentiaalisesti ongelmallinen arkkitehtuuriratkaisu, joka voi heikentää jotain laatuominaisuutta Riski = ratkaisu/fakta + laatuseuraamus + perustelu Esimerkki: Kriteerit ja säännöt keskimmäisen kerroksen komponenttien tekemiselle ovat epäselvät (ratkaisu/fakta). Tästä voi seurata toiminnallisuuden replikointia eri kerroksissa (perustelu), mikä heikentää ylläpidettävyyttä (laatuseuraamus). 27

28 Riskitön n ratkaisu Turvallinen ratkaisu = arkkitehtuuriratkaisu, jolla on tiedossa (lähinnä) vain hyviä laatuseuraamuksia. Turvallinen ratkaisu = oletus + ratkaisu + laatuseuraamus + perustelu Esimerkki: Olettaen, että komponentit eivät joudu tutkimaan toistensa tilaa (oletus), Tarkkailija-suunnittelumallin käyttö komponenttien välisessä kommunikoinnissa (ratkaisu) parantaa muunneltavuutta (laatuseuraamus), koska komponenttien ei tarvitse tietää toisistaan mitään muuta kuin takaisinkutsu- ja rekisteröintirajapinnat (perustelu). 28

29 Herkkyyskohdat Herkkyyskohta = arkkitehtuuriratkaisu, joka on kriittinen jonkin laatuominaisuuden saavuttamisen kannalta. Esimerkkejä: MVC-mallin käyttö GUI arkkitehtuurissa on olennaista järjestelmän siirrettävyyden kannalta. Abstraktin tehtaan käyttö erilaisten ajurien luomiseen on olennaista järjestelmän muunneltavuuden kannalta. 29

30 Tasapainokohdat Tasapainokohta = herkkyyskohta, joka koskee useaa laatuominaisuutta (yleensä vastakkaisiin suuntiin) Esimerkkejä: Tila-suunnittelumallin käyttö tilakoneen arkkitehtuurissa parantaa muunneltavuutta mutta heikentää suorituskykyä verrattuna suoraan haarautumalauseeseen pohjautuvaan toteutukseen. XML:n käyttö syöttöformaattina parantaa järjestelmän integroitavuutta mutta heikentää sen suorituskykyä. 30

31 Testaus (Vaihe 2) Laatupuun täydentäminen kaikki osapuolet esittävät skenaarioita omilta näkökulmiltaan uudet skenaariot priorisoidaan ja liitetään laatupuuhun vanhat skenaariot vahvistetaan Uusinta-analyysi tärkeimmät skenaariot tarkistetaan vasten arkkitehtuuria mahdolliset uudet riskit tunnistetaan 31

32 Raportointi ATAM:in tulokset: Keskeisten arkkitehtuuriratkaisujen tunnistaminen ja analyysi Olennaisimpien laatuun vaikuttavien käyttö- ja kehitysskenaarioiden tunnistaminen Laatupuu tiiviinä kuvauksena laatuvaatimusten ja arkkitehtuuriratkaisujen yhteydestä Arkkitehtuuriin liittyvien riskien tunnistaminen 32

33 Raportin rakenne (esimerkiksi) 1. Introduction 2. Target System 2.1 Description of the System 2.2 Most Important Architectural Solutions 3. Analyzed Scenarios 3.1 Maintainability 3.2 Reliability 3.3 Efficiency 3.4 Usability 4. Analysis 4.1 General Observations 4.2 Specific Issues 4.3 About the Process 5. Conclusions References Appendix: Complete Scenario List 33

34 Esimerkki: Auton toiminnan monitorointijärjestelm rjestelmä A car control system needs to be extended with a subsystem that collects various kinds of data during the running of the car, to be used for monitoring and service purposes. The control system is based on a CAN-bus. The bus is used to send messages between the components in the system. The monitoring system (called MS) listens to the messages sent along the CAN-bus. It should be possible to add later various kinds of processing capabilities to MS, reading certain kinds of messages, performing arbitrary computation on the basis of the transferred data, possibly storing the computed data on a local database, and sending in certain cases information to a central service station through GSM. For example, MS may collect information about the usage of gears and breaks, about the speed, about engine temperatures, consumption etc. The driver should have access to the collected information through a graphical user interface and activate or passivate certain information collecting services. Since MS is not controlling critical functions, there are no hard real-time requirements. It should be possible to receive monitored information also from external unknown systems, and to receive monitoring requests from such external systems. The system should be easily configurable to various kinds of cars, and it should be possible to upgrade the system at run-time. 34

35 CANBus CANFilter MessageDispatcherIF XMLMsg Message Dispatcher Msg type(): MsgType Component receive(msg) send(msg) register(msgtype,component) BrakeModelIF BrakeViewIF update() Brake- View BrakeController handleevent(event) BrakeState recordusage checkcondition register(view) getstate() setstate() GSMComp sendreport DB 35

36 Analyysi (Vaihe 1) Arkkitehtuuriratkaisujen identifiointi tunnistetaan ja nimetään käytetyt tyylit, suunnittelumallit ja omat ratkaisut selitetään miten ratkaisuilla oletetaan saavutettavan tietyt laatuvaatimukset Esimerkki: Viestinvälitysarkkitehtuuri Komponentit kommunikoivat keskenään viesteillä, jotka välitetään erityisen viestien jakajan (tai viestiväylän) kautta. Selitys Ratkaisu tukee järjestelmän dynaamista laajennettavuutta, koska uusia palveluja ja komponentteja voi ladata järjestelmään ajoaikana. 36

37 Analyysi ( Vaihe 1) Laatupuun rakentaminen tarkennetaan laatuvaatimukset järjestelmäkohtaisella ryhmittelyllä konkretisoidaan kukin tarkennettu laatuvaatimus skenaariolla priorisoidaan skenaariot tärkeyden ja vaikeuden perusteella Keskeiset laatuominaisuudet tässä järjestelmässä: Muunneltavuus Tietoturvallisuus Tarkkuus Suorituskyky Saatavuus 37

38 Tarkennetaan laatuvaatimukset ja annetaan skenaariot Muunneltavuus Laatuvaatimus (tarkennettu) Skenaario Tärkeys Vaikeus Ratkaisutapa Riski analyysi Tiedon muunneltavuus Viestiformaatti muutetaan binääriseksi kuukaudessa (viestioliot) M H CAN-väylän jokin viesti muuttuu tyypiltään H L 38

39 Harjoitus Anna esimerkkijärjestelmälle skenaario, joka liittyy a) tietoturvallisuuteen (security) b) tarkkuuteen (accuracy) c) muunneltavuuteen (modifiability) - XML viestityypin skeeman muuttuminen d) luotettavuus - viallinen CAN-viesti ei kaada järjestelmää - viallinen XML-viesti ei kaada järjestelmää 39

40 Analyysi (Vaihe 1) Arkkitehtuuriratkaisujen analysointi skenaarioiden pohjalta keskitytään tärkeimpiin skenaarioihin kysytään: tekeekö tämä arkkitehtuuri mahdolliseksi skenaarion, miksi? pyritään tunnistamaan riskit, turvalliset ratkaisut, herkkyyskohdat ja tasapainokohdat 40

41 Täydennetään n taulukko Muunneltavuus Laatuvaatimus (tarkennettu) Skenaario Tärkeys Vaikeus Ratkaisutapa Riski analyysi Tiedon muunneltavuus Viestiformaatti muutetaan binääriseksi kuukaudessa (viestioliot) M H Viestirajapinta Riski: Viestien rakentaminen ja tulkinta muuttuu kaikissa komponenteissa. CAN-väylän jokin viesti muuttuu tyypiltään H L CANFilter erottaa CANin monitorijärjestelmästä Ei riskejä 41

42 Testaus (Vaihe 2) Laatupuun täydentäminen kaikki osapuolet esittävät skenaarioita omilta näkökulmiltaan uudet skenaariot priorisoidaan ja liitetään laatupuuhun vanhat skenaariot vahvistetaan Tuotepäällikkö esittää seuraavan skenaarion: On mahdollista, että tulevaisuudessa yritys käyttää autoissaan omaa tiedonsiirtoväylää CANin asemasta tai lisäksi. Siksi järjestelmän tulisi voida lukea tietoa myös muualta kuin CAN-väylältä. => lisätään muunneltavuuskenaario ja priorisoidaan se 42

43 Täydennetään n taulukko Muunneltavuus Laatuvaatimus (tarkennettu) Skenaario Tärkeys Vaikeus Ratkaisutapa Riski analyysi Tiedon muunneltavuus Viestiformaatti muutetaan binääriseksi kuukaudessa (viestioliot) M H Viestirajapinta Riski: Viestien rakentaminen ja tulkinta muuttuu kaikissa komponenteissa CAN-väylän jokin viesti muuttuu tyypiltään H L CANFilter erottaa CANin monitorijärjestelmästä Ei riskejä Otetaan käyttöön uusi väylä H M 43

44 Testaus (Vaihe 2) Uusinta-analyysi tärkeimmät skenaariot tarkistetaan vasten arkkitehtuuria mahdolliset uudet riskit tunnistetaan 44

45 Muunneltavuus Täydennetään n taulukko Laatuvaatimus (tarkennettu) Skenaario Tärkeys Vaikeus Ratkaisutapa Riski analyysi Tiedon muunneltavuus Viestiformaatti muutetaan binääriseksi kuukaudessa (viestioliot) M H Viestirajapinta Riski: Viestien rakentaminen ja tulkinta muuttuu kaikissa komponenteissa CAN-väylän jokin viesti muuttuu tyypiltään H L CANFilter erottaa CANin monitorijärjestelmästä Ei riskejä Otetaan käyttöön uusi tiedon lähde H M Ei tukea Riski: Arkkitehtuuri on kiinteästi sidottu CANiin 45

46 Käytännön n kokemuksia ja ongelmia skenaariopohjaisessa arvioinnissa Arkkitehtuurien arvioinnissa on monia käytännöllisiä ongelmia ja osittain avoimia kysymyksiä: Arviointiprosessin organisointi Oikeiden laatuattribuuttien löytäminen Skenaarioiden tehokas löytäminen Skenaarioiden kattavuus Skenaarioiden priorisointi Skenaarioiden analysointi vasten arkkitehtuuria Analysointityökalujen hyödyntäminen 46

47 Arviointiprosessin organisointi Kysely Kyselyn tulokset Valmistelupalaveri Vaatimussessio Skenaariot Arkkitehtuurisessio Analyysi raportti Katselmointi Laatumallit Vaatimusdokumentit Arkkitehtuuridokumentit 47

48 Oikeiden laatuattribuuttien löytl ytäminen Olemassaolevat laatukehikot (esim. ISO 9126) saattavat olla vähemmän sopivia tietylle yritykselle/järjestelmälle (epärelevantteja laatuominaisuuksia, puuttuvia laatuominaisuuksia) Laatuominaisuudet voivat olla päällekkäisiä (esim. muunneltavuus vs. ylläpidettävyys vs. uudelleenkäytettävyys) Laatuominaisuuksia ei aina ymmärretä samalla tavalla TTY: Laatumalleja käytetään vasta jälkikäteen tarkistusmielessä ja selittämään laatuominaisuuksien merkitys. 48

49 Skenaarioiden tehokas löytl ytäminen Prosessin kriittisin ja vaativin vaihe Analogia: miten löydetään sopivat testitapaukset Vaarat: Skenaariot valitaan henkilöiden omien agendojen mukaan Skenaariot valitaan tukemaan nykyisiä valintoja ja päätöksiä Skenaariot edustavat osallistujien liian kapeaa näkemystä TTY: Skenaariot kehitellään pareittan (yritys, tutkija) edut: tehokkuus, villejä skenaarioita tulee helpommin 49

50 Skenaarioiden kattavuus Miten varmistutaan, että löydetty skenaariojoukko johtaa olennaisten laatuominaisuuksien riittävän kattavaan analysointiin? Mitä tarkoittaa kattava? Esim. oletetaan, että ollaan kiinnostuneita muunneltavuudesta. Mistä tiedetään, että skenaariot kattavat olennaiset asiat muunneltavuudesta? kattaa muunneltavuuden järjestelmän elinkaaren kannalta kattaa muunneltavuuden järjestelmän rakenteen kannalta kattaa muunneltavuuden järjestelmän käytön kannalta kattaa muunneltavuuden jonkin laatuominaisuuskehikon kannalta Käytännössä viimeksi mainittu on yksinkertaisin ja helpoin 50

51 Skenaarioiden priorisointi Tarkoitus: keskitytään olennaisiin laatuasioihin ko. järjestelmän suhteen (rajalliset resurssit analysoinnissa) Mikä on olennaista? olennaista projektin nykytilanteen kannalta olennaista pitkällä tähtäyksellä olennaista jonkin henkilön tai ryhmän omalla agendalla olennaista projektin pitämiseksi valitulla uralla Keillä on äänioikeus? Kaikilla, vai vain yrityksen edustajilla? Usein henkilö äänestää kiinnostavia skenaarioita, ei välttämättä olennaisia Tyypillisesti turvalliset skenaariot saavat paljon ääniä 51

52 Skenaarioiden analysointi vasten arkkitehtuuria Edellyttää kuvitteellisen järjestelmän tai sen evoluution suorittamista Yleensä arkkitehdin ja suunnittelijoiden tehtävä, koska heillä on tarvittava informaatio Nojaa arkkitehdin kykyyn ja motivaatioon tehdä riittävän huolellinen analyysi Ongelmia voi helposti jäädä huomaamatta 52

53 Analysointityökalujen hyödynt dyntäminen Olemassaolevan järjestelmän arkkitehtuuriarvioinnissa voidaan käyttää erilaisia työkaluja (esim. metriikkatyökalut, sääntöjen tarkistustyökalut, visualisointityökalut, riippuvuusanalysaattorit, koodin kopioinnin tarkistajat, takaisinmallinnustyökalut) (esim. Rigi, Columbus) Erityisen hyödyllistä ylläpidettävyyden ja muunneltavuuden analysoinnissa Monet työkalut toimivat koodin perusteella -> ei välttämättä arkkitehtuuritason informaatiota Voidaan hyödyntää skenaariopohjaisessa arvioinnissa esim. hakemalla ja priorisoimalla skenaarioita, jotka kohdistuvat epäilyttäviin osiin järjestelmässä 53

54 Esimerkki (Columbus): metriikat NII = number of incoming invocations 54

55 Esimerkki (Columbus): koodin kopiointi 55

56 Yhteenvetoa Arviointimenetelmät antavat mahdollisuuden kommunikointiin, mikä pitäisi joka tapauksessa jossain vaiheessa tehdä. Arkkitehtuurien arviointia voidaan pitää tavallista syvällisempänä ja systemaattisempana arkkitehtuurin katselmointina. Arkkitehtuurin arviointimenetelmät eivät ole kovin täsmällisiä, ne voidaan (ja on syytäkin) räätälöidä yrityskohtaisesti. Esim. ATAM vaatii ohjeistetussa muodossaan paljon resursseja, mitkä eivät ole aina saatavilla. 56

Ohjelmistoarkkitehtuurit. Kevät

Ohjelmistoarkkitehtuurit. Kevät Ohjelmistoarkkitehtuurit Kevät 2012-2013 Johannes Koskinen http://www.cs.tut.fi/~ohar/ 1 Esimerkki: Auton toiminnan monitorointijärjestelmä A car control system needs to be extended with a subsystem that

Lisätiedot

Ohjelmistoarkkitehtuurit Kevät Johannes Koskinen Esimerkki: Auton toiminnan monitorointijärjestelmä

Ohjelmistoarkkitehtuurit Kevät Johannes Koskinen   Esimerkki: Auton toiminnan monitorointijärjestelmä Ohjelmistoarkkitehtuurit Kevät 2011-2012 Johannes Koskinen http://www.cs.tut.fi/~ohar/ Esimerkki: Auton toiminnan monitorointijärjestelmä A car control system needs to be extended with a subsystem that

Lisätiedot

Esimerkki: Auton toiminnan monitorointijärjestelmä

Esimerkki: Auton toiminnan monitorointijärjestelmä Esimerkki: Auton toiminnan monitorointijärjestelmä A car control system needs to be extended with a subsystem that collects various kinds of data during the running of the car, to be used for monitoring

Lisätiedot

9. Ohjelmistoarkkitehtuurien arviointi

9. Ohjelmistoarkkitehtuurien arviointi 9. Ohjelmistoarkkitehtuurien arviointi Johdanto ATAM menetelmä Esimerkki Yhteenveto 1 Miksi ohjelmistoarkkitehtuuria on arvioitava? Arkkitehtuuri on ensimmäinen täsmällinen kuvaus järjestelmästä Arkkitehtuuri

Lisätiedot

Ohjelmistoarkkitehtuurit kevät

Ohjelmistoarkkitehtuurit kevät Ohjelmistoarkkitehtuurit Kevät 2011-2012 Johannes Koskinen http://www.cs.tut.fi/~ohar/ 9. Ohjelmistoarkkitehtuurien arviointi Johdanto ATAM-menetelmä Esimerkki Käytännön kokemuksia ja ongelmia Yhteenveto

Lisätiedot

Ohjelmistoarkkitehtuurit

Ohjelmistoarkkitehtuurit Ohjelmistoarkkitehtuurit Kevät 2012-2013 Johannes Koskinen http://www.cs.tut.fi/~ohar/ 1 Ohjelmistoarkkitehtuurien arviointi Johdanto ATAM-menetelmä Esimerkki Käytännön kokemuksia ja ongelmia Yhteenveto

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

Ohjelmistoarkkitehtuurien arviointi

Ohjelmistoarkkitehtuurien arviointi Ohjelmistoarkkitehtuurit Kevät 2012-2013 Johannes Koskinen http://www.cs.tut.fi/~ohar/ 1 Ohjelmistoarkkitehtuurien arviointi Johdanto ATAM-menetelmä Esimerkki Käytännön kokemuksia ja ongelmia Yhteenveto

Lisätiedot

Kevät Ohjelmistoarkkitehtuurit 2014

Kevät Ohjelmistoarkkitehtuurit 2014 Ohjelmistoarkkitehtuurit Kevät 2014 http://www.cs.tut.fi/~ohar/ 1 Ohjelmistoarkkitehtuurien arviointi Johdanto ATAM-menetelmä Esimerkki Käytännön kokemuksia ja ongelmia Yhteenveto 2 Mitä on ohjelmistoarkkitehtuurin

Lisätiedot

Kevät 2016 Arkkitehtuurin arviointi, ATAM. Ohjelmistoarkkitehtuurit 2016

Kevät 2016 Arkkitehtuurin arviointi, ATAM.  Ohjelmistoarkkitehtuurit 2016 Ohjelmistoarkkitehtuurit Kevät 2016 Arkkitehtuurin arviointi, ATAM http://www.cs.tut.fi/~ohar/ 1 Ohjelmistoarkkitehtuurien arviointi Johdanto ATAM-menetelmä Esimerkki Käytännön kokemuksia ja ongelmia Yhteenveto

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

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

9. Evaluation of software architectures

9. Evaluation of software architectures 9. Evaluation of software architectures 9.1 Introduction 9.2 ATAM method 9.3 Example 9.4 MPM method 9.5 Summary 1 9.1 Introduction What is "architectural"? System S components, subsystems not "architectural"

Lisätiedot

Suunnitteluratkaisut ja niiden arviointi sulautetuissa järjestelmissä

Suunnitteluratkaisut ja niiden arviointi sulautetuissa järjestelmissä 1 Suunnitteluratkaisut ja niiden arviointi sulautetuissa järjestelmissä Kai Koskimies Tampereen teknillinen yliopisto Taustaa: Sulake projekti 2008-2009 2 Osallistujat Areva T&D John Deere Kone Sandvik

Lisätiedot

Sytyke ry:n laivaseminaari Software Technology Transfer Pekka Forselius

Sytyke ry:n laivaseminaari Software Technology Transfer Pekka Forselius Sytyke ry:n laivaseminaari 3.-5.9.2002 Testaus ja Laatu Ohjelmiston laadun ja laatuvaatimusten mittaaminen Sytyke ry:n laivaseminaari 3.-5.9.2002 Hyvä laatu? Testaaminen? Ohjelmiston hyvällä laadulla tarkoitamme

Lisätiedot

11. Tuoterunkoarkkitehtuurit

11. Tuoterunkoarkkitehtuurit 11. Tuoterunkoarkkitehtuurit Johdanto Näkökulmat tuoterunkoihin perustuvaan ohjelmistokehitykseen: liiketoiminta, organisaatio, prosessi, tekninen Tuoterunkojen etuja ja ongelmia Ohjelmistoarkkitehtuurit

Lisätiedot

Tuoterunkoarkkitehtuurit. Ohjelmistoarkkitehtuurit kevät Uudelleenkäyttö. Johannes Koskinen.

Tuoterunkoarkkitehtuurit. Ohjelmistoarkkitehtuurit kevät Uudelleenkäyttö. Johannes Koskinen. Ohjelmistoarkkitehtuurit Kevät 2011-2012 Johannes Koskinen http://www.cs.tut.fi/~ohar/ 11. Tuoterunkoarkkitehtuurit Johdanto Näkökulmat tuoterunkoihin perustuvaan ohjelmistokehitykseen: liiketoiminta,

Lisätiedot

Ohjelmistoarkkitehtuurit. Kevät

Ohjelmistoarkkitehtuurit. Kevät Ohjelmistoarkkitehtuurit Kevät 2012-2013 Johannes Koskinen http://www.cs.tut.fi/~ohar/ 1 11. Tuoterunkoarkkitehtuurit Johdanto Näkökulmat tuoterunkoihin perustuvaan ohjelmistokehitykseen: liiketoiminta,

Lisätiedot

11. Tuoterunkoarkkitehtuurit

11. Tuoterunkoarkkitehtuurit Ohjelmistoarkkitehtuurit Kevät 2012-2013 Johannes Koskinen http://www.cs.tut.fi/~ohar/ 1 11. Tuoterunkoarkkitehtuurit Johdanto Näkökulmat tuoterunkoihin perustuvaan ohjelmistokehitykseen: liiketoiminta,

Lisätiedot

Ohjelmistoarkkitehtuurit, syksy

Ohjelmistoarkkitehtuurit, syksy Ohjelmistoarkkitehtuurit Luento 10 1 (architectural analysis) Arkkitehtuurin arvioinnin tarkoituksena on muodostaa käsitys kehitettävän ohjelmiston tärkeistä ominaisuuksista Nyt ja tulevaisuudessa Arvioinnin

Lisätiedot

Laatukustannukset. Laadun hallinta. Laadun kustannuksista

Laatukustannukset. Laadun hallinta. Laadun kustannuksista Laatukustannukset Laadun hallinta Sami Kollanus TJTA330 Ohjelmistotuotanto 13.2.2007 US National Institute of Standards and Technology: Riittämättömän testauksen kustannusten arvioitiin olevan 59 Mrd dollaria

Lisätiedot

Laadun hallinta. Laatukustannukset. Laadun kustannuksista. Sami Kollanus TJTA330 Ohjelmistotuotanto

Laadun hallinta. Laatukustannukset. Laadun kustannuksista. Sami Kollanus TJTA330 Ohjelmistotuotanto Laadun hallinta Sami Kollanus TJTA330 Ohjelmistotuotanto 5.4. Laatukustannukset US National Institute of Standards and Technology: Riittämättömän testauksen kustannusten arvioitiin olevan 59 Mrd dollaria

Lisätiedot

Laadun hallinta. Laatukustannukset. Sami Kollanus TJTA330 Ohjelmistotuotanto

Laadun hallinta. Laatukustannukset. Sami Kollanus TJTA330 Ohjelmistotuotanto Laadun hallinta Sami Kollanus TJTA330 Ohjelmistotuotanto 5.4. Laatukustannukset US National Institute of Standards and Technology: Riittämättömän testauksen kustannusten arvioitiin olevan 59 Mrd dollaria

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

7.4 Variability management

7.4 Variability management 7.4 Variability management time... space software product-line should support variability in space (different products) support variability in time (maintenance, evolution) 1 Product variation Product

Lisätiedot

Etukäteistehtävää

Etukäteistehtävää ATAM-ohjeistusta Etukäteistehtävää Valmistautukaa huolella, tutustukaa materiaaliin etukäteen. Miettikää kysymyksiä arkkitehtuurista. Valitkaa roolit, arvioijaporukassa kirjuriksi kaveri, joka keskittyy

Lisätiedot

Arkkitehtuurin arviointi

Arkkitehtuurin arviointi Arkkitehtuurin arviointi Luento 7 1 Oppimistavoitteet Arkkitehtuurin arvioinnin tarkoitus Arviointimenetelmät ATAM DCAR ATAM esimerkkinä menetelmistä 2 ARKKITEHTUURIN ARVIOINTI 3 Arkkitehtuurin arviointi

Lisätiedot

ISO/IEC 25000 sarja (SQUARE)

ISO/IEC 25000 sarja (SQUARE) ISO/IEC 25000 sarja (SQUARE) Software product Quality Requirements and Evaluation (SQuaRE) Risto Nevalainen, FiSMA ry FiSMA 1 Taustaa, historiaa Ohjelmiston laadun mittaaminen on yksi vanhimmista SC7 standardointialueista

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

Johdanto Näkökulmat tuoterunkoihin perustuvaan ohjelmistokehitykseen: liiketoiminta, organisaatio, prosessi, tekninen Tuoterunkojen etuja ja ongelmia

Johdanto Näkökulmat tuoterunkoihin perustuvaan ohjelmistokehitykseen: liiketoiminta, organisaatio, prosessi, tekninen Tuoterunkojen etuja ja ongelmia 12. Tuoterunkoarkkitehtuurit Johdanto Näkökulmat tuoterunkoihin perustuvaan ohjelmistokehitykseen: liiketoiminta, organisaatio, prosessi, tekninen Tuoterunkojen etuja ja ongelmia Ohjelmistoarkkitehtuurit

Lisätiedot

Ohjelmistoarkkitehtuurit. Kevät 2014

Ohjelmistoarkkitehtuurit. Kevät 2014 Ohjelmistoarkkitehtuurit Kevät 2014 Samuel Lahtinen (Johannes Koskinen) http://www.cs.tut.fi/~ohar/ 1 Yleisiä asioita Luennot keskiviikkoisin 10:15- Viikkoharjoitukset jatkuvat taas 8.4. Arviointien paikat

Lisätiedot

7 Sulautettujen järjestelmien suunnittelumallit. OhAr Marko Leppänen

7 Sulautettujen järjestelmien suunnittelumallit. OhAr Marko Leppänen 7 Sulautettujen järjestelmien suunnittelumallit OhAr 6.10. 2009 Marko Leppänen Sulautettujen järjestelmien mallikieli Sulake-projekti, 2008-2009 Arkkitehtuurianalyysejä 4 teollisuuskumppanin kanssa Sivutuotteena

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

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

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

HITSAUKSEN TUOTTAVUUSRATKAISUT

HITSAUKSEN TUOTTAVUUSRATKAISUT Kemppi ARC YOU GET WHAT YOU MEASURE OR BE CAREFUL WHAT YOU WISH FOR HITSAUKSEN TUOTTAVUUSRATKAISUT Puolitetaan hitsauskustannukset seminaari 9.4.2008 Mikko Veikkolainen, Ratkaisuliiketoimintapäällikkö

Lisätiedot

Tietojärjestelmän osat

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

Lisätiedot

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

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

Yleiskuvaus - LVpalvelukerroksen. laadulliset vaatimukset Jari Kokko & Vesa Mettovaara LUVAT JA VALVONTA -KÄRKIHANKE

Yleiskuvaus - LVpalvelukerroksen. laadulliset vaatimukset Jari Kokko & Vesa Mettovaara LUVAT JA VALVONTA -KÄRKIHANKE Yleiskuvaus - LVpalvelukerroksen laadulliset vaatimukset 07.11.2018 Jari Kokko & Vesa Mettovaara ICT-ratkaisujen tulee olla asiakkaille toimivia, tarpeellisia ja tuottavia liiketoiminnan jatkuvuuden, kannattavuuden

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

Ohjelmistoarkkitehtuurit, syksy Oppimistavoitteet Ohjelmistoarkkitehtuurit Luento 13 Mitä, miksi, milloin? Arviointimenetelmiä Skenaariopohjaiset menetelmät, suunnittelupäätöksiin kohdistuva menetelmä Ketterä arkkitehtuurin arviointi

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

Arkkitehtuuritietoisku. eli mitä aina olet halunnut tietää arkkitehtuureista, muttet ole uskaltanut kysyä

Arkkitehtuuritietoisku. eli mitä aina olet halunnut tietää arkkitehtuureista, muttet ole uskaltanut kysyä Arkkitehtuuritietoisku eli mitä aina olet halunnut tietää arkkitehtuureista, muttet ole uskaltanut kysyä Esikysymys Kuinka moni aikoo suunnitella projektityönsä arkkitehtuurin? Onko tämä arkkitehtuuria?

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

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

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

6. Architectural styles

6. Architectural styles 6. Architectural styles 6.1 Decomposition architectures - Layered architectures - Pipes-and-filters architectures 6.2 Service-based architectures - Client-server architectures - Message dispatcher architectures

Lisätiedot

1 Johdanto. TTY Ohjelmistotekniikka. Ohjelmistoarkkitehtuurit Syksy 2007

1 Johdanto. TTY Ohjelmistotekniikka. Ohjelmistoarkkitehtuurit Syksy 2007 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

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

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

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

7. Product-line architectures

7. Product-line architectures 7. Product-line architectures 7.1 Introduction 7.2 Product-line basics 7.3 Layered style for product-lines 7.4 Variability management 7.5 Benefits and problems with product-lines 1 Short history of software

Lisätiedot

Ohjelmistoarkkitehtuurit Kevät 2016 Johdantoa

Ohjelmistoarkkitehtuurit Kevät 2016 Johdantoa Ohjelmistoarkkitehtuurit Kevät 2016 Johdantoa Samuel Lahtinen http://www.cs.tut.fi/~ohar/ 8.1.2014 1 1 Johdanto 1.1 Mikä on ohjelmistoarkkitehtuuri? 1.2 Ohjelmistoarkkitehtuuri ja laatuvaatimukset 1.3

Lisätiedot

6. Arkkitehtuurityylit

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

Lisätiedot

Virtuaalinen tarkastus. Katselmoinnit osa 3. Paritarkastus. N-kertainen tarkastus (n-fold inspection)

Virtuaalinen tarkastus. Katselmoinnit osa 3. Paritarkastus. N-kertainen tarkastus (n-fold inspection) Virtuaalinen tarkastus Katselmoinnit osa 3 Sami Kollanus 13.12.2006 Ei tarvetta olla samaan aikaan samassa paikassa Tueksi erilaisia työkaluja Asynkroninen vs. synkroninen Tarpeen hajautetuissa projekteissa

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

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

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL FinFamily PostgreSQL 1 Sisällys / Contents FinFamily PostgreSQL... 1 1. Asenna PostgreSQL tietokanta / Install PostgreSQL database... 3 1.1. PostgreSQL tietokannasta / About the PostgreSQL database...

Lisätiedot

7. Tuoterunkoarkkitehtuurit

7. Tuoterunkoarkkitehtuurit 7. Tuoterunkoarkkitehtuurit Johdanto Näkökulmat tuoterunkoihin perustuvaan ohjelmistokehitykseen Kerrostyyli tuoterunkoarkkitehtuureille Tuoterunkojen etuja ja ongelmia 1 Uudelleenkäytt yttö opportunistinen:

Lisätiedot

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14 Arkkitehtuurikuvaus Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy Ryhmä 14 Muutoshistoria Versio Pvm Päivittäjä Muutos 0.4 1.11.2007 Matti Eerola 0.3 18.10.2007 Matti Eerola 0.2

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

Jussi Klemola 3D- KEITTIÖSUUNNITTELUOHJELMAN KÄYTTÖÖNOTTO

Jussi Klemola 3D- KEITTIÖSUUNNITTELUOHJELMAN KÄYTTÖÖNOTTO Jussi Klemola 3D- KEITTIÖSUUNNITTELUOHJELMAN KÄYTTÖÖNOTTO Opinnäytetyö KESKI-POHJANMAAN AMMATTIKORKEAKOULU Puutekniikan koulutusohjelma Toukokuu 2009 TIIVISTELMÄ OPINNÄYTETYÖSTÄ Yksikkö Aika Ylivieska

Lisätiedot

TIEKE Verkottaja Service Tools for electronic data interchange utilizers. Heikki Laaksamo

TIEKE Verkottaja Service Tools for electronic data interchange utilizers. Heikki Laaksamo TIEKE Verkottaja Service Tools for electronic data interchange utilizers Heikki Laaksamo TIEKE Finnish Information Society Development Centre (TIEKE Tietoyhteiskunnan kehittämiskeskus ry) TIEKE is a neutral,

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

SOA SIG SOA Tuotetoimittajan näkökulma

SOA SIG SOA Tuotetoimittajan näkökulma SOA SIG SOA Tuotetoimittajan näkökulma 12.11.2007 Kimmo Kaskikallio IT Architect Sisältö IBM SOA Palveluiden elinkaarimalli IBM Tuotteet elinkaarimallin tukena Palvelukeskeinen arkkitehtuuri (SOA) Eri

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

Paikkatietorajapinnat IT arkkitehtuurin näkökulmasta 21.12.200 7

Paikkatietorajapinnat IT arkkitehtuurin näkökulmasta 21.12.200 7 Paikkatietorajapinnat IT arkkitehtuurin näkökulmasta 21.12.200 7 Mikä on IT arkkitehtuuri? Liiketoimintamalli määrittelee IT arkkitehtuurin IT arkkitehtuuri ottaa kantaa sovelluksen laadullisiin vaatimuksiin

Lisätiedot

Ohjelmistoarkkitehtuuri

Ohjelmistoarkkitehtuuri Ohjelmistoarkkitehtuurien ylläpito Arkkitehtuurityylejä ja laatuvaatimuksia Arkkitehtuurin uudistaminen Arkkitehtuurin uudistamisen malleja Arkkitehtuurin arviointi TTY Ohjelmistotekniikka 1 Ohjelmistoarkkitehtuuri

Lisätiedot

Onnistunut SAP-projekti laadunvarmistuksen keinoin

Onnistunut SAP-projekti laadunvarmistuksen keinoin Onnistunut SAP-projekti laadunvarmistuksen keinoin 07.10.2010 Patrick Qvick Sisällys 1. Qentinel 2. Laadukas ohjelmisto täyttää sille asetetut tarpeet 3. SAP -projektin kriittisiä menestystekijöitä 4.

Lisätiedot

Making use of BIM in energy management

Making use of BIM in energy management BuildingEQ-Symposium in Berlin, October 1, 2009 Making use of BIM in energy management Tuomas Laine Olof Granlund Oy www.buildingeq.net Content BIM based tools for energy performance analysis and thermal

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

1 Johdanto. Pieni motivointikalvo. 1.1 Mikä on ohjelmistoarkkitehtuuri?

1 Johdanto. Pieni motivointikalvo. 1.1 Mikä on ohjelmistoarkkitehtuuri? 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

Copyright by Haikala. Ohjelmistotuotannon osa-alueet

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

Lisätiedot

KAOS 2015: Integraatioiden standardointi suunnittelumallien avulla. Ilkka Pirttimaa, Chief ICT Architect, Stockmann ICT

KAOS 2015: Integraatioiden standardointi suunnittelumallien avulla. Ilkka Pirttimaa, Chief ICT Architect, Stockmann ICT KAOS 2015: Integraatioiden standardointi suunnittelumallien avulla Ilkka Pirttimaa, Chief ICT Architect, Stockmann ICT 1 2 Integraatioiden nykytila 2015 Standardoidut: Integraatiotyökalut Suunnittelumallit

Lisätiedot

Ylläpitäjät, järjestelmäarkkitehdit ja muut, jotka huolehtivat VMwareinfrastruktuurin

Ylläpitäjät, järjestelmäarkkitehdit ja muut, jotka huolehtivat VMwareinfrastruktuurin KOULUTUSTIEDOTE 1(6) VMWARE VSPHERE 5: INSTALL, CONFIGURE AND MANAGE II Tavoite Koulutuksen jälkeen osallistujat hallitsevat VMware vsphere -ympäristön asennuksen, konfiguroinnin ja hallinnan. Koulutus

Lisätiedot

Toimilohkojen turvallisuus tulevaisuudessa

Toimilohkojen turvallisuus tulevaisuudessa Toimilohkojen turvallisuus tulevaisuudessa Turvallisuusseminaari ASAF 30.10-1.11.2006 Mika Strömman Teknillinen korkeakoulu 1 Sisältö Luotettavuuden lisääminen hyvillä tavoilla Toimilohkokirjastot Turvatoimilohkot

Lisätiedot

Yleisiä asioita. Harkat alkavat ensi viikolla Vierailuluentoa. Slackin #luennot-kanava taas käytössä. Ensi viikon perjantaina, Janne Viitala, Sandvik

Yleisiä asioita. Harkat alkavat ensi viikolla Vierailuluentoa. Slackin #luennot-kanava taas käytössä. Ensi viikon perjantaina, Janne Viitala, Sandvik Yleisiä asioita Harkat alkavat ensi viikolla Vierailuluentoa Ensi viikon perjantaina, Janne Viitala, Sandvik Slackin #luennot-kanava taas käytössä 1 1 Johdanto 1.1 Mikä on ohjelmistoarkkitehtuuri? 1.2

Lisätiedot

Tutkimusprojekti: Siemens Simis-C -asetinlaitteen data-analytiikka

Tutkimusprojekti: Siemens Simis-C -asetinlaitteen data-analytiikka Tutkimusprojekti: Siemens Simis-C -asetinlaitteen data-analytiikka https://www.siemens.com/fi/fi/home.html Toteutus: asetinlaitedatan hyödyntäminen kunnossapidon kehittämiseksi sekä hallinnoinnin ja suunnittelun

Lisätiedot

Onnistunut Vaatimuspohjainen Testaus

Onnistunut Vaatimuspohjainen Testaus Onnistunut Vaatimuspohjainen Testaus Kari Alho Solution Architect Nohau Solutions, Finland Sisältö Mitä on vaatimuspohjainen testaus? Vaatimusten ymmärtämisen haasteet Testitapausten generointi Työkalujen

Lisätiedot

RAIN RAKENTAMISEN INTEGRAATIOKYVYKKYYS

RAIN RAKENTAMISEN INTEGRAATIOKYVYKKYYS RAIN RAKENTAMISEN INTEGRAATIOKYVYKKYYS Loppuseminaari 11.12.2018 YIT:n pääkonttori, Helsinki RAIN hankkeen loppuseminaari 11.12.2018 Käyttäjälähtöinen tiedonhallinta (WP 4) Professori Harri Haapasalo OY

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

Tietoturvallisuus yhteiskunnan, yritysten ja yksityishenkilöiden kannalta

Tietoturvallisuus yhteiskunnan, yritysten ja yksityishenkilöiden kannalta Tietoturvallisuus yhteiskunnan, yritysten ja yksityishenkilöiden kannalta Sähköurakoitsijapäivät 21.11.2013 Kari Wirman 7.11.2013 Kari Wirman 21.11.2013 Kari Wirman, ICT-pooli Tieto Tieto on nyky-yhteiskunnan

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

Katselupalvelujen INSPIRE-yhteensopivuuden testaus

Katselupalvelujen INSPIRE-yhteensopivuuden testaus Katselupalvelujen INSPIRE-yhteensopivuuden testaus Infrastruktuuri-ryhmä 19.10.2011 Jani Kylmäaho 1 Miksi? Sisältö Yleisimmät ongelmat rajapintapalvelujen yhteensopivuudessa WMS-standardiin Yleisimmät

Lisätiedot

Capacity Utilization

Capacity Utilization Capacity Utilization Tim Schöneberg 28th November Agenda Introduction Fixed and variable input ressources Technical capacity utilization Price based capacity utilization measure Long run and short run

Lisätiedot

Automaatiojärjestelmän hankinnassa huomioitavat tietoturva-asiat

Automaatiojärjestelmän hankinnassa huomioitavat tietoturva-asiat Automaatiojärjestelmän hankinnassa huomioitavat tietoturva-asiat Teollisuusautomaation tietoturvaseminaari Purchasing Manager, Hydro Lead Buyer, Industrial Control Systems 1 Agenda / esityksen tavoite

Lisätiedot

Security server v6 installation requirements

Security server v6 installation requirements CSC Security server v6 installation requirements Security server version 6.x. Version 0.2 Pekka Muhonen 2/10/2015 Date Version Description 18.12.2014 0.1 Initial version 10.02.2015 0.2 Major changes Contents

Lisätiedot

Ennustamisen ja Optimoinnin mahdollisuudet

Ennustamisen ja Optimoinnin mahdollisuudet Ennustamisen ja Optimoinnin mahdollisuudet Agenda Mitä optimointi on Ennustamisen mahdollisuudet Optimoinnin eri tasot ja tavoitteet Optimoinnin käyttöönotto Mitä optimointi on Mitä optimointi on? Oikea

Lisätiedot

Security server v6 installation requirements

Security server v6 installation requirements CSC Security server v6 installation requirements Security server version 6.4-0-201505291153 Pekka Muhonen 8/12/2015 Date Version Description 18.12.2014 0.1 Initial version 10.02.2015 0.2 Major changes

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. Koneenohjausjärjestelmien suunnittelumallit. OhAr 5.10. 2010 Veli-Pekka Eloranta

7. Koneenohjausjärjestelmien suunnittelumallit. OhAr 5.10. 2010 Veli-Pekka Eloranta 7. Koneenohjausjärjestelmien suunnittelumallit OhAr 5.10. 2010 Veli-Pekka Eloranta Sulautettujen järjestelmien mallikieli Sulake-projekti, 2008-2009 Arkkitehtuuriarviointeja (ATAM) teollisuuskumppanien

Lisätiedot

TOIMINNALLINEN MÄÄRITTELY MS

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

Lisätiedot

Ohjelmistoprojektien hallinta Vaihejakomallit

Ohjelmistoprojektien hallinta Vaihejakomallit Ohjelmistoprojektien hallinta Vaihejakomallit Vaihejakomallit TAVOITE: YMMÄRTÄÄ eri vaihejakomallien etujajahaittoja 2 Erilaisia malleja Tee ja korjaa (Code-and-Fix) Vesiputousmalli (Waterfall) Vesiputousmalli

Lisätiedot

6. Arkkitehtuurityylit

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

Lisätiedot

Käytettävyyslaatumallin rakentaminen verkkosivustolle

Käytettävyyslaatumallin rakentaminen verkkosivustolle Käytettävyyslaatumallin rakentaminen verkkosivustolle Tapaus kirjoittajan ABC-kortti Oulun yliopisto tietojenkäsittelytieteiden laitos pro gradu -tutkielma Timo Laapotti 9.6.2005 Esityksen sisältö Kirjoittajan

Lisätiedot

IBM Iptorin pilven reunalla

IBM Iptorin pilven reunalla IBM Iptorin pilven reunalla Teppo Seesto Arkkitehti Pilvilinnat seesto@fi.ibm.com Cloud Computing Pilvipalvelut IT:n teollistaminen Itsepalvelu Maksu käytön mukaan Nopea toimitus IT-palvelujen webbikauppa

Lisätiedot

LYTH-CONS CONSISTENCY TRANSMITTER

LYTH-CONS CONSISTENCY TRANSMITTER LYTH-CONS CONSISTENCY TRANSMITTER LYTH-INSTRUMENT OY has generate new consistency transmitter with blade-system to meet high technical requirements in Pulp&Paper industries. Insurmountable advantages are

Lisätiedot

TÄYTTÖAUTOMAATIT TÄYTTÖAUTOMAATIT COMPUTER INFLATORS

TÄYTTÖAUTOMAATIT TÄYTTÖAUTOMAATIT COMPUTER INFLATORS 31 S AHCON computer inflators are designed with a view to high quality, precision and long service life. The inflation computers are designed in Denmark and manufactured and tested in our own workshop.

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