Internetware pp 279-300 | Cite as
Feature-Driven Requirement Dependency Analysis and High-Level Software Design
Abstract
In this chapter, we introduce four kinds of dependency between features, namely refinement, constraint, influence and interaction, partly based on the observation of feature operationalization and assignment of responsibilities. Then, we explore three kinds of connection between these dependencies, that is, connections between refinement and constraint, between constraint and interaction, and between influence and interaction. We further show how to use the constraint dependencies to facilitate the customization-based reuse of requirements, and how to employ the result of feature dependency analysis to design high-level software architecture. A simple document editor and an email-client are used as running examples to illustrate the ideas introduced in this chapter.
Keywords
Feature-driven Requirement dependency analysis High-level Software designNotes
Acknowledgements
This work is supported by the National Grand Fundamental Research 973 Program of China under Grant no. 2002CB312003, the National Natural Science Foundation of China under Grant no. 60233010, 60125206, and 90412011, and the Beijing Natural Science Foundation under Grant no. 4052018.
References
- 1.P. Carlshamre, K. Sandahl, M. Lindvall, B. Regnell, et al., An industrial survey of requirements interdependencies in software product release planning, in Fifth IEEE International Symposium on Requirements Engineering, 2001. Proceedings (2001), pp. 84–91Google Scholar
- 2.A.G. Dahlstedt, A. Persson, Requirements interdependencies-moulding the state of research into a research agenda, in 9th International Workshop on Requirements Engineering–Foundation for Software Quality (REFSQ) (2003), pp. 55–64Google Scholar
- 3.S. Ferber, J. Haag, J. Savolainen, Feature interaction and dependencies: modeling features for reengineering a legacy product line, in Software Product Lines (2002), pp. 235–256Google Scholar
- 4.J. Giesen, A. Völker, Requirements interdependencies and stakeholders preferences, in IEEE Joint International Conference on Requirements Engineering, 2002. Proceedings. (2002), pp. 206–209Google Scholar
- 5.J. Karlsson, S. Olsson, K. Ryan, Improved practical support for large-scale requirements prioritising. Requirements Eng. 2(1), 51–60 (1997)CrossRefGoogle Scholar
- 6.K. Lee, K.C. Kang, Feature dependency analysis for product line component design, in Software Reuse: Methods, Techniques, and Tools (2004), pp. 69–85Google Scholar
- 7.B. Ramesh, M. Jarke, Toward reference models for requirements traceability. IEEE Trans. Softw. Eng. 27(1), 58–93 (2001)CrossRefGoogle Scholar
- 8.W.N. Robinson, S.D. Pawlowski, V. Volkov, Requirements interaction management. ACM Comput. Surv. (CSUR) 35(2), 132–190 (2003)Google Scholar
- 9.A. Van Lamsweerde, R. Darimont, E. Letier, Managing conflicts in goal-driven requirements engineering. IEEE TranS. Softw. Eng. 24(11), 908–926 (1998)CrossRefGoogle Scholar
- 10.A. von Knethen, A trace model for system requirements changes on embedded systems, in Proceedings of the 4th international workshop on Principles of Software Evolution (2001), pp. 17–26Google Scholar
- 11.A. Von Knethen, B. Paech, F. Kiedaisch, F. Houdek, Systematic requirements recycling through abstraction and traceability, in IEEE Joint International Conference on Requirements Engineering, 2002. Proceedings (2002), pp. 273–281Google Scholar
- 12.C.R. Turner, A. Fuggetta, L. Lavazza, A.L. Wolf, A conceptual basis for feature engineering. J. Syst. Softw. 49(1), 3–15 (1999)Google Scholar
- 13.A. Mehta, G.T. Heineman, Evolving legacy system features into fine-grained components, in Proceedings of the 24th international Conference on Software Engineering (2002), pp. 417–427Google Scholar
- 14.K.E. Wiegers, Practinal ways to manage-or participate in-the requirements engineering process. Softw. Requirements (1999)Google Scholar
- 15.K.C. Kang, S.G. Cohen, J.A. Hess, W.E. Novak, A.S. Peterson, Feature-oriented domain analysis (foda) feasibility study. Technical report, DTIC Document (1990)Google Scholar
- 16.M.L. Griss, Implementing product-line features with component reuse, in Software Reuse: Advances in Software Reusability (2000), pp. 137–152Google Scholar
- 17.UML 1.5 specification, http://www.uml.org/
- 18.W. Zhang, H. Zhao, H. Mei, A propositional logic-based method for verification of feature models, in Formal Methods and Software Engineering (2004), pp. 115–130Google Scholar
- 19.R.J.A. Buhr, Use case maps as architectural entities for complex systems. IEEE Trans. Softw. Eng. 24(12), 1131–1155 (1998)CrossRefGoogle Scholar
- 20.A. Antón, C. Potts et al., Functional paleontology: the evolution of user-visible system services. IEEE Trans. Softw. Eng. 29(2), 151–166 (2003)CrossRefGoogle Scholar
- 21.D. Garlan, M. Shaw, An Introduction to Software Architecture (1994)Google Scholar
- 22.M. Jackson, P. Zave, Distributed feature composition: a virtual architecture for telecommunications services. IEEE Trans. Softw. Eng. 24(10), 831 (1998)CrossRefGoogle Scholar
- 23.D. Barstow, G. Arango, Designing software for customization and evolution, in Proceedings of the Sixth International Workshop on Software Specification and Design (1991), pp. 250–255Google Scholar
- 24.T. von der Maßen, H. Lichter, Deficiencies in feature models, in Workshop on Software Variability Management for Product Derivation-Towards Tool Support, vol. 44 (2004)Google Scholar
- 25.D.O. Keck, P.J. Kuehn, The feature and service interaction problem in telecommunications systems: a survey. IEEE Trans. Softw. Eng. 24(10), 779–796 (1998)Google Scholar
- 26.K. Czarnecki, S. Helsen, U. Eisenecker, Staged configuration using feature models, in Software Product Lines (2004), pp. 266–283Google Scholar
- 27.K. Czarnecki, S. Helsen, U. Eisenecker, Staged configuration through specialization and multilevel configuration of feature models. Softw. Process Improv. Pract. 10(2), 143–169 (2005)CrossRefGoogle Scholar
- 28.D. Batory, Feature Models, Grammars, and Propositional Formulas (2005)Google Scholar
- 29.K. Czarnecki, C.H.P. Kim, Cardinality-based feature modeling and constraints: A progress report, in International Workshop on Software Factories (2005), pp. 16–20Google Scholar
- 30.D. Benavides, P. Trinidad, A. Ruiz-Cortés, Automated reasoning on feature models, in Advanced Information, Systems Engineering (2005), pp. 491–503Google Scholar
- 31.Model checking @ CMU The SMV system, http://www.cs.cmu.edu/!modelcheck/smv.html
- 32.W. Zhang, H. Mei, H. Zhao, J. Yang, Transformation from cim to pim: a feature-oriented component-based approach, in Model Driven Engineering Languages and Systems (2005), pp. 248–263Google Scholar
- 33.M.L. Griss, J. Favaro, M.D. Alessandro, Integrating feature modeling with the rseb, in Fifth International Conference on Software Reuse, 1998. Proceedings (1998), pp. 76–85Google Scholar
- 34.D. Fey, R. Fajta, A. Boros, Feature modeling: A meta-model to enhance usability and usefulness, in Software Product Lines (2002), pp. 198–216Google Scholar
- 35.M. Riebisch, K. Böllert, D. Streitferdt, I. Philippow, Extending feature diagrams with uml multiplicities, in 6th World Conference on Integrated Design and Process Technology (IDPT2002), vol. 23 (2002)Google Scholar
- 36.M. Mannion, Using first-order logic for product line model validation, in Software Product Lines (2002), pp. 176–187Google Scholar
- 37.K. Beck, W. Cunningham, A laboratory for teaching object oriented thinking, in ACM Sigplan Notices (1989), pp. 1–6Google Scholar
- 38.R. Wirfs-Brock, A. McKean, Object Design: Roles, Responsibilities, and Collaborations (2003)Google Scholar
- 39.R. Wirfs-Brock, B. Wilkerson, Object-oriented design: a responsibility-driven approach, in ACM SIGPLAN Notices (1989), pp. 71–75Google Scholar
- 40.C. Larman, UML Applying. Patterns: an introduction to object-oriented analysis and design and the unified process (2001)Google Scholar