On deriving conceptual models from user requirements: An empirical study

Abstract Context: There are numerous textual notations and techniques that can be used in requirements engineering. Currently, practitioners make a choice without having scientific evidence regarding their suitability for given tasks. This uninformed choice may affect task performance. Objective: In this research, we investigate the adequacy of two well-known notations: use cases and user stories, as a starting point for the manual derivation of a structural conceptual model that represents the domain of the system. We also examine other factors that may affect the performance of this task. Methods: This work relies on two experiments. The first is a controlled classroom experiment. The second one is a quasi-experiment, conducted over multiple weeks, that aims at evaluating the quality of the derived conceptual model in light of the notation used, the adopted derivation process, and the complexity of the system to be. We measure quality in terms of validity and completeness of the conceptual model. Results: The results of the controlled experiment indicate that, for deriving conceptual models, user stories fit better than use cases. Yet, the second experiment indicates that the quality of the derived conceptual models is affected mainly by the derivation process and by the complexity of the case rather than the notation used. Contribution: We present evidence that the task of deriving a conceptual model is affected significantly by additional factors other than requirements notations. Furthermore, we propose implications and hypotheses that pave the way for further studies that compare alternative notations for the same task as well as for other tasks. Practitioners may use our findings to analyze the factors that affect the quality of the conceptual model when choosing a requirements notation and an elicitation technique that best fit their needs.

[1]  Manuel Kolp,et al.  Bridging User Story Sets with the Use Case Model , 2016, ER Workshops.

[2]  Bente Anda,et al.  Investigating the Role of Use Cases in the Construction of Class Diagrams , 2005, Empirical Software Engineering.

[3]  Ivar Jacobson,et al.  The unified modeling language reference manual , 2010 .

[4]  S. Abirami,et al.  Conceptual modeling of natural language functional requirements , 2014, J. Syst. Softw..

[5]  Lionel C. Briand,et al.  A systematic review of transformation approaches between user requirements and analysis models , 2011, Requirements Engineering.

[6]  Cláudia Maria Lima Werner,et al.  Info Cases: Integrating Use Cases and Domain Models , 2008, 2008 16th IEEE International Requirements Engineering Conference.

[7]  Fabiano Dalpiaz,et al.  Conceptualizing Requirements Using User Stories and Use Cases: A Controlled Experiment , 2020, REFSQ.

[8]  Jacob Cohen Statistical Power Analysis , 1992 .

[9]  Alessia Knauss,et al.  Evaluating the Effects of Different Requirements Representations on Writing Test Cases , 2020, REFSQ.

[10]  Ron Weber,et al.  Research Commentary: Information Systems and Conceptual Modeling - A Research Agenda , 2002, Inf. Syst. Res..

[11]  Roel Wieringa,et al.  Status Quo in Requirements Engineering , 2018, ACM Trans. Softw. Eng. Methodol..

[12]  Lionel C. Briand,et al.  Facilitating the transition from use case models to analysis models: Approach and experiments , 2013, TSEM.

[13]  Arne Sølvberg,et al.  Understanding quality in conceptual modeling , 1994, IEEE Software.

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

[15]  Shari Lawrence Pfleeger,et al.  Preliminary Guidelines for Empirical Research in Software Engineering , 2002, IEEE Trans. Software Eng..

[16]  Didar Zowghi,et al.  Reasoning about inconsistencies in natural language requirements , 2005, TSEM.

[17]  Sjaak Brinkkemper,et al.  Extracting conceptual models from user stories with Visual Narrator , 2017, Requirements Engineering.

[18]  Sjaak Brinkkemper,et al.  Detecting terminological ambiguity in user stories: Tool and experimentation , 2019, Inf. Softw. Technol..

[19]  Oscar Pastor,et al.  Requirements Engineering-Based Conceptual Modelling , 2002, Requirements Engineering.

[20]  Martin Glinz,et al.  Problems and deficiencies of UML as a requirements specification language , 2000, Tenth International Workshop on Software Specification and Design. IWSSD-10 2000.

[21]  John Mylopoulos,et al.  Modeling Structured and Unstructured Processes: An Empirical Evaluation , 2016, ER.

[22]  Mehrdad Sabetzadeh,et al.  An Active Learning Approach for Improving the Accuracy of Automated Domain Model Extraction , 2019, ACM Trans. Softw. Eng. Methodol..

