SlideShare a Scribd company logo
1 of 13
Download to read offline
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

What's hot

Architectural views
Architectural viewsArchitectural views
Architectural viewsSaleem Khan
 
Design concepts
Design conceptsDesign concepts
Design conceptsJoshuaU1
 
The 5 principles of Model Based Systems Engineering (MBSE)
The 5 principles of Model Based Systems Engineering (MBSE)The 5 principles of Model Based Systems Engineering (MBSE)
The 5 principles of Model Based Systems Engineering (MBSE)James Towers
 
Reusibility vs Extensibility in OOAD
Reusibility vs Extensibility in OOADReusibility vs Extensibility in OOAD
Reusibility vs Extensibility in OOADShivani Kapoor
 
Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineeringRupesh Vaishnav
 
Software Architecture vs design
Software Architecture vs design Software Architecture vs design
Software Architecture vs design Arslan Anwar
 
SE2018_Lec 18_ Design Principles and Design Patterns
SE2018_Lec 18_ Design Principles and Design PatternsSE2018_Lec 18_ Design Principles and Design Patterns
SE2018_Lec 18_ Design Principles and Design PatternsAmr E. Mohamed
 
10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural stylesMajong DevJfu
 
Chapter 08
Chapter 08Chapter 08
Chapter 08guru3188
 
