Information Technology Reference
In-Depth Information
details on how some filters can be applied to narrow down the list, while Sect. 4.3
shows some guidelines that provide guidance on the use of the tool to support this
task.
Another issue is related to the danger of restricting input: if the requirement
engineer focuses exclusively on the available input documents, he/she will not be able
to identify the important concerns that could arise from direct interaction with the
stakeholders, but are not listed in the documents. Thus, our approach must not be used
in isolation, but must be complemented with stakeholder feedback as well as domain
knowledge and judgment of the requirements engineer for requirements refinement.
The identification of early aspects can be broken into two categories: non-
functional and functional. Non-functional requirements (e.g., security, concurrency,
persistence, parallelism and so forth) are generally natural candidates for crosscutting
concerns at the RE level since they are broadly-scoped properties that tend to
constrain many other requirements [16, 17]. One important NLP feature that can be
used to identify these early aspects is the SEM tags produced by WMATRIX. For
example the word “authorised” in Fig. 2b has the semantic tag SEM = “S7.4+” which
means permission that is a natural candidate for a security early aspect (See Table 1.
The “+” sign is just an extra annotation to mean that it is a positive type of
permission. “unauthorised” would be tagged as “S7.4-”).
As mentioned in Sect. 3 the semantic tags cluster words into classes of meaning
and one word can be present in more than one category as its meaning might change
depending on the context in which the word is used. For example, if we consider the
context of the requirements of a system for a Ballet company it is likely that the
semantic tagger will attribute the meaning of “performance” to be “act of a dancer”.
On the other hand, if we were dealing with a concurrent system specification it is
likely that “performance” has the meaning of “processing power” that is a natural
candidate for an early aspect.
Therefore, the NLP processor's semantic tagging can help to improve an
automated mining analysis of early aspects by using contextual information and thus
alert the user that, in the example above for the Ballet company system, that
performance might be a quality of how well the actor did on the last show (an
attribute of a class). On the other hand, for the distributed system, performance is
related to how the system must respond in terms of throughput or response time (a
non-functional concern that can have a large impact on the design of the system).
The identification of these broadly scoped non-functional early aspects (e.g.,
security, performance, concurrency, usability) both in a viewpoint-based or use-case
based model can benefit from the NLP semantic tagging. In both approaches these
broadly scoped concerns represent restrictions applied to other requirements and
functionalities (the base abstractions such as viewpoints and use cases) and, therefore,
are similar in nature and can be identified in a similar fashion. What is different
between both approaches is the way these general non-functional requirements
compose with the base concerns. In Sect. 4.1.3 we describe in more detail how NFR
automation is handled in the context of EA-Miner and how we can benefit from
existing NFR knowledge bases [27, 34, 35].
Regarding the analysis of functional early aspects, an adaptation of the Fan-in-
based aspect mining code analysis technique [36] can be used. Fan-in analysis
considers the fan-in of a node n in a method call graph as the number of incoming
Search WWH ::




Custom Search