[23]  Leszek A. Maciaszek Requirements analysis and system design: developing information systems with UML , 2001 .

[24]  Jan Mendling,et al.  Using business process models to better understand the dependencies among user stories , 2016, Inf. Softw. Technol..

[25]  Silvia Mara Abrahão,et al.  A systematic review of the use of requirements engineering techniques in model-driven development , 2010, MODELS'10.

[26]  Mehrdad Sabetzadeh,et al.  Extracting domain models from natural-language requirements: approach and industrial evaluation , 2016, MoDELS.

[27]  Lionel C. Briand,et al.  aToucan: An Automated Framework to Derive UML Analysis Models from Use Case Models , 2015, TSEM.

[28]  Manuel Kolp,et al.  On Modelers Ability to Build a Visual Diagram from a User Story Set: A Goal-Oriented Approach , 2018, REFSQ.

[29]  R. Fisher 014: On the "Probable Error" of a Coefficient of Correlation Deduced from a Small Sample. , 1921 .

[30]  Stelvio Cimato,et al.  Engineering formal requirements: An analysis and testing method for Z documents , 1997, Ann. Softw. Eng..

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

[32]  Jan Mendling,et al.  Making sense of business process descriptions: An experimental comparison of graphical and textual notations , 2012, J. Syst. Softw..

[33]  Andreas L. Opdahl,et al.  Eliciting security requirements with misuse cases , 2004, Requirements Engineering.

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

[35]  Vicente Pelechano,et al.  The OO-method approach for information systems modeling: from object-oriented conceptual modeling to automated programming , 2001, Inf. Syst..

[36]  Muneera Bano,et al.  Learning from Mistakes: An Empirical Study of Elicitation Interviews Performed by Novices , 2018, 2018 IEEE 26th International Requirements Engineering Conference (RE).

[37]  Sjaak Brinkkemper,et al.  Improving agile requirements: the Quality User Story framework and tool , 2016, Requirements Engineering.

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

[39]  Lionel C. Briand,et al.  Modeling Security and Privacy Requirements: a Use Case-Driven Approach , 2018, Inf. Softw. Technol..

[40]  Fabiano Dalpiaz Requirements data sets (user stories) , 2018 .

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

[42]  Mike Cohn,et al.  User Stories Applied: For Agile Software Development , 2004 .

[43]  Alistair Cockburn,et al.  Writing Effective Use Cases , 2000 .

[44]  F. Wilcoxon Individual Comparisons by Ranking Methods , 1945 .

[45]  Xavier Franch,et al.  Natural Language Processing for Requirements Engineering: The Best Is Yet to Come , 2018, IEEE Software.

[46]  Sjaak Brinkkemper,et al.  The Use and Effectiveness of User Stories in Practice , 2016, REFSQ.

[47]  John Mylopoulos,et al.  From object-oriented to goal-oriented requirements analysis , 1999, CACM.

[48]  John Mylopoulos,et al.  Specifying and analyzing early requirements in Tropos , 2004, Requirements Engineering.

[49]  Claes Wohlin,et al.  Experimentation in Software Engineering , 2012, Springer Berlin Heidelberg.

[50]  Alistair Mavin,et al.  EARS (Easy Approach to Requirements Syntax) , 2009 .

[51]  Hajime Enomoto,et al.  Software development process from natural language specification , 1989, ICSE '89.

[52]  Arturo González,et al.  Systematic derivation of conceptual models from requirements models: A controlled experiment , 2012, 2012 Sixth International Conference on Research Challenges in Information Science (RCIS).

[53]  Isabelle Mirbel,et al.  Unifying and Extending User Story Models , 2014, CAiSE.

[54]  Mohamad Kassab An Empirical Study on the Requirements Engineering Practices for Agile Software Development , 2014, 2014 40th EUROMICRO Conference on Software Engineering and Advanced Applications.

[55]  Peter Sawyer,et al.  The Case for Dumb Requirements Engineering Tools , 2012, REFSQ.

[56]  Bernhard Hoisl,et al.  Comparing Three Notations for Defining Scenario-Based Model Tests: A Controlled Experiment , 2014, 2014 9th International Conference on the Quality of Information and Communications Technology.

[57]  Philippe Kruchten,et al.  The Rational Unified Process: An Introduction , 1998 .

[58]  Sara Jones,et al.  Model-Driven Requirements Engineering: Synchronising Models in an Air Traffic Management Case Study , 2004, CAiSE.