Internetware pp 279-300 | Cite as

Feature-Driven Requirement Dependency Analysis and High-Level Software Design

Chapter

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 design 

Notes

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. 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. 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. 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. 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. 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. 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. 7.
    B. Ramesh, M. Jarke, Toward reference models for requirements traceability. IEEE Trans. Softw. Eng. 27(1), 58–93 (2001)CrossRefGoogle Scholar
  8. 8.
    W.N. Robinson, S.D. Pawlowski, V. Volkov, Requirements interaction management. ACM Comput. Surv. (CSUR) 35(2), 132–190 (2003)Google Scholar
  9. 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. 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. 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. 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. 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. 14.
    K.E. Wiegers, Practinal ways to manage-or participate in-the requirements engineering process. Softw. Requirements (1999)Google Scholar
  15. 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. 16.
    M.L. Griss, Implementing product-line features with component reuse, in Software Reuse: Advances in Software Reusability (2000), pp. 137–152Google Scholar
  17. 17.
    UML 1.5 specification, http://www.uml.org/
  18. 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. 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. 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. 21.
    D. Garlan, M. Shaw, An Introduction to Software Architecture (1994)Google Scholar
  22. 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. 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. 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. 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. 26.
    K. Czarnecki, S. Helsen, U. Eisenecker, Staged configuration using feature models, in Software Product Lines (2004), pp. 266–283Google Scholar
  27. 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. 28.
    D. Batory, Feature Models, Grammars, and Propositional Formulas (2005)Google Scholar
  29. 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. 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. 31.
    Model checking @ CMU The SMV system, http://www.cs.cmu.edu/!modelcheck/smv.html
  32. 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. 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. 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. 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. 36.
    M. Mannion, Using first-order logic for product line model validation, in Software Product Lines (2002), pp. 176–187Google Scholar
  37. 37.
    K. Beck, W. Cunningham, A laboratory for teaching object oriented thinking, in ACM Sigplan Notices (1989), pp. 1–6Google Scholar
  38. 38.
    R. Wirfs-Brock, A. McKean, Object Design: Roles, Responsibilities, and Collaborations (2003)Google Scholar
  39. 39.
    R. Wirfs-Brock, B. Wilkerson, Object-oriented design: a responsibility-driven approach, in ACM SIGPLAN Notices (1989), pp. 71–75Google Scholar
  40. 40.
    C. Larman, UML Applying. Patterns: an introduction to object-oriented analysis and design and the unified process (2001)Google Scholar

Copyright information

© Springer Science+Business Media Singapore 2016

Authors and Affiliations

  1. 1.Peking UniversityBeijingChina
  2. 2.Nanjing UniversityNanjingChina

Personalised recommendations