7. Product-line architectures



Samankaltaiset tiedostot
7.4 Variability management

Enterprise Architecture TJTSE Yrityksen kokonaisarkkitehtuuri

T Software Architecture

1 Introduction. TTY Ohjelmistotekniikka. Ohjelmistoarkkitehtuurit Syksy 2006

SOA SIG SOA Tuotetoimittajan näkökulma

2 Description of Software Architectures

Capacity Utilization

Efficiency change over time

Windows Phone. Module Descriptions. Opiframe Oy puh Espoo

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

VBE2 Työpaketit Jiri Hietanen / TTY

Domain spesifinen mallinnus ja generointi käytännössä. Petri Savolainen

16. Allocation Models

Collaborative & Co-Creative Design in the Semogen -projects

Constructive Alignment in Specialisation Studies in Industrial Pharmacy in Finland

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

HITSAUKSEN TUOTTAVUUSRATKAISUT

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

ProAgria. Opportunities For Success

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

Gap-filling methods for CH 4 data

DIGITAL MARKETING LANDSCAPE. Maatalous-metsätieteellinen tiedekunta

Liikenteen hankeaihioita

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

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

Green Growth Sessio - Millaisilla kansainvälistymismalleilla kasvumarkkinoille?

CIO muutosjohtajana yli organisaatiorajojen

Suomalainen koulutusosaaminen vientituotteena

Flexbright Oy Embedded software/hardware engineer

Alternative DEA Models

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

Tuloksia ja kokemuksia / results and experiences

WP3 Decision Support Technologies

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

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

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

Projektinhallinta: riskeihin varautuminen

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

Aineiston analyysin vaiheita ja tulkintaa käytännössä. LET.OULU.FI Niina Impiö Learning and Educational Technology Research Unit

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.

Kokoelmien arviointi

Master's Programme in Life Science Technologies (LifeTech) Prof. Juho Rousu Director of the Life Science Technologies programme 3.1.

A new model of regional development work in habilitation of children - Good habilitation in functional networks

RAIN RAKENTAMISEN INTEGRAATIOKYVYKKYYS

CASE POSTI: KEHITYKSEN KÄRJESSÄ TALOUDEN SUUNNITTELUSSA KETTERÄSTI PALA KERRALLAAN

BLOCKCHAINS AND ODR: SMART CONTRACTS AS AN ALTERNATIVE TO ENFORCEMENT

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

DIPLOMITYÖ ARI KORHONEN

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

LYTH-CONS CONSISTENCY TRANSMITTER

Ohjelmistoarkkitehtuurit Kevät 2016 Johdantoa

Indoor Environment

Improving advisory services through technology. Challenges for agricultural advisory after 2020 Jussi Juhola Warsaw,

(Core) & (Test Manager). Sertifikaattikoe klo

T Iteration demo. T Final Demo. Team Balboa

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

API:Hack Tournee 2014

Uutta tutkimuksen valossa ja alustavia tuloksia JOThankkeesta

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

EUROOPAN PARLAMENTTI

ISEB/ISTQB FOUNDATION CERTIFICATE IN SOFTWARE TESTING III

Kumbang Configurator A Tool for Configuring Software Product Families

Hankkeen toiminnot työsuunnitelman laatiminen

Market. Need Market Research New Needs. Technical Research. Current Technological Level

Data Quality Master Data Management

NBS projektin tilannekatsaus. Tasevastaavapäivä Pasi Aho

Käytännön kokemuksia osallistumisesta EU projekteihin. 7. puiteohjelman uusien hakujen infopäivät 2011

Summary: long transaction (Software AG, 1999)

Helsinki Metropolitan Area Council

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

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

T Software Architecture

Computing Curricula raportin vertailu kolmeen suomalaiseen koulutusohjelmaan

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

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

FPGA-piirien käyttökohteet nyt ja tulevaisuudessa Tomi Norolampi

Other approaches to restrict multipliers

Air Comfort. VEKA ver C.» Spare parts/reservdelar/varaosat

Bachelor level exams by date in Otaniemi

8. Framework architectures

Bachelor level exams by subject in Otaniemi

Salasanan vaihto uuteen / How to change password

Hankkeiden vaikuttavuus: Työkaluja hankesuunnittelun tueksi

Ammattikorkeakoulujen osallistuminen eurooppalaiseen korkeakoulutusalueeseen

Toimitusketjun vastuullisuus ja riskien hallinta

Teknologia-arkkitehtuurit. Valinta ja mallinnus

Technische Daten Technical data Tekniset tiedot Hawker perfect plus

Palvelukonsepteja korjausrakentamiseen muilta toimialoilta - liiketoiminta- ja verkostotutkijan näkemys korjaamiseen

The CCR Model and Production Correspondence

Kuinka rakentaa globaaleja verkostoja - kommenttipuheenvuoro

Digitaalisuus ja PLM yrityksen sekä henkilöiden toiminnan kehittämisessä. Petteri Piippo

Tarua vai totta: sähkön vähittäismarkkina ei toimi? Satu Viljainen Professori, sähkömarkkinat

Ohjelmien kehittämisstudiot varmistavat laadukkaat ja linjakkaat maisteriohjelmat Maire Syrjäkari ja Riikka Rissanen

Laatu yritystoiminnan ytimessä. Junnu Lukkari

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

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

EARLY LEARNING PLAN / ENGLANTI VARHAISKASVATUSSUUNNITELMA

Augmented Reality (AR) in media applications

Fighting diffuse nutrient load: Multifunctional water management concept in natural reed beds

Rich Web Applications in Server-side Java without Plug-ins or JavaScript

Transkriptio:

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 engineering Requirements Programming language Problem-solution mapping Programming-in-the-small Problem: Managing the programming language Solution: Programming environments 2

Short history of software engineering Requirements Programming language Problem-solution mapping Programming-in-the-large Problem: Managing dependencies between components Solution: Architecture Component Component Component Component 3

Short history of software engineering Requirements Programming language Programming-in-the-many Problem: Managing people Solution: Processes Problem-solution mapping Component Component Component Component 4

Short history of software engineering Requirements Programming language model model Model-driven development Problem: Managing complexity Solution: Abstraction Problem-solution mapping model Component Component Component Component 5

Short history of software engineering Requirements Programming language Domain s model model Platform-based development Problem: Managing variability Solution: Product-line architecture Problem-solution mapping model Component Component Component Component 6

Short history of software engineering Requirements model Programming language Domain s Problem-solution mapping model model Component Component Component Component Architecture is the key to - manage the relationships of components - manage complexity of systems - manage the variability in -based development 7

Role of architecture Architecture explains system Architecture guides system Architecture enables systems 8

Reducing the system implementation gap with architectures Requirements Compiler Executable application Traditional Code 9

Reducing the system implementation gap with architectures Requirements Compiler Executable application Traditional DSL = Domain- Specific Language Code DSL DSL code DSL generator Code 10

Reducing the system implementation gap with architectures Requirements Common architecture and Compiler Executable domain support application Traditional DSL = Domain- Specific Language Code DSL DSL code DSL generator Code Platform-based Code Platform interface 11

Reducing the system implementation gap with architectures Requirements Common architecture and Compiler Executable domain support application Traditional DSL = Domain- Specific Language Code DSL DSL code DSL generator Code Platform-based Code Platform interface 12

7.2 Product-line basics Product line architecture (PLA): An architecture for a set of software products sharing similar structure and functionality Central aims: reuse, shorter time-to-market, better quality with less resources, rationalized process Prerequisites: the product family has sufficiently common features and well understood variation Requirements specify: domain model, commonalities, variabilities (e.g. range and binding time) Sometimes unknown requirements lead to product-line approach Product-line architectures: http://www.sei.cmu.edu/plp/product_line_overview.html http://www.sei.cmu.edu/architecture/essays.html#jazayeri 13

Definitions Product-family: a set of software products with similar structure and functionality Product-line: the assets, tools and processes supporting the development of members of a product family Product-line : the common software of a product-family Product-line architecture: the common architecture of the product family (or the product-line ) (=PLA) Product-family architecture 14

When does PLA pay off? 4C 3C payback point (A) without PLA (B) with PLA Cumulative cost 2C C I 1 2 3 4 Number of family members 15

Domain analysis Domain model Variability requirements Common requirements Variability management Requirements capture engineering Product-line process PLA design requirements Product-line architecture interface implementation Domain engineering Platform implementation Platform Specialization 16

Product-line in the organization Marketing Product-line capabilities Customer Platform capabilities Understand domain Design skills Architectural skills Abstraction skills Technologically update Communication skills Customer needs Managers Requirements Product capabilities Understand application Understand customer Can engineer from components Can customize Implementation expertise Platform Group Components Updates Requirements Capabilities Product Groups Products Feedback 17

Strategies for creating a product-line Transforming existing components and products into a product-line Replacing existing components with product-line components Developing a new product-line incrementally Developing a new product-line at one go 18

Supporting technologies Component technologies Component integrators (scripts, visual tools) OO (domain modeling, specialization mechanisms) Domain-specific languages generators Frameworks 19

Hierachical product-lines 20

7.3 Layered style for product-lines Architecture Architecture Resource 21

Resource Architecture Architecture Resource 22

Architecture Architecture Architecture Resource 23

Architecture Architecture Resource 24

Architecture Architecture Resource 25

Product communities Product culture Product tribe Product family Architecture Resource 26

Example: EJB-based product-line (s) Architecture Stock market system Bank framework EJB Resource Database, CORBA 27

Potential problems How can we find the parts affected by hardware changes? How do we know that we are not changing the basic architecture assumptions? How do we know that a new application framework is based on the same architectural principles as the previous ones? How do we know that we are not introducing applicationspecific things to the basic architectural solutions? How can we find the parts mostly responsible for the quality attributes of applications? 28

TAUKO 5 min 29

S60 Product Platform 30