1 / 23

Software Product Lines

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?

javen
Télécharger la présentation

Software Product Lines

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Software Product Lines Krishna Anusha, Eturi

  2. 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.

  3. 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].

  4. Activities in the SPL: • Core Asset Development, • Product Development, • Management.

  5. Fig.1 Three activities of SPL

  6. 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.

  7. Fig 2. Core Asset Development

  8. 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.

  9. 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.

  10. Fig 3. Production Development

  11. Management: • The management includes two levels. They are: • The organizational level and • The technical level.

  12. Fig 4. Management

  13. 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.

  14. Software engineering practice areas include the following: • Architecture definition, • Requirements engineering, • Testing, • Understanding relevant domains etc.

  15. Technical management practice areas includes the following: • Process definition, • Technical risk management, • Tool support etc.

  16. The Organizational management practice areas include: • Funding, • Market analysis, • Organizational planning, • Training etc.

  17. 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].

  18. 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.

  19. 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].

  20. 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.

  21. References contd.. [6] M. Kim, S. Park, “Goal and Scenario Driven Product Line Development”, IEEE Computer Society, 2004.

  22. Questions?

  23. Thank you

More Related