A systematic literature review of use case specifications research

ContextUse cases have been widely accepted and acknowledged as a specification tool for specifying the functional requirements of a software system. Many variations of use cases exist which tries to address the issues such as their completeness, degree of formalism, automated information extraction, usability, and pertinence. ObjectiveThe aim of this systematic review is to examine the existing literature for the evolution of the use cases, their applications, quality assessments, open issues, and the future directions. MethodWe perform keyword-based extensive search to identify the relevant studies related to use case specifications research reported in journal articles, conference papers, workshop papers, bulletins and book chapters. ResultsThe specified search process resulted 119 papers, which were published between 1992 and February 2014. This included, 54 journal articles, 42 conference papers, 2 ACM/IEEE bulletins, 12 book chapters, 6 workshop papers and 3 white papers. We found that as many as twenty use case templates have been proposed and applied for various software specification problems ranging from informal descriptions with paragraph-style text to more formal keyword-oriented templates. ConclusionUse cases have been evolved from initial plain, semi-formal textual descriptions to a more formal template structure facilitating automated information extraction in various software development life cycle activities such as requirement documentation, requirement analysis, requirement validation, domain modeling, test case generation, planning and estimation, and maintenance. The issues that remain to be sorted out are (1) the right degree of formalism, (2) the efficient change management, (3) the industrial relevance, and (4) assessment of the quality of the specification. Additionally, its synergy with other software models that are used in the development processes is an issue that needs to be addressed.

[1]  Karl Wiegers Writing quality requirements , 1999 .

[2]  Anthony J. H. Simons,et al.  Control-flow semantics of use cases in UML , 1999, Inf. Softw. Technol..

[3]  Stéphane S. Somé,et al.  Formalization of Textual Use Cases Based on Petri Nets , 2010, Int. J. Softw. Eng. Knowl. Eng..

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

[5]  Paloma Díaz,et al.  Standardizing the narrative of use cases: A controlled vocabulary of web user tasks , 2013, Inf. Softw. Technol..

[6]  Stefania Gnesi,et al.  Applications of linguistic techniques for use case analysis , 2003, Requirements Engineering.

[7]  Keith Phalp,et al.  Supporting Communicability with Use Case Guidelines: An Empirical Study , 2002 .

[8]  Aybüke Aurum,et al.  An Experiment in Inspecting the Quality of Use Case Descriptions , 2004, J. Res. Pract. Inf. Technol..

[9]  Shari Lawrence Pfleeger,et al.  Software Quality: The Elusive Target , 1996, IEEE Softw..

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

[11]  Gunnar Övergaard,et al.  Use Cases: Patterns and Blueprints , 2004 .

[12]  Colette Rolland,et al.  Guiding the Construction of Textual Use Case Specifications , 1998, Data Knowl. Eng..

[13]  Julio Cesar Sampaio do Prado Leite,et al.  A Scenario Construction Process , 2000, Requirements Engineering.

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

[15]  Djamel Meslati,et al.  Deriving objects from use cases in real-time embedded systems , 2005, Inf. Softw. Technol..

[16]  Ralf H. Reussner,et al.  A controlled experiment to evaluate how styles affect the understandability of requirements specifications , 2003, Inf. Softw. Technol..

[17]  Bente Anda,et al.  Applying use cases to design versus validate class diagrams - a controlled experiment using a professional modeling tool , 2003, 2003 International Symposium on Empirical Software Engineering, 2003. ISESE 2003. Proceedings..

[18]  Joaquín Nicolás,et al.  Toward Use Case and Conceptual Models through Business Modeling , 2000, ER.

[19]  Moataz A. Ahmed,et al.  Use Case-Based Effort Estimation Approaches: A Comparison Criteria , 2011, ICSECS.

[20]  Stanley M. Sutton,et al.  Text2Test: Automated Inspection of Natural Language Use Cases , 2010, 2010 Third International Conference on Software Testing, Verification and Validation.

[21]  Daryl Kulak,et al.  Use cases: requirements in context , 2000, SOEN.

[22]  R. Conradi,et al.  Effort estimation of use cases for incremental large-scale software development , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[23]  Tore Dybå,et al.  Empirical studies of agile software development: A systematic review , 2008, Inf. Softw. Technol..

[24]  Reiko Heckel,et al.  Detection of conflicting functional requirements in a use case-driven approach: a static analysis technique based on graph transformation , 2002, ICSE '02.

[25]  Ying Liang,et al.  From use cases to classes: a way of building object model with UML , 2003, Inf. Softw. Technol..

[26]  David Budgen,et al.  The application of use cases in systems analysis and design specification , 2003, Inf. Softw. Technol..

[27]  Siw Elisabeth Hove,et al.  The impact of UML documentation on software maintenance: an experimental evaluation , 2006, IEEE Transactions on Software Engineering.

[28]  Russell R. Hurlbut A Survey of Approaches For Describing and Formalizing Use Cases , 1998 .

[29]  Jon Whittle Precise Specification of Use Case Scenarios , 2007, FASE.

[30]  Tore Dybå,et al.  Applying Systematic Reviews to Diverse Study Types: An Experience Report , 2007, ESEM 2007.

[31]  Wolfgang Fleisch,et al.  Applying use cases for the requirements validation of component-based real-time software , 1999, Proceedings 2nd IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC'99) (Cat. No.99-61702).

[32]  Susan Lilly,et al.  Use case pitfalls: top 10 problems from real projects using use cases , 1999, Proceedings of Technology of Object-Oriented Languages and Systems - TOOLS 30 (Cat. No.PR00278).

[33]  Thomas J. Mowbray,et al.  AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis , 1998 .

[34]  Alistair Cockburn,et al.  Patterns for Effective Use Cases , 2002 .

[35]  Barbara Paech,et al.  Rationale-Based Use Case Specification , 2002, Requirements Engineering.

[36]  Peter Fröhlich,et al.  Automated Test Case Generation from Dynamic Models , 2000, ECOOP.

[37]  Antonio Ruiz Cortés,et al.  A Requirements Elicitation Approach Based in Templates and Patterns , 1999, WER.

[38]  Atul Gupta,et al.  A Controlled Experiment to Assess the Effectiveness of Eight Use Case Templates , 2013, 2013 20th Asia-Pacific Software Engineering Conference (APSEC).

[39]  Keith Phalp,et al.  Assessing the quality of use case descriptions , 2007, Software Quality Journal.

[40]  Björn Regnell,et al.  Improving the use case driven approach to requirements engineering , 1995, Proceedings of 1995 IEEE International Symposium on Requirements Engineering (RE'95).

[41]  I R Graham Requirements engineering and rapid development: an object-oriented approach , 1998 .

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

[43]  Tony Gorschek,et al.  Technology transfer decision support in requirements engineering research: a systematic review of REj , 2009, Requirements Engineering.

[44]  Tony Gorschek,et al.  A method for evaluating rigor and industrial relevance of technology evaluations , 2011, Empirical Software Engineering.

[45]  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).

[46]  Mohamed El-Attar,et al.  Producing robust use case diagrams via reverse engineering of use case descriptions , 2007, Software & Systems Modeling.

[47]  Pearl Brereton,et al.  Systematic literature reviews in software engineering - A systematic literature review , 2009, Inf. Softw. Technol..

[48]  Peter Haumer,et al.  Use Case-Based Software Development , 2006 .

[49]  Branimir Boguraev,et al.  A linguistic analysis engine for natural language use case description and its application to dependability analysis in industrial use cases , 2009, 2009 IEEE/IFIP International Conference on Dependable Systems & Networks.

[50]  Keith Phalp,et al.  Validating software requirements with enactable use case descriptions , 2009, Requirements Engineering.

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

[52]  Clémentine Nebut,et al.  Automatic test generation: a use case driven approach , 2006, IEEE Transactions on Software Engineering.

[53]  William Brace,et al.  CORAMOD: a checklist-oriented model-based requirements analysis approach , 2012, Requirements Engineering.

[54]  Jakub Jurkiewicz,et al.  Supporting Use-Case Reviews , 2007, BIS.

[55]  Bente Anda,et al.  An investigation of use case quality in a large safety-critical software development project , 2009, Inf. Softw. Technol..

[56]  Aldo Dagnino,et al.  Deriving Goals from a Use-Case Based Requirements Specification , 2001, Requirements Engineering.

[57]  Milos Milic,et al.  Language for Use Case Specification , 2011, 2011 IEEE 34th Software Engineering Workshop.

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

[59]  Geri Schneider,et al.  Applying Use Cases: A Practical Guide , 1998 .

[60]  Magne Jørgensen,et al.  Estimating Software Development Effort Based on Use Cases-Experiences from Industry , 2001, UML.

[61]  Adam A. Porter,et al.  Comparing Detection Methods for Software Requirements Inspections: A Replicated Experiment , 1995, IEEE Trans. Software Eng..

[62]  Vasant Honavar,et al.  A Software Fault Tree Approach to Requirements Analysis of an Intrusion Detection System , 2002, Requirements Engineering.

[63]  Silvia Regina Vergilio,et al.  Software Effort Estimation Based on Use Cases , 2006, 30th Annual International Computer Software and Applications Conference (COMPSAC'06).

[64]  A. S. M. Sajeev,et al.  An empirical study of structural defects in industrial use-cases , 2014, ICSE Companion.

[65]  James Miller,et al.  Further Experiences with Scenarios and Checklists , 1998, Empirical Software Engineering.

[66]  Bente Anda,et al.  Towards an inspection technique for use case models , 2002, SEKE '02.

[67]  Bente Anda,et al.  Experiences from introducing UML-based development in a large safety-critical project , 2006, Empirical Software Engineering.

[68]  Atul Gupta,et al.  Does increasing formalism in the use case template help? , 2014, ISEC '14.

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

[70]  Bente Anda,et al.  An evaluation of applying use cases to construct design versus validate design , 2003, 36th Annual Hawaii International Conference on System Sciences, 2003. Proceedings of the.

[71]  Anders P. Ravn,et al.  From Safety Analysis to Software Requirements , 1998, IEEE Trans. Software Eng..

[72]  Kurt Bittner,et al.  Use Case Modeling , 2002 .

[73]  Ivar Jacobson,et al.  Object-oriented software engineering - a use case driven approach , 1993, TOOLS.

[74]  Marinos G. Georgiades,et al.  Formalizing and Automating Use Case Model Development , 2012 .

[75]  Mario Piattini,et al.  Semi-formal transformation of secure business processes into analysis class and use case models: An MDA approach , 2010, Inf. Softw. Technol..

[76]  Claudia A. Marcos,et al.  Uncovering quality-attribute concerns in use case specifications via early aspect mining , 2011, Requirements Engineering.

[77]  Mohamed El-Attar,et al.  A subject-based empirical evaluation of SSUCD’s performance in reducing inconsistencies in use case models , 2009, Empirical Software Engineering.

[78]  Bruce Anderson,et al.  Formalism, technique and rigour in Use Case Modelling , 2005, J. Object Technol..

[79]  Ian F. Alexander,et al.  Misuse Cases: Use Cases with Hostile Intent , 2003, IEEE Softw..

[80]  Roel Wieringa,et al.  Requirements engineering paper classification and evaluation criteria: a proposal and a discussion , 2005, Requirements Engineering.

[81]  Ivar Jacobson,et al.  Object Oriented Development in an Industrial Environment , 1987, OOPSLA.

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

[83]  Bente Anda,et al.  A multiple-case study of software effort estimation based on use case points , 2005, 2005 International Symposium on Empirical Software Engineering, 2005..

[84]  Marcela Genero,et al.  Empirical Evaluation and Review of a Metrics-Based Approach for Use Case Verification , 2004, J. Res. Pract. Inf. Technol..

[85]  Daniela Cruzes,et al.  Research synthesis in software engineering: A tertiary study , 2011, Inf. Softw. Technol..

[86]  James R. McCoy Requirements use case tool (RUT) , 2003, OOPSLA '03.

[87]  Gregory Butler,et al.  Refactoring Use Case Models: The Metamodel , 2003, ACSC.

[88]  Robin J. Harwood,et al.  Use Case Formats: Requirements, Analysis, and Design , 1997, J. Object Oriented Program..

[89]  Valentin Moreno,et al.  A framework to measure and improve the quality of textual requirements , 2011, Requirements Engineering.

[90]  Keng Siau,et al.  Are use case and class diagrams complementary in requirements analysis? An experimental study on use case and class diagrams in UML , 2004, Requirements Engineering.

[91]  Atul Gupta,et al.  Analysis of Use Case Requirements Using SFTA and SFMEA Techniques , 2012, 2012 IEEE 17th International Conference on Engineering of Complex Computer Systems.

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

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

[94]  Ali Selamat,et al.  A systematic literature review of software requirements prioritization research , 2014, Inf. Softw. Technol..

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

[96]  A. Jefferson Offutt,et al.  Generating Tests from UML Specifications , 1999, UML.

[97]  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.

[98]  Mohamed El-Attar,et al.  AGADUC: Towards a More Precise Presentation of Functional Requirement in Use Case Mod , 2006, Fourth International Conference on Software Engineering Research, Management and Applications (SERA'06).

[99]  Olga Ormandjieva,et al.  Automatic Transition of Natural Language Software Requirements Specification into Formal Presentation , 2005, NLDB.

[100]  Ari Jaaksi,et al.  Our Cases with Use Cases , 1998, J. Object Oriented Program..

[101]  Mohamed El-Attar,et al.  Constructing high quality use case models: a systematic review of current practices , 2011, Requirements Engineering.

[102]  Kai Petersen,et al.  Systematic Mapping Studies in Software Engineering , 2008, EASE.

[103]  Mohammed Odeh,et al.  Using use case patterns to estimate reusability in software systems , 2006, Inf. Softw. Technol..

[104]  Jonathan Lee,et al.  Analyzing User Requirements by Use Cases: A Goal-Driven Approach , 1999, IEEE Softw..

[105]  Jaelson Brelaz de Castro,et al.  Deriving use cases from organizational modeling , 2002, Proceedings IEEE Joint International Conference on Requirements Engineering.

[106]  Richard Stevens,et al.  Writing Better Requirements , 2002 .

[107]  Keith Phalp,et al.  Improving the quality of use case descriptions: empirical assessment of writing guidelines , 2007, Software Quality Journal.

[108]  Tore Dybå,et al.  A systematic review of statistical power in software engineering experiments , 2006, Inf. Softw. Technol..

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

[110]  Juan Llorens Morillo,et al.  Open Issues in Industrial Use Case Modeling , 2004, UML Satellite Activities.

[111]  Ivar Jacobson,et al.  Object-Oriented Software Engineering , 1991, TOOLS.

[112]  Lionel C. Briand,et al.  A UML-Based Approach to System Testing , 2001, Software and Systems Modeling.

[113]  Barry W. Boehm,et al.  A software product line life cycle cost estimation model , 2004, Proceedings. 2004 International Symposium on Empirical Software Engineering, 2004. ISESE '04..

[114]  Pearl Brereton,et al.  A systematic review of systematic review process research in software engineering , 2013, Inf. Softw. Technol..

[115]  Ivar Jacobson,et al.  Use cases – Yesterday, today, and tomorrow , 2004, Software & Systems Modeling.

[116]  Gunnar Övergaard,et al.  A Formal Approach to Use Cases and Their Relationships , 1998, UML.

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

[118]  Keith Phalp,et al.  Guiding Use Case Driven Requirements Elicitation and Analysis , 2001, OOIS.

[119]  Lionel C. Briand,et al.  An Automated Approach to Transform Use Cases into Activity Diagrams , 2010, ECMFA.

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

[121]  Keith Phalp,et al.  Replicating the CREWS Use Case Authoring Guidelines Experiment , 2000, Empirical Software Engineering.

[122]  Juan Llorens Morillo,et al.  Open Issues in Industrial Use Case Modeling , 2004, Journal of Object Technology.

[123]  Pete Sawyer,et al.  Requirements Engineering: A Good Practice Guide , 1997 .

[124]  Magne Jørgensen,et al.  Quality and Understandability of Use Case Models , 2001, ECOOP.

[125]  Mohammed Misbhauddin,et al.  Extending the UML use case metamodel with behavioral information to facilitate model analysis and interchange , 2013, Software & Systems Modeling.

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

[127]  Miroslaw Ochodek,et al.  Simplifying effort estimation based on Use Case Points , 2011, Inf. Softw. Technol..

[128]  Fredrik Törner,et al.  An Empirical Quality Assessment of Automotive Use Cases , 2006, 14th IEEE International Requirements Engineering Conference (RE'06).

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

[130]  Neil A. M. Maiden,et al.  Guiding use case authoring: results of an empirical study , 1999, Proceedings IEEE International Symposium on Requirements Engineering (Cat. No.PR00188).

[131]  Soren Lauesen,et al.  Software Requirements: Styles & Techniques , 2002 .

[132]  Mohamed El-Attar,et al.  Improving the quality of use case models using antipatterns , 2010, Software & Systems Modeling.

[133]  M. Saeki,et al.  Reusing use case descriptions for requirements specification: towards use case patterns , 1999, Proceedings Sixth Asia Pacific Software Engineering Conference (ASPEC'99) (Cat. No.PR00509).

[134]  Frank Armour,et al.  Advanced Use Case Modeling: Software Systems , 2000 .

[135]  Harsha Rao,et al.  Writing Effective Use Cases and Introducing Collaboration Cases , 1998, J. Object Oriented Program..

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

[137]  Anderson Belgamo,et al.  TUCCA: improving the effectiveness of use case construction and requirement analysis , 2005, 2005 International Symposium on Empirical Software Engineering, 2005..

[138]  Keith Phalp,et al.  Comparing Use Case Writing Guidelines , 2001 .

[139]  Mohamed El-Attar Using SSUCD to Develop Consistent Use Case Models: An Industrial Case Study , 2012, ICSEA 2012.

[140]  Edward R. Carroll Estimating software based on use case points , 2005, OOPSLA '05.

[141]  Miroslaw Ochodek,et al.  Building Benchmarks For Use Cases , 2010, Comput. Informatics.