software product lines krishna anusha, eturi. introduction: a software product line is a set of...
TRANSCRIPT
Software Product Lines
Krishna Anusha, Eturi
Introduction:
• A software product line is a set of software systems developed by a company that share a common set of core requirements necessary for the developing a product with some known or allowable variations.
What is SPL?
• It is the process of developing related systems from common assets or common assets [2].
• Core assets :• The core assets include the architecture, reusable
components, documentations, process descriptions etc [1].
Activities in the SPL:
• Core Asset Development,• Product Development,• Management.
Fig.1 Three activities of SPL
Core Asset Development:
• It includes the development of production capability by taking inputs and resulting outputs accordingly.
• The inputs and outputs are affected by each other as this process is iterative.
Fig 2. Core Asset Development
The inputs of the core assets development are:
• Product constraints,• Styles, patterns, frameworks,• Production constraints,• Production strategy,• Inventory of preexisting assets.
The outputs of core assets development are:
• Core assets,• Product line scope,• Production plan.
Product Development:
• In the product development, the inputs include the requirements, product line scope and the core assets [5].
• The output is the product itself.
Fig 3. Production Development
Management:
The management includes two levels. They are:
The organizational level andThe technical level.
Fig 4. Management
Software Product Line practice areas:
A practice area is the body of work or set of activities.
Some of the practice areas defined for the product line concepts such as:
• Software engineering practices area,• Organizational or Technical management.
Software engineering practice areas include the following:
• Architecture definition, • Requirements engineering,• Testing,• Understanding relevant domains etc.
Technical management practice areas includes the following:
• Process definition,• Technical risk management,• Tool support etc.
The Organizational management practice areas include:
• Funding,• Market analysis,• Organizational planning,• Training etc.
What are Product Line patterns:
The patterns include ways to define similar contexts and problem/solution pairs.
The practice areas are put into practices using the product line patterns [1].
Advantages of Software Product Line:
• Achieve productivity gains,• Improve time to market,• Exploit economies of scope through reuse of
common assets [4],• Enhance the predictability of software
development processes,• Improve software quality.
Conclusion: Future directions of Software Product Line
are:• The future directions of the Software Product Line
is heading towards development of more strategic methods.
• Minimizing the short comes of the first generation methodologies, which used manual application engineering. This way, the dynamic software product lines are being developed [6].
The software mass customization is one of the development methodologies which focus on domain engineering of reusable assets [3].
References:
[1] L. M. Northrop,” SEI’s Software Product Line Tenets”, IEEE Software, Vol. 19, I. 4, P. 32-40, 2002.
[2] P. Donohoe, "Introduction to Software Product Lines", 12th International Software Product Line Conference, P.370 - 370, 2008.
[3] C. W. K. Krueger, “New methods in Software Product Line Development”, 10th International Software Product Line conference, 2006.
[4] C.W.Krueger,"Software product line reuse in practice",3rd IEEE Symposium on Application-Specific Systems and Software Engineering Technology, Proceedings, P.117 - 118, 2000.
[5] J. Zhang, X. Cai, G. Liu, "The Role of Aspects in Software Product Lines", International Conference on Computer Science and Information Technology, P. 588-592, 2008.
References contd..
[6] M. Kim, S. Park, “Goal and Scenario Driven Product Line
Development”, IEEE Computer Society, 2004.
Questions?
Thank you