An Approach to Software Product Line Use Case Modeling LICENTIATE THESIS, 2006

An Approach to Software Product Line Use Case Modeling LICENTIATE THESIS, 2006

Magnus Eriksson An Approach to Software Product Line Use Case Modeling LICENTIATE THESIS, 2006 DEPARTMENT OF COMPUTING SCIENCE UMEÅ UNIVERSITY SE-90187 UMEÅ, SWEDEN © Magnus Eriksson, 2006 Print & Media, Umeå University UMINF-06.01 ISSN 0348-0542 ISBN 91-7264-023-5 iii Abstract Organizations developing software intensive defense systems are today faced with a number challenges related to characteristics of both the market place and the system domain: 1. Systems grow ever more complex, consisting of tightly integrated mechanical, electrical/electronic and software components. 2. Systems are often developed in short series; ranging from only a few to a few hundred units. 3. Systems have very long life spans, typically 30 years or longer. 4. Systems are developed with high commonality between different customers; however systems are always customized for specific needs. The goal of the research presented in this thesis is to investigate methods and tools to enable efficient development and maintenance of systems in such a context. The strategy adopted in this work is to utilize the forth system characteristic, high commonality, to achieve this. One approach to software reuse, which could be a potential solution as it enables reuse of common parts but at the same time allow for variations, is known as software product line development. The basic idea of this approach is to use domain knowledge to identify common parts within a family of related products and to separate them from the differences between the products. The commonalties are then used to create a product platform that can be used as a common baseline for all products within such a product family. The main contribution of this licentiate thesis is a product line use case modeling approach tailored towards organizations developing software intensive defense systems. We describe how a common and complete use case model can be developed and maintained for a whole family of products, and how the variations within such a family are modeled using a feature model. Concrete use case models, for particular products within a family, can then be generated by selecting features from a feature model. We furthermore describe extensions to the commercial requirements management tool Telelogic DOORS and the UML modeling tool IBM-Rational Rose to support the proposed approach. The approach was applied and evaluated in an industrial case study in the target domain. Based on the collected case study data we draw the conclusion that the approach performs better than modeling according to the styles and guidelines specified by the IBM-Rational Unified Process (RUP) in the current industrial context. The results however also indicate that for the approach to be successfully applied, stronger configuration management and product planning functions than traditionally found in RUP projects are needed. v Acknowledgements There are many people involved in the completion of this licentiate thesis that I am very grateful to. First of all, I would like to thank my academic supervisor Associate Professor Jürgen Börstler, and my industrial supervisor Kjell Borg. You always make yourselves available to discuss my ideas, and your advice has significantly increased the quality of my work. Dr. Örjan Olsson and Mats Bergström, without your support this doctorial project would never have been initiated in first place. Mats, I am really sad that you are no longer with us to see how it is starting to transform development at Hägglunds. Henrik Morast, without your enthusiasm developing tools to support my ideas, they would have had far less influence on development at Hägglunds. Thank you also for your sanity checks of my tool ideas. Dr. Carl-Gustav Löf and Conny Flemin, thank you for believing in me and providing me with the means to apply my ideas at Hägglunds. All the people at Hägglunds that applied my ideas and participated in my studies, without you, none of this work would have been possible. Thank you all! Dr. Charilaos Christopoulos, my master thesis supervisor at Ericsson Research, without your encouragement I would never have pursued a research degree in the first place. Finally, I would like to thank my family for their support, but also apologize to them. Conducting process improvement activities is very rewarding when things work out right, but sometimes also very frustrating when they do not. Thank you for always being there for me when I needed you, and sorry for all those long hours that were required to finish this work. Umeå, December 2005 Magnus Eriksson vii Preface This licentiate thesis consists of the following three papers and an introduction to the research area (Kappa): I. M. Eriksson, J. Börstler & K. Borg (2004): Marrying Features and Use Cases for Product Line Requirements Modeling of Embedded Systems1, Proceedings of the Fourth Conference on Software Engineering Research and Practice in Sweden, Institute of Technology, UniTryck, Linköping University, Sweden, pp. 73-82 II. M. Eriksson, J. Börstler & K. Borg (2005): The PLUSS Approach ─ Domain Modeling with Features, Use Cases and Use Case Realizations2, Proceedings of the 9'th International Conference on Software Product Lines, LNCS, Vol. 3714, Springer-Verlag, pp. 33-44 III. M. Eriksson, H. Morast, J. Börstler & K. Borg (2005): The PLUSS Toolkit ─ Extending Telelogic DOORS and IBM-Rational Rose to Support Product Line Use Case Modeling3, Proceedings of the 20th IEEE/ACM International Conference on Automated Software Engineering, Long Beach California, ACM Press, pp. 300-304 These papers have been reformatted, compared to the original publication, to have a consistent layout with the rest of the thesis. Furthermore, minor typographical errors have also been corrected. 1 © Magnus Eriksson, 2004 2 © Springer-Verlag, 2005 3 © ACM Press, 2005 ix Table of Contents 1 THESIS INTRODUCTION ____________________________________1 1.1 Background and Motivation __________________________________ 1 1.2 Research Question __________________________________________ 1 1.3 Research Context ___________________________________________ 1 1.4 Research Hypothesis ________________________________________ 3 1.5 Thesis Outline _____________________________________________ 3 2 RESEARCH METHOD ______________________________________3 3 SOFTWARE PRODUCT LINES________________________________5 3.1 Reuse ____________________________________________________ 6 3.2 Product Line Management____________________________________ 7 3.3 Essential Artifacts __________________________________________ 8 4 REQUIREMENTS ENGINEERING ____________________________10 4.1 Traceability ______________________________________________ 10 4.2 Use Case Modeling ________________________________________ 11 4.3 Feature Modeling__________________________________________ 12 5 THE IBM-RATIONAL UNIFIED PROCESS (RUP) _______________13 5.1 Develop Iteratively ________________________________________ 14 5.2 Manage Requirements ______________________________________ 17 5.3 Use Component Architectures ________________________________ 17 5.4 Model Visually ___________________________________________ 18 5.5 Continuously Verify Quality _________________________________ 18 5.6 Manage Change ___________________________________________ 19 6 THE PROPOSED APPROACH _______________________________19 6.1 Related Work_____________________________________________ 20 6.2 Marrying Use Case Modeling with Feature Modeling______________ 22 6.3 Product Instantiation _______________________________________ 23 6.4 A Note on Notations Used ___________________________________ 24 6.5 Tool Support _____________________________________________ 25 7 SUMMARY OF CONTRIBUTIONS ____________________________25 7.1 Paper I – Marrying Features and Use Cases _____________________ 26 7.2 Paper II – The PLUSS Approach______________________________ 26 7.3 Paper III – The PLUSS Toolkit _______________________________ 26 8 ONGOING AND FUTURE WORK _____________________________27 8.1 Test of Research Hypothesis _________________________________ 27 8.2 Further Development and Evaluation of the Proposed Approach _____ 27 8.3 Reuse of Systems Engineering Specifications ____________________ 28 8.4 Managing Variants in Design Specifications_____________________ 29 REFERENCES_______________________________________________29 PAPER I __________________________________________________ 35 PAPER II _________________________________________________ 53 PAPER III ________________________________________________ 67 Kappa 1 1 Thesis Introduction 1.1 Background and Motivation Organizations developing software intensive defense systems are today faced with a number challenges. These challenges, which are related to characteristics of both the market place and the system domain, include: 1. Systems grow ever more complex, consisting of tightly integrated mechanical, electrical/electronic and software components. This implies that strong means of communication between different engineering disciplines are important to achieve efficient development. 2. Systems are often developed in short series; ranging from a few to a few hundred units. This implies that it is important to achieve efficient development, since development costs are carried by only a few units. 3. Systems have very long life spans, typically 30 years or longer. This implies that it is important to develop high quality systems, and to achieve effective maintenance of these systems once developed. 4. Systems are developed with high commonality between different customers; however systems are

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    43 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us