Presentation is loading. Please wait.

Presentation is loading. Please wait.

Product Lines.

Similar presentations


Presentation on theme: "Product Lines."— Presentation transcript:

1 Product Lines

2 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

3 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)

4 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

5 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

6 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

7 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

8 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

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

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

11 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

12 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

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

14 summary


Download ppt "Product Lines."

Similar presentations


Ads by Google