Skip to main content
Log in

Feature-driven requirement dependency analysis and high-level software design

  • Original Article
  • Published:
Requirements Engineering Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12

Similar content being viewed by others

References

  1. Antón AI, Potts C (2003) Functional paleontology: the evolution of user-visible system services. IEEE Trans Softw Eng 29(2):151–166

    Article  Google Scholar 

  2. 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

  3. Batory D (2005) Feature models, grammars, and propositional formulas. In: 9th international software product line conference, LNCS 3714, pp 7–20

  4. Beck K, Cunningham W (1989) A laboratory for teaching object-oriented thinking. In: OOPLSA89, SIGPLAN notices, vol. 24. New Orleans, Louisiana, pp 1–6

  5. Benavides D, Trinidad P, Ruiz-Cortes A (2005) Automated reasoning on feature models. In: Conference on advanced information systems engineering (CAISE)

  6. Buhr RJA (1998) Use case maps as architectural entities for complex systems. IEEE Trans Softw Eng 24(12):1131–1155

    Article  Google Scholar 

  7. 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

  8. Czarnecki K, Kim CHP (2005) Cardinality-based feature modeling and constraints: a progress report. In: OOPSLA’05 workshop on software factories

  9. Czarnecki1 K, Helsen1 S, Eisenecker U (2004) Staged configuration using feature models. In: the 3rd software product line conference LNCS 3154, pp 266–283

  10. 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

    Article  Google Scholar 

  11. 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

  12. 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

  13. 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

  14. 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

  15. Giesen J, Volker A (2002) Requirements interdependencies and stakeholders preferences. In: Proceedings of IEEE joint international conference on requirements engineering, pp 206–209

  16. 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

  17. 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

  18. Jackson M, Zave P (1998) Distributed feature composition: a virtual architecture for telecommunications services. IEEE Trans Softw Eng 24(10):831–847

    Article  Google Scholar 

  19. 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

  20. Karlsson J, Olsson S, Ryan K (1997) Improved practical support for large-scale requirements prioritizing. Requirements Eng J 2(1):51–60

    Article  Google Scholar 

  21. 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

    Article  Google Scholar 

  22. 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

  23. 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

  24. van Lamsweerde A, Darimont R, Letier E (1998) Managing conflicts in goal-driven requirements engineering. IEEE Trans Softw Eng 24(11):908–926

    Article  Google Scholar 

  25. Larman C (2001) Apply UML and patterns: an introduction to object-oriented analysis and design and the unified process. Prentice Hall, Englewood Cliffs

    Google Scholar 

  26. Lee K, Kang KC (2004) Feature dependency analysis for product line component design. The 3rd software product line conference, LNCS 3107, pp 69–256

  27. 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

  28. Mannion M (2002) Using first-order logic for product line model validation. The second software product line conference, LNCS 2379, pp 176–187

  29. 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

  30. Model checking @ CMU The SMV system, http://www.cs.cmu.edu/∼modelcheck/smv.html

  31. Object Management Group (2003) UML 1.5 specification, http://www.uml.org/

  32. Ramesh B, Jarke M (2001) Toward reference models for requirements traceability. IEEE Trans Softw Eng 27(1):58–93

    Article  Google Scholar 

  33. 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

  34. Robinson WN, Pawlowski SD, Volkov V (2003) Requirements interaction management. ACM Comput Surv 35(2):132–190

    Article  Google Scholar 

  35. Turner CR, Fuggetta A, Lavazza L, Wolf AL (1999) A conceptual basis for feature engineering. J Syst Softw 49(1):3–15

    Article  Google Scholar 

  36. Wiegers KE (1999) Software requirements, Microsoft Press

  37. 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

  38. Wirfs-Brock R, McKean A (2002) Object design: roles, responsibilities, and collaborations. Addison Wesley, Reading

    Google Scholar 

  39. 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

  40. 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

Download references

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

Authors

Corresponding author

Correspondence to Hong Mei.

Appendices

Appendix 1. Detecting anomalies

figure a

Appendix 2. Detecting inconsistency of constraints

figure b

Appendix 3. Detecting inconsistency of binding resolutions

figure c

Rights and permissions

Reprints 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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00766-006-0033-x

Keywords

Navigation