SlideShare a Scribd company logo
Otavio	
  Ferreira	
  (@otaviofff)	
  
Technical	
  Architect,	
  Scrum	
  Master	
  

Oct	
  2007	
  
•  AOSD	
  tag	
  cloud	
  
modularity	
  

aspect	
  
dominant	
  
decomposi@on	
  

AOSD	
  
concern	
  

core	
  concern	
  

October	
  2007	
  

AOP	
  

separa@on	
  of	
  
concerns	
  
advice	
  
join	
  point	
  

cross-­‐cuCng	
  
concerns	
  
MIH	
  SWAT	
  Team	
  	
  

point	
  cut	
  

2	
  
•  Concern	
  
–  An	
  area	
  of	
  interest	
  or	
  focus	
  in	
  a	
  system.	
  
–  The	
  primary	
  criteria	
  for	
  decomposing	
  SW	
  into	
  
smaller,	
  more	
  manageable	
  and	
  comprehensible	
  
parts.	
  
Text	
  
Picture	
  
Video	
  
Quote	
  
Link	
  
Chat	
  

Tumblelog	
  

October	
  2007	
  

MIH	
  SWAT	
  Team	
  	
  

Caching	
  
Logging	
  
Excep@on	
  Handling	
  

3	
  
•  Separa@on	
  of	
  concerns	
  
–  Based	
  on	
  the	
  Divide-­‐and-­‐Conquer	
  strategy.	
  
–  Focused	
  on	
  breaking	
  down	
  	
  
the	
  SW	
  into	
  dis@nct	
  parts	
  	
  
that	
  overlap	
  in	
  func@onality	
  	
  
as	
  liUle	
  as	
  possible.	
  

October	
  2007	
  

MIH	
  SWAT	
  Team	
  	
  

4	
  
•  Core	
  concern	
  
–  Core	
  business	
  related	
  concern.	
  
–  Domain	
  specific	
  concern.	
  
–  Func@onal	
  requirement.	
  
–  Can	
  be	
  cleanly	
  encapsulated	
  in	
  a	
  generalized	
  
procedure	
  (i.e.	
  object,	
  method,	
  procedure,	
  API).	
  

October	
  2007	
  

MIH	
  SWAT	
  Team	
  	
  

5	
  
•  Cross-­‐cuCng	
  concern	
  
–  Common	
  func@onality	
  orthogonal	
  to	
  core	
  
concern.	
  
–  Non-­‐func@onal	
  requirement.	
  
–  Can	
  NOT	
  be	
  cleanly	
  encapsulated	
  in	
  a	
  generalized	
  
procedure	
  (i.e.	
  object,	
  method,	
  procedure,	
  API).	
  

October	
  2007	
  

MIH	
  SWAT	
  Team	
  	
  

6	
  
•  Dominant	
  decomposi@on	
  
–  The	
  SW	
  can	
  be	
  modularized	
  in	
  only	
  one	
  way	
  at	
  a	
  
@me.	
  
–  Concerns	
  that	
  do	
  not	
  align	
  with	
  that	
  
modulariza@on	
  end	
  up	
  scaUered	
  across	
  many	
  
modules	
  and	
  tangled	
  with	
  one	
  another.	
  	
  

October	
  2007	
  

MIH	
  SWAT	
  Team	
  	
  

7	
  
•  ScaUering	
  and	
  tangling	
  
–  Cross-­‐cuCng	
  concerns	
  o^en	
  cannot	
  be	
  cleanly	
  
decomposed	
  from	
  the	
  rest	
  of	
  the	
  system	
  in	
  both	
  
the	
  design	
  and	
  implementa@on.	
  
Excep@on	
  Handling	
  
Logging	
  

October	
  2007	
  

MIH	
  SWAT	
  Team	
  	
  

8	
  
•  Aspect	
  (Finally!)	
  
–  A	
  part	
  of	
  a	
  program	
  that	
  cross-­‐cuts	
  its	
  core	
  
concerns,	
  therefore	
  “viola@ng”	
  its	
  separa@on	
  of	
  
concerns.	
  
Logging	
  

	
  

Excep@on	
  Handling	
  
October	
  2007	
  

MIH	
  SWAT	
  Team	
  	
  

9	
  
•  Modularity	
  
–  AOP	
  	
  is	
  an	
  advance	
  in	
  modulariza@on.	
  
–  Loosely	
  coupled	
  concerns	
  /	
  components.	
  	
  

October	
  2007	
  

MIH	
  SWAT	
  Team	
  	
  

10	
  
•  Aspect-­‐oriented	
  programming	
  
–  A	
  technique	
  used	
  to	
  support	
  the	
  programmer	
  in	
  
cleanly	
  separa@ng	
  components	
  and	
  aspects	
  from	
  
each	
  other.	
  
–  Centers	
  its	
  aUen@on	
  on	
  the	
  code	
  modulariza@on,	
  
providing	
  mechanisms	
  to	
  separate	
  cross-­‐cuCng	
  
concerns	
  at	
  code	
  level.	
  
–  Related	
  to	
  the	
  language.	
  

October	
  2007	
  

MIH	
  SWAT	
  Team	
  	
  

11	
  
•  Aspect-­‐oriented	
  so^ware	
  development	
  
–  	
  A	
  combina@on	
  of	
  mechanisms	
  and	
  
methodologies	
  that	
  facilitate	
  in	
  separa@ng	
  
concerns	
  at	
  different	
  abstrac@on	
  levels.	
  
–  Uses	
  a	
  combina@on	
  of	
  language,	
  environment,	
  
and	
  method.	
  

October	
  2007	
  

MIH	
  SWAT	
  Team	
  	
  

12	
  
•  Aspect-­‐oriented	
  applica@on	
  
–  Consists	
  of:	
  
•  Component	
  language	
  (C#,	
  Java,	
  etc.)	
  
•  Aspect-­‐oriented	
  language	
  /	
  framework	
  
•  Aspect	
  weaver	
  

October	
  2007	
  

MIH	
  SWAT	
  Team	
  	
  

13	
  

More Related Content

PPT
Introduction to Aspect Oriented Software Development
PPT
Aspect Oriented Software Development
PPT
Aspect-Oriented Software Development with Use Cases
PDF
Aspect Oriented Software Engineering
PDF
Aspect Oriented Development
PPTX
A summary of software architecture guide
PPTX
Software design principles for evolving architectures
PDF
Software Architecture by Reuse, Composition and Customization
Introduction to Aspect Oriented Software Development
Aspect Oriented Software Development
Aspect-Oriented Software Development with Use Cases
Aspect Oriented Software Engineering
Aspect Oriented Development
A summary of software architecture guide
Software design principles for evolving architectures
Software Architecture by Reuse, Composition and Customization

What's hot (20)

PPTX
Architectural views
PPTX
Design concepts
PPTX
The 5 principles of Model Based Systems Engineering (MBSE)
PPTX
Reusibility vs Extensibility in OOAD
PPT
Software design, software engineering
PPTX
Software Architecture vs design
PDF
SE2018_Lec 18_ Design Principles and Design Patterns
PDF
10 - Architetture Software - More architectural styles
PPT
Chapter 08
PDF
[2015/2016] Software systems engineering PRINCIPLES
PDF
[2015/2016] Collaborative software development with Git
PDF
Model-Based Systems Engineering Demystified
PPTX
Software Architecture: introduction to the abstraction
PDF
2 - Architetture Software - Software architecture
PPTX
Software Engineering
PPTX
Design Concept software engineering
PPTX
Innoslate Overview
PPT
5 software design
PPTX
Architecture vs Design
Architectural views
Design concepts
The 5 principles of Model Based Systems Engineering (MBSE)
Reusibility vs Extensibility in OOAD
Software design, software engineering
Software Architecture vs design
SE2018_Lec 18_ Design Principles and Design Patterns
10 - Architetture Software - More architectural styles
Chapter 08
[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Collaborative software development with Git
Model-Based Systems Engineering Demystified
Software Architecture: introduction to the abstraction
2 - Architetture Software - Software architecture
Software Engineering
Design Concept software engineering
Innoslate Overview
5 software design
Architecture vs Design
Ad

Viewers also liked (19)

PDF
Aspect oriented software development
PPTX
Introduction to Aspect Oriented Programming
PDF
Evolutionary Problems In Aspect Oriented Software Development
PPT
Aspect Oriented Programming
PPTX
Ch21-Software Engineering 9
PPT
Aspect oriented architecture
PPTX
AspectJ Android with Example
PDF
Aspect Oriented Programming and Design
PDF
QSOUL/Aop
PDF
AOSD توسعه نرم افزار جنبه گرا
DOCX
PPTX
UML for Aspect Oriented Design
ODP
Aspect-Oriented Technologies
PPTX
Distributed Software Engineering with Client-Server Computing
KEY
Spring AOP
ODP
Aspect Mining Techniques
PPTX
Software reliability model(روش های اندازه گیری قابلیت اطمینان نرم افزار)
PPTX
Component based software engineering
PDF
Agile Software Development Overview
Aspect oriented software development
Introduction to Aspect Oriented Programming
Evolutionary Problems In Aspect Oriented Software Development
Aspect Oriented Programming
Ch21-Software Engineering 9
Aspect oriented architecture
AspectJ Android with Example
Aspect Oriented Programming and Design
QSOUL/Aop
AOSD توسعه نرم افزار جنبه گرا
UML for Aspect Oriented Design
Aspect-Oriented Technologies
Distributed Software Engineering with Client-Server Computing
Spring AOP
Aspect Mining Techniques
Software reliability model(روش های اندازه گیری قابلیت اطمینان نرم افزار)
Component based software engineering
Agile Software Development Overview
Ad

Similar to Aspect Oriented Software Development (20)

PDF
Object Oriented Design
PDF
Object Orientation Fundamentals
PPTX
Software Architecture
PPTX
Aspect Oriented Programming
PPTX
L02 Architecture
PDF
Tech challenges in a large scale agile project
PPTX
SMD Unit i
PPTX
Using Custom Macros for getting Best Results (Performance, QoS...) in Telecom...
PPT
3.1 The design concepts.ppt
PPSX
Usergroup - OutSystems Architecture.ppsx
PPTX
OutSystems Architecture by Niels Favreau
PPTX
Basic Concept of Object oriented Programming
PDF
Architecting systems for continuous delivery
DOCX
Function Oriented and Object Oriented Design,Modularization techniques
PPT
Unit IV Software Engineering
DOCX
Designing and documenting software architecture unit 5
PPT
Object Oriented Analysis and Design
PPTX
Software architecture simplified
PPT
Software design
PPTX
Object Oriented Software Enginnering-6.pptx
Object Oriented Design
Object Orientation Fundamentals
Software Architecture
Aspect Oriented Programming
L02 Architecture
Tech challenges in a large scale agile project
SMD Unit i
Using Custom Macros for getting Best Results (Performance, QoS...) in Telecom...
3.1 The design concepts.ppt
Usergroup - OutSystems Architecture.ppsx
OutSystems Architecture by Niels Favreau
Basic Concept of Object oriented Programming
Architecting systems for continuous delivery
Function Oriented and Object Oriented Design,Modularization techniques
Unit IV Software Engineering
Designing and documenting software architecture unit 5
Object Oriented Analysis and Design
Software architecture simplified
Software design
Object Oriented Software Enginnering-6.pptx

More from Otavio Ferreira (9)

PDF
Development Team Engagement + Development Process
PDF
Agile Development Process & Scrum
PDF
API Design Workshop
PDF
Agile Process Scalability
PDF
Agile Modeling
PDF
Agile Development Metrics
PDF
Agile Management Tools
PPTX
Semantic Web Services: A RESTful Approach
PPTX
Serviços Semânticos: Uma Abordagem RESTful
Development Team Engagement + Development Process
Agile Development Process & Scrum
API Design Workshop
Agile Process Scalability
Agile Modeling
Agile Development Metrics
Agile Management Tools
Semantic Web Services: A RESTful Approach
Serviços Semânticos: Uma Abordagem RESTful

Recently uploaded (20)

PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Machine learning based COVID-19 study performance prediction
PDF
Approach and Philosophy of On baking technology
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Encapsulation theory and applications.pdf
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
KodekX | Application Modernization Development
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Unlocking AI with Model Context Protocol (MCP)
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Machine learning based COVID-19 study performance prediction
Approach and Philosophy of On baking technology
The AUB Centre for AI in Media Proposal.docx
Encapsulation theory and applications.pdf
Chapter 3 Spatial Domain Image Processing.pdf
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
KodekX | Application Modernization Development
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Diabetes mellitus diagnosis method based random forest with bat algorithm
Advanced methodologies resolving dimensionality complications for autism neur...
Review of recent advances in non-invasive hemoglobin estimation
20250228 LYD VKU AI Blended-Learning.pptx
Reach Out and Touch Someone: Haptics and Empathic Computing
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Digital-Transformation-Roadmap-for-Companies.pptx
Unlocking AI with Model Context Protocol (MCP)

Aspect Oriented Software Development

  • 1. Otavio  Ferreira  (@otaviofff)   Technical  Architect,  Scrum  Master   Oct  2007  
  • 2. •  AOSD  tag  cloud   modularity   aspect   dominant   decomposi@on   AOSD   concern   core  concern   October  2007   AOP   separa@on  of   concerns   advice   join  point   cross-­‐cuCng   concerns   MIH  SWAT  Team     point  cut   2  
  • 3. •  Concern   –  An  area  of  interest  or  focus  in  a  system.   –  The  primary  criteria  for  decomposing  SW  into   smaller,  more  manageable  and  comprehensible   parts.   Text   Picture   Video   Quote   Link   Chat   Tumblelog   October  2007   MIH  SWAT  Team     Caching   Logging   Excep@on  Handling   3  
  • 4. •  Separa@on  of  concerns   –  Based  on  the  Divide-­‐and-­‐Conquer  strategy.   –  Focused  on  breaking  down     the  SW  into  dis@nct  parts     that  overlap  in  func@onality     as  liUle  as  possible.   October  2007   MIH  SWAT  Team     4  
  • 5. •  Core  concern   –  Core  business  related  concern.   –  Domain  specific  concern.   –  Func@onal  requirement.   –  Can  be  cleanly  encapsulated  in  a  generalized   procedure  (i.e.  object,  method,  procedure,  API).   October  2007   MIH  SWAT  Team     5  
  • 6. •  Cross-­‐cuCng  concern   –  Common  func@onality  orthogonal  to  core   concern.   –  Non-­‐func@onal  requirement.   –  Can  NOT  be  cleanly  encapsulated  in  a  generalized   procedure  (i.e.  object,  method,  procedure,  API).   October  2007   MIH  SWAT  Team     6  
  • 7. •  Dominant  decomposi@on   –  The  SW  can  be  modularized  in  only  one  way  at  a   @me.   –  Concerns  that  do  not  align  with  that   modulariza@on  end  up  scaUered  across  many   modules  and  tangled  with  one  another.     October  2007   MIH  SWAT  Team     7  
  • 8. •  ScaUering  and  tangling   –  Cross-­‐cuCng  concerns  o^en  cannot  be  cleanly   decomposed  from  the  rest  of  the  system  in  both   the  design  and  implementa@on.   Excep@on  Handling   Logging   October  2007   MIH  SWAT  Team     8  
  • 9. •  Aspect  (Finally!)   –  A  part  of  a  program  that  cross-­‐cuts  its  core   concerns,  therefore  “viola@ng”  its  separa@on  of   concerns.   Logging     Excep@on  Handling   October  2007   MIH  SWAT  Team     9  
  • 10. •  Modularity   –  AOP    is  an  advance  in  modulariza@on.   –  Loosely  coupled  concerns  /  components.     October  2007   MIH  SWAT  Team     10  
  • 11. •  Aspect-­‐oriented  programming   –  A  technique  used  to  support  the  programmer  in   cleanly  separa@ng  components  and  aspects  from   each  other.   –  Centers  its  aUen@on  on  the  code  modulariza@on,   providing  mechanisms  to  separate  cross-­‐cuCng   concerns  at  code  level.   –  Related  to  the  language.   October  2007   MIH  SWAT  Team     11  
  • 12. •  Aspect-­‐oriented  so^ware  development   –   A  combina@on  of  mechanisms  and   methodologies  that  facilitate  in  separa@ng   concerns  at  different  abstrac@on  levels.   –  Uses  a  combina@on  of  language,  environment,   and  method.   October  2007   MIH  SWAT  Team     12  
  • 13. •  Aspect-­‐oriented  applica@on   –  Consists  of:   •  Component  language  (C#,  Java,  etc.)   •  Aspect-­‐oriented  language  /  framework   •  Aspect  weaver   October  2007   MIH  SWAT  Team     13