[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLESIvano Malavolta
 
[2015/2016] Collaborative software development with Git
[2015/2016] Collaborative software development with Git[2015/2016] Collaborative software development with Git
[2015/2016] Collaborative software development with GitIvano Malavolta
 
Model-Based Systems Engineering Demystified
Model-Based Systems Engineering DemystifiedModel-Based Systems Engineering Demystified
Model-Based Systems Engineering DemystifiedElizabeth Steiner
 
Software Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionSoftware Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionHenry Muccini
 
2 - Architetture Software - Software architecture
2 - Architetture Software - Software architecture2 - Architetture Software - Software architecture
2 - Architetture Software - Software architectureMajong DevJfu
 
Software Engineering
Software Engineering Software Engineering
Software Engineering JayaKamal
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineeringDarshit Metaliya
 
Architecture vs Design
Architecture vs DesignArchitecture vs Design
Architecture vs DesignLuc Trudeau
 

What's hot (20)

Architectural views
Architectural viewsArchitectural views
Architectural views
 
Design concepts
Design conceptsDesign concepts
Design concepts
 
The 5 principles of Model Based Systems Engineering (MBSE)
The 5 principles of Model Based Systems Engineering (MBSE)The 5 principles of Model Based Systems Engineering (MBSE)
The 5 principles of Model Based Systems Engineering (MBSE)
 
Reusibility vs Extensibility in OOAD
Reusibility vs Extensibility in OOADReusibility vs Extensibility in OOAD
Reusibility vs Extensibility in OOAD
 
Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineering
 
Software Architecture vs design
Software Architecture vs design Software Architecture vs design
Software Architecture vs design
 
SE2018_Lec 18_ Design Principles and Design Patterns
SE2018_Lec 18_ Design Principles and Design PatternsSE2018_Lec 18_ Design Principles and Design Patterns
SE2018_Lec 18_ Design Principles and Design Patterns
 
10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles
 
Chapter 08
Chapter 08Chapter 08
Chapter 08
 
[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES
 
[2015/2016] Collaborative software development with Git
[2015/2016] Collaborative software development with Git[2015/2016] Collaborative software development with Git
[2015/2016] Collaborative software development with Git
 
Model-Based Systems Engineering Demystified
Model-Based Systems Engineering DemystifiedModel-Based Systems Engineering Demystified
Model-Based Systems Engineering Demystified
 
Software Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionSoftware Architecture: introduction to the abstraction
Software Architecture: introduction to the abstraction
 
2 - Architetture Software - Software architecture
2 - Architetture Software - Software architecture2 - Architetture Software - Software architecture
2 - Architetture Software - Software architecture
 
Software Engineering
Software Engineering Software Engineering
Software Engineering
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineering
 
Innoslate Overview
Innoslate OverviewInnoslate Overview
Innoslate Overview
 
Reusability
ReusabilityReusability
Reusability
 
5 software design
5 software design5 software design
5 software design
 
Architecture vs Design
Architecture vs DesignArchitecture vs Design
Architecture vs Design
 

Viewers also liked

Aspect oriented software development
Aspect oriented software developmentAspect oriented software development
Aspect oriented software developmentMaryam Malekzad
 
Introduction to Aspect Oriented Programming
Introduction to Aspect Oriented ProgrammingIntroduction to Aspect Oriented Programming
Introduction to Aspect Oriented ProgrammingYan Cui
 
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 Programming
Aspect Oriented ProgrammingAspect Oriented Programming
Aspect Oriented ProgrammingAnumod Kumar
 
Ch21-Software Engineering 9
Ch21-Software Engineering 9Ch21-Software Engineering 9
Ch21-Software Engineering 9Ian Sommerville
 
Aspect oriented architecture
Aspect oriented architecture Aspect oriented architecture
Aspect oriented architecture tigneb
 
AspectJ Android with Example
AspectJ Android with ExampleAspectJ Android with Example
AspectJ Android with Examplefirstthumb
 
Aspect Oriented Programming and Design
Aspect Oriented Programming and DesignAspect Oriented Programming and Design
Aspect Oriented Programming and DesignManikanda kumar
 
QSOUL/Aop
QSOUL/AopQSOUL/Aop
QSOUL/AopESUG
 
AOSD توسعه نرم افزار جنبه گرا
AOSD توسعه نرم افزار جنبه گراAOSD توسعه نرم افزار جنبه گرا
AOSD توسعه نرم افزار جنبه گراOmid Rajabi
 
UML for Aspect Oriented Design
UML for Aspect Oriented DesignUML for Aspect Oriented Design
UML for Aspect Oriented DesignEdison Lascano
 
Aspect-Oriented Technologies
Aspect-Oriented TechnologiesAspect-Oriented Technologies
Aspect-Oriented TechnologiesEsteban Abait
 
Distributed Software Engineering with Client-Server Computing
Distributed Software Engineering with Client-Server ComputingDistributed Software Engineering with Client-Server Computing
Distributed Software Engineering with Client-Server ComputingHaseeb Rehman
 
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
 
Agile Software Development Overview
Agile Software Development OverviewAgile Software Development Overview
Agile Software Development OverviewStewart Rogers
 

Viewers also liked (19)

Aspect oriented software development
Aspect oriented software developmentAspect oriented software development
Aspect oriented software development
 
Introduction to Aspect Oriented Programming
Introduction to Aspect Oriented ProgrammingIntroduction to Aspect Oriented Programming
Introduction to Aspect Oriented Programming
 
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 Programming
Aspect Oriented ProgrammingAspect Oriented Programming
Aspect Oriented Programming
 
Ch21-Software Engineering 9
Ch21-Software Engineering 9Ch21-Software Engineering 9
Ch21-Software Engineering 9
 
Aspect oriented architecture
Aspect oriented architecture Aspect oriented architecture
Aspect oriented architecture
 
AspectJ Android with Example
AspectJ Android with ExampleAspectJ Android with Example
AspectJ Android with Example
 
Aspect Oriented Programming and Design
Aspect Oriented Programming and DesignAspect Oriented Programming and Design
Aspect Oriented Programming and Design
 
QSOUL/Aop
QSOUL/AopQSOUL/Aop
QSOUL/Aop
 
AOSD توسعه نرم افزار جنبه گرا
AOSD توسعه نرم افزار جنبه گراAOSD توسعه نرم افزار جنبه گرا
AOSD توسعه نرم افزار جنبه گرا
 
Scrum doc
Scrum docScrum doc
Scrum doc
 
UML for Aspect Oriented Design
UML for Aspect Oriented DesignUML for Aspect Oriented Design
UML for Aspect Oriented Design
 
Aspect-Oriented Technologies
Aspect-Oriented TechnologiesAspect-Oriented Technologies
Aspect-Oriented Technologies
 
Distributed Software Engineering with Client-Server Computing
Distributed Software Engineering with Client-Server ComputingDistributed Software Engineering with Client-Server Computing
Distributed Software Engineering with Client-Server Computing
 
Spring AOP
Spring AOPSpring AOP
Spring AOP
 
Aspect Mining Techniques
Aspect Mining TechniquesAspect Mining Techniques
Aspect Mining Techniques
 
Software reliability model(روش های اندازه گیری قابلیت اطمینان نرم افزار)
Software reliability model(روش های اندازه گیری قابلیت اطمینان نرم افزار)Software reliability model(روش های اندازه گیری قابلیت اطمینان نرم افزار)
Software reliability model(روش های اندازه گیری قابلیت اطمینان نرم افزار)
 
Component based software engineering
Component based software engineeringComponent based software engineering
Component based software engineering
 
Agile Software Development Overview
Agile Software Development OverviewAgile Software Development Overview
Agile Software Development Overview
 

Similar to Aspect Oriented Software Development

Object Orientation Fundamentals
Object Orientation FundamentalsObject Orientation Fundamentals
Object Orientation FundamentalsPramod Parajuli
 
Software Architecture
Software ArchitectureSoftware Architecture
Software ArchitectureAhmed Misbah
 
Tech challenges in a large scale agile project
Tech challenges in a large scale agile projectTech challenges in a large scale agile project
Tech challenges in a large scale agile projectHarald Soevik
 
Using Custom Macros for getting Best Results (Performance, QoS...) in Telecom...
Using Custom Macros for getting Best Results (Performance, QoS...) in Telecom...Using Custom Macros for getting Best Results (Performance, QoS...) in Telecom...
Using Custom Macros for getting Best Results (Performance, QoS...) in Telecom...telecomhall
 
3.1 The design concepts.ppt
3.1 The design concepts.ppt3.1 The design concepts.ppt
3.1 The design concepts.pptTHARUNS44
 
Architecting systems for continuous delivery
Architecting systems for continuous deliveryArchitecting systems for continuous delivery
Architecting systems for continuous deliveryMarcel de Vries
 
Function Oriented and Object Oriented Design,Modularization techniques
Function Oriented and Object Oriented Design,Modularization techniquesFunction Oriented and Object Oriented Design,Modularization techniques
Function Oriented and Object Oriented Design,Modularization techniquesnimmik4u
 
Unit IV Software Engineering
Unit IV Software EngineeringUnit IV Software Engineering
Unit IV Software EngineeringNandhini S
 
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
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and DesignDr. C.V. Suresh Babu
 
Software architecture simplified
Software architecture simplifiedSoftware architecture simplified
Software architecture simplifiedPrasad Chitta
 
API-driven Legacy Migration: Results from Project Winterfell
API-driven Legacy Migration: Results from Project WinterfellAPI-driven Legacy Migration: Results from Project Winterfell
API-driven Legacy Migration: Results from Project WinterfellKeith McFarlane
 
2013 Perforce Collaboration Tour - MathWorks
2013 Perforce Collaboration Tour - MathWorks2013 Perforce Collaboration Tour - MathWorks
2013 Perforce Collaboration Tour - MathWorksPerforce
 
SAD REPORTING GROUP 2BCFGGGGHHHJJJJ.pptx
SAD REPORTING GROUP 2BCFGGGGHHHJJJJ.pptxSAD REPORTING GROUP 2BCFGGGGHHHJJJJ.pptx
SAD REPORTING GROUP 2BCFGGGGHHHJJJJ.pptxJakeariesMacarayo
 

Similar to Aspect Oriented Software Development (20)

Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented Design
 
Object Orientation Fundamentals
Object Orientation FundamentalsObject Orientation Fundamentals
Object Orientation Fundamentals
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 
Aspect Oriented Programming
Aspect Oriented ProgrammingAspect Oriented Programming
Aspect Oriented Programming
 
L02 Architecture
L02 ArchitectureL02 Architecture
L02 Architecture
 
Tech challenges in a large scale agile project
Tech challenges in a large scale agile projectTech challenges in a large scale agile project
Tech challenges in a large scale agile project
 
SMD Unit i
SMD Unit iSMD Unit i
SMD Unit i
 
Using Custom Macros for getting Best Results (Performance, QoS...) in Telecom...
Using Custom Macros for getting Best Results (Performance, QoS...) in Telecom...Using Custom Macros for getting Best Results (Performance, QoS...) in Telecom...
Using Custom Macros for getting Best Results (Performance, QoS...) in Telecom...
 
3.1 The design concepts.ppt
3.1 The design concepts.ppt3.1 The design concepts.ppt
3.1 The design concepts.ppt
 
Architecting systems for continuous delivery
Architecting systems for continuous deliveryArchitecting systems for continuous delivery
Architecting systems for continuous delivery
 
Function Oriented and Object Oriented Design,Modularization techniques
Function Oriented and Object Oriented Design,Modularization techniquesFunction Oriented and Object Oriented Design,Modularization techniques
Function Oriented and Object Oriented Design,Modularization techniques
 
Unit IV Software Engineering
Unit IV Software EngineeringUnit IV Software Engineering
Unit IV Software Engineering
 
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
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and Design
 
Software architecture simplified
Software architecture simplifiedSoftware architecture simplified
Software architecture simplified
 
Software design
Software designSoftware design
Software design
 
Clean sw 3_architecture
Clean sw 3_architectureClean sw 3_architecture
Clean sw 3_architecture
 
API-driven Legacy Migration: Results from Project Winterfell
API-driven Legacy Migration: Results from Project WinterfellAPI-driven Legacy Migration: Results from Project Winterfell
API-driven Legacy Migration: Results from Project Winterfell
 
2013 Perforce Collaboration Tour - MathWorks
2013 Perforce Collaboration Tour - MathWorks2013 Perforce Collaboration Tour - MathWorks
2013 Perforce Collaboration Tour - MathWorks
 
SAD REPORTING GROUP 2BCFGGGGHHHJJJJ.pptx
SAD REPORTING GROUP 2BCFGGGGHHHJJJJ.pptxSAD REPORTING GROUP 2BCFGGGGHHHJJJJ.pptx
SAD REPORTING GROUP 2BCFGGGGHHHJJJJ.pptx
 

More from Otavio Ferreira

Development Team Engagement + Development Process
Development Team Engagement + Development ProcessDevelopment Team Engagement + Development Process
Development Team Engagement + Development ProcessOtavio Ferreira
 
Agile Development Process & Scrum
Agile Development Process & ScrumAgile Development Process & Scrum
Agile Development Process & ScrumOtavio Ferreira
 
Agile Process Scalability
Agile Process ScalabilityAgile Process Scalability
Agile Process ScalabilityOtavio Ferreira
 
Agile Development Metrics
Agile Development MetricsAgile Development Metrics
Agile Development MetricsOtavio Ferreira
 
Semantic Web Services: A RESTful Approach
Semantic Web Services: A RESTful ApproachSemantic Web Services: A RESTful Approach
Semantic Web Services: A RESTful ApproachOtavio Ferreira
 
Serviços Semânticos: Uma Abordagem RESTful
Serviços Semânticos: Uma Abordagem RESTfulServiços Semânticos: Uma Abordagem RESTful
Serviços Semânticos: Uma Abordagem RESTfulOtavio Ferreira
 

More from Otavio Ferreira (9)

Development Team Engagement + Development Process
Development Team Engagement + Development ProcessDevelopment Team Engagement + Development Process
Development Team Engagement + Development Process
 
Agile Development Process & Scrum
Agile Development Process & ScrumAgile Development Process & Scrum
Agile Development Process & Scrum
 
API Design Workshop
API Design WorkshopAPI Design Workshop
API Design Workshop
 
Agile Process Scalability
Agile Process ScalabilityAgile Process Scalability
Agile Process Scalability
 
Agile Modeling
Agile ModelingAgile Modeling
Agile Modeling
 
Agile Development Metrics
Agile Development MetricsAgile Development Metrics
Agile Development Metrics
 
Agile Management Tools
Agile Management ToolsAgile Management Tools
Agile Management Tools
 
Semantic Web Services: A RESTful Approach
Semantic Web Services: A RESTful ApproachSemantic Web Services: A RESTful Approach
Semantic Web Services: A RESTful Approach
 
Serviços Semânticos: Uma Abordagem RESTful
Serviços Semânticos: Uma Abordagem RESTfulServiços Semânticos: Uma Abordagem RESTful
Serviços Semânticos: Uma Abordagem RESTful
 

Recently uploaded

Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 

Recently uploaded (20)

Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 

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