A systematic review of the use of requirements engineering techniques in model-driven development

Model-Driven Development (MDD) emphasizes the use of models at a higher abstraction level in the software development process and argues in favor of automation via model execution, transformation, and code generation. However, one current challenge is how to manage requirements during this process whilst simultaneously stressing the benefits of automation. This paper presents a systematic review of the current use of requirements engineering techniques in MDD processes and their actual automation level. 72 papers from the last decade have been reviewed from an initial set of 884 papers. The results show that although MDD techniques are used to a great extent in platform-independent models, platform-specific models, and at code level, at the requirements level most MDD approaches use only partially defined requirements models or even natural language. We additionally identify several research gaps such as a need for more efforts to explicitly deal with requirements traceability and the provision of better tool support.

[1]  Frank Marschall,et al.  Towards model-based requirements engineering for Web-enabled B2B applications , 2003, 10th IEEE International Conference and Workshop on the Engineering of Computer-Based Systems, 2003. Proceedings..

[2]  Christopher A. Rouff,et al.  Formal requirements-based programming for complex systems , 2005, 10th IEEE International Conference on Engineering of Complex Computer Systems (ICECCS'05).

[3]  Stefan Biffl,et al.  A Model-Driven Architecture Approach Using Explicit Stakeholder Quality Requirement Models for Building Dependable Information Systems , 2007, Fifth International Workshop on Software Quality (WoSQ'07: ICSE Workshops 2007).

[4]  Jean Bézivin,et al.  Language Engineering for Model-driven Software Development , 2005 .

[5]  Fereidoon Shams Aliee,et al.  Toward automatic transformation of enterprise business model to service model , 2009, 2009 ICSE Workshop on Principles of Engineering Service Oriented Systems.

[6]  Barbara Kitchenham,et al.  Procedures for Performing Systematic Reviews , 2004 .

[7]  Ana Regina Cavalcanti da Rocha,et al.  Workshop on software quality , 2002, Proceedings of the 24th International Conference on Software Engineering. ICSE 2002.

[8]  Amit Raj,et al.  Transformation of SBVR business design to UML models , 2008, ISEC '08.

[9]  Natalia Juristo Juzgado,et al.  Effectiveness of Requirements Elicitation Techniques: Empirical Results Derived from a Systematic Review , 2006, 14th IEEE International Requirements Engineering Conference (RE'06).

[10]  Shari Lawrence Pfleeger,et al.  Software metrics (2nd ed.): a rigorous and practical approach , 1997 .

[11]  Kostas Kontogiannis,et al.  A framework for business model driven development , 2004, 12 International Workshop on Software Technology and Engineering Practice (STEP'04).

[12]  Shari Lawrence Pfleeger,et al.  Software Metrics : A Rigorous and Practical Approach , 1998 .

[13]  Narayan C. Debnath,et al.  Improving Model Driven Architecture with Requirements Models , 2008, Fifth International Conference on Information Technology: New Generations (itng 2008).

[14]  Li Zhang,et al.  Transforming Business Requirements into BPEL: A MDA-Based Approach to Web Application Development , 2008, IEEE International Workshop on Semantic Computing and Systems.

[15]  Tom Mens,et al.  04101 Discussion - A Taxonomy of Model Transformations , 2004, Language Engineering for Model-Driven Software Development.

[16]  Bernd Brügge,et al.  Software Engineering 2008 , 2008 .

[17]  Olly Gotel,et al.  An analysis of the requirements traceability problem , 1994, Proceedings of IEEE International Conference on Requirements Engineering.

[18]  M. Petticrew,et al.  Systematic Reviews in the Social Sciences: A Practical Guide , 2005 .

[19]  Witold Suryn,et al.  Transformation from CIM to PIM Using Patterns and Archetypes , 2008 .

[20]  Christopher A. Rouff,et al.  Achieving dependability in sensor networks through automated requirements-based programming , 2006, Comput. Commun..

[21]  Emilia Mendes,et al.  A systematic review of Web engineering research , 2005, 2005 International Symposium on Empirical Software Engineering, 2005..

[22]  Axel van Lamsweerde,et al.  Deriving operational software specifications from system goals , 2002, SIGSOFT '02/FSE-10.

[23]  Claes Wohlin,et al.  Towards integration of use case modelling and usage-based testing , 2000, J. Syst. Softw..

[24]  Jose-Norberto Mazón,et al.  Reconciling requirement-driven data warehouses with data sources via multidimensional normal forms , 2007, Data Knowl. Eng..

[25]  Jane Cleland-Huang,et al.  Model-based traceability , 2009, 2009 ICSE Workshop on Traceability in Emerging Forms of Software Engineering.

[26]  Ipek Ozkaya,et al.  Requirement-driven design: assistance for information traceability in design computing , 2005 .

[27]  Heinrich C. Mayr,et al.  Deriving static and dynamic concepts from software requirements using sophisticated tagging , 2007, Data Knowl. Eng..

[28]  Tim Menzies Editorial: model-based requirements engineering , 2003, Requirements Engineering.

[29]  Pearl Brereton,et al.  Lessons from applying the systematic literature review process within the software engineering domain , 2007, J. Syst. Softw..

[30]  Miguel A. Laguna,et al.  Requirements variability models: meta-model based transformations , 2005, MIS '05.

[31]  Alistair G. Sutcliffe,et al.  Scenario advisor tool for requirements engineering , 2005, Requirements Engineering.

[32]  João Araújo,et al.  Generating Requirements Analysis Models from Textual Requirements , 2008, 2008 First International Workshop on Managing Requirements Knowledge.

[33]  Javier J. Gutiérrez,et al.  Model-driven in reverse: the practical experience of the AQUA project , 2009, EATIS.

[34]  Joaquín Nicolás,et al.  On the generation of requirements specifications from software engineering models: A systematic literature review , 2009, Inf. Softw. Technol..

[35]  João M. Fernandes,et al.  Transformation of UML models for service-oriented software architectures , 2005, 12th IEEE International Conference and Workshops on the Engineering of Computer-Based Systems (ECBS'05).

[36]  Thomas A. Alspaugh,et al.  Using scenarios to support traceability , 2005, TEFSE '05.

[37]  Jean Vanderdonckt,et al.  Supporting requirements in a traceability approach between business process and user interfaces , 2008, IHC.

[38]  Xiaoshan Li,et al.  Prototyping System Requirements Model , 2008, TTSS.