Software Product Lines and Software Architecture ... - Semantic Scholar

3 downloads 3311 Views 34KB Size Report
One can identify two important developments in software architecture, i.e. ... their own company (for industrial participants) or to collect additional empirical data ...
Software Product Lines and Software Architecture Design Jan Bosch University of Groningen Department of Computing Science PO Box 800, NL9700 AV Groningen, The Netherlands +31 50 363 3941 [email protected] http://www.ipd.hk-r.se/bosch OVERVIEW One can identify two important developments in software architecture, i.e. software product lines and software architecture design. This tutorial addresses these topics by presenting an method for architectural design explicitly focusing on assessment of and transformation for quality attributes. In addition, the notion of software product lines and the process, technology, business and organizational issues of adopting the approach are presented. Both design and product-lines are extensively illustrated by examples and experiences from numerous industrial cases. The tutorial is based on a recently published book [2] authored by the tutorial presenter and published by Addison-Wesley and ACM Press.



The aim of the tutorial is to present our experiences, reflections and research results based on those experiences in the domain of software architecture. Over the years, we have worked on this topic with a variety of companies, including Ericsson Software Technology, Axis Communications, Securitas Larm, Ericsson Mobile, EC Gruppen, Ericsson Software Architecture Research Center and Althin Medical. Sharing our experiences and research results with the tutorial participants will allow them to make informed decisions about the future organization of software development in their own company (for industrial participants) or to collect additional empirical data and identify new research questions (for academic participants). CONTENTS

• simulation-based evaluation • evaluation using mathematical modelling • experience-based evaluation • architecture transformation • imposing architectural styles • imposing architectural patterns • applying design patterns • distribute quality requirements • convert quality requirements to functionality development of reusable components (both traditional and object-oriented frameworks)



derivation of products based on the reusable software product line assets



evolution of software product lines assets



organizing for software product line: We have identified four main organizational alternatives for companies employing software product lines [3]. In this part we discuss these alternatives, their applicability, advantages and disadvantages.



software product-line case studies: examples and experiences: We performed a case study involving four swedish software development organizations investigating the experiences of using product-line architectures. The study resulted in a list of nine identified problems and five major issues to be addressed by organizations using PLA-based software development [1]. The examples are even discussed in the previous parts.



conclusion

The tutorial will contain the following parts: •

introduction to software architecture



• definition of software architecture • relation to quality attributes • industrial versus academic perspective • introducing software product lines software product line architecture design method

REFERENCES 1. J. Bosch, ‘Product-Line Architectures in Industry: A Case Study’, Proceedings of the 21st International Conference on Software Engineering, pp. 544-554, May 1999. 2. J. Bosch, Design & Use of Software Architectures - Adopting and Evolving a Product-Line Approach, Addison Wesley, ISBN 0-201-67494-7, 2000. 3. J. Bosch, ‘Software Product Lines: Organizational Alternatives,’ Accepted for the 23rd International Conference on Software Engineering (ICSE 2001), November 2000.





functionality-based architecture design • variability analysis • architecture evaluation scenario-based evaluation

Proceedings of the 23rd International Conference on Software Engineering (ICSE’01) 0270-5257/01 $10.00 © 2001 IEEE

1