Managing Variability in Product Line Scoping Using Design Space Models - PowerPoint PPT Presentation

1 / 27
About This Presentation
Title:

Managing Variability in Product Line Scoping Using Design Space Models

Description:

1. health insurance that covers illness with own risk and direct premium ... 3. Car insurance with coverage for damage, own risk and periodical payment. etc. ... – PowerPoint PPT presentation

Number of Views:81
Avg rating:3.0/5.0
Slides: 28
Provided by: bedirteki
Category:

less

Transcript and Presenter's Notes

Title: Managing Variability in Product Line Scoping Using Design Space Models


1
Managing Variabilityin Product Line
ScopingUsing Design Space Models
  • Bedir Tekinerdogan Mehmet Aksit
  • University of Twente
  • Dept. of Computer Science
  • Software Engineering
  • TRESE, Software Engineering
  • (bedir aksit)_at_cs.utwente.nl

2
Contents
  • Reuse
  • Product Line Engineering
  • Product Line Scoping
  • Design Space Modeling
  • Conclusion

3
Development from scratch
Life Insurance System
Health Insurance System
Car Insurance System
House Insurance System
Travel Insurance System
4
Nokia Facts
  • sells phones in more than 130 countries
  • support 58 languages (Japanese, Arabic, Hebrew,
    Chinese, etc. )
  • support multiple protocols
  • CDMA, TDMA, AMPS, GSM, GPRS,
  • Hardware is constantly changing and software is
    constantly expanding.
  • Different UI support

From Slide from Anders Heie, Nokia Mobile Phones
5
Example Nokia Mobile Phones
6
Development with reuse
7
Source of reusable components
But where did the class/component library come
from?! How where these components planned for
this application?!
?
Insurance Components
8
Domain Engineering - Development for reuse
  • Domain Engineering
  • the process of analysis,
  • specification and
  • implementation of software assets
  • in a domain which are used in
  • the development of multiple software products.

Relevant Domain Knowledge
9
Example - Domain Model for Insurance Systems
10
Domain Implementation
  • Generate reusable assets derived from domain
    architecture and catalog in component library

Domain Implementation
Reusable Assets...
Domain Model
Insurance Assets
11
Application Engineering
  • The process of developing software products from
    software assets created by a domain engineering
    process.
  • Focus on a single system
  • but development is basically composition

Application n
(Reusable) Domain Knowledge
Application 2
generate
Application 1
12
Domain Engineering vs. Application Engineering
  • How to make domain knowledge reusable?
  • Domain Engineering
  • How to apply it for building many applications?
  • Application Engineering

Relevant Domain Knowledge
13
Two-Life Cycle Model
DOMAIN ENGINEERING
Domain Analysis
14
Product Alternatives
Domain Model
2976 alternatives!
15
Problem StatementWhat are the product
alternatives?
Alternative
Alternative
Alternative
Alternative
Alternative
Alternative
Alternative
Alternative
Alternative
Alternative
Alternative
Alternative
Alternative
Alternative
Alternative
Product Line Scoping
16
Product Line Scoping Risks
  • Scope is too large
  • product members might vary too much
  • more difficult to define commonality and
    variability
  • waste of resources
  • Scope is too small
  • core assets might not be built in a generic
    enough fashion to accommodate future growth
  • product line will stagnate and no additional
    benefits

17
Product Implementation alternatives
Domain Model
18
Problem StatementWhat are the implementation
alternatives?
Alternative
Alternative
Alternative
Alternative
Alternative
Alternative
Alternative
Alternative
Alternative
Alternative
Alternative
Alternative
Alternative
Alternative
Alternative
Product Implementation Scoping
19
Design Spaces
  • A multi-dimensional representation
  • of a set of alternatives
  • for a given design problem

20
Process for Scoping Design Space
  • Represent Design Spaces
  • Define constraints of alternatives
  • Unfolding design space
  • Reduce design space using selection and
    elimination
  • Map design space to implementation

21
Represent Design Space
2976 alternatives!
22
Reducing Design Space
23
Reducing Design Space
  • Define Constraints

1. InsuredObject.Person mutex-with
Coverage.Damage If the ensured object is a person
then the insurance product cannot include
coverage of damage (for physical objects) 2.
Coverage.Loss requires InsuredObject.MoveablePrope
rty If the insurance product includes coverage
for loss then the insured object can only be
a moveable property 3. Coverage.Illness mutex
InsuredObject.Corporation If the insurance
product includes coverage for illness then the
insured object cannot be a person. 4.
InsuredObject.Corporation requires
Payee.Corporation If the insured object is a
corporation then the claimer should also be a
corporation.
24
Reducing Design Space
  • Select/Eliminate subspaces

InsuranceProduct (InsObj ? Cov ? Paym ? Cond ?
Prem ? Payee)
25
Map to implementations
  • For example object-oriented implementation
  • Mapping is a model transformation

InsuranceProduct (InsObj ? Cov ? Paym ? Cond ?
Prem ? Payee)
512000 alternatives
Object (CL OP AT)
26
Rumi
27
Conclusion
  • Quality is not improved how good the process is,
    but firstly what kind of process you have
  • Introducing a secondary lifecycle process (domain
    engineering) supports quality
  • time-to-market
  • Reuse
  • Product Line Engineering consists of Domain
    Engineering and Application Engineering
  • One of the most important issues in PLE is
    Product Line Scoping
  • Current Product Line Scoping Techniques fail to
    depict the set of alternatives explicitly
  • We have applied design space modeling to
    represent design spaces for Product Alternatives
    and Product Implementation Alternatives
  • The tool Rumi implements design space modeling
    techniques.
Write a Comment
User Comments (0)
About PowerShow.com