Ohjelmistoarkkitehtuurit Kevät 2016 Johdantoa

Samankaltaiset tiedostot
Arkkitehti?

1 Johdanto. Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 1

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

1 Johdanto! Arkkitehti?!

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

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1

1 Johdanto. TTY Ohjelmistotekniikka. Ohjelmistoarkkitehtuurit Syksy 2008

1 Introduction. TTY Ohjelmistotekniikka. Ohjelmistoarkkitehtuurit Syksy 2006

1 Johdanto. TTY Ohjelmistotekniikka. Ohjelmistoarkkitehtuurit Syksy 2007

Ohjelmistoarkkitehtuurit. Syksy 2008

Ohjelmistoarkkitehtuurit. Kevät

EUROOPAN PARLAMENTTI

Efficiency change over time

Network to Get Work. Tehtäviä opiskelijoille Assignments for students.

Ohjelmistoarkkitehtuurit. Syksy 2007

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL

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

make and make and make ThinkMath 2017

Ohjelmistoarkkitehtuurit Kevät käytäntöjä

Capacity Utilization

1.3 Katsaus ohjelmistotuotannon kehittymiseen

LYTH-CONS CONSISTENCY TRANSMITTER

Ohjelmistoarkkitehtuurit. Syksy 2010

7.4 Variability management

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

Käyttöliittymät II. Käyttöliittymät I Kertaus peruskurssilta. Keskeisin kälikurssilla opittu asia?

Ohjelmistoarkkitehtuurit Kevät käytäntöjä

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

T Software Architecture

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

KMTK lentoestetyöpaja - Osa 2

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

16. Allocation Models

7. Product-line architectures

Digitalisoituminen, verkottuminen ja koulutuksen tulevaisuus. Teemu Leinonen Medialaboratorio Taideteollinen korkeakoulu

anna minun kertoa let me tell you

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

Mitä Piilaaksossa & globaalisti tapahtuu ja mitä Tekes voi tarjota yrityksille

Teknologia-arkkitehtuurit. Valinta ja mallinnus

2 Description of Software Architectures

Suunnittelumallit (design patterns)

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

API:Hack Tournee 2014

MEETING PEOPLE COMMUNICATIVE QUESTIONS

Other approaches to restrict multipliers

AYYE 9/ HOUSING POLICY

Co-Design Yhteissuunnittelu

Guidebook for Multicultural TUT Users

1.3 Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

1. Liikkuvat määreet

S SÄHKÖTEKNIIKKA JA ELEKTRONIIKKA

FIS IMATRAN KYLPYLÄHIIHDOT Team captains meeting

Security server v6 installation requirements

Millainen on onnistunut ICT-projekti?

Miksi Suomi on Suomi (Finnish Edition)

C++11 seminaari, kevät Johannes Koskinen

Olet vastuussa osaamisestasi

Voice Over LTE (VoLTE) By Miikka Poikselkä;Harri Holma;Jukka Hongisto

Security server v6 installation requirements

PROJEKTI- PÄÄLLIKÖSTÄ PRODUCT OWNERIKSI MEERI CEDERSTRÖM

Suunnitteluratkaisut ja niiden arviointi sulautetuissa järjestelmissä

Palvelumuotoilu: Mitä seuraavaksi?

The CCR Model and Production Correspondence

ECVETin soveltuvuus suomalaisiin tutkinnon perusteisiin. Case:Yrittäjyyskurssi matkailualan opiskelijoille englantilaisen opettajan toteuttamana

Tietorakenteet ja algoritmit

Curriculum. Gym card

Ohjelmistoarkkitehtuurit, syksy

Skene. Games Refueled. Muokkaa perustyyl. for Health, Kuopio

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.

ETELÄESPLANADI HELSINKI

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

Ohjelmistojen suunnittelu

IBM Iptorin pilven reunalla

TIE Ohjelmistojen suunnittelu

BDD (behavior-driven development) suunnittelumenetelmän käyttö open source projektissa, case: SpecFlow/.NET.

Business Opening. Arvoisa Herra Presidentti Very formal, recipient has a special title that must be used in place of their name

Teleste Oyj Osavuosikatsaus 1-9/2014

Osavuosikatsaus

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

MUSEOT KULTTUURIPALVELUINA

Kaivostoiminnan eri vaiheiden kumulatiivisten vaikutusten huomioimisen kehittäminen suomalaisessa luonnonsuojelulainsäädännössä

VBE2 Työpaketit Jiri Hietanen / TTY

Biojätteen keruu QuattroSelect - monilokerojärjestelmällä Tiila Korhonen SUEZ

Hankkeiden vaikuttavuus: Työkaluja hankesuunnittelun tueksi

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

Information on preparing Presentation

S SÄHKÖTEKNIIKKA JA ELEKTRONIIKKA

Lab SBS3.FARM_Hyper-V - Navigating a SharePoint site

E U R O O P P A L A I N E N

Projektityö

Arkkitehtuurin dokumentointi O A

4x4cup Rastikuvien tulkinta

1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

Laskennallisen fysiikan esimerkkejä avoimesta tutkimuksesta Esa Räsänen Fysiikan laitos, Tampereen teknillinen yliopisto

Tietojenkäsittelytieteiden koulutusohjelma. Tietojenkäsittelytieteiden laitos Department of Information Processing Science

Opiskelijat valtaan! TOPIC MASTER menetelmä lukion englannin opetuksessa. Tuija Kae, englannin kielen lehtori Sotungin lukio ja etälukio

Digital Admap Native. Campaign: Kesko supermarket

The Viking Battle - Part Version: Finnish

ATLAS-kartan esittely - Peli palveluiden yhteiskehittämisen menetelmistä Päivi Pöyry-Lassila, Aalto-yliopisto

Transkriptio:

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 Katsaus ohjelmistotuotannon kehittymiseen 1.4 Miksi ohjelmistoarkkitehtuuri on tärkeä 1.5 Ohjelmistoarkkitehtuuri ja ohjelmistokehitysprosessi 1.6 Ohjelmistoarkkitehtuuri ja organisaatio 1.7 Ohjelmiston osittaminen 1.8 Toteutusalustan arkkitehtuuri 1.9 Yhteenvetoa 2

Arkkitehti? http://www.codingthearchitecture.com 3

Onko tämä arkkitehtuuria? Ohjelmisto toteutetaan siten, että se käyttää P2P-topologiaa Valitaan toteutusteknologiaksi Qt Käytetään avoimen lähdekoodin -kirjastoa OpenSSL Softa julkaistaan GPL-lisenssillä Ohjelmisto toteutetaan käyttäen ketteriä menetelmiä Ohjelmiston pitää olla valmis tammikuussa 2016 4

1.1 Mitä asioita liittyy arkkitehtuuriin (rakennuksien kanssa)? Ketkä ovat kiinnostuneet, mitkä asiat kiinnostavat, millä tasolla? Mitä eri tietoja halutaan välittää? Kenelle tiedot halutaan esittää? 5

7

1.1 Mikä on ohjelmistoarkkitehtuuri? Mitä asioita ohjelmistoarkkitehtuuri sisältää? - Miten toiminnallisuus on jaettu alijärjestelmien kesken? - Miten alijärjestelmät kommunikoivat keskenään? - Miksi näin on tehty? 8

Standardien määritelmät Software architecture: The fundamental organization of a system embodied in its components, their relationships to each other and to the environment, and the principles guiding its design and evolution. (IEEE Standard 1471-2000) Software architecture: The fundamental conception of a system in its environment embodied in elements, their relationships to each other and to the environment, and the principles guiding its design and evolution. (ISO/IEC 42010) 9

Arkkitehtuuri järjestelmän kehitysperiaatteena "Architecture is the set of design decisions about any system that keeps its implementors and maintainers from exercising needless creativity." (D'Souza & Wills) - tietyt kiinnitetyt perusratkaisut - tietyn teknologian käyttö(tapa) - tiettyjen tietorakenteiden käyttö(tapa) - tiettyjen suunnittelumallien käyttö(tapa) - käyttösuhteiden säännöt - poikkeusten käsittelysäännöt Arkkitehtuuri = järjestelmän laki 10

Boehmin määritelmä: yhteys vaatimuksiin A software system architecture comprises a collection of software and system components, connections, and constraints a collection of system requirements a rationale which demonstrates that the components, connections, and constraints define a system that, if implemented, would satisfy the collection of system requirements 11

Arkkitehtuuritietämys (Kruchten & co.) Architectural Knowledge = Design Decisions+Design 12

Bass & Clements The software architecture of a program or computing system is the structure or structures of the system, which comprise software elements, the externally visible properties of those elements, and the relationships among them. (Software architecture in Practice -kirjaa) 13

toisaalta Even though every system has an architecture, it does not necessarily follow that the architecture is known to any one. This reveals the difference between the architecture and the representation of that architecture. Unfortunately, an architecture can exist independently of its description or specification, which raises the importance of architecture documentation and architecture reconstruction. (Bass & Clements) 14

Kaksi eri arkkitehtuurikäsitystä Suunniteltu arkkitehtuuri Suunnittelijan tahdonilmaus, järjestelmälle määritelty, spesifikaatio Olemassa olevan järjestelmän arkkitehtuuri Järjestelmän ominaisuus, järjestelmän määrittelemä Ongelmia: Vain ideaalisessa maailmassa nämä ovat sama asia Yleensä ei tarkenneta kummasta puhutaan Suunniteltua arkkitehtuuria ei ole välttämättä dokumentoitu Toteutuksen arkkitehtuuri vaikeasti nähtävissä/määriteltävissä 17

Mitkä asiat vaikuttavat arkkitehdin päätökseen? Resources: I have two Scrum teams Experience: I have had bad experiences using Struts Requirements: The system should have response time under 1 s when there is 10000 users logged in the service. Personal preference: I prefer to use open source components over commercial ones Business goals: Company should take technology X in use within two years. Time-to-market: Product should be released next week,i just do this quick-n-dirty solution..and many other concerns. Architect 18

Arkkitehtuurifilosofiat arkkitehtuuri järjestelmä järjestelmä esitys kuvaa ratkaisut arkkitehtuuri arkkitehtuurin kuvaus Idealistinen arkkitehtuurin kuvaus Pragmaattinen 19

Ohjelmistoarkkitehtuuri ja laatuvaatimukset Ohjelmiston arkkitehtuuri määräytyy pääasiassa sen laatuvaatimusten, ei toiminnallisten vaatimusten perusteella Arkkitehtuuri on tapa ottaa huomioon järjestelmän laatuvaatimukset ohjelmistokehitysprosessissa Tässä laadulla ei viitata virheettömyyteen vaan siihen millä laadulla järjestelmä tekee loogiset toimintonsa Esimerkiksi Ohjelmiston vasteaika on normaalilla kuormalla 5 ms. Järjestelmän pitää olla toimintavalmis 3 minuutissa käynnistämisestä. 20

Laatuvaatimukset Mikä tahansa järjestelmä voidaan toiminnallisuuden puolesta toteuttaa millä tahansa arkkitehtuurilla, joka koostuu toisiinsa liittyvistä komponenteista (ts., toiminnallisuus voidaan sijoitella miten hyvänsä järjestelmän osiin, jos mikään osa ei ole irrallinen muusta järjestelmästä). Pelkän loogisen toiminnallisuuden kannalta arkkitehtuuri ei ole kovin merkittävä. Toiminta A Toiminta B A tarvitsee B:tä? Kuinka usein? Millainen yhteys? => Suorituskyky 21

Yhteenvetoa Opittiin ohjelmistoarkkitehtuurin käsitteestä jotain Törmättiin käsitteeseen ohjelmistoarkkitehti ja saatiin esimakua kaverin tehtävistä ja tehtäviin vaikuttavista asioista 22

Kysyttävää?