ADVANCE SOFTWARE ENGINEERING
Activity 6 (Aspect-Oriented Software Engineering)
Please answer the following questions, submit this activity in a word format.
1. What is the difference between a join point and a pointcut? Explain how these facilitate the weaving of code
into a program to handle cross-cutting concerns.
A join point is a candidate point in the Program Execution of the application where an aspect can be
plugged in. This point could be a method being called, an exception being thrown, or even a field being
modified. These are the points where your aspect’s code can be inserted into the normal flow of your
application to add new behavior.
A pointcut defines at what join points, the associated Advice should be applied. Advice can be applied
at any join point supported by the AOP framework. Of course, you don’t want to apply all of your aspects at
all of the possible join points. Pointcuts allow you to specify where you want your advice to be applied.
Often you specify these pointcuts using explicit class and method names or through regular expressions
that define matching class and method name patterns. Some AOP frameworks allow you to create dynamic
pointcuts that determine whether to apply advice based on runtime decisions, such as the value of method
parameters.
2. Suggest how you could use aspects to simplify the debugging of programs.
Debugging in aspect-oriented systems, use the program source code to identify potential defect tests,
Program inspections involve a team of programmer to test and simplify the error. It includes many test run
before it will be simplify all the debugging aspects.