A systematic review of transformation approaches between user requirements and analysis models

Model transformation is one of the basic principles of Model Driven Architecture. To build a software system, a sequence of transformations is performed, starting from requirements and ending with implementation. However, requirements are mostly in the form of text, but not a model that can be easily understood by computers; therefore, automated transformations from requirements to analysis models are not easy to achieve. The overall objective of this systematic review is to examine existing literature works that transform textual requirements into analysis models, highlight open issues, and provide suggestions on potential directions of future research. The systematic review led to the analysis of 20 primary studies (16 approaches) obtained after a carefully designed procedure for selecting papers published in journals and conferences from 1996 to 2008 and Software Engineering textbooks. A conceptual framework is designed to provide common concepts and terminology and to define a unified transformation process. This facilitates the comparison and evaluation of the reviewed papers.

[1]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach , 1982 .

[2]  Russ Abbott Program design by informal English descriptions , 1983, CACM.

[3]  R S Pressman,et al.  Software engineering: a practitioner's approach (2nd ed.) , 1986 .

[4]  Luisa Mich,et al.  NL-OOPS: from natural language to object oriented requirements using the natural language processing system LOLITA , 1996, Natural Language Engineering.

[5]  Craig Larman,et al.  Applying UML and patterns , 1997 .

[6]  Craig Larman,et al.  Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition) , 1997 .

[7]  Heinrich C. Mayr,et al.  Enhancing requirements engineering by natural language based conceptual predesign , 1999, IEEE SMC'99 Conference Proceedings. 1999 IEEE International Conference on Systems, Man, and Cybernetics (Cat. No.99CH37028).

[8]  P. Krutchen,et al.  The Rational Unified Process: An Introduction , 2000 .

[9]  Natalia Juristo Juzgado,et al.  Formal justification in object-oriented modelling: A linguistic approach , 2000, Data Knowl. Eng..

[10]  Loe M. G. Feijs,et al.  Natural language and message sequence chart representation of use cases , 2000, Inf. Softw. Technol..

[11]  Timothy Lethbridge,et al.  Object-oriented software engineering - practical software development using UML and Java , 2002 .

[12]  Owen Rambow,et al.  Conceptual modeling through linguistic analysis using LIDA , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[13]  Behrouz Homayoun Far,et al.  A framework for object identification and refinement process in object-oriented analysis and design , 2002, Proceedings First IEEE International Conference on Cognitive Informatics.

[14]  Heinrich C. Mayr,et al.  A User Centered Approach to Requirements Modeling , 2002, Modellierung.

[15]  Joe Saur Effective requirements practices , 2002, SOEN.

[16]  Krzysztof Czarnecki,et al.  Classification of Model Transformation Approaches , 2003 .

[17]  Dong Liu,et al.  Automating transition from use-cases to class model , 2003, CCECE 2003 - Canadian Conference on Electrical and Computer Engineering. Toward a Caring and Humane Technology (Cat. No.03CH37436).

[18]  Stéphane S. Somé An Approach for the Synthesis of State Transition Graphs from Use Cases , 2003, Software Engineering Research and Practice.

[19]  Tom Pender UML Bible , 2003 .

[20]  Bernd Bruegge,et al.  Object-Oriented Software Engineering: Using UML, Patterns and Java, Second Edition , 2003 .

[21]  Anneke Kleppe,et al.  MDA explained - the Model Driven Architecture: practice and promise , 2003, Addison Wesley object technology series.

[22]  Nenad Medvidovic,et al.  Reconciling software requirements and architectures with intermediate models , 2004, Software & Systems Modeling.

[23]  Dong Liu,et al.  UCDA: Use Case Driven Development Assistant Tool for Class Model Generation , 2004, SEKE.

[24]  B.H. Far,et al.  Automating the transition from stakeholders' requests to use cases in OOAD , 2004, Canadian Conference on Electrical and Computer Engineering 2004 (IEEE Cat. No.04CH37513).

[25]  Robert J. Gaizauskas,et al.  CM-Builder: A Natural Language-Based CASE Tool for Object-Oriented Analysis , 2003, Automated Software Engineering.

[26]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach (McGraw-Hill Series in Computer Science) , 2004 .

[27]  Heinrich C. Mayr,et al.  Mapping pre-designed business process models to UML , 2004, IASTED Conf. on Software Engineering and Applications.

[28]  Frédéric Jouault,et al.  Transforming Models with ATL , 2005, MoDELS.

[29]  Stéphane S. Somé,et al.  Generating a Domain Model from a Use Case Model , 2005, IASSE.

[30]  Oscar Pastor,et al.  Modeling interactions using role-driven patterns , 2005, 13th IEEE International Conference on Requirements Engineering (RE'05).

[31]  Stéphane S. Somé Supporting use case based requirements engineering , 2006, Inf. Softw. Technol..

[32]  Pearl Brereton,et al.  Performing systematic literature reviews in software engineering , 2006, ICSE.

[33]  Systematic transformation of functional analysis model into OO design and implementation , 2006, IEEE Transactions on Software Engineering.

[34]  Krzysztof Czarnecki,et al.  Feature-based survey of model transformation approaches , 2006, IBM Syst. J..

[35]  Julia Rubin,et al.  Model traceability , 2006, IBM Syst. J..

[36]  Olga Ormandjieva,et al.  Models Derived from Automatically Analyzed Textual User Requirements , 2006, Fourth International Conference on Software Engineering Research, Management and Applications (SERA'06).

[37]  Vincenzo Gervasi,et al.  On the Systematic Analysis of Natural Language Requirements with CIRCE , 2006, Automated Software Engineering.

[38]  Henning Christiansen,et al.  From use cases to UML class diagrams using logic grammars and constraints , 2007 .

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

[40]  Michal Smialek,et al.  Complementary use case scenario representations based on domain vocabularies , 2007, MODELS'07.

[41]  W. Nowakowski,et al.  Complementary use case scenario representations based on domain vocabularies , 2007, MODELS 2007.

[42]  René Witte,et al.  Traceability in Software Engineering – Past, Present and Future , 2007 .

[43]  Benoit Baudry,et al.  On Combining Multi-formalism Knowledge to Select Models for Model Transformation Testing , 2008, 2008 1st International Conference on Software Testing, Verification, and Validation.

[44]  Bernd Bruegge,et al.  Object-Oriented Software Engineering Using UML, Patterns, and Java , 2009 .

[45]  Axel van Lamsweerde,et al.  Requirements Engineering: From System Goals to UML Models to Software Specifications , 2009 .

[46]  Lionel C. Briand,et al.  A Use Case Modeling Approach to Facilitate the Transition towards Analysis Models: Concepts and Empirical Evaluation , 2009, MoDELS.