Aspect-Oriented Programming aims to increase software
modularity, and therefore, software maintainability.
The modularity reached by using aspects allows
programmers to add or change software functionality
with non-invasive changes, which keeps the base code
clean and easy to understand and evolve. This work
presents an Aspect-Oriented Implementation Method and
defines data management, communication, and
concurrency control concerns (requirements) as
aspects. It also defines how the implementation
method can be composed in the development process, in
order to tailor management, requirements, analysis,
and design activities to support the method.
Moreover, the method presents an alternative
implementation approach that tries to anticipate
requirement changes by yielding a functional
prototype earlier than in a regular approach. This
allows customers and developers to test the software
before additional effort to implement non-functional
requirements. A study was performed to support
decision-making when using the alternative or a
regular approach. Both students and developers can
benefit from this work in academic or real-life
software development.
modularity, and therefore, software maintainability.
The modularity reached by using aspects allows
programmers to add or change software functionality
with non-invasive changes, which keeps the base code
clean and easy to understand and evolve. This work
presents an Aspect-Oriented Implementation Method and
defines data management, communication, and
concurrency control concerns (requirements) as
aspects. It also defines how the implementation
method can be composed in the development process, in
order to tailor management, requirements, analysis,
and design activities to support the method.
Moreover, the method presents an alternative
implementation approach that tries to anticipate
requirement changes by yielding a functional
prototype earlier than in a regular approach. This
allows customers and developers to test the software
before additional effort to implement non-functional
requirements. A study was performed to support
decision-making when using the alternative or a
regular approach. Both students and developers can
benefit from this work in academic or real-life
software development.