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

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.

[1]  Dániel Fey,et al.  Feature Modeling: A Meta-Model to Enhance Usability and Usefulness , 2002, SPLC.

[2]  Haiyan Zhao,et al.  A Propositional Logic-Based Method for Verification of Feature Models , 2004, ICFEM.

[3]  Antje von Knethen A trace model for system requirements changes on embedded systems , 2001, IWPSE '01.

[4]  Michael Jackson,et al.  Distributed Feature Composition: A Virtual Architecture for Telecommunications Services , 1998, IEEE Trans. Software Eng..

[5]  Rebecca Wirfs-Brock,et al.  Object-oriented design: a responsibility-driven approach , 1989, OOPSLA 1989.

[6]  Kyo Chul Kang,et al.  Feature Dependency Analysis for Product Line Component Design , 2004, ICSR.

[7]  Ivar Jacobson,et al.  Object Design: Roles, Responsibilities, and Collaborations , 2002 .

[8]  Martin L. Griss,et al.  Integrating feature modeling with the RSEB , 1998, Proceedings. Fifth International Conference on Software Reuse (Cat. No.98TB100203).

[9]  Mary Shaw,et al.  An Introduction to Software Architecture , 1993, Advances in Software Engineering and Knowledge Engineering.

[10]  Kent Beck,et al.  A laboratory for teaching object oriented thinking , 1989, OOPSLA 1989.

[11]  K. Czarnecki,et al.  Cardinality-Based Feature Modeling and Constraints : A Progress Report , 2005 .

[12]  Ilka Philippow,et al.  EXTENDING FEATURE DIAGRAMS WITH UML MULTIPLICITIES , 2002 .

[13]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

[14]  Mike Mannion Using First-Order Logic for Product Line Model Validation , 2002, SPLC.

[15]  Matthias Jarke,et al.  Toward Reference Models of Requirements Traceability , 2001, IEEE Trans. Software Eng..

[16]  Paul J. Kühn,et al.  The Feature and Service Interaction Problem in Telecommunications Systems. A Survey , 1998, IEEE Trans. Software Eng..

[17]  Barbara Paech,et al.  Systematic requirements recycling through abstraction and traceability , 2002, Proceedings IEEE Joint International Conference on Requirements Engineering.

[18]  William N. Robinson,et al.  Requirements interaction management , 2003, CSUR.

[19]  Krzysztof Czarnecki,et al.  Staged configuration through specialization and multilevel configuration of feature models , 2005, Softw. Process. Improv. Pract..

[20]  Juha Savolainen,et al.  Feature Interaction and Dependencies: Modeling Features for Reengineering a Legacy Product Line , 2002, SPLC.

[21]  Annie I. Antón,et al.  Functional Paleontology: The Evolution of User-Visible System Services , 2003, IEEE Trans. Software Eng..

[22]  Axel van Lamsweerde,et al.  Managing Conflicts in Goal-Driven Requirements Engineering , 1998, IEEE Trans. Software Eng..

[23]  Björn Regnell,et al.  An industrial survey of requirements interdependencies in software product release planning , 2001, Proceedings Fifth IEEE International Symposium on Requirements Engineering.

[24]  Raymond J. A. Buhr,et al.  Use Case Maps as Architectural Entities for Complex Systems , 1998, IEEE Trans. Software Eng..

[25]  Don S. Batory,et al.  Feature Models, Grammars, and Propositional Formulas , 2005, SPLC.

[26]  A. Mehta,et al.  Evolving legacy system features into fine-grained components , 2002, Proceedings of the 24th International Conference on Software Engineering. ICSE 2002.

[27]  Krzysztof Czarnecki,et al.  Staged Configuration Using Feature Models , 2004, SPLC.

[28]  Craig Larman,et al.  Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process , 2001 .

[29]  Antonio Ruiz Cortés,et al.  Automated Reasoning on Feature Models , 2005, CAiSE.

[30]  Haiyan Zhao,et al.  Transformation from CIM to PIM: a feature-oriented component-based approach , 2005, MoDELS'05.

[31]  Axel Völker,et al.  Requirements interdependencies and stakeholders preferences , 2002, Proceedings IEEE Joint International Conference on Requirements Engineering.

[32]  Martin L. Griss,et al.  Implementing Product-Line Features with Component Reuse , 2000, ICSR.

[33]  Guillermo Arango,et al.  Designing software for customization and evolution , 1991, Proceedings of the Sixth International Workshop on Software Specification and Design.

[34]  Joachim Karlsson,et al.  Improved practical support for large-scale requirements prioritising , 1997, Requirements Engineering.

[35]  Karl E. Wiegers,et al.  Software Requirements , 1999 .

[36]  Åsa G. Dahlstedt,et al.  Requirements Interdependencies-Moulding the State of Research into a Research Agenda , 2003 .

[37]  Alexander L. Wolf,et al.  A conceptual basis for feature engineering , 1999, J. Syst. Softw..