The Use Case formalism is an effective way of capturing both business process and functional system requirements in a very simple and easy-to-learn way. Use Cases may be modeled in a graphical way (e.g. using the UML notation), mainly serving as a table of content for Use Cases. System behavior can more effectively be specified by structured natural language (NL) sentences. The use of NL as a way to specify the behavior of a system is however a critical point, due to the inherent ambiguity originating from different interpretations of natural language descriptions. We discuss the use of methods, based on a linguistic approach, to analyze functional requirements expressed by means of textual (NL) Use Cases. The aim is to collect quality metrics and detect defects related to such inherent ambiguity. In a series of preliminary experiments, we applied a number of tools for quality evaluation of NL text (and, in particular, of NL requirements documents) to an industrial Use Cases document. The result of the analysis is a set of metrics that aim to measure the quality of the NL textual description of Use Cases. We also discuss the application of selected linguistic analysis techniques that are provided by some of the tools to semantic analysis of NL expressed Use Case.
[1]
J. Michael Spivey,et al.
Z Notation - a reference manual (2. ed.)
,
1992,
Prentice Hall International Series in Computer Science.
[2]
Linda H. Rosenberg,et al.
Automated Analysis of Requirement Specifications
,
1997,
Proceedings of the (19th) International Conference on Software Engineering.
[3]
Luisa Mich,et al.
Ambiguity Measures in Requirements Engineering
,
2022
.
[4]
Alistair Cockburn,et al.
Writing Effective Use Cases
,
2000
.
[5]
Tommaso Bolognesi,et al.
Tableau methods to describe strong bisimilarity on LOTOS processes involving pure interleaving and enabling
,
1994,
FORTE.
[6]
Erik Kamsties,et al.
Taming Ambiguity in Natural Language Requirements
,
2005
.
[7]
Jean-Raymond Abrial,et al.
The B-book - assigning programs to meanings
,
1996
.