SlideShare ist ein Scribd-Unternehmen logo
1 von 13
Downloaden Sie, um offline zu lesen
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	
  

Weitere ähnliche Inhalte

Was ist angesagt?

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
 

Was ist angesagt? (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
 

Andere mochten auch

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
 

Andere mochten auch (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
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Mehr von 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
 

Mehr von 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
 

Kürzlich hochgeladen

Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
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
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
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
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
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
 

Kürzlich hochgeladen (20)

Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
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
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
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)
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
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
 

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