
Currently, non-functional requirements (NFRs) consume a considerable part of the software development effort. The good news is that most of them appear time and again during system development and, luckily, their solutions can be often described as a pattern independently from any specific application or domain. A proof of this are the current application servers and middleware platforms that can provide configurable prebuilt services for managing some of these crosscutting concerns, or aspects. Nevertheless, these reusable pattern solutions presents two shortcomings, among others: (1) they need to be applied manually; and (2) most of these pattern solutions do not use aspect-orientation, and, since NFRs are often crosscutting concerns, this leads to scattered and tangled representations of these concerns. Our approach aims to overcome these limitations by: (1) using model-driven techniques to reduce the development effort associated to systematically apply reusable solutions for satisfying NFRs; and (2) using aspect-orientation to improve the modularization of these crosscutting concerns. Regarding the first contribution, since the portion of a system related to NFRs is usually significant, the reduction on the development effort associated to these NFRs is also significant. Regarding the second contribution, the use aspect-orientation improves maintenance and evolution of the non-functional requirements that are managed as aspects. An additional contribution of our work is to define a mapping and transition from aspectual requirements to aspect-oriented software architectures, which, in turn, contributes to improve the general issue of systematically relating requirements to architecture. Our approach is illustrated by applying it to a Toll Gate case study.
Aspect-Oriented Software Development, Early aspects, Model-driven development, Model transformation
Aspect-Oriented Software Development, Early aspects, Model-driven development, Model transformation
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 16 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Top 10% | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Top 10% |
