Section 21.3. A VIEW OF CONCERNS


21.3. A VIEW OF CONCERNS

Given the previous definition of concerns as matters of interest in a system, what can we say about them as a prospective domain for modeling? What do we know about them a priori based on our overall knowledge of software development and early experience with AOSD?

First, concerns arise at all stages of the software lifecycle. This is implicit in the different purposes, activities, formalisms, and artifacts associated with the different stages of development. A variety of concerns, in various forms, are documented for requirements specification [40, 42], architecture and design [8], coding [13, 22, 37], testing [32], and maintenance and evolution [14].

Individual concerns also span multiple phases of the lifecycle, relate to multiple instances and types of artifacts, and crosscut phases and artifacts in different ways [4, 32, 37]. For example, a concern for performance may be associated with a set of use cases in requirements, a choice of architectural styles and design patterns that may facilitate performance, algorithms for efficiently implementing specific logical components, and so on.

Finally, concerns are dynamic and relative. The concerns relevant to a particular software product or individual unit change over time, and they also depend on the perspective or purpose of the developer, user, or other stakeholder who considers the software [17, 23, 28, 32].

Based on previous studies, we believe that concern spaces are multi-dimensional; that is, many concerns of multiple types may apply to a particular software unit at any one time [28, 32, 37]. For example, functionality, behavior, performance, reliability, and understandability may all apply to a particular class or method. Additionally, we believe that a concern space is highly structured; that is, that concerns can be organized by multiple relationships of multiple types, that these relationships may be independent or dependent, and that they commonly have a hierarchical or lattice-like organization [32, 33].



Aspect-Oriented Software Development
Aspect-Oriented Software Development with Use Cases
ISBN: 0321268881
EAN: 2147483647
Year: 2003
Pages: 307

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net