want to learn about Aspect-Oriented Software Development with Use Cases. These ppts will help you . Still need more info or help with any assignment related to use case visit http://www.myassignmenthelp.net/uml-assignment-help.php
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Aspect-Oriented Software Development with Use Cases
1. Aspect-Oriented Software
Development with Use Cases
AspectJ Reference:
Diagrams and materials based on “Aspect-Oriented
Software Development with Use Cases” by I.
Jacobson and P.-W. Ng, 2005, Addison-Wesley
4. Use Cases & Aspects
• So far, our aspects have been about non-
functional concerns
• Observations:
– a use case usually refers to a function that a user
does with the system; usually a set of use cases
model functional requirements (application use cases)
– use cases can also be used to model non-functional
requirements (infrastructure use cases)
– a use case is a user task or a concern
– a use case (whether application or infrastructure)
could correspond to an aspect!
5. Figure 3-1
(incomplete
list of
use cases)
Figure 3-2
(incomplete
list of
use case
realizations
for the
system)
Application Use Cases
:
Use case slices
6. From Use Cases to Aspects
Figure 1-2
Figure 2-1
1. public aspect CheckInCustomer {
2. ...
3. public void Room.assignCustomer ()
4. {
5. // code to check in customer
6. }
7. public void Reservation.consume()
8. {
9. // code to consume reservation
10. }
11. public void Payment.createBill()
12. {
13. // code to generate an initial outstanding bill
14. }
15. ...
16. }
10. Use Case: Handle Waiting List
Basic Flows
. . .
Extension Flows
EF1.Queue For Room
This extension flow occurs after UpdatingRoomAvailability yields No Rooms Available.
The system creates a pending reservation with a unique identifier for the selected Room type.
The system puts the pending reservation into a waiting list.
The system displays the unique identifier of the pending reservation to the customer.
The base use case terminates.
Extension Pointcuts
extension pointcut UpdatingRoomAvailability = Reserve Room.Update Room AvailabilityFigure 6-5
13. Application Use Cases and Infrastructure Use
Cases - Example
Functional
reqs
Non-functional
reqs
14. Application Use Cases and Infrastructure Use
Cases – Example – con’t
Relationship between application
use cases and infrastructure use
case? “binding”
e.g., “<Perform Transaction>” binds to
“Reserve Room” &
“<Actor>” binds to “Customer”
Note: a template
15. Use Case Slice
• A use case slice is collects together the parts of classes and
operations (as represented via aspects), and (whole) classes, that
are specific to a use case.
• What follows?
– Example of 2 Application Use Cases and their Use Case Slice
Fig 13-3,12-3,12-7, 13-4, 13-6
(Jacobson & Ng)
– Example of an Infrastructure Use Case Slice
Fig 14-4,14-5;14-9
(Jacobson & Ng)
22. Example: Infrastructure Use case slice for
Adding authorization checks
Basic interaction diagram
Basic interaction
Diagram extended
With authorization calls
Use case slice for “Handle Authorization”
23. For each use case slice,
define corresponding
classes and aspects.
Form the system by
putting together use case slices +
non-use case slices (not shown)…
26. Aspects and Software Product
Lines
• There are kernel, optional, variant features
in products
• “Extensions” can be modelled and
implemented via aspects – variations
localised in aspects
• On-going: e.g., http://ample.holos.pt/,
http://www.softeng.ox.ac.uk/aople/