Information Technology Reference
In-Depth Information
Early aspects focus on the problem domain, representing the goals and con-
straints of users, customers, and other constituencies affected by a software-
intensive system. Current requirements techniques offer a variety of structures for
organizing the requirements, such as (structured) natural languages, use cases,
viewpoints, goal models, features, etc. [24, 29]. No matter how the requirements
are structured, an early aspect crosscuts the dominant decomposition, and has
an (implicit or explicit) impact on more than one requirements artifact. Research
on early aspects can help to improve modularity in the requirements and archi-
tecture design and to detect conflicting concerns early, when trade-offs can be
resolved more economically [1]. Analyzing early aspects also enables stakeholder
interests to be traced throughout the software development life cycle.
We assume there exists a relatively well-organized set of requirements de-
rived from some dominant decomposition criteria. Our task is to gain an early
understanding of these requirements and the (crosscutting) concerns they ad-
dress. This vision is influenced by the work on “weaving together requirements
and architectures” [30], which suggests an agenda “from early aspects to late re-
quirements” because identifying aspects too early is counterproductive [31]. This
paper presents a rigorous approach to systematically capturing and analyzing
crosscutting entities in requirements goal models.
1.1
Aspects and Goal-Oriented Requirements Analysis
Goal modeling has become a central activity in RE. It shifts the emphasis in
requirements analysis to the actors within an organization, their goals, and the
interdependencies between those goals, rather than focusing on processes and
objects. This helps us understand why a new system is needed, and allows us to
effectively link software solutions to business needs.
Requirements goal models use goal decomposition to support the description
and analysis of stakeholder intentions that underlie the required software system.
Some goal-oriented frameworks, such as
i [53], also explicitly model the agents
who hold these intentions. Goal modeling frameworks also distinguish between
regular goals and softgoals . A regular goal has a clear criterion that determines
whether it is satisfied. In contrast, softgoals are those goals for which there is no
clear sense in which they can be fully satisfied. Softgoals therefore often capture
non-functional requirements (NFRs) such as usability, reliability, maintainabil-
ity [5]. In the design process, each softgoal can be used to induce a preference
ordering over different design solutions.
The process of goal decomposition produces a goal hierarchy, which expresses
how low-level, concrete goals and tasks contribute to (or detract from) the higher
level goals. The most abstract goals, especially softgoals, tend to crosscut the
goal model, connected by contribution links to many other lower level goals [1].
We treat such goals as candidate early aspects , and analyze the extent to which
they capture key problem domain concepts that crosscut the structure of require-
ments and architectural designs. Candidate aspects are suited to be implemented
as code aspects, but developers may choose other means to address these cross-
cutting concerns. Even in the latter case, it is desirable to keep candidate early
Search WWH ::




Custom Search