Information Technology Reference
In-Depth Information
Visualizing Early Aspects with Use Case Maps
Gunter Mussbacher 1 ,DanielAmyot 1 ,andMichaelWeiss 2
1 SITE,UniversityofOttawa,800KingEdward,Ottawa,ON,K1N6N5,Canada
{ gunterm, damyot } @site.uottawa.ca
2 School of Computer Science, Carleton University, 1125 Colonel By Drive, Ottawa,
ON, K1S 5B6, Canada
weiss@scs.carleton.ca
Abstract. Once aspects have been identified during requirements en-
gineering activities, the behavior, structure, and pointcut expressions
of aspects need to be modeled unobtrusively at the requirements level,
allowing the engineer to seamlessly focus either on the behavior and
structure of the system without aspects or the combined behavior and
structure. Furthermore, the modeling techniques for aspects should be
the same as for the base system, ensuring that the engineer continues
to work with familiar models. This paper describes how, with the help
of Use Case Maps (UCMs), scenario-based aspects can be modeled at
the requirements level unobtrusively and with the same techniques as
for non-aspectual systems. Use Case Maps are a visual scenario notation
under standardization by the International Telecommunication Union.
With Use Case Maps, aspects as well as pointcut expressions are mod-
eled in a visual way which is generally considered the preferred choice
for models of a high level of abstraction.
Keywords: aspect-oriented requirements engineering, Use Case Maps,
scenario notations, User Requirements Notation.
1
Introduction
Aspects [26] expand object-oriented software development by adding means for
encapsulating requirements-level concerns (also called requirements units, e.g.,
features, use cases, etc). Generally, such encapsulation cannot be achieved with
classes/objects alone as “the units of interest in the requirements domain are fun-
damentally different from the units of interest in object-oriented software” [21].
In object-oriented software, this manifests itself in scattering (parts of a concern
are scattered over many classes) and tangling (one class contains parts of many
different concerns). Aspects address these problems (see [25] for an example on
how use cases can be encapsulated throughout the whole software development
process). Note that although this paper focuses on object-oriented techniques,
similar arguments in support of aspects can be made for other development para-
digms. As Use Case Maps (UCMs) also have been used in the context of various
software development paradigms (see Sect. 2.1 for examples), aspect-oriented
UCMs (AoUCM) are applicable to a wide variety of development paradigms.
 
Search WWH ::




Custom Search