An empirical study on the potential usefulness of domain models for completeness checking of requirements

Domain modeling is a common strategy for mitigating incompleteness in requirements. While the benefits of domain models for checking the completeness of requirements are anecdotally known, these benefits have never been evaluated systematically. We empirically examine the potential usefulness of domain models for detecting incompleteness in natural-language requirements. We focus on requirements written as “shall”-style statements and domain models captured using UML class diagrams. Through a randomized simulation process, we analyze the sensitivity of domain models to omissions in requirements. Sensitivity is a measure of whether a domain model contains information that can lead to the discovery of requirements omissions. Our empirical research method is case study research in an industrial setting. We have experts construct domain models in three distinct industry domains. We then report on how sensitive the resulting models are to simulated omissions in requirements. We observe that domain models exhibit near-linear sensitivity to both unspecified (i.e., missing) and under-specified requirements (i.e., requirements whose details are incomplete). The level of sensitivity is more than four times higher for unspecified requirements than under-specified ones. These results provide empirical evidence that domain models provide useful cues for checking the completeness of natural-language requirements. Further studies remain necessary to ascertain whether analysts are able to effectively exploit these cues for incompleteness detection.

[1]  Andreas Vogelsang,et al.  Challenging Incompleteness of Performance Requirements by Sentence Patterns , 2016, 2016 IEEE 24th International Requirements Engineering Conference (RE).

[2]  Alistair Cockburn,et al.  Structuring Use Cases with Goals , 2000 .

[3]  Scott W. Ambler,et al.  The Object Primer: Agile Model-Driven Development with UML 2.0 , 2004 .

[4]  Luisa Mich,et al.  Market research for requirements analysis using linguistic tools , 2004, Requirements Engineering.

[5]  Nancy G. Leveson,et al.  Completeness and Consistency in Hierarchical State-Based Requirements , 1996, IEEE Trans. Software Eng..

[6]  Jacob Cohen A Coefficient of Agreement for Nominal Scales , 1960 .

[7]  Larry L. Constantine,et al.  Software for Use - A Practical Guide to the Models and Methods of Usage-Centered Design , 1999 .

[8]  Simon Perry,et al.  Model-Based Requirements Engineering , 2011 .

[9]  Reinhard Schütte,et al.  The Guidelines of Modeling - An Approach to Enhance the Quality in Information Models , 1998, ER.

[10]  Tomasz P. Krzeszowski,et al.  Contrasting languages : the scope of contrastive linguistics , 1990 .

[11]  Mehrdad Sabetzadeh,et al.  Automated Checking of Conformance to Requirements Templates Using Natural Language Processing , 2015, IEEE Transactions on Software Engineering.

[12]  Nelly Condori-Fernández,et al.  Evaluating the Completeness and Granularity of Functional Requirements Specifications: A Controlled Experiment , 2009, 2009 17th IEEE International Requirements Engineering Conference.

[13]  Victor R. Basili,et al.  Evaluation of a software requirements document by analysis of change data , 1981, ICSE '81.

[14]  Chris Gane,et al.  Structured Systems Analysis: Tools and Techniques , 1977 .

[15]  Evans,et al.  Domain-driven design , 2003 .

[16]  Forrest Shull,et al.  The empirical investigation of Perspective-Based Reading , 1995, Empirical Software Engineering.

[17]  Mehrdad Sabetzadeh,et al.  View merging in the presence of incompleteness and inconsistency , 2006, Requirements Engineering.

[18]  Wei-Tek Tsai,et al.  An experimental study of fault detection in user requirements documents , 1992, TSEM.

[19]  Didar Zowghi,et al.  The Three Cs of Requirements : Consistency , Completeness , and Correctness , 2002 .

[20]  Giuseppe Visaggio,et al.  A Replicated Experiment to Assess Requirements Inspection Techniques , 2004, Empirical Software Engineering.

[21]  Nelly Bencomo,et al.  RELAX: Incorporating Uncertainty into the Specification of Self-Adaptive Systems , 2009, 2009 17th IEEE International Requirements Engineering Conference.

[22]  Graeme G. Shanks,et al.  Improving the Quality of Entity Relationship Models - Experience in Research and Practice , 1998, ER.

[23]  Alan M. Davis,et al.  Software requirements - analysis and specification , 1990 .

[24]  T. M. Rajkumar,et al.  Comparison of analysis techniques for information requirement determination , 1988, CACM.

[25]  John C. Grundy,et al.  Improving requirements quality using essential use case interaction patterns , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[26]  Mark Rouncefield,et al.  The State of Practice in Model-Driven Engineering , 2014, IEEE Software.

[27]  Frederik Simon Bäumer,et al.  How to Complete Customer Requirements - Using Concept Expansion for Requirement Refinement , 2016, NLDB.

[28]  Dar-Biau Liu,et al.  Metrics for requirements engineering , 1995, J. Syst. Softw..

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

[30]  James H. Martin,et al.  Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition , 2000 .

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

[32]  Alan M. Davis,et al.  Identifying and measuring quality in a software requirements specification , 1993, [1993] Proceedings First International Software Metrics Symposium.

[33]  Joanna Chimiak-Opoka,et al.  OCLLib, OCLUnit, OCLDoc: Pragmatic Extensions for the Object Constraint Language , 2009, MoDELS.

[34]  Andreas Bollin,et al.  Requirements Engineering Fundamentals , 2015 .

[35]  Mitchell P. Marcus,et al.  Text Chunking using Transformation-Based Learning , 1995, VLC@ACL.

[36]  Gregor Engels,et al.  Inspection effectiveness for different quality attributes of software requirement specifications: An industrial case study , 2009, 2009 ICSE Workshop on Software Quality.

[37]  Dalal Alrajeh,et al.  Generating obstacle conditions for requirements completeness , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[38]  Constance L. Heitmeyer,et al.  The SCR Method for Formally Specifying, Verifying, and Validating Requirements: Tool Support , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[39]  Haruhiko Kaiya,et al.  Ontology based requirements analysis: lightweight semantic processing approach , 2005, Fifth International Conference on Quality Software (QSIC'05).

[40]  Herbert A. Simon,et al.  Why a Diagram is (Sometimes) Worth Ten Thousand Words , 1987, Cogn. Sci..

[41]  Christian P. Robert,et al.  Monte Carlo Statistical Methods (Springer Texts in Statistics) , 2005 .

[42]  Surya B. Yadav,et al.  A methodology to model the functional structure of an organization , 1985 .

[43]  R. Warner Applied Statistics: From Bivariate through Multivariate Techniques [with CD-ROM]. , 2007 .

[44]  Luisa Mich,et al.  Market research for requirements analysis using linguistic tools , 2004, Requirements Engineering.

[45]  Nancy G. Leveson,et al.  Software Requirements Analysis for Real-Time Process-Control Systems , 1991, IEEE Trans. Software Eng..

[46]  Didar Zowghi,et al.  On the interplay between consistency, completeness, and correctness in requirements evolution , 2003, Inf. Softw. Technol..

[47]  Felice Dell'Orletta,et al.  Measuring and Improving the Completeness of Natural Language Requirements , 2014, REFSQ.

[48]  Adam A. Porter,et al.  Comparing Detection Methods For Software Requirements Inspections: A Replication Using Professional Subjects , 1998, Empirical Software Engineering.

[49]  Linda Newman,et al.  Advancing viewpoint merging in requirements engineering: a theoretical replication and explanatory study , 2017, Requirements Engineering.

[50]  Barry W. Boehm,et al.  Verifying and Validating Software Requirements and Design Specifications , 1989, IEEE Software.

[51]  Fabiano Dalpiaz,et al.  Pinpointing Ambiguity and Incompleteness in Requirements Engineering via Information Visualization and NLP , 2018, REFSQ.

[52]  Christian P. Robert,et al.  Monte Carlo Statistical Methods , 2005, Springer Texts in Statistics.

[53]  Klaus Pohl,et al.  The Three Dimensions of Requirements Engineering , 1993, CAiSE.

[54]  Claes Wohlin,et al.  An Experimental Comparison of Usage-Based and Checklist-Based Reading , 2003, IEEE Trans. Software Eng..

[55]  Yue Lu,et al.  A TASM-Based Requirements Validation Approach for Safety-Critical Embedded Systems , 2014, Ada-Europe.

[56]  Craig Larman,et al.  "Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development”, Third Edition, Pearson Education, 2005. , 2015 .

[57]  Mehrdad Sabetzadeh,et al.  Automated Extraction and Clustering of Requirements Glossary Terms , 2017, IEEE Transactions on Software Engineering.

[58]  Mark Mueller,et al.  An Experimental Comparison Regarding the Completeness of Functional Requirements Specifications , 2010, 2010 18th IEEE International Requirements Engineering Conference.

[59]  Massimo Ficco,et al.  A Semantic Driven Approach for Requirements Verification , 2014, IDC.

[60]  Bashar Nuseibeh,et al.  Expressing the relationships between multiple views in requirements specification , 1993, ICSE '93.

[61]  R. Warner Applied statistics: From bivariate through multivariate techniques, 2nd ed. , 2013 .

[62]  Alistair Cockburn,et al.  Using Goal-Based Use Cases , 1997, J. Object Oriented Program..

[63]  Filippo Ricca,et al.  Who Knows/Uses What of the UML: A Personal Opinion Survey , 2014, MoDELS.

[64]  Eric S. K. Yu,et al.  Do viewpoints lead to better conceptual models? An exploratory case study , 2005, 13th IEEE International Conference on Requirements Engineering (RE'05).