Product Lines.

Slides:



Advertisements
Similar presentations
© Copyright 2003, the Yankee Group. All rights reserved. March 2004 Page 1 Sanjay Mewada Vice-President Telecom Software Strategies The Yankee Group March.
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.
Main issues: • Why is reuse so difficult • How to realize reuse
© 2004 Visible Systems Corporation. All rights reserved. 1 (800) 6VISIBLE Holistic View of the Enterprise Business Development Operations.
Rational Unified Process
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.
Presented by IBM developer Works ibm.com/developerworks/ 2006 January – April © 2006 IBM Corporation. Making the most of Creating Eclipse plug-ins.
1/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
8 Systems Analysis and Design in a Changing World, Fifth Edition.
1 An introduction to design patterns Based on material produced by John Vlissides and Douglas C. Schmidt.
Software Product Line Architectures (SPLA) Nipun Shah
Architecture and Software Product Lines A software architecture represents a significant investment of time and effort, usually by senior talent. So it.
Computer Systems & Architecture Lesson Software Product Lines.
SharePoint Portal Server 2003 JAMES WEIMHOLT WEIDER HAO JUAN TURCIOS BILL HUERTA BRANDON BROWN JAMES WEIMHOLT INTRODUCTION OVERVIEW IMPLEMENTATION CASE.
JWST Integrated Modeling Environment James Webb Space Telescope.
Object-oriented Software Engineering with Reuse Contracts Koen De Hondt, Carine Lucas, Kim Mens, Tom Mens, Patrick Steyaert, Roel Wuyts Programming Technology.
SOFTWARE REUSABILITY AJAYINDER SINGH CSC What is Software Reuse Software reuse is the process of implementing or updating software systems using.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 1 Chapter 14 Design with Reuse.
Java EE Patterns Dan Bugariu.  What is Java EE ?  What is a Pattern ?
Java Example Presentation of a Language. Background Conception: Java began as a language for embedded processors in consumer electronics, such as VCR,
Java Programming: Advanced Topics1 Introduction to Advanced Java Programming Chapter 1.
T Iteration Demo Tikkaajat [PP] Iteration
Executive Overview. Software modeling is essential, because it is the map that guides your developers. Additionally: Modeling Software  Visual information.
Design Patterns: Summary and Next Steps Y. NARAHARI Computer Science and Automation INDIAN INSTITUTE OF SCIENCE Bangalore –
Product Line Architecture. Systems Systems often come in families: basic, regular, professional, enterprise,… Can we share components? Is architecture.
Office 365 Upsell Paths.
Consolidating Your Database Infrastructure
The Holmes Platform and Applications
Software and Communication Driver, for Multimedia analyzing tools on the CEVA-X Platform. June 2007 Arik Caspi Eyal Gabay.
Systems Analysis and Design in a Changing World, Fifth Edition
Building Enterprise Applications Using Visual Studio®
Android Mobile Application Development
Microsoft’s commitment to education
Chapter 24: Architecture Competence
CIM Modeling for E&U - (Short Version)
Managing the Project Lifecycle
Introduction to Advanced Java Programming
What is UML? What is UP? [Arlow and Neustadt, 2005] October 5, 2017
Chapter 18 Maintaining Information Systems
Lecture 17 ATAM Team Expertise
Navision Business Analytics
Systems Analysis – ITEC 3155 Evaluating Alternatives for Requirements, Environment, and Implementation.
Chapter 25: Architecture and Product Lines
ENTERPRISE BUSINESS SYSTEMS part II
Introduction to Enterprise Systems
Office Power Hour New developer APIs and features for Apps for Office
Chapter 16 – Software Reuse
PRM and CRM: Difference
Automating Profitable Growth™
Automating Profitable Growth™
Design and Programming
Chapter 2 The Origins of Software
Software Architecture in Practice
Course: Module: Lesson # & Name Instructional Material 1 of 32 Lesson Delivery Mode: Lesson Duration: Document Name: 1. Professional Diploma in ERP Systems.
Constructing MDA-based Application Using Rational XDE for .NET
Chapter 7 –Implementation Issues
Product Lines.
CS310 Software Engineering Dr.Doaa Sami Khafaga
Java Programming Introduction
Automating Profitable Growth™
Requirements Document
Chapter 16 – Software Reuse
CSSE 477 Software Architecture
Chapter 7 Software Testing.
Introduction to Project Management
FRAMEWORKS AND REUSE What is “Framework”?
from Lutz Dietrich and Hans Kluge
Presentation transcript:

Product Lines

Leveraging Architecture Two ways to do it (at least) Product Lines Use the architecture and core software as a theme with variations to produce multiple products Frameworks “Harden” interfaces to the core software, then sell (or give) the architecture and core software to software vendors as an application platform

Examples Product line: MS Office Office for Windows Office for Windows CE Office for Mac Office Student and Teacher Edition Framework: J2EE (practice calling it “Java EE 5” now)

Things that can be reused Requirements Architectural design Elements (code, but not just code) Modeling and analysis Testing Project planning Processes, methods and tools People Exemplar systems Defect elimination

Product Line Scope Too narrow and the investment is not worth it Too broad and the common parts can be too hard to build or not powerful enough

Architecture for product lines For the most part, designing an architecture is the same, product line or not Additional Factors Identifying variation points Supporting variation points Evaluation must include multiple products

What’s a variation point? An aspect of the system in which the various products require different platform features Example: Office runs on several operating systems Example: Office Student and Teacher edition Word, PowerPoint, Excel, Outlook (not Access) License limited to 3 PCs

Identifying Variation Points Variation points can be discovered at any point in the software lifecycle, especially Business planning Requirements Architecture Implementation Continuous process Starts with the initial design Can continue with each new product

Supporting Variation Points Elements can be included or omitted Include different numbers of elements Select versions of elements

Supporting Variation (cont.) OO techniques Generalization Polymorphism Build extension points into the element Build-time parameterization Reflection – behavior based on context

Evaluation In addition to the normal evaluation: Focus on variation points Need to understand consequences of variations Example: running on different operating systems implies differences in documentation Example: running on Windows CE implies different optimizations

Problem Areas Adoption – the first hurdle! Evolution and the forces that drive it External vendor supplied parts External feature demand Internal new project needs In the product or the platform? Updating older products

Organizational Structure Platform development team Core assets Buy back Stakeholders Business Units Development teams Marketing

summary