Esimerkki: Auton toiminnan monitorointijärjestelmä

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

Ohjelmistoarkkitehtuurit. Kevät

9. Ohjelmistoarkkitehtuurien arviointi

7. Ohjelmistoarkkitehtuurien arviointi

11. Tuoterunkoarkkitehtuurit

Suunnitteluratkaisut ja niiden arviointi sulautetuissa järjestelmissä

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

9. Evaluation of software architectures

Ohjelmistoarkkitehtuurit. Kevät

11. Tuoterunkoarkkitehtuurit

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

9. Ohjelmistoarkkitehtuurien arviointi

Ohjelmistoarkkitehtuurit kevät

Ohjelmistoarkkitehtuurit

Ohjelmistoarkkitehtuurien arviointi

Kevät Ohjelmistoarkkitehtuurit 2014

Ohar-ATAM pikaisesti. Ohjelmistoarkkitehtuurit 2009

Kevät 2016 Arkkitehtuurin arviointi, ATAM. Ohjelmistoarkkitehtuurit 2016

Ohjelmistoarkkitehtuurit. Kevät 2014

6. Architectural styles

7.4 Variability management

HITSAUKSEN TUOTTAVUUSRATKAISUT

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

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL

Viestinvälitysarkkitehtuurit

LYTH-CONS CONSISTENCY TRANSMITTER

National Building Code of Finland, Part D1, Building Water Supply and Sewerage Systems, Regulations and guidelines 2007

Etukäteistehtävää

7. Koneenohjausjärjestelmien suunnittelumallit. OhAr Veli-Pekka Eloranta

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

Capacity Utilization

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

1.3 Katsaus ohjelmistotuotannon kehittymiseen

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1

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

Travel Getting Around

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1

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

Artic-raitiovaunu Paluu tulevaisuuteen. Ollipekka Heikkilä 2013

Ohjelmistoarkkitehtuurit, syksy

Tietoturvallisuus yhteiskunnan, yritysten ja yksityishenkilöiden kannalta

Ohjelmistoarkkitehtuurit Kevät 2016 Johdantoa

Ohjelmistoarkkitehtuurit kevät

Viestinvälitysarkkitehtuurit Lähtökohta:

1 Johdanto. Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 1

Onnistunut SAP-projekti laadunvarmistuksen keinoin

4x4cup Rastikuvien tulkinta

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

Arkkitehtuurin arviointi

Käytön avoimuus ja datanhallintasuunnitelma. Open access and data policy. Teppo Häyrynen Tiedeasiantuntija / Science Adviser

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

7. Product-line architectures

IBM Iptorin pilven reunalla

Use of spatial data in the new production environment and in a data warehouse

SOA SIG SOA Tuotetoimittajan näkökulma

ITK130 Ohjelmistojen luonne

Security server v6 installation requirements

Datahub-projekti. Prosessityöryhmä

Carlink langaton autojen välinen tietoverkko

Ohjelmistoarkkitehtuurit

JA CHALLENGE Anna-Mari Sopenlehto Central Administration The City Development Group Business Developement and Competence

Office 2013 ja SQL Server 2012 SP1 uudet BI toiminnallisuudet Marko Somppi/Invenco Oy

Security server v6 installation requirements

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

RAIN RAKENTAMISEN INTEGRAATIOKYVYKKYYS

Salasanan vaihto uuteen / How to change password

Katselupalvelujen INSPIRE-yhteensopivuuden testaus

Mitä Master Class:ssa opittiin?

16. Allocation Models

FinFamily Installation and importing data ( ) FinFamily Asennus / Installation

Innovative and responsible public procurement Urban Agenda kumppanuusryhmä. public-procurement

Sisällysluettelo Table of contents

4x4cup Rastikuvien tulkinta. 4x4cup Control point picture guidelines

9. Muunneltavuuden hallinta

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

Tietorakenteet ja algoritmit

Teknologiateollisuus ry Ympäristöosaaminen arvoketjussa -seminaari Työkaluja arvoketjun ympäristöosaamisen kehittämiseen

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

Miehittämätön meriliikenne

7 Viestipohjaisten yritysjärjestelmien suunnittelumallit

Ohjelmistoarkkitehtuurit Kevät 2014 Arkkitehtuurityylit vol 2

Collaborative & Co-Creative Design in the Semogen -projects

Tech Conference Office 365 tietoturvan heikoin #TechConfFI

Group 2 - Dentego PTH Korvake. Peer Testing Report

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

Uusi Ajatus Löytyy Luonnosta 4 (käsikirja) (Finnish Edition)

Käytettävyys ja käyttäjätutkimus. Yhteisöt ja kommunikaatiosuunnittelu 2012 / Tero Köpsi

Tapahtuipa Testaajalle...

Strategiset kyvykkyydet kilpailukyvyn mahdollistajana Autokaupassa Paula Kilpinen, KTT, Tutkija, Aalto Biz Head of Solutions and Impact, Aalto EE

Infrastruktuurin aineistonhallinta ja käytön avoimuus

Efficiency change over time

TURVALLISEN TEKNIIKAN SEMINAARI Laitteiden etähallinta tietoverkkojen välityksellä Jani Järvinen, tuotepäällikkö

koiran omistajille ja kasvattajille 2013 for dog owners and breeders in 2013

1. SIT. The handler and dog stop with the dog sitting at heel. When the dog is sitting, the handler cues the dog to heel forward.

Results on the new polydrug use questions in the Finnish TDI data

Perusoikeusbarometri. Panu Artemjeff Erityisasiantuntija

Miten teollinen internet voi mullistaa liiketoimintasi

Onnistunut Vaatimuspohjainen Testaus

EUROOPAN PARLAMENTTI

Tietojärjestelmä uusiksi? Toimijaverkostot, niiden haasteet ja ratkaisut

Transkriptio:

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

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

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. Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 3

Muita ratkaisuja? Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 4

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 Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 5

Laatuominaisuuksien tarkentaminen Muunneltavuus Tiedon muunneltavuus Laitteiden muutokset Tietokantamuutokset Tietoliikennemuutokset Suorituskyky Tapahtumien käsittely Tietokannan kapasiteetti Tarkkuus Tapahtumatietojen tarkkuus Tapahtuma-aikojen tarkkuus Tietoturvallisuus Tietoliikenneturvallisuus Tietovarastoturvallisuus Luotettavuus Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 6

Muunneltavuus Laatupuu ja analyysi taulukkomuodossa* Laatuvaatimus Skenaario Tärkeys Vaikeus Ratkaisut Riski analyysi *Käytetään tässä yksinkertaisuuden vuoksi Laatupuun rakentaminen Analyysi Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 7

Tarkennetaan laatuvaatimukset ja annetaan skenaariot Muunneltavuus Laatuvaatimus (tarkennettu) Skenaario Tärkeys Vaikeus Ratkaisutapa Riski analyysi Tiedon muunneltavuus Viestiformaatti muutetaan binääriseksi kuukaudessa M H CAN-väylän jokin viesti muuttuu rakenteeltaan, muutos viikossa H L Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 8

Harjoitus Anna esimerkkijärjestelmälle skenaario, joka liittyy a) Laitteiden muutoksiin b) Tapahtumatietojen tarkkuuteen c) Luotettavuuteen Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 9

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

Täydennetään taulukko Muunneltavuus Laatuvaatimus (tarkennettu) Skenaario Tärkeys Vaikeus Ratkaisutapa Riski analyysi Tiedon muunneltavuus Viestiformaatti muutetaan binääriseksi kuukaudessa M H Viestirajapinta Riski: Viestien rakentaminen ja tulkinta muuttuu kaikissa komponenteissa. CAN-väylän jokin viesti muuttuu rakenteeltaan, muutos viikossa H L CANFilter erottaa CANin monitorijärjestelmästä Ei riskejä Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 11

(Systemaattisempi tapa) 1) Arkkitehti kertoo vapaamuotoisesti, miten skenaario hoituu 2) Tunnistetaan ratkaisut, jotka mahdollisesti liittyvät skenaarioon 3) Analysoidaan tarkemmin, miten ko. ratkaisu liittyy skenaarioon ja onko se riski, ei-riski, Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 12

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 Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 13

Muunneltavuus Laatuvaatimus (tarkennettu) Täydennetään taulukko Skenaario Tärkeys Vaikeus Ratkaisutapa Riski analyysi Tiedon muunneltavuus Viestiformaatti muutetaan binääriseksi kuukaudessa M H Viestirajapinta Riski: Viestien rakentaminen ja tulkinta muuttuu kaikissa komponenteissa CAN-väylän jokin viesti muuttuu rakenteeltaan, muutos viikossa H L CANFilter erottaa CANin monitorijärjestelmästä Ei riskejä Otetaan käyttöön uusi väylä kahdessa kuukaudessa H M Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 14

Testaus (Vaihe 2) Uusinta-analyysi tärkeimmät skenaariot tarkistetaan vasten arkkitehtuuria mahdolliset uudet riskit tunnistetaan Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 15

Muunneltavuus Laatuvaatimus (tarkennettu) Täydennetään taulukko Skenaario Tärkeys Vaikeus Ratkaisutapa Riski analyysi Tiedon muunneltavuus Viestiformaatti muutetaan binääriseksi kuukaudessa M H Viestirajapinta Riski: Viestien rakentaminen ja tulkinta muuttuu kaikissa komponenteissa CAN-väylän jokin viesti muuttuu rakenteeltaan, muutos viikossa H L CANFilter erottaa CANin monitorijärjestelmästä Ei riskejä Otetaan käyttöön uusi väylä kahdessa kuukaudessa H M Ei tukea Riski: Arkkitehtuuri on kiinteästi sidottu CANiin Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 16

Käytännön kokemuksia ja ongelmia skenaariopohjaisessa arvioinnissa Arkkitehtuurien arvioinnissa on monia käytännöllisiä ongelmia ja osittain avoimia kysymyksiä: Oikeiden laatuattribuuttien löytäminen Skenaarioiden tehokas löytäminen Skenaarioiden kattavuus Skenaarioiden priorisointi Skenaarioiden analysointi vasten arkkitehtuuria Analysointityökalujen hyödyntäminen Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 17

Oikeiden laatuattribuuttien lö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 Olennaista loppujen lopuksi on saada oikeat skenaariot, laatukehikkojen tehtävä on tukea tätä Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 18

Hyödyllisten skenaarioiden tehokas löytäminen Skenaarioiden keksiminen on prosessin kriittisin ja vaativin vaihe, edellyttää luovuutta Vaarana, että skenaariot ovat (tahattomasti) rajattuja: Skenaariot löydetään henkilöiden omien näkökulmien mukaan Skenaariot liittyvät sen hetkiseen tilanteeseen projektissa Skenaariot saattavat edustaa osallistujien kapeaa näkemystä Yksi ratkaisu: skenaariot kehitellään pareittan (yritys, arvioija) - villejä skenaarioita tulee helpommin Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 19

Skenaarioiden kattavuus Miten varmistutaan, että löydetty skenaariojoukko johtaa olennaisten laatuominaisuuksien riittävän kattavaan analysointiin? Vrt. testaaminen: testitapaukset ovat parempia kun eivät tule kehittäjiltä 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 Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 20

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ä Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 21

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, silti aina epätarkkaa Ongelmia voi helposti jäädä huomaamatta Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 22

Skenaarioiden johtaminen geneerisistä skenaarioista Node Yleinen skenaario Control functionality Intelligent sensor Log feed Boom movement Harvesteri skenaario Cabin door sensor Pressure sensor Porauskone skenaario Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 23

Yhteenvetoa Arkkitehtuurin arviointi on suunnittelun testausta Arkkitehtuurien arviointia voidaan pitää systemaattisena arkkitehtuurin katselmointina. Arviointimenetelmät antavat mahdollisuuden kommunikointiin, mikä pitäisi joka tapauksessa jossain vaiheessa tehdä. 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. Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 24