Automatic Conceptual Analysis of User Requirements with the Requirements
Engineering Assistance Diagnostic (READ) Tool
Shadi Moradi Seresht, Olga Ormandjieva and Samer Sabra
Computer Science and Software Engineering Department
Concordia University, Montreal, Canada
{sh_morad, ormandj}@cse.concordia.ca, samer@sabra.ca
Abstract
This paper describes an elaborate methodology that
constitutes a proof of concept for the idea that a
conceptual knowledge on the software to be developed
can be acquired through an automated process, with a
corpus of textual requirement documents as input and
diagrams representing its static (domain model) and
dynamic (context use-case model) aspects, as output. An
improved domain model is generated by injecting
domain-related missing information provided by Expert
Comparable Contextual (ECC) models, which are
extracted from reusable domain-specific data models.
The dynamic view abstracts the main functionalities of
the software as a context use-case model. The paper
describes the architecture of the Requirements
Engineering Assistance Diagnostic (READ) tool
implementing our methodology which will guide the
developers in their in-depth study of the requirements
text and in the timely identification of risks that poorly
specified requirements might introduce into the project.
1. Introduction
Requirements analysis and validation constitute the
key Requirements Engineering (RE) activity for
understanding the user requirements, for classifying
them and for modeling the static and dynamic views on
the software requirements. This process often takes
considerable time to perform manually, as the length of a
real-life requirements document can range from a few to
hundreds of pages containing numerous words, phrases
and sentences, where each can potentially be wrongly
interpreted. A lack in domain knowledge is one of the
important factors that gives rise to these difficulties.
Consequently, inspecting for errors manually, although
the most common way of doing so, is also one of the
costliest phases of RE.
Research Goal. The major goal of this research is to
provide automatic assistance in the initial, interactive
process of requirement elicitation and analysis, where a
full and proper understanding of the application domain
is considered a fundamental success factor in the
software development process. The work presented here
is part of a larger project aimed at applying Natural
Language Processing (NLP) techniques to the RE
process (see Figure 1).
Figure 1. NLP-Based Quality Assessment in
Requirements Engineering
The objective of NLP assessment in the context of the
project indicated in Figure 1 can be expressed in terms of
three main goals:
G1. Automatic NLP-driven quality assessment of the
textual requirements in the requirements gathering and
elicitation phase.
G2. Automatic NLP-driven quality assessment of the
textual requirements in the analysis and specification
phase, where conceptual static and dynamic models are
developed from the textual requirements.
G3. Graphical visualization and animation of the
conceptual models extracted from the requirements text
for the user’s validation and feedback.
The achievements toward completing G1 were
tackled in [1], where the objective was to identify the
textual ambiguities in the requirements elicitation phase
before the conceptual modeling of the requirements
begins. The research described in this paper is concerned
with the challenges inherent in assessing (semi-)
Sixth International Conference on Software Engineering Research, Management and Applications
978-0-7695-3302-5/08 $25.00 © 2008 IEEE
DOI 10.1109/SERA.2008.34
133