25.8. EVALUATIONWe have used aspect-oriented component engineering on a range of problems. These have included the construction of adaptive user interfaces, multi-view software tools, plug-and-play collaborative work-supporting components, and several prototype enterprise systems. We have built some of these systems using our custom JViews component architecture and some with Java 2 Enterprise Edition software components. Using aspects to assist in engineering these components has helped us to design and build more reusable and adaptable components. We have carried out a basic empirical evaluation of aspect-oriented component engineering by having a group of developers design and prototype a set of components. These included experienced industry designers and post-graduate OO technology students. Feedback from the evaluation indicated that the designers found the aspect-based perspectives on their UML designs useful, both when designing components and when trying to understand others people's components and their compositions. Using aspects to assist in developing decoupled components is effective, though it needs good tool support. Run-time validation of software components with aspects is potentially an important long-term contribution of this work. We have identified several key advantages of component development with aspect-oriented techniques.
However, there are also several potential disadvantages to our approach.
|