Abstract
In this paper, 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 paper.












Similar content being viewed by others
References
Antón AI, Potts C (2003) Functional paleontology: the evolution of user-visible system services. IEEE Trans Softw Eng 29(2):151–166
Barstow D, Arango G (1991) Designing software for customization and evolution. In: Proceedings of the 6th international workshop on software specification and design, pp 250–255
Batory D (2005) Feature models, grammars, and propositional formulas. In: 9th international software product line conference, LNCS 3714, pp 7–20
Beck K, Cunningham W (1989) A laboratory for teaching object-oriented thinking. In: OOPLSA89, SIGPLAN notices, vol. 24. New Orleans, Louisiana, pp 1–6
Benavides D, Trinidad P, Ruiz-Cortes A (2005) Automated reasoning on feature models. In: Conference on advanced information systems engineering (CAISE)
Buhr RJA (1998) Use case maps as architectural entities for complex systems. IEEE Trans Softw Eng 24(12):1131–1155
Carlshamre P, Sandahl K, Lindvall M, Regnell B, Natt och Dag J (2001) An industrial survey of requirements interdependencies in software product release planning. In: Proceedings of 5th IEEE international symposium on requirements engineering, IEEE Computer Society, pp 84–91
Czarnecki K, Kim CHP (2005) Cardinality-based feature modeling and constraints: a progress report. In: OOPSLA’05 workshop on software factories
Czarnecki1 K, Helsen1 S, Eisenecker U (2004) Staged configuration using feature models. In: the 3rd software product line conference LNCS 3154, pp 266–283
Czarnecki K, Helsen S, Eisenecker U (2005) Staged configuration through specialization and multi-level configuration of feature models. Software process improvement and practice (special issue). Softw Variability Process Manage 10(2):143–169
Dahlstedt AG, Persson A (2003) Requirements interdependencies—moulding the state of research into a research agenda In: Proceedings of 9th international workshop on requirements engineering: foundation for software quality. Klagenfurt/Velden, Austria, pp 55–64
Dániel Fey, Róbert Fajta, András Boros (2002) Feature modeling: a meta-model to enhance usability and usefulness. In: the 2nd software product line conference, LNCS 2379, pp 198–216
Ferber S, Haag J, Savolainen J (2002) Feature interaction and dependencies: modeling features for reengineering a legacy product line. In: the 2nd software product line conference, LNCS 2379, pp 235–256
Garlan D, Shaw M (1993) An introduction to software architecture. Advances in software engineering and knowledge engineering, vol. 2. World Scientific Publishing, Singapore, pp 1–39
Giesen J, Volker A (2002) Requirements interdependencies and stakeholders preferences. In: Proceedings of IEEE joint international conference on requirements engineering, pp 206–209
Griss ML (2000) Implementing product-line features with component reuse. In: Proceedings of 6th international conference on software reuse, LNCS 1844, Vienna, pp 137–152
Griss ML, Favaro J, d’Alessandro M (1998) Integrating feature modeling with the RSEB. In: Proceedings of 5th international conference on software reuse, IEEE Computer Society, Canada, pp 76–85
Jackson M, Zave P (1998) Distributed feature composition: a virtual architecture for telecommunications services. IEEE Trans Softw Eng 24(10):831–847
Kang KC, Cohen SG, Hess JA, Novak WE, Peterson AS (1990) Feature-oriented domain analysis feasibility study. In: Technical reports, Software Engineering Institute, Carnegie Mellon University
Karlsson J, Olsson S, Ryan K (1997) Improved practical support for large-scale requirements prioritizing. Requirements Eng J 2(1):51–60
Keck DO, Kuehn PJ (1998) The feature and service interaction problem in telecommunications software systems: a survey. IEEE Trans Softw Eng 24(10):779–796
von Knethen A (2001) A trace model for system requirements changes on embedded systems. In: Proceedings of the 4th international workshop on principles of software evolution. Vienna, Austria, pp 17–26
von Knethen A, Paech B, Kiedaisch F, Houdek F (2002) Systematic requirements recycling through abstraction and traceability, In: Proceedings of IEEE joint international conference on requirements engineering, pp 273–281
van Lamsweerde A, Darimont R, Letier E (1998) Managing conflicts in goal-driven requirements engineering. IEEE Trans Softw Eng 24(11):908–926
Larman C (2001) Apply UML and patterns: an introduction to object-oriented analysis and design and the unified process. Prentice Hall, Englewood Cliffs
Lee K, Kang KC (2004) Feature dependency analysis for product line component design. The 3rd software product line conference, LNCS 3107, pp 69–256
von der Maßen T, Lichter H (2004) Deficiencies in feature models. In: Workshop on software variability management for product derivation, in conjunction with the 3rd software product line conference
Mannion M (2002) Using first-order logic for product line model validation. The second software product line conference, LNCS 2379, pp 176–187
Mehta A, Heineman GT (2002) Evolving legacy system features into fine-grained components. In: Proceedings of the 24th international conference on software engineering, Florida, pp 417–427
Model checking @ CMU The SMV system, http://www.cs.cmu.edu/∼modelcheck/smv.html
Object Management Group (2003) UML 1.5 specification, http://www.uml.org/
Ramesh B, Jarke M (2001) Toward reference models for requirements traceability. IEEE Trans Softw Eng 27(1):58–93
Riebisch M, Böllert K, Streitferdt D, Philippow I (2002) Extending feature diagrams with UML multiplicities. In: 6th conference on integrated design and process technology
Robinson WN, Pawlowski SD, Volkov V (2003) Requirements interaction management. ACM Comput Surv 35(2):132–190
Turner CR, Fuggetta A, Lavazza L, Wolf AL (1999) A conceptual basis for feature engineering. J Syst Softw 49(1):3–15
Wiegers KE (1999) Software requirements, Microsoft Press
Wirfs-Brock R, Wilkerson B (1989) Object-oriented design: a responsibility-driven approach. In: OOPLSA89, SIGPLAN notices, vol. 24. New Orleans, Louisiana, pp 71–76
Wirfs-Brock R, McKean A (2002) Object design: roles, responsibilities, and collaborations. Addison Wesley, Reading
Zhang W, Zhao HY, Mei H (2004) A propositional logic-based method for verification of feature models. In: Proceedings of 6th international conference on formal engineering methods (ICFEM), Seattle, pp 115–130
Zhang W, Mei H, Zhao HY (2005) Transformation from CIM to PIM: a feature-oriented component-based approach. In: Proceedings of ACM/IEEE 8th international conference on model driven engineering languages and systems (MoDELS), Jamaica, pp 248–263
Acknowledgments
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.
Author information
Authors and Affiliations
Corresponding author
Appendices
Appendix 1. Detecting anomalies

Appendix 2. Detecting inconsistency of constraints

Appendix 3. Detecting inconsistency of binding resolutions

Rights and permissions
About this article
Cite this article
Zhang, W., Mei, H. & Zhao, H. Feature-driven requirement dependency analysis and high-level software design. Requirements Eng 11, 205–220 (2006). https://doi.org/10.1007/s00766-006-0033-x
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00766-006-0033-x