SlideShare a Scribd company logo
1 of 26
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
More?
• http://www.early-aspects.net/
Use Cases – Basic Ideas
• Overview
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!
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
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. }
Figure 4-3
Extension
Figure 4-4
Figure 4-5
Extension – con’t
Figure 6-1
Figure 6-3
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
Inclusion
Figure 6-6
Figure 6-8
Generalization
Figure 6-9
Application Use Cases and Infrastructure Use
Cases - Example
Functional
reqs
Non-functional
reqs
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
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)
Representing a Use Case Slice in
“UML”
Representing Aspects in “UML”
(More
In handout-
Appendix A)
Basic interaction diagram
Elaborated
interaction
diagram
for reserving
room
Example 1: use case slice
for room reservation
Use Case Slice
For “Reserve Room”
Use Case
Elaborated
interaction
diagram
for reserving
room
Example 1: use case slice
for room reservation
Basic interaction diagram
Elaborated
interaction
diagram
for handling waiting list
Example 2: use case slice
for handle waiting list
Elaborated
interaction
diagram
for handling waiting list
Use Case Slice
For “Handle
Waiting List”
Use Case
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”
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)…
Aspects and Architecture
Driving and Managing Architectural Decisions with Aspects, Garcia et al., 2006
Aspects and Architecture
Driving and Managing Architectural Decisions with Aspects, Garcia et al., 2006
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/

More Related Content

What's hot

Ian Sommerville, Software Engineering, 9th Edition Ch 4
Ian Sommerville,  Software Engineering, 9th Edition Ch 4Ian Sommerville,  Software Engineering, 9th Edition Ch 4
Ian Sommerville, Software Engineering, 9th Edition Ch 4Mohammed Romi
 
Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5Sudarshan Dhondaley
 
Ian Sommerville, Software Engineering, 9th Edition Ch2
Ian Sommerville,  Software Engineering, 9th Edition Ch2Ian Sommerville,  Software Engineering, 9th Edition Ch2
Ian Sommerville, Software Engineering, 9th Edition Ch2Mohammed Romi
 
Tema 2 - T2: Métodos y actividades de la ingeniería de requisitos
Tema 2 - T2: Métodos y actividades de la ingeniería de requisitosTema 2 - T2: Métodos y actividades de la ingeniería de requisitos
Tema 2 - T2: Métodos y actividades de la ingeniería de requisitosMagemyl Egana
 
Software Architecture vs design
Software Architecture vs design Software Architecture vs design
Software Architecture vs design Arslan Anwar
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineeringDarshit Metaliya
 
Aspect oriented software development
Aspect oriented software developmentAspect oriented software development
Aspect oriented software developmentMaryam Malekzad
 
Design concept -Software Engineering
Design concept -Software EngineeringDesign concept -Software Engineering
Design concept -Software EngineeringVarsha Ajith
 
Ian Sommerville, Software Engineering, 9th Edition Ch1
Ian Sommerville,  Software Engineering, 9th Edition Ch1Ian Sommerville,  Software Engineering, 9th Edition Ch1
Ian Sommerville, Software Engineering, 9th Edition Ch1Mohammed Romi
 
Software Quality Attributes
Software Quality AttributesSoftware Quality Attributes
Software Quality AttributesHayim Makabee
 
Domain Driven Design (DDD)
Domain Driven Design (DDD)Domain Driven Design (DDD)
Domain Driven Design (DDD)Tom Kocjan
 
Service Oriented Computing
Service Oriented ComputingService Oriented Computing
Service Oriented ComputingAie Sa
 

What's hot (20)

Ian Sommerville, Software Engineering, 9th Edition Ch 4
Ian Sommerville,  Software Engineering, 9th Edition Ch 4Ian Sommerville,  Software Engineering, 9th Edition Ch 4
Ian Sommerville, Software Engineering, 9th Edition Ch 4
 
Service Oriented Computing - Session1 : Intro
Service Oriented Computing - Session1 : IntroService Oriented Computing - Session1 : Intro
Service Oriented Computing - Session1 : Intro
 
Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5
 
Ian Sommerville, Software Engineering, 9th Edition Ch2
Ian Sommerville,  Software Engineering, 9th Edition Ch2Ian Sommerville,  Software Engineering, 9th Edition Ch2
Ian Sommerville, Software Engineering, 9th Edition Ch2
 
Tema 2 - T2: Métodos y actividades de la ingeniería de requisitos
Tema 2 - T2: Métodos y actividades de la ingeniería de requisitosTema 2 - T2: Métodos y actividades de la ingeniería de requisitos
Tema 2 - T2: Métodos y actividades de la ingeniería de requisitos
 
Software Architecture vs design
Software Architecture vs design Software Architecture vs design
Software Architecture vs design
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineering
 
Software development process
Software development processSoftware development process
Software development process
 
Aspect oriented software development
Aspect oriented software developmentAspect oriented software development
Aspect oriented software development
 
Chap1 RE Introduction
Chap1 RE IntroductionChap1 RE Introduction
Chap1 RE Introduction
 
Requirements Engineering
Requirements EngineeringRequirements Engineering
Requirements Engineering
 
Waterfall model
Waterfall modelWaterfall model
Waterfall model
 
Design concept -Software Engineering
Design concept -Software EngineeringDesign concept -Software Engineering
Design concept -Software Engineering
 
Process Models IN software Engineering
Process Models IN software EngineeringProcess Models IN software Engineering
Process Models IN software Engineering
 
Ian Sommerville, Software Engineering, 9th Edition Ch1
Ian Sommerville,  Software Engineering, 9th Edition Ch1Ian Sommerville,  Software Engineering, 9th Edition Ch1
Ian Sommerville, Software Engineering, 9th Edition Ch1
 
SOA Principles : 5. service abstraction
SOA Principles : 5. service abstractionSOA Principles : 5. service abstraction
SOA Principles : 5. service abstraction
 
Software Quality Attributes
Software Quality AttributesSoftware Quality Attributes
Software Quality Attributes
 
Software Reliability
Software ReliabilitySoftware Reliability
Software Reliability
 
Domain Driven Design (DDD)
Domain Driven Design (DDD)Domain Driven Design (DDD)
Domain Driven Design (DDD)
 
Service Oriented Computing
Service Oriented ComputingService Oriented Computing
Service Oriented Computing
 

Viewers also liked

AOSD توسعه نرم افزار جنبه گرا
AOSD توسعه نرم افزار جنبه گراAOSD توسعه نرم افزار جنبه گرا
AOSD توسعه نرم افزار جنبه گراOmid Rajabi
 
Aspect-Oriented Technologies
Aspect-Oriented TechnologiesAspect-Oriented Technologies
Aspect-Oriented TechnologiesEsteban Abait
 
UML for Aspect Oriented Design
UML for Aspect Oriented DesignUML for Aspect Oriented Design
UML for Aspect Oriented DesignEdison Lascano
 
QSOUL/Aop
QSOUL/AopQSOUL/Aop
QSOUL/AopESUG
 
Evolutionary Problems In Aspect Oriented Software Development
Evolutionary Problems In Aspect Oriented Software DevelopmentEvolutionary Problems In Aspect Oriented Software Development
Evolutionary Problems In Aspect Oriented Software Developmentkim.mens
 
Aspect Oriented Software Development
Aspect Oriented Software DevelopmentAspect Oriented Software Development
Aspect Oriented Software DevelopmentOtavio Ferreira
 
Introduction to Aspect Oriented Software Development
Introduction to Aspect Oriented Software DevelopmentIntroduction to Aspect Oriented Software Development
Introduction to Aspect Oriented Software Developmentmukhtarhudaya
 
Aspect Mining Techniques
Aspect Mining TechniquesAspect Mining Techniques
Aspect Mining TechniquesEsteban Abait
 
Software reliability model(روش های اندازه گیری قابلیت اطمینان نرم افزار)
Software reliability model(روش های اندازه گیری قابلیت اطمینان نرم افزار)Software reliability model(روش های اندازه گیری قابلیت اطمینان نرم افزار)
Software reliability model(روش های اندازه گیری قابلیت اطمینان نرم افزار)amirbabol
 
Ch21-Software Engineering 9
Ch21-Software Engineering 9Ch21-Software Engineering 9
Ch21-Software Engineering 9Ian Sommerville
 

Viewers also liked (11)

AOSD توسعه نرم افزار جنبه گرا
AOSD توسعه نرم افزار جنبه گراAOSD توسعه نرم افزار جنبه گرا
AOSD توسعه نرم افزار جنبه گرا
 
Aspect-Oriented Technologies
Aspect-Oriented TechnologiesAspect-Oriented Technologies
Aspect-Oriented Technologies
 
UML for Aspect Oriented Design
UML for Aspect Oriented DesignUML for Aspect Oriented Design
UML for Aspect Oriented Design
 
Scrum doc
Scrum docScrum doc
Scrum doc
 
QSOUL/Aop
QSOUL/AopQSOUL/Aop
QSOUL/Aop
 
Evolutionary Problems In Aspect Oriented Software Development
Evolutionary Problems In Aspect Oriented Software DevelopmentEvolutionary Problems In Aspect Oriented Software Development
Evolutionary Problems In Aspect Oriented Software Development
 
Aspect Oriented Software Development
Aspect Oriented Software DevelopmentAspect Oriented Software Development
Aspect Oriented Software Development
 
Introduction to Aspect Oriented Software Development
Introduction to Aspect Oriented Software DevelopmentIntroduction to Aspect Oriented Software Development
Introduction to Aspect Oriented Software Development
 
Aspect Mining Techniques
Aspect Mining TechniquesAspect Mining Techniques
Aspect Mining Techniques
 
Software reliability model(روش های اندازه گیری قابلیت اطمینان نرم افزار)
Software reliability model(روش های اندازه گیری قابلیت اطمینان نرم افزار)Software reliability model(روش های اندازه گیری قابلیت اطمینان نرم افزار)
Software reliability model(روش های اندازه گیری قابلیت اطمینان نرم افزار)
 
Ch21-Software Engineering 9
Ch21-Software Engineering 9Ch21-Software Engineering 9
Ch21-Software Engineering 9
 

Similar to Aspect-Oriented Software Development with Use Cases

SELECT21.pptx
SELECT21.pptxSELECT21.pptx
SELECT21.pptxdevnasra1
 
Use Case Diagram
Use Case DiagramUse Case Diagram
Use Case DiagramAshesh R
 
RTDesignWithUMLUseCase.ppt
RTDesignWithUMLUseCase.pptRTDesignWithUMLUseCase.ppt
RTDesignWithUMLUseCase.pptShashikanth
 
Chapter 3.pptx
Chapter 3.pptxChapter 3.pptx
Chapter 3.pptxTekle12
 
05 fse requirementsengineering
05 fse requirementsengineering05 fse requirementsengineering
05 fse requirementsengineeringMohesh Chandran
 
From use case to software architecture
From use case to software architectureFrom use case to software architecture
From use case to software architectureAhmad karawash
 
Quality Assurance. Quality Assurance Approach. White Box
Quality Assurance. Quality Assurance Approach. White BoxQuality Assurance. Quality Assurance Approach. White Box
Quality Assurance. Quality Assurance Approach. White BoxKimberly Jones
 
Lab 3 Introduction to the UML - how to create a use case diagram
Lab 3 Introduction to the UML - how to create a use case diagramLab 3 Introduction to the UML - how to create a use case diagram
Lab 3 Introduction to the UML - how to create a use case diagramFarah Ahmed
 
Requirements Engineering Workshop with Use Cases
Requirements Engineering Workshop with Use CasesRequirements Engineering Workshop with Use Cases
Requirements Engineering Workshop with Use CasesBryan Len
 
4+1 View Model of Software Architecture
4+1 View Model of Software Architecture4+1 View Model of Software Architecture
4+1 View Model of Software Architecturebashcode
 
LabVIEW - Teaching tool for control design subject
LabVIEW - Teaching tool for control design subjectLabVIEW - Teaching tool for control design subject
LabVIEW - Teaching tool for control design subjectIOSR Journals
 
Lecture 12 requirements modeling - (system analysis)
Lecture 12   requirements modeling - (system analysis)Lecture 12   requirements modeling - (system analysis)
Lecture 12 requirements modeling - (system analysis)IIUI
 
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptUNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptVGaneshKarthikeyan
 
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptUNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptVGaneshKarthikeyan
 
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptUNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptVGaneshKarthikeyan
 

Similar to Aspect-Oriented Software Development with Use Cases (20)

SELECT21.pptx
SELECT21.pptxSELECT21.pptx
SELECT21.pptx
 
02 use cases
02 use cases02 use cases
02 use cases
 
Use Case Diagram
Use Case DiagramUse Case Diagram
Use Case Diagram
 
Use case diagram
Use case diagramUse case diagram
Use case diagram
 
RTDesignWithUMLUseCase.ppt
RTDesignWithUMLUseCase.pptRTDesignWithUMLUseCase.ppt
RTDesignWithUMLUseCase.ppt
 
Chapter 3.pptx
Chapter 3.pptxChapter 3.pptx
Chapter 3.pptx
 
05 fse requirementsengineering
05 fse requirementsengineering05 fse requirementsengineering
05 fse requirementsengineering
 
From use case to software architecture
From use case to software architectureFrom use case to software architecture
From use case to software architecture
 
Quality Assurance. Quality Assurance Approach. White Box
Quality Assurance. Quality Assurance Approach. White BoxQuality Assurance. Quality Assurance Approach. White Box
Quality Assurance. Quality Assurance Approach. White Box
 
Lab 3 Introduction to the UML - how to create a use case diagram
Lab 3 Introduction to the UML - how to create a use case diagramLab 3 Introduction to the UML - how to create a use case diagram
Lab 3 Introduction to the UML - how to create a use case diagram
 
Requirements Engineering Workshop with Use Cases
Requirements Engineering Workshop with Use CasesRequirements Engineering Workshop with Use Cases
Requirements Engineering Workshop with Use Cases
 
4+1 View Model of Software Architecture
4+1 View Model of Software Architecture4+1 View Model of Software Architecture
4+1 View Model of Software Architecture
 
LabVIEW - Teaching tool for control design subject
LabVIEW - Teaching tool for control design subjectLabVIEW - Teaching tool for control design subject
LabVIEW - Teaching tool for control design subject
 
Lecture 12 requirements modeling - (system analysis)
Lecture 12   requirements modeling - (system analysis)Lecture 12   requirements modeling - (system analysis)
Lecture 12 requirements modeling - (system analysis)
 
UML Design
UML DesignUML Design
UML Design
 
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptUNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
 
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptUNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
 
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptUNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
 
Chap07
Chap07Chap07
Chap07
 
Chapter 7 Use Case Model
Chapter 7 Use Case ModelChapter 7 Use Case Model
Chapter 7 Use Case Model
 

More from www.myassignmenthelp.net

Programming assignment help by myassignmenthelp
Programming assignment help by myassignmenthelpProgramming assignment help by myassignmenthelp
Programming assignment help by myassignmenthelpwww.myassignmenthelp.net
 
natural language processing help at myassignmenthelp.net
natural language processing  help at myassignmenthelp.netnatural language processing  help at myassignmenthelp.net
natural language processing help at myassignmenthelp.netwww.myassignmenthelp.net
 
Programming assignment-help at myassignmenthelp.net
Programming assignment-help at myassignmenthelp.netProgramming assignment-help at myassignmenthelp.net
Programming assignment-help at myassignmenthelp.netwww.myassignmenthelp.net
 
Critical path method example by myassignmenthelp
Critical path method example by myassignmenthelpCritical path method example by myassignmenthelp
Critical path method example by myassignmenthelpwww.myassignmenthelp.net
 
Energy efficiency of qantas by myassignmenthelp
Energy efficiency of qantas by myassignmenthelpEnergy efficiency of qantas by myassignmenthelp
Energy efficiency of qantas by myassignmenthelpwww.myassignmenthelp.net
 
Xml programming language myassignmenthelp.net
Xml programming  language myassignmenthelp.netXml programming  language myassignmenthelp.net
Xml programming language myassignmenthelp.netwww.myassignmenthelp.net
 
Learn ActionScript programming myassignmenthelp.net
Learn ActionScript programming myassignmenthelp.netLearn ActionScript programming myassignmenthelp.net
Learn ActionScript programming myassignmenthelp.netwww.myassignmenthelp.net
 
Learn Basics of chemistry myassignmenthelp.net
Learn Basics of chemistry myassignmenthelp.netLearn Basics of chemistry myassignmenthelp.net
Learn Basics of chemistry myassignmenthelp.netwww.myassignmenthelp.net
 
Materials Flux Analysis @myassignmenthelp.net
Materials Flux Analysis  @myassignmenthelp.netMaterials Flux Analysis  @myassignmenthelp.net
Materials Flux Analysis @myassignmenthelp.netwww.myassignmenthelp.net
 

More from www.myassignmenthelp.net (20)

Programming assignment help by myassignmenthelp
Programming assignment help by myassignmenthelpProgramming assignment help by myassignmenthelp
Programming assignment help by myassignmenthelp
 
Artificial intelligence : what it is
Artificial intelligence : what it isArtificial intelligence : what it is
Artificial intelligence : what it is
 
natural language processing help at myassignmenthelp.net
natural language processing  help at myassignmenthelp.netnatural language processing  help at myassignmenthelp.net
natural language processing help at myassignmenthelp.net
 
Python assignment help
Python assignment helpPython assignment help
Python assignment help
 
Lecture8 classifiers ldc_rules
Lecture8 classifiers ldc_rulesLecture8 classifiers ldc_rules
Lecture8 classifiers ldc_rules
 
Programming languages
Programming languagesProgramming languages
Programming languages
 
Uml assignment help
Uml assignment helpUml assignment help
Uml assignment help
 
Entity relationship-diagrams
Entity relationship-diagramsEntity relationship-diagrams
Entity relationship-diagrams
 
Programming assignment-help at myassignmenthelp.net
Programming assignment-help at myassignmenthelp.netProgramming assignment-help at myassignmenthelp.net
Programming assignment-help at myassignmenthelp.net
 
Programming assignment help
Programming assignment helpProgramming assignment help
Programming assignment help
 
Entity relationship diagram for dummies
Entity relationship diagram for dummiesEntity relationship diagram for dummies
Entity relationship diagram for dummies
 
How to write effective case study
How to write effective case studyHow to write effective case study
How to write effective case study
 
Critical path method example by myassignmenthelp
Critical path method example by myassignmenthelpCritical path method example by myassignmenthelp
Critical path method example by myassignmenthelp
 
Nursing ppt by myassignmenthelp.net
Nursing ppt by myassignmenthelp.netNursing ppt by myassignmenthelp.net
Nursing ppt by myassignmenthelp.net
 
Energy efficiency of qantas by myassignmenthelp
Energy efficiency of qantas by myassignmenthelpEnergy efficiency of qantas by myassignmenthelp
Energy efficiency of qantas by myassignmenthelp
 
Xml programming language myassignmenthelp.net
Xml programming  language myassignmenthelp.netXml programming  language myassignmenthelp.net
Xml programming language myassignmenthelp.net
 
Learn ActionScript programming myassignmenthelp.net
Learn ActionScript programming myassignmenthelp.netLearn ActionScript programming myassignmenthelp.net
Learn ActionScript programming myassignmenthelp.net
 
Learn Basics of chemistry myassignmenthelp.net
Learn Basics of chemistry myassignmenthelp.netLearn Basics of chemistry myassignmenthelp.net
Learn Basics of chemistry myassignmenthelp.net
 
Hysys help only at myassignmenthelp.net
Hysys help only at myassignmenthelp.netHysys help only at myassignmenthelp.net
Hysys help only at myassignmenthelp.net
 
Materials Flux Analysis @myassignmenthelp.net
Materials Flux Analysis  @myassignmenthelp.netMaterials Flux Analysis  @myassignmenthelp.net
Materials Flux Analysis @myassignmenthelp.net
 

Recently uploaded

Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationnomboosow
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfJayanti Pande
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Disha Kariya
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpinRaunakKeshri1
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...Sapna Thakur
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3JemimahLaneBuaron
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesFatimaKhan178732
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 

Recently uploaded (20)

Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpin
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and Actinides
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
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
  • 3. Use Cases – Basic Ideas • Overview
  • 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)
  • 16. Representing a Use Case Slice in “UML”
  • 17. Representing Aspects in “UML” (More In handout- Appendix A)
  • 18. Basic interaction diagram Elaborated interaction diagram for reserving room Example 1: use case slice for room reservation
  • 19. Use Case Slice For “Reserve Room” Use Case Elaborated interaction diagram for reserving room Example 1: use case slice for room reservation
  • 20. Basic interaction diagram Elaborated interaction diagram for handling waiting list Example 2: use case slice for handle waiting list
  • 21. Elaborated interaction diagram for handling waiting list Use Case Slice For “Handle Waiting List” Use Case
  • 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)…
  • 24. Aspects and Architecture Driving and Managing Architectural Decisions with Aspects, Garcia et al., 2006
  • 25. Aspects and Architecture Driving and Managing Architectural Decisions with Aspects, Garcia et al., 2006
  • 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/