Automated events identification in use cases

Abstract Context Use cases are a popular method of expressing functional requirements. One contains a main scenario and a set of extensions, each consisting of an event and an alternative sequence of activities. Events omitted in requirements specification can lead to rework. Unfortunately, as it follows from the previous research, manual identification of events is rather ineffective (less than 1/3 of events are identified) and it is slow. Objective The goal of this paper is to propose an automatic method of identification of events in use cases and evaluate its quality. Method Each step of a main scenario is analyzed by a sequence of NLP tools to identify its performer, activity type and information object. It has been observed that performer, activity type and some attributes of information objects determine types of events that can occur when that activity is performed. That empirical knowledge is represented as a set of axioms and two inference rules have been proposed which allow to identify types of possible events. For each event type an NLG pattern is proposed which allows to generate description of the event type in natural language. The proposed method was compared with two manual approaches to identification of events: ad hoc and HAZOP-based. Also a kind of Turing test was performed to evaluate linguistic quality of generated descriptions. Results Accuracy of the proposed method is about 80% (for manual approaches it is less than 1/3) and its speed is about 11 steps/minute (ad hoc approach is 4 times slower, and HAZOP-based approach is 20 times slower). Understandability of the generated event descriptions was not worse than understandability of the descriptions written by humans. Conclusions The proposed method could be used to enhance contemporary tools for managing use cases.

[1]  Michał Śmiałek,et al.  Software Development with Reusable Requirements-Based Cases , 2007 .

[2]  Atsushi Ohnishi,et al.  Integration and evolution method of scenarios from different viewpoints , 2003, Sixth International Workshop on Principles of Software Evolution, 2003. Proceedings..

[3]  Colin J. Neill,et al.  Requirements Engineering: The State of the Practice , 2003, IEEE Softw..

[4]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

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

[6]  Ian F. Alexander Scenario-driven search finds more exceptions , 2000, Proceedings 11th International Workshop on Database and Expert Systems Applications.

[7]  Jerzy R. Nawrocki,et al.  UC Workbench - A Tool for Writing Use Cases and Generating Mockups , 2005, XP.

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

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

[10]  Brian W. Mar,et al.  REQUIREMENTS FOR DEVELOPMENT OF SOFTWARE REQUIREMENTS , 1994 .

[11]  Christopher D. Manning,et al.  Multiword Expression Identification with Tree Substitution Grammars: A Parsing tour de force with French , 2011, EMNLP.

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

[13]  Leo Breiman,et al.  Classification and Regression Trees , 1984 .

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

[15]  Miroslaw Ochodek,et al.  HAZOP-based identification of events in use cases , 2013, Empirical Software Engineering.

[16]  Miroslaw Ochodek,et al.  Improving the reliability of transaction identification in use cases , 2011, Inf. Softw. Technol..

[17]  Tetsuo Tamai,et al.  How Does Requirements Quality Relate to Project Success or Failure? , 2007, 15th IEEE International Requirements Engineering Conference (RE 2007).

[18]  Albert Gatt,et al.  SimpleNLG: A Realisation Engine for Practical Applications , 2009, ENLG.

[19]  Emmanuel Letier Reasoning about Agents in Goal-Oriented Requirements Engineering , 2002 .

[20]  Kjetil Moløkken-Østvold,et al.  A review of software surveys on software effort estimation , 2003, 2003 International Symposium on Empirical Software Engineering, 2003. ISESE 2003. Proceedings..

[21]  M. Ochodeka,et al.  Simplifying Effort Estimation Based on Use Case Points , 2015 .

[22]  Ronald S. Carson,et al.  Requirements Completeness : A Deterministic Approach , 1998 .

[23]  Axel van Lamsweerde,et al.  Handling Obstacles in Goal-Oriented Requirements Engineering , 2000, IEEE Trans. Software Eng..

[24]  Christopher D. Manning,et al.  Parsing Three German Treebanks: Lexicalized and Unlexicalized Baselines , 2008 .

[25]  Christopher D. Manning,et al.  Generating Typed Dependency Parses from Phrase Structure Parses , 2006, LREC.

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

[27]  A. M. Turing,et al.  Computing Machinery and Intelligence , 1950, The Philosophy of Artificial Intelligence.

[28]  Mohsen Kahani,et al.  A semi-automated approach to adapt activity diagrams for new use cases , 2015, Inf. Softw. Technol..

[29]  Shailey Minocha,et al.  Supporting Scenario-Based Requirements Engineering , 1998, IEEE Trans. Software Eng..

[30]  Wei-Yin Loh,et al.  Classification and regression trees , 2011, WIREs Data Mining Knowl. Discov..

[31]  Atsushi Ohnishi,et al.  A Method of Scenario Generation with Differential Scenario , 2008, 2008 16th IEEE International Requirements Engineering Conference.

[32]  George E. Stark,et al.  An examination of the effects of requirements changes on software maintenance releases , 1999 .

[33]  Sebastián Uchitel,et al.  Monitoring and control in scenario-based requirements analysis , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..