![Page 1: 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](https://reader035.vdocuments.us/reader035/viewer/2022062407/56649da65503460f94a922d0/html5/thumbnails/1.jpg)
Software Product Lines
Krishna Anusha, Eturi
![Page 2: 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](https://reader035.vdocuments.us/reader035/viewer/2022062407/56649da65503460f94a922d0/html5/thumbnails/2.jpg)
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.
![Page 3: 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](https://reader035.vdocuments.us/reader035/viewer/2022062407/56649da65503460f94a922d0/html5/thumbnails/3.jpg)
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].
![Page 4: 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](https://reader035.vdocuments.us/reader035/viewer/2022062407/56649da65503460f94a922d0/html5/thumbnails/4.jpg)
Activities in the SPL:
• Core Asset Development,• Product Development,• Management.
![Page 5: 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](https://reader035.vdocuments.us/reader035/viewer/2022062407/56649da65503460f94a922d0/html5/thumbnails/5.jpg)
Fig.1 Three activities of SPL
![Page 6: 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](https://reader035.vdocuments.us/reader035/viewer/2022062407/56649da65503460f94a922d0/html5/thumbnails/6.jpg)
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.
![Page 7: 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](https://reader035.vdocuments.us/reader035/viewer/2022062407/56649da65503460f94a922d0/html5/thumbnails/7.jpg)
Fig 2. Core Asset Development
![Page 8: 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](https://reader035.vdocuments.us/reader035/viewer/2022062407/56649da65503460f94a922d0/html5/thumbnails/8.jpg)
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.
![Page 9: 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](https://reader035.vdocuments.us/reader035/viewer/2022062407/56649da65503460f94a922d0/html5/thumbnails/9.jpg)
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.
![Page 10: 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](https://reader035.vdocuments.us/reader035/viewer/2022062407/56649da65503460f94a922d0/html5/thumbnails/10.jpg)
Fig 3. Production Development
![Page 11: 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](https://reader035.vdocuments.us/reader035/viewer/2022062407/56649da65503460f94a922d0/html5/thumbnails/11.jpg)
Management:
The management includes two levels. They are:
The organizational level andThe technical level.
![Page 12: 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](https://reader035.vdocuments.us/reader035/viewer/2022062407/56649da65503460f94a922d0/html5/thumbnails/12.jpg)
Fig 4. Management
![Page 13: 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](https://reader035.vdocuments.us/reader035/viewer/2022062407/56649da65503460f94a922d0/html5/thumbnails/13.jpg)
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.
![Page 14: 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](https://reader035.vdocuments.us/reader035/viewer/2022062407/56649da65503460f94a922d0/html5/thumbnails/14.jpg)
Software engineering practice areas include the following:
• Architecture definition, • Requirements engineering,• Testing,• Understanding relevant domains etc.
![Page 15: 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](https://reader035.vdocuments.us/reader035/viewer/2022062407/56649da65503460f94a922d0/html5/thumbnails/15.jpg)
Technical management practice areas includes the following:
• Process definition,• Technical risk management,• Tool support etc.
![Page 16: 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](https://reader035.vdocuments.us/reader035/viewer/2022062407/56649da65503460f94a922d0/html5/thumbnails/16.jpg)
The Organizational management practice areas include:
• Funding,• Market analysis,• Organizational planning,• Training etc.
![Page 17: 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](https://reader035.vdocuments.us/reader035/viewer/2022062407/56649da65503460f94a922d0/html5/thumbnails/17.jpg)
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].
![Page 18: 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](https://reader035.vdocuments.us/reader035/viewer/2022062407/56649da65503460f94a922d0/html5/thumbnails/18.jpg)
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.
![Page 19: 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](https://reader035.vdocuments.us/reader035/viewer/2022062407/56649da65503460f94a922d0/html5/thumbnails/19.jpg)
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].
![Page 20: 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](https://reader035.vdocuments.us/reader035/viewer/2022062407/56649da65503460f94a922d0/html5/thumbnails/20.jpg)
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.
![Page 21: 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](https://reader035.vdocuments.us/reader035/viewer/2022062407/56649da65503460f94a922d0/html5/thumbnails/21.jpg)
References contd..
[6] M. Kim, S. Park, “Goal and Scenario Driven Product Line
Development”, IEEE Computer Society, 2004.
![Page 22: 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](https://reader035.vdocuments.us/reader035/viewer/2022062407/56649da65503460f94a922d0/html5/thumbnails/22.jpg)
Questions?
![Page 23: 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](https://reader035.vdocuments.us/reader035/viewer/2022062407/56649da65503460f94a922d0/html5/thumbnails/23.jpg)
Thank you