Notes
Slide Show
Outline
1
A Product Line Enhanced Unified Process
2
Agenda
  • Motivation
  • UPEPL-Unified Process Enhanced with Product Line
  • Case study with a mobile RPG product line
  • Discussion and Conclusions
3
Background
  • Role-Playing Games (RPG) on mobile devices:







    • similar but also different features
    • running on Moto E680
    • developed by four developers, as unique products
4
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
5
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.
6
Activities in inception phase
7
Activities in elaboration phase
8
Activities in construction phase
9
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
10
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
11
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
12
Elaboration
13
Feature diagram for RPG domain
14
From four RPGs to Product Line
15
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


16
Construction
17
Discussion
18
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%
19
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
20
"Thank you.."
  • Thank you..