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.."
Thank you..