软件产品线

4星(超过85%的资源)
所需积分/C币:16 2012-11-20 15:24:23 5.2MB PDF
20
收藏 收藏
举报

Product Line Engineering-Foundations, Principles, and Techniques
Klaus pohl Institut fur Informatik und Wirtschaftsinformatik Universitat Duisburg-Essen Schutzenbahn 70 45127 Essen, germany pohl@sse. uni-essen de Gunter Bickle Siemens ag Zentralabteilung Technik Otto-Hahn-Ring 6 81730 Munchen,Germany guenter.boeckle@siemens.com Frank van der linden Philips medical Systems Veenpluis 4-6 5684 PC Best, The Netherlands frankvan.derlinden@philips.com http://www.software-productline.com/sple-book Library of Congress Control Number: 2005929629 ACM Computing Classification(1998) D.2.1,D.2.9,D.2.10,D.2.11,D.2.13,K63 ISBN-10 3-540-24372-0 Springer Berlin Heidelberg New York ISBN-13978-3-540-24372-4 Springer Berlin Heidelberg New York This work is subject to copyright. All rights are reserved, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation,broadcasting, reproduction on microfilm or in any other way, and storage in data banks. Duplication of this publication or parts thereof is permitted only under the provisions of the German copyright law of September 9, 1965, in its current version, and permission for use must always be obtained from Springer-Verlag. Violations are liable for prosecution under the German Copyright law Springer is a part of Springer Science+ Business Media springeronline.com O Springer-Verlag Berlin Heidelberg 2005 Printed in Germany The use of general descriptive names, trademarks, etc in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use The author and publisher have taken care in the preparation of this book, but make no expres- sed or implied warranty of any kind and assume no responsibility for errors or omissions. No liability is assumed for incidental or consequential damages in connection with or arising out of the use of the information or programs contained herein Cover design: KinkelLopka, Heidelberg Typesetting: Camera-ready by the authors Printed on acid-free paper 45/3142YL 543210 Preface I. Software Product Line Engineering Are you interested in producing software products or software-intensive systems at lower costs, in shorter time, and with higher quality? If So, you are holding the right book in your hands Software product line engineering has proven to be the methodology for Higher quality, lower developing a diversity of software products and software-intensive systems cost, and shorter at lower costs, in shorter time, and with higher quality. Numerous reports development times document the significant achievements and experience gained by introducing software product lines in the software industry. Chapter 21 of this book summarises several cases Concerning the terminology, there is an almost synonymous use of the terms Software product line software product family"and"software product line,". Whereas in Europe vs software product the term software product family is used more often, in North America the family term software product line is used more frequently. This is, among other things, reflected in the names of the two former conference series(the soft ware product line conference series, started in 2000 in the USA, and the product family engineering(PFE) workshop series, started in 1996 in Europe)which were merged in 2004 to form the leading software product line conference(SPLC) series In this book, we use the term software product line I. Readers of the book The book is for those people who are interested in the principles of software Intended product line engineering. It elaborates on the foundations of software prod- readership uct line engineering and provides experience-based know ledge about the two key processes and the definition and management of variability We have written the book for practitioners, product line researchers, and students alike VI Preface llL Book Overview Framework for The book is organised according to our framework for software product line product line engineering, which has been developed based on our experience in product engineering line engineering gained over the last eight years. The framework stresses the key differences of software product line engineering in comparison with single software-system development Two a) The need for two distinct development processes: domain engineering processes and application engineering. The aim of the domain engineering process is to define and realise the commonality and the variability of the soft ware product line. The aim of the application engineering process is to derive specific applications by exploiting the variability of the software product line Variability b) The need to explicitly define and manage variability: During domain engineering, variability is introduced in all domain engineering artefacts (requirements, architecture, components, test cases, etc. It is exploited during application engineering to derive applications tailored to the spe cific needs of different customers mong others, the book provides answers to the following questions How can we save development costs and development time and at the same time increase the quality of software? How can we establish proactive reuse in software development? What is the variability of a software product line? What are the key activities and aims of the domain and application engineering processes? How can we document and manage the variability of a product line? How can we ensure consistency of the variability defined in different development artefacts like requirements architecture and test cases? How can we exploit variability during application engineering and thereby derive specific products from a common core? Part The book is divided into six parts structure Part Introduction Part Ii Product Line variab ility Part Ill: Domain Engineering Part IV: Application Engineering PartⅤ Organisation Aspects Part VI: Experience and Future Research Preface Part I, Introduction, motivates the software product line engineering para- Introduction digm, introduces our software product line engineering framework, and pro vides an introduction into the example domain used throughout the book Chapter 1 outlines the basic principles of product line engineering and its roots in traditional engineering Chapter 2 introduces our software product line engineering frame work. It defines the key sub-processes of the domain engineering and application engineering process as well as the artefacts pro- duced and used in these processes Chapter 3 provides a brief introduction to the smart homes domain from which examples are drawn throughout the book for explaining the introduced principles and concepts Part Il, Product Line Variability, defines the principles of the variability of a variability software product line and introduces notations to document variability in all software development artefacts Chapter 4 defines the principles of variability of software product line engineering and introduces our orthogonal variability model which we use throughout this book to document variability in the various software development artefacts clearly and unambiguously Chapter 5 defines how to document variability in requirements arte- facts, namely textual requirements, features, scenarios, use cases, statecharts, and class diagrams Chapter 6 defines how to document variability in architectural arte facts, namely in the development view, the process view, and the code view of a software architecture Chapter 7 defines how to document the variability of component interfaces and the variability within the internal structure of compo- nents Chapter& defines how to document the variability in test artefacts such as test cases test case scenarios, and test case scenario steps Part Ill, Domain Engineering, defines the key sub-processes of the domain Domain engineering process. For each of the sub-processes we define the construc- engineering tion of the common (invariant)product line artefacts as well as the variabl ity of the software product line Chapter 9 introduces the principles of the product management sub- process within the domain engineering process. This sub-process mainly deals with topics related to economics and, in particular, to product portfolio management VII Preface Chapter 10 defines the principles of the requirements engineering sub-process. It defines and illustrates the identification and docu- mentation of common and variable features and requirements for the software product line Chapter ll deals with the definition of a reference architecture for the software product line. It shows how product line commonality and variability are incorporated in the reference architecture Chapter 12 deals with the detailed design of reusable software components It defines how the commonality and variability de fined in the reference architecture is mapped onto components Chapter 13 discusses the influence of variability on the different test levels and presents and analyses test strategies with regard to their applicability in software product line engineering. The main focus is on establishing a systematic reuse of test artefacts in prod uct line test activities Chapter 14 presents a technique for selecting commercial off-the- shelf (cots) components, which takes into account the variability of the software product line. We consider components that provide a significant fraction of the overall functionality, the So-called high- level components Application Part IV, Application Engineering, defines the key sub-processes of the appli- engineering cation engineering process. It shows how the orthogonal definition of vari ability established during domain engineering supports the exploitation and consistent binding of variability during application engineering- and thereby facilitates proactive reuse Chapter 15 defines the application requirements engineering sub process. It tackles the problem of exploiting the common and vari able artefacts of the software product line when defining an appli cation. The chapter demonstrates how the orthogonal variability model supports the reuse of product line artefacts during application requirements engineering Chapter 16 deals with the application design sub-process which de- rives an application architecture from the reference architecture. B binding the variability according to the application requirements the required variants are selected and integrated into the application architecture. The sub-process also adapts the design according to application-specific requirements Chapter 17 deals with the realisation of a specific software product line application. Ideally, the realisation is achieved through a con- Preface IX figuration of reusable domain components and application-specific ones by exploiting the commonality and variability of the compo nents and their interfaces Chapter 18 deals with application testing. It shows how the vari ability- integrated into the domain test artefacts- supports the reuse of test case designs in application engineering. Consequently the effort of developing test cases for the different product line applications is significantly reduced Part V, Organisation Aspects, elaborates on two key aspects to be considered Organisation when introducing a software product line into an organisation: the organisa aspects tion structure and the transition strategies Chapter 19 discusses the benefits and drawbacks of different organisation structures for software product line engineering Chapter 20 outlines transition strategies for moving from a single software production to a software product line. It discusses when to apply which strategy depending on the current situation within the organisation. Part VI, Experience and Future Research, reports on the experience with Experience and product lines and briefly describes several essential topics for future re- future research search Chapter 2 1 summarises experience reports about the application of the software product line engineering paradigm in several organisa- tions. It also provides an annotated literature reference list as a guide for further reading Chapter 22 outlines key challenges for future research in the area of software product line engineering In addition we provide at the end of the book. End of Information about the authors the book The literature references used throughout the book a glossary for software product line engineering The index IV. Share Your experience! We are interested in your feedback. If you have any suggestions for im- Feedback provements, or if you have detected an error or an important issue that the book does not cover, please do not hesitate to contact us at Preface SPLE-Book@software-productline com or visit the book web page www.software-productline.com/sple-book V. Acknowledgements Eureka/ITEA, We would like to thank Eureka/ITEA, BMBF (Germany), NOVEM/ public authorities SENTER (Netherlands), and all the other national public authorities for funding the projects ESAPS (1999-2001), CAFE(2001-2003),and FAMILIES(2003-2005). Most of the results presented in this book have been researched and validated in these projects Layout and Our special thanks go to Ernst Sikora who helped us significantly in improv consistency ing the consistency and the layout of the book, and to Silja recknagel for her support in polishing the English Publisher We thank Ralf Gerstner, Ronan Nugent, and Ulrike Stricker from Springer- Verlag, Heidelberg for their support in getting this book to market Collaborators Last but not least, our thanks go to our collaborators within industry and and colleagues universities, at both the national and the international level. without the insight gained in numerous discussions, this book would never have been pe ossible aus po University of Duisburg-Essen, Germany Gunter bickle Siemens Corporate Technology, Germany F1 ank van der linden Philips medical Systems, The netherlands May,2005 Guidelines for Teaching Many companies implement the software product line engineering(SPLE) Education oj principles for developing embedded software-intensive systems as well as software engineers information systems. Solid knowledge about SPle will be crucial for em- ployees in the future. The book has been designed to provide basic reading material that can serve for a 14-week course on sple as well as to accom pany lectures embedded in an advanced course on software engineering Lectures on SPLE can be organised by taking our framework for SPLE as a Framework basis. The framework stresses the key differences between SPLE and single- system development: the need to distinguish between two types of develop ment processes(domain and application engineering) and the need to expli- citly define and manage variability Under the assumption that a single lecture takes two hours the material cov ered in this book can, amongst others, be used for the following teaching courses and modules a)A 14-lecture course on SPle which covers almost all the topics pre- 14-lecture sented in this book (Section D) course b)a two-lecture module on SPLE in an advanced software engineering 2-lecture course which introduces the key concepts of SPLE (Section ID) module c)A four-lecture module on SPle in an advanced software engineering 4-lecture course which introduces the key concepts of sple and illustrates these module concepts on a particular process phase of domain and application engin eering, for instance using the domain and application requirements engineering sub-processes, or the domain and application design sub- processes (Section IIm) d)a one-lecture module on the selection of cots systems which could be Lecture part of an advanced software engineering course. This lecture intro- on COTS duces the challenges and a technique for selecting a cots(commercial of the shelf) component or system for a software product line (Section IV) e)A three-lecture module on testing in SPle which could be part of a 3-lecture software quality assurance course or an advanced software engineering module on testing course. The module introduces the key concepts of SPlE and teaches

...展开详情
试读 127P 软件产品线
立即下载
限时抽奖 低至0.43元/次
身份认证后 购VIP低至7折
一个资源只可评论一次,评论内容不能少于5个字
yubinggg1901 内容很丰富的PPT,是中国地质大学的
2014-05-24
回复
您会向同学/朋友/同事推荐我们的CSDN下载吗?
谢谢参与!您的真实评价是我们改进的动力~
关注 私信
上传资源赚钱or赚积分
最新推荐
软件产品线 16积分/C币 立即下载
1/127
软件产品线第1页
软件产品线第2页
软件产品线第3页
软件产品线第4页
软件产品线第5页
软件产品线第6页
软件产品线第7页
软件产品线第8页
软件产品线第9页
软件产品线第10页
软件产品线第11页
软件产品线第12页
软件产品线第13页
软件产品线第14页
软件产品线第15页
软件产品线第16页
软件产品线第17页
软件产品线第18页
软件产品线第19页
软件产品线第20页

试读结束, 可继续阅读

16积分/C币 立即下载