Information Technology Reference
In-Depth Information
EA-Miner: Towards Automation in Aspect-Oriented
Requirements Engineering
Américo Sampaio, Awais Rashid, Ruzanna Chitchyan, and Paul Rayson
Computing Department, InfoLab 21, Lancaster University, Lancaster LA1 4WA, UK
{a.sampaio, awais, rouza, paul}@comp.lancs.ac.uk
Abstract. Aspect-oriented requirements engineering (AORE) provides separation
of concerns at the requirements level. In order to cope with concern identification
and structuring into different requirements models, tool support is vital to
effectively reduce the burden of performing various AORE tasks. This paper
describes how the EA-Miner tool-based approach provides automated support for
mining various types of concerns from a variety of early stage requirements
documents and how these concepts can be structured into specific aspect-oriented
requirements models (e.g., viewpoints-based, use-case-based). The key insight for
early-stage requirements automation is the use of natural language processing to
reason about properties of the requirements as well as the utilization of semantics
revealed by the natural language analysis in building the models. Evaluation of
EA-Miner shows promising results concerning time-effectiveness and accuracy of
undertaking AORE activities and building requirements models. Moreover, an
industrial case study conducted at Siemens AG investigated how the tool performs
in a real-world setting by analysing what benefits it brings and challenges it faces
during AORE analysis. The EA-Miner analysis enabled to find concerns that were
considered relevant by a research team at Siemens that is re-implementing the
investigated system with aspect-oriented languages. Moreover, the exposure of
the tool to industrial requirements written by different developers also revealed
some challenges imposed by the structure of the documentation and the different
use of vocabulary terms hence providing new paths to explore and improve the
tool in the future such as better pre-processing support, “domain synonym”
identification and detection of poorly written requirements.
1 Introduction
Requirements engineering (RE) is considered to be a fundamental part of the software
engineering lifecycle [1-3] as poor requirements can have a significant impact in later
stages of the life cycle and can often be a critical factor in the failure of a project.
One of the initial tasks in RE is gathering the requirements from the end users,
managers, and other stakeholders. This is a challenging task since requirements
engineers and stakeholders normally have different backgrounds and knowledge
about the system under investigation that complicates their communication and
understanding of the system goals and uses. Generally, during this process, the
requirements engineer somehow records these requirements (e.g., creating a report,
generating interview transcripts) to use them later for creating a more detailed
specification of the system.
 
Search WWH ::




Custom Search