A Product Line Enhanced
Unified Process
Agenda
|
|
|
Motivation |
|
UPEPL-Unified Process Enhanced with
Product Line |
|
Case study with a mobile RPG product
line |
|
Discussion and Conclusions |
Background
|
|
|
|
Role-Playing Games (RPG) on mobile
devices: |
|
|
|
|
|
|
|
|
|
|
|
|
|
similar but also different features |
|
running on Moto E680 |
|
developed by four developers, as unique
products |
Motivation
|
|
|
Whenever you develop a software system,
you are not developing a single system, but a family of systems. |
|
Pros and cons for Unified Process |
|
Current OO and CBSE fall short in
dealing with effective reuse |
UPEPL-Unified Process
Enhanced with Product Line
|
|
|
may start from the end of the first
iteration, or after the release of some products in the product family just
like the typical process of product line engineering |
|
Adding product line related activities
and assets to each phase of the traditional UP. |
Activities in inception
phase
Activities in elaboration
phase
Activities in
construction phase
Case Study with a mobile
RPG product line
|
|
|
Role-Playing Games (RPG) on mobile
devices: |
|
|
|
|
|
|
|
|
|
|
|
similar but also different features |
|
running on Moto E680 |
|
developed by four developers, as unique
products |
Inception
|
|
|
|
We could achieve the following with a
RPG-PL |
|
Unify design of the four RPGs |
|
ease of evolution |
|
Share optimization strategies across
RPGs |
|
performance issues |
|
Cut development cost of other similar
RPGs |
|
new features, running of many platforms |
|
Without compromising performance or
quality |
Inception-continued
|
|
|
|
Similar software must run on many types
of mobile devices |
|
Many brands and models of mobile
devices |
|
differ in platforms, communication
protocols, display units, memory size, etc. |
|
640x200 color screen vs. 100x80 mono
display |
|
80M memory vs. less than 100kb memory |
|
RPGs must perform well on all those
devices |
|
Development cost, time-to-market are
factors |
Elaboration
Feature diagram for RPG
domain
From four RPGs to Product
Line
Refinement Steps: RPG-PLA
|
|
|
|
Refine Climb-PLA to build RPG-PLA |
|
Identify groups of similar components
across four RPGs |
|
for we unify them with generic
meta-components |
|
Address unique features of three other
RPGs |
|
for we design meta-components to be
adaptable |
|
Add more optimizations and propagate to
all four games via RPG-PLA |
|
|
Construction
Discussion
Discussion-continued
|
|
|
|
Enhanced conceptual clarity, uniformity
and integrity of the design |
|
which F. Brooks calls “the most
important consideration in system design” (The Mythical Man-Month ) |
|
Easier to trace the impact of changes |
|
less number of modifications to
implement an enhancement |
|
change propagation from generic to
concrete instances |
|
reduced risk of update anomalies |
|
Reduced size of RPGs by 25% |
Conclusion
|
|
|
|
UPEPL could go side by side with
traditonal UP |
|
Disciplined product line could help to
improve return-of-investment |
|
generative techniques can turn
similarities into productivity gains |
|
build generic design solutions unifying
similar structures |
"Thank you.."