Product Line Architecture. Systems Systems often come in families: basic, regular, professional, enterprise,… Can we share components? Is architecture.

Slides:



Advertisements
Similar presentations
ASYCUDA Overview … a summary of the objectives of ASYCUDA implementation projects and features of the software for the Customs computer system.
Advertisements

Object-Oriented Application Frameworks Much of the cost and effort stems from the continuous re- discovery and re-invention of core concepts and components.
ACT! 3.0 For Notes R5 Turning Contacts Into Relationships and Relationships Into Results Copyright (C) 2002 – GL Computing.
JUNE 2007 page 1 EDS Proprietary Applications Modernization Services Modernizing the Applications Portfolio.
Building an Operational Enterprise Architecture and Service Oriented Architecture Best Practices Presented by: Ajay Budhraja Copyright 2006 Ajay Budhraja,
© 2004 Visible Systems Corporation. All rights reserved. 1 (800) 6VISIBLE Holistic View of the Enterprise Business Development Operations.
Azad Madni Professor Director, SAE Program Viterbi School of Engineering Platform-based Engineering: Rapid, Risk-mitigated Development.
Using Variability Modeling Principles to Capture Architectural Knowledge Marco Sinnema (University of Groningen), Jan Salvador van der Ven (University.
DAIMIHenrik Bærbak Christensen1 Product Lines Architectural Reuse.
1 Software Product Lines Re-using Architectural Assets - continued from CSSE CSSE 477 Software Architecture Week 7, Day 2, including Ch 14 in Bass’s.
Software Product Lines
Presentation Title: Utilizing Business Process Management (BPM) and Enterprise Architecture (EA) to Achieve and Maintain a Competitive Advantage Presented.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 28 Slide 1 Process Improvement.
System Engineering Instructor: Dr. Jerry Gao. System Engineering Jerry Gao, Ph.D. Jan System Engineering Hierarchy - System Modeling - Information.
LEVERAGING THE ENTERPRISE INFORMATION ENVIRONMENT Louise Edmonds Senior Manager Information Management ACT Health.
Software Product Line Engineering Andrew Burmester SE 4110 Section 2 4/14/11.
Product Line Approaches in Software Engineering April 29, 2013 Sophia Wu.
Architecture and Software Product Lines A software architecture represents a significant investment of time and effort, usually by senior talent. So it.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
Computer Systems & Architecture Lesson Software Product Lines.
An Introduction to the new features in TOGAF® 9
SEI´S Software Product Line Tenets Linda M. Northrop Software Engineering Institute IEEE Software July/August 2002.
02/10/2011Ombati Thomas ENTERPRISE RESOURCE PLANNING (ERP)- SAP PRESENTATION November 2012.
codeBeamer ALM by Intland Software
Chapter 6 System Engineering - Computer-based system - System engineering process - “Business process” engineering - Product engineering (Source: Pressman,
Strategy #5. IT Architecture and IT Infrastructure are Metaphors Architecture - the relationship between planning and building Infrastructure - examples.
N By: Md Rezaul Huda Reza n
Institut Experimentelles Software Engineering Fraunhofer IESE Klaus Schmid Relating Product Line Adoption Mode and Transition Process.
1 Process Engineering A Systems Approach to Process Improvement Jeffrey L. Dutton Jacobs Sverdrup Advanced Systems Group Engineering Performance Improvement.
Logistics and supply chain strategy planning
JVB-STC'97- 1 #*#* Successful Adoption and Use of Object Oriented Technologies STC ‘97 April 30, 1997 Jim Van Buren.
SOFTWARE REUSABILITY AJAYINDER SINGH CSC What is Software Reuse Software reuse is the process of implementing or updating software systems using.
Ch 1-1 © 2004 Pearson Education, Inc. Pearson Prentice Hall, Pearson Education, Upper Saddle River, NJ Ostwald and McLaren / Cost Analysis and Estimating.
PREPARED BY: Hadeel El-Genedy SOFTWARE ARCHITECTURE COURSE PRE-MASTERS STUDIES COMPUTER SCIENCE DEPARTMENT CAIRO UNIVERSITY Software Product Line.
Introducing Software Product Lines (SPL) Silvio Romero de Lemos Meira Eduardo Santana de Almeida
Software Product Line Material based on slides and chapter by Linda M. Northrop, SEI.
J. Scott Hawker p. 1Some material © Rational Corp. Rational Unified Process Overview See and use the RUP Browser on lab machines.
Chapter 7 Enterprise Resource Planning (ERP). Objectives After studying the chapter, students should be able to.. Explain definition of Enterprise Resource.
ARCH-04 Before You Begin Your Transformation Project… Phillip Magnay Architect – Applied Technology.
Building Competitive Advantage Through Functional-Level Strategies
Managing Enterprise Architecture
1 CQA Training QUESTION BANK. 2 CQA Training QUESTION 1 THE TWO DEFINITIONS OF QUALITY ARE: QUALITY MEANS MEETING REQUIREMENTS QUALITY MEANS FIT FOR USE.
Phase-1: Prepare for the Change Why stepping back and preparing for the change is so important to successful adoption: Uniform and effective change adoption.
The Strategy Map Presentation Templates
CompSci 280 S Introduction to Software Development
Strategic Information Systems Planning
Applications Modernization Services
EI Architecture Overview/Current Assessment/Technical Architecture
BIL 424 NETWORK ARCHITECTURE AND SERVICE PROVIDING.
Chapter 10 Software Quality Assurance& Test Plan Software Testing
CMMI Overview Quality Frameworks.
EOB Methodology Overview
An Introduction to Software Factories
Software Product Lines
Chapter 25: Architecture and Product Lines
Product Lines.
Chapter 9 Achieving Operational Excellence and Customer Intimacy: Enterprise Applications.
Chapter 1 (pages 4-9); Overview of SDLC
Building Competitive advantage through functional level strategies
Software Architecture in Practice
Product Lines.
Capability Maturity Model
Building Competitive advantage through functional level strategies
Project Advance Introduction.
Investing in Data Management Capabilities
Capability Maturity Model
Software Verification and Validation
IEEE Architecture Council Overview
Building Competitive Advantage Through Functional-Level Strategies
Presentation transcript:

Product Line Architecture

Systems Systems often come in families: basic, regular, professional, enterprise,… Can we share components? Is architecture useful is encouraging an approach that uses components as building blocks for systems.

Software Product Line A collection of software-intensive systems sharing a common, managed, set of features that satisfy the specific needs of a market segment or mission that are developed from a set of core assets in a prescribed way. – Product lines are a feature of many physical products (e.g. cars) – Useful in the context of software engineering

Software Product Lines Are directed by business goals in a particular application domain. The products in a product line share a software product line architecture Products are structured by the product line architecture and are built form services and components. Architercture and components are the core assets used to satisfy the business goals. Product line leverage commonality and limit variability of the product.

Product lines spread costs over several products Requirements and requirements analysis Domain model Architecture and design Performance engineering Documentation Test cases, data, and plans Skills Processes, methods and tools Defect fixing Components and services

Benefits to the organisation Large-scale productivity gains Improve time to market Maintian market presence (rapidly evolving variants) Sustain growth Improved market agility Better use of skills Enable mass customisation Gain control of configuration Improve product quality Better predictability of cost, schedule and quality

Costs of a product line Architecture: flexible enough to support variation in the products Software components: general enough to support variability Test plans, cases, data: take account of variation in components Business cases: must operate at the level of a product family Project plans: generic and extensible to deal with variation Tools and processes: must support architecture, variation, configuration,.. People, skills, training: need to be skilled in architecture and product lines.

Product Line Economics

Product line summary Van der Linden, F., (2002). Engineering Software Architectures, Processes and Platforms for System Families—ESAPS Overview, Proceedings of the Second International Conference on Software Product Lines (SPLC2), pp , San Diego, CA, USA, August 2002.

Core Process Activities Core asset development: improving the base components in terms of qualities, products they support, and architecture. Product development: identifying and building products to meet market need inside the product line. Management: monitoring and improving the processes, tools and practices.

Introducing Product Lines Proactive: Up-front investment to develop the core assets – need to know the market well (maybe have an already established set of products) Reactive: Start with one or two products and use them to generate core assets. Incremental: Develop core assets as the business need evolves.

Example: Bosch Gasoline Systems Based on: Software Product Lines in Action, Chapter 9, Frank van der Linden, Klaus Schmid, Eelco RommesFrank van der Linden, Klaus Schmid, Eelco Rommes Springer 2007, ISBN:

Bosch Gasoline Systems

Bosch Employed 250,000 people in 2006, now 375,000 Revenue €70.6 bn in 2015 Gasoline systems is one of the largest divisions in 2006, employing 1000 developers. Every new engine controller leads to a new variant Thousands of controllers are in use.

Rapid Change

Goals Competitiveness: – Reduced hardware resource consumption – Reduced time to market for new features Development efficiency – Reuse – Easy configuration of software products – Increased planning accuracy Quality – Interface integrity – Reuse of core assets Customer needs – Differentiation by individual software solutions – Clear feature-cost mapping

Approach Process: – Consider business strategy – Consequences for products – Consequences for processes and methods – Consequences for tools – Consequences for the organisation

Business Strategy

Production

Architecture

Architectural Features Control of resource consumption e.g. memory (because of cost). Distributed development requires good interface management. Layers provide the possibility to share applications without knowing the details of particular sensors or actuators Reuse goals: Applications can be used across different generations of system; “core” software is highly configurable and is reused via reconfiguration; “Vehicle functions” can be used across gasoline and diesel engines Standardisation is important, Bosch play an important role in AUTOSAR:

Architecture Standardisation

Component Redesign Focussed on: reuse; simplification of calibration; resource consumption; stabilisation of interfaces (within the architecture) Redesign progressed by: – Analysing existing software inventory: features, sources of variability; relation to product line; document interdependency. – Concept development and design of components: simplification; configurability; architecture driven structure; document relations between features and components; – Baselines for variants of software components: document baselines; implement; maintain up-to-date document and implementation.

Phased Introduction Investigate and customise product line engineering. Design and pilot adequate processes and methods. Roll out and institutionalise in the standard development process.

Roll out

Toolchains

Tools were primitive and not well adopted – strong requirements for: feature modelling; architecture documentation; interface documentation, checks and management; linkage between features and implementation; feature- based product derivation. Strong drive to standardise to develop tools and ease interchange between Bosch as a supplier and purchasers of Bosch products

Maturing Toolchains

Key Elements Management commitment to: build up product line knowledge; establishing a product line business unit to drive product line engineering; commitment to rollout. Process excellence: in parallel to adoption of product line Bosch to achieve Capability Maturity Model Integration level 3 (i.e defined process characterised for the organisation and is proactive)