T Software Architecture

Samankaltaiset tiedostot
T Software Architecture

7. Product-line architectures

7.4 Variability management

Ohjelmistoarkkitehtuurit Kevät 2016 Johdantoa

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

1 Introduction. TTY Ohjelmistotekniikka. Ohjelmistoarkkitehtuurit Syksy 2006

2 Description of Software Architectures

LUONNOS RT EN AGREEMENT ON BUILDING WORKS 1 THE PARTIES. May (10)

Enterprise Architecture TJTSE Yrityksen kokonaisarkkitehtuuri

RAIN RAKENTAMISEN INTEGRAATIOKYVYKKYYS

Kokonaisarkkitehtuurin omaksuminen: Mahdollisia ongelmakohtia ja tapoja päästä niiden yli

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

HITSAUKSEN TUOTTAVUUSRATKAISUT

Efficiency change over time

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

Other approaches to restrict multipliers

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

SOA SIG SOA Tuotetoimittajan näkökulma

Aiming at safe performance in traffic. Vastuullinen liikenne. Rohkeasti yhdessä.

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

Capacity Utilization

CIO muutosjohtajana yli organisaatiorajojen

Infrastruktuurin asemoituminen kansalliseen ja kansainväliseen kenttään Outi Ala-Honkola Tiedeasiantuntija

NBS projektin tilannekatsaus. Tasevastaavapäivä Pasi Aho

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

Information on preparing Presentation

Keskeisiä näkökulmia RCE-verkoston rakentamisessa Central viewpoints to consider when constructing RCE

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

Projektinhallinta: riskeihin varautuminen

The CCR Model and Production Correspondence

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL

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

TietoEnator Pilot. Ari Hirvonen. TietoEnator Oyj. Senior Consultant, Ph. D. (Economics) presentation TietoEnator 2003 Page 1

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.

Making diversity manageable. Miradore. Käytännön kokemuksia rahoituksen hakemisesta. Tiistai Technopolis Vapaudenaukio / Lappeenranta

Asiantuntijoiden osaamisen kehittäminen ja sen arviointi. Anne Sundelin Capgemini Finland Oy

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

Tilausvahvistus. Anttolan Urheilijat HENNA-RIIKKA HAIKONEN KUMMANNIEMENTIE 5 B RAHULA. Anttolan Urheilijat

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

Introduction to exterior routing

T Iteration demo. T Final Demo. Team Balboa

anna minun kertoa let me tell you

AYYE 9/ HOUSING POLICY

Security server v6 installation requirements

Suomalainen koulutusosaaminen vientituotteena

ProAgria. Opportunities For Success

Helsinki Metropolitan Area Council

Alternative DEA Models

Introduction to exterior routing

WP3 Decision Support Technologies

C++11 seminaari, kevät Johannes Koskinen

Aluksi. Riskien hallinta. Riskityyppejä. Riskillä on kaksi ominaisuutta. Reaktiivinen strategia. Proaktiivinen strategia

KOMPETENSSIT. Koulutus Opiskelija Tuuttori. Business Information Technologies. NQF, Taso 6 - edellyttävä osaaminen

Prosessiajattelu. Prosessikuvaukset ja elinkaarimallit. Organisaation prosessikuvaus - CMMI. Sami Kollanus TJTA330 Ohjelmistotuotanto 3.4.

Security server v6 installation requirements

Collaborative & Co-Creative Design in the Semogen -projects

Prosessien kehittäminen. Prosessien parantaminen. Eri mallien vertailua. Useita eri malleja. Mitä kehitetään?

Työsuojelurahaston Tutkimus tutuksi - PalveluPulssi Peter Michelsson Wallstreet Asset Management Oy

Organisaation kokonaissuorituskyvyn arviointi

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

Liikenteen hankeaihioita

Smart specialisation for regions and international collaboration Smart Pilots Seminar

Introduction to exterior routing

Teknologia-arkkitehtuurit. Valinta ja mallinnus

Technische Daten Technical data Tekniset tiedot Hawker perfect plus

Returns to Scale II. S ysteemianalyysin. Laboratorio. Esitelmä 8 Timo Salminen. Teknillinen korkeakoulu

Perusoikeusbarometri. Panu Artemjeff Erityisasiantuntija

Rakentamisen 3D-mallit hyötykäyttöön

16. Allocation Models

A Plan vs a Roadmap. This is a PLAN. This is a ROADMAP. PRODUCT A Version 1 PRODUCT A Version 2. PRODUCT B Version 1.1. Product concept I.

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

EUROOPAN PARLAMENTTI

TAMPEREEN TEKNILLINEN YLIOPISTO Teollisuustalous

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

Millainen on viihtyisä kaupunki ja miten sitä mitataan?

WAMS 2010,Ylivieska Monitoring service of energy efficiency in housing Jan Nyman,

Esitykset jaetaan tilaisuuden jälkeen, saat linkin sähköpostiisi. Toivottavasti vastaat myös muutamaan kysymykseen tapahtumasta Have a lot of fun!

The role of 3dr sector in rural -community based- tourism - potentials, challenges

ISEB/ISTQB FOUNDATION CERTIFICATE IN SOFTWARE TESTING III

Gap-filling methods for CH 4 data

Logistiikan turvallisuus arvon tuotto LogProof-seminaari Mervi Murtonen, VTT

make and make and make ThinkMath 2017

Curriculum. Gym card

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

LX 70. Ominaisuuksien mittaustulokset 1-kerroksinen 2-kerroksinen. Fyysiset ominaisuudet, nimellisarvot. Kalvon ominaisuudet

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

Statistical design. Tuomas Selander

Choose Finland-Helsinki Valitse Finland-Helsinki

DIGITAL MARKETING LANDSCAPE. Maatalous-metsätieteellinen tiedekunta

Olet vastuussa osaamisestasi

Hoitotyön johtajuuden ulottuvuudet eri tasoilla. Paula Asikainen Hallintoylihoitaja, dosentti, emba

Green Growth Sessio - Millaisilla kansainvälistymismalleilla kasvumarkkinoille?

Korkeakoulujen tietohallinto ja tutkimus: kumpi ohjaa kumpaa?

Introduction to exterior routing. Autonomous Systems

Data Quality Master Data Management

Automaatiojärjestelmän hankinnassa huomioitavat tietoturva-asiat

Co-Design Yhteissuunnittelu

UX NÄKÖKULMA - KONECRANES

Indoor Environment

Aalto-yliopiston laatujärjestelmä ja auditointi. Aalto-yliopisto Inkeri Ruuska, Head of Planning & Management Support

Transkriptio:

T-76.3601 Software Architecture Introduction Tomi Männistö TEKNILLINEN KORKEAKOULU

SA teaching at SoberIT TEKNILLINEN KORKEAKOULU 2

Overview Motivation for software architectures Dealing with increasing complexity What is software architecture? Role of software architecture Architecture design Architecturally significant decisions Role of architect Variability management and software product families Software architectures, diversity and reuse Conclusions TEKNILLINEN KORKEAKOULU 3

Motivation TEKNILLINEN KORKEAKOULU

Building a doghouse Just do it! build and fix TEKNILLINEN KORKEAKOULU 5

TEKNILLINEN KORKEAKOULU 7

Building complex things Involve risk(s) in achieving crucial characteristics, thus: just do it, build and fix or first do, then think may not work. TEKNILLINEN KORKEAKOULU 8

Software complexity software architecture Software development has been, is, and will likely remain fundamentally hard Entire history of software engineering is one of rising levels of abstraction At the highest level of abstraction, every system has an architecture TEKNILLINEN KORKEAKOULU 9 [http://www.booch.com/architecture/]

Some sources of complexity in software development Size Size in terms of LOC, number of nodes, amount of data stored, manipulated or transferred, Important quality (quality attribute, non-functional requirement) Performance (competitive advantage, hard constraints), security, physical resources (memory, bandwidth, energy consumption, weight), Tough domain requirements Medical, military, banking, aviation, space exploration, tiny mobile gadget, Variability Different market segments, culture, personal preferences, price differentiation, legislation, hardware, context, TEKNILLINEN KORKEAKOULU 10

General definition for software architecture Architecture is 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] TEKNILLINEN KORKEAKOULU 11

Roles of software architecture Provide overall structure Big picture Abstraction, high level architecture Document early design decisions and their rationale Enable communication Between stakeholders about architecturally significant decisions and trade-offs From architecture design to implementation Support variability management Addressing diversity Reuse within company Software product family architectures TEKNILLINEN KORKEAKOULU 12

Architecture design TEKNILLINEN KORKEAKOULU

From Problem Domain to Solution Domain Problem domain Solution domain Needs Requirements Business value Features SA System Context TEKNILLINEN KORKEAKOULU 14

Stakeholders are people for whom the system is being built Customer User Concerns General management Product manager System Project manager Developer Sales Marketing Legislation Constraints Solution provider Integrator 15 Maintenance Customer support

Architecturally significant decisions Difficult to fix or change if turn out to be wrong Changing an architecturally significant decision is not a simple matter of programming Cross-cutting Affect many or all components Cannot be fixed in one component Preclude or enable qualities of the system TEKNILLINEN KORKEAKOULU 16

It is the responsibility of the architect to decide what is architecturally significant TEKNILLINEN KORKEAKOULU 17

Role of architect Identify and engage stakeholders Understand and capture stakeholder s concerns Create and take ownership of the architecture definition that addresses the concerns To take leading role in realisation of architecture into a physical product or system [Rozanski & Woods 2005] TEKNILLINEN KORKEAKOULU 18

Software product family fundamentals The role of software architecture in dealing with variability TEKNILLINEN KORKEAKOULU

Software product family / line definitions Set of similar software-intensive systems sharing a common, managed set of features that satisfy the specific market needs and that are developed from a common set of core assets in a prescribed way [Clements & Northrop 2001] A software product family consists of an architecture and assets that are used for producing individuals of the family TEKNILLINEN KORKEAKOULU 20

Software product family Product family architecture Shared assets PF development Product individuals deployment TEKNILLINEN KORKEAKOULU 21

Product family architecture Software architecture By definition supports variation High level of abstraction multiple implementations Product family architecture Explicitly allowed variations Identifying the allowed variation is part of product family architectures responsibility Different variability implementation mechanism exits Build-time parameters, selection of components or subsystems, specialisation, plug-in components, interfaces, middleware,... TEKNILLINEN KORKEAKOULU 22

Conclusions TEKNILLINEN KORKEAKOULU

What are SAs all about? Ensuring that main requirements, qualities in particular, will be achieved before the system is built Managing the risk in achieving Complexity, variability, evolution, Making development of complex software systems routine Representing and documenting the architecture Communication between stakeholders = sharing knowledge = making right decisions (trade-offs) early enough TEKNILLINEN KORKEAKOULU 24