SlideShare a Scribd company logo
1 of 15
Aspect Oriented
 Architecture(AOA)
 Approach to
 Software Development
By Therahlee Guevara
u04a1
November 2, 2008
History of AOA
• Gregor Kiczales from Xerox PARC created the
  AOP approach to software development.

• Developers today use AOP in models for
  accounting, order fulfillment, web services, and
  general programming applications.
AOA Overview
• The AOA process is an effective agile
  development method, which involves the
  breaking down of functional components into
  parts of the software architecture.
AOA Tools
Technologies used to address concerns include:

•   AspectJ
•   Join Point
•   Advice
•   Pointcut
AOA Case Study

•   Capella online learning system
•   Increase workflow processes
•   Efficient distribution of information
•   Provide positive customer experience
Scope and Requirements
• AOA can be applied to the Capella enterprise
  during the design and development phase of
  enterprise project life cycles.

• AOA tools will be used encapsulate aspects of
  component mechanisms, in order to identify
  areas of concern and integrate into new
  architecture.
AOA Life Cycle Effects
Benefits
• The benefit of using the AOA method is most
  cost-effective compared to the total cost of
  maintenance post project.
• IBM explains, “AOP is designed to handle cross-
  cutting concerns by providing a mechanism, the
  aspect, for expressing these concerns and
  automatically incorporating them into a system”
  (IBM.com, 2008).
Risks
Potential risks that can be mitigated to support
 enterprise architecture processes.

• Lack of tools support
• Maintenance
• Changes to Aspects
Quality
• The AOA architecture model can enhance the
  enterprise case study through providing
  benchmarks for addressing key concerns.

• Defining metrics and AOA evaluations of
  enterprise performance, marketability, and
  growth to ensure share holder value.
AOA Process
• AOA methods change functional requirements
  and weave process indicators to better
  understand software architecture.

• According to a Gorton, “AOP has demonstrated a
  great deal of promise in reducing software
  complexity through providing clear separation
  and modularization of Concerns”(Gorton, 2006).
AOA Advantages

• Allows for effective review of programming
  mechanism.

• Better understanding of project crosscutting
  concerns.

• Shorter project completion, reuse and
  scalability.
AOA Disadvantages
• Modifications-Development inconsistencies in language,
  and tools used in the creation of aspects. O’Regan
  explains, “Modification to the language increases the
  learning curve for teams looking to introduce AOP into
  existing projects” (O’Regan, 2004).

• Performance- Improvement is needed with the use of
  various applications with AOA tools.

• Integration-Reuse of aspects limited to specific AOP
  mechanisms.
Concluding
       In conclusion the AOA development process
could prove beneficial in software development.
Developers are able to communicate requirements,
and understand concern mitigation needed during
the development life cycle. Advantages of AOA
enables team members to approach agile
development through tailoring projects for future
implementations.
References
Gorton, I. (2006). Essential Software architecture. New York; Springer.

IBM.com (2008). A Look at Aspect oriented Programming. Retrieved
November 2, 2008 from
http://www.ibm.com/developerworks/rational/library/2782.html

O’Regan, G (2004). O’Reilly Media: Introduction to Aspect Oriented
Programming. Retrieved November 2, 2008 from
http://www.onjava.com/pub/a/onjava/2004/01/14/aop.html

Manzalawy, Y. (n.d.) Developer.com:Aspect oriented Programming.
Retrieved November 3, 2008 from
http://www.developer.com/design/article.php/3308941

More Related Content

What's hot

Agile Development | Agile Process Models
Agile Development | Agile Process ModelsAgile Development | Agile Process Models
Agile Development | Agile Process ModelsAhsan Rahim
 
Project Planning in Software Engineering
Project Planning in Software EngineeringProject Planning in Software Engineering
Project Planning in Software EngineeringFáber D. Giraldo
 
Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9koolkampus
 
SRS(software requirement specification)
SRS(software requirement specification)SRS(software requirement specification)
SRS(software requirement specification)Akash Kumar Dhameja
 
Architectural structures and views
Architectural structures and viewsArchitectural structures and views
Architectural structures and viewsDr Reeja S R
 
Object oriented-systems-development-life-cycle ppt
Object oriented-systems-development-life-cycle pptObject oriented-systems-development-life-cycle ppt
Object oriented-systems-development-life-cycle pptKunal Kishor Nirala
 
Unified process model
Unified process modelUnified process model
Unified process modelRyndaMaala
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality AssuranceSachithra Gayan
 
Unified process,agile process,process assesment ppt
Unified process,agile process,process assesment pptUnified process,agile process,process assesment ppt
Unified process,agile process,process assesment pptShweta Ghate
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process ModelsAtul Karmyal
 

What's hot (20)

Agile Development | Agile Process Models
Agile Development | Agile Process ModelsAgile Development | Agile Process Models
Agile Development | Agile Process Models
 
Project Planning in Software Engineering
Project Planning in Software EngineeringProject Planning in Software Engineering
Project Planning in Software Engineering
 
Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9
 
SRS(software requirement specification)
SRS(software requirement specification)SRS(software requirement specification)
SRS(software requirement specification)
 
Software Quality Metrics
Software Quality MetricsSoftware Quality Metrics
Software Quality Metrics
 
Architectural structures and views
Architectural structures and viewsArchitectural structures and views
Architectural structures and views
 
Object oriented-systems-development-life-cycle ppt
Object oriented-systems-development-life-cycle pptObject oriented-systems-development-life-cycle ppt
Object oriented-systems-development-life-cycle ppt
 
Software quality management lecture notes
Software quality management lecture notesSoftware quality management lecture notes
Software quality management lecture notes
 
Unified process model
Unified process modelUnified process model
Unified process model
 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
 
Domain object model
Domain object modelDomain object model
Domain object model
 
Types of testing
Types of testingTypes of testing
Types of testing
 
Chapter 2 software process models
Chapter 2   software process modelsChapter 2   software process models
Chapter 2 software process models
 
Software design
Software designSoftware design
Software design
 
Introduction to UML
Introduction to UMLIntroduction to UML
Introduction to UML
 
Software Development Process
Software Development ProcessSoftware Development Process
Software Development Process
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
 
Behavioural modelling
Behavioural modellingBehavioural modelling
Behavioural modelling
 
Unified process,agile process,process assesment ppt
Unified process,agile process,process assesment pptUnified process,agile process,process assesment ppt
Unified process,agile process,process assesment ppt
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 

Viewers also liked

Aspect Oriented Programming
Aspect Oriented ProgrammingAspect Oriented Programming
Aspect Oriented ProgrammingAnumod Kumar
 
Aspect Oriented Software Development
Aspect Oriented Software DevelopmentAspect Oriented Software Development
Aspect Oriented Software DevelopmentJignesh Patel
 
Aspect oriented software development
Aspect oriented software developmentAspect oriented software development
Aspect oriented software developmentMaryam Malekzad
 
Bab 2 proses pembangunan perangkat lunak
Bab 2   proses pembangunan perangkat lunakBab 2   proses pembangunan perangkat lunak
Bab 2 proses pembangunan perangkat lunaksahrul salam
 
Aspect-Oriented Programming
Aspect-Oriented ProgrammingAspect-Oriented Programming
Aspect-Oriented ProgrammingAndrey Bratukhin
 
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 ProgrammingRodger Oates
 
Aspect Oriented Software Development
Aspect Oriented Software DevelopmentAspect Oriented Software Development
Aspect Oriented Software DevelopmentOtavio Ferreira
 
Ch21-Software Engineering 9
Ch21-Software Engineering 9Ch21-Software Engineering 9
Ch21-Software Engineering 9Ian Sommerville
 
Agile Software Development Overview
Agile Software Development OverviewAgile Software Development Overview
Agile Software Development OverviewStewart Rogers
 

Viewers also liked (11)

Aspect Oriented Programming
Aspect Oriented ProgrammingAspect Oriented Programming
Aspect Oriented Programming
 
Aspect Oriented Software Development
Aspect Oriented Software DevelopmentAspect Oriented Software Development
Aspect Oriented Software Development
 
Aspect oriented software development
Aspect oriented software developmentAspect oriented software development
Aspect oriented software development
 
Bab 2 proses pembangunan perangkat lunak
Bab 2   proses pembangunan perangkat lunakBab 2   proses pembangunan perangkat lunak
Bab 2 proses pembangunan perangkat lunak
 
Aspect-Oriented Programming
Aspect-Oriented ProgrammingAspect-Oriented Programming
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
 
Aspect Oriented Software Development
Aspect Oriented Software DevelopmentAspect Oriented Software Development
Aspect Oriented Software Development
 
Ch21-Software Engineering 9
Ch21-Software Engineering 9Ch21-Software Engineering 9
Ch21-Software Engineering 9
 
Principle of architecture
Principle of architecturePrinciple of architecture
Principle of architecture
 
Agile Software Development Overview
Agile Software Development OverviewAgile Software Development Overview
Agile Software Development Overview
 

Similar to Aspect oriented architecture

International Journal of Engineering and Science Invention (IJESI)
International Journal of Engineering and Science Invention (IJESI)International Journal of Engineering and Science Invention (IJESI)
International Journal of Engineering and Science Invention (IJESI)inventionjournals
 
IRJET- How Artificial Intelligence Accelerates Software Development
IRJET- How Artificial Intelligence Accelerates Software DevelopmentIRJET- How Artificial Intelligence Accelerates Software Development
IRJET- How Artificial Intelligence Accelerates Software DevelopmentIRJET Journal
 
Trouble with Performance Debugging? Not Anymore with Choreo, the AI-Assisted ...
Trouble with Performance Debugging? Not Anymore with Choreo, the AI-Assisted ...Trouble with Performance Debugging? Not Anymore with Choreo, the AI-Assisted ...
Trouble with Performance Debugging? Not Anymore with Choreo, the AI-Assisted ...WSO2
 
Lect5 improving software economics
Lect5 improving software economicsLect5 improving software economics
Lect5 improving software economicsmeena466141
 
Pm soln9416141129710
Pm soln9416141129710Pm soln9416141129710
Pm soln9416141129710Nikhil Todkar
 
Integrated Analysis of Traditional Requirements Engineering Process with Agil...
Integrated Analysis of Traditional Requirements Engineering Process with Agil...Integrated Analysis of Traditional Requirements Engineering Process with Agil...
Integrated Analysis of Traditional Requirements Engineering Process with Agil...zillesubhan
 
Rational Unified Process
Rational Unified ProcessRational Unified Process
Rational Unified ProcessOmkar Dash
 
Exploring the Efficiency of the Program using OOAD Metrics
Exploring the Efficiency of the Program using OOAD MetricsExploring the Efficiency of the Program using OOAD Metrics
Exploring the Efficiency of the Program using OOAD MetricsIRJET Journal
 
Lect4 software economics
Lect4 software economicsLect4 software economics
Lect4 software economicsmeena466141
 
Software Development Methodologies.pptx
Software Development Methodologies.pptxSoftware Development Methodologies.pptx
Software Development Methodologies.pptxMohamedElshaikh10
 
IRJET- Code Reuse & Reusability of the Software
IRJET- Code Reuse & Reusability of the SoftwareIRJET- Code Reuse & Reusability of the Software
IRJET- Code Reuse & Reusability of the SoftwareIRJET Journal
 
Requirements Engineering in an Agile Environment
Requirements Engineering in an Agile EnvironmentRequirements Engineering in an Agile Environment
Requirements Engineering in an Agile Environmentsunil1993
 
Agile methodology in cloud computing
Agile methodology in cloud computingAgile methodology in cloud computing
Agile methodology in cloud computingAhmed M. Abed
 
What is Rational CLM?
What is Rational CLM?What is Rational CLM?
What is Rational CLM?IBM Danmark
 
Appendix A: Introduction to Collaborative Lifecycle Management
Appendix A: Introduction to Collaborative Lifecycle ManagementAppendix A: Introduction to Collaborative Lifecycle Management
Appendix A: Introduction to Collaborative Lifecycle ManagementIBM Rational software
 

Similar to Aspect oriented architecture (20)

International Journal of Engineering and Science Invention (IJESI)
International Journal of Engineering and Science Invention (IJESI)International Journal of Engineering and Science Invention (IJESI)
International Journal of Engineering and Science Invention (IJESI)
 
IRJET- How Artificial Intelligence Accelerates Software Development
IRJET- How Artificial Intelligence Accelerates Software DevelopmentIRJET- How Artificial Intelligence Accelerates Software Development
IRJET- How Artificial Intelligence Accelerates Software Development
 
Trouble with Performance Debugging? Not Anymore with Choreo, the AI-Assisted ...
Trouble with Performance Debugging? Not Anymore with Choreo, the AI-Assisted ...Trouble with Performance Debugging? Not Anymore with Choreo, the AI-Assisted ...
Trouble with Performance Debugging? Not Anymore with Choreo, the AI-Assisted ...
 
1
11
1
 
Lect5 improving software economics
Lect5 improving software economicsLect5 improving software economics
Lect5 improving software economics
 
Extreme Programming ppt
Extreme Programming pptExtreme Programming ppt
Extreme Programming ppt
 
Pm soln9416141129710
Pm soln9416141129710Pm soln9416141129710
Pm soln9416141129710
 
Zen Of Oracle Erp
Zen Of Oracle ErpZen Of Oracle Erp
Zen Of Oracle Erp
 
Software Development
Software DevelopmentSoftware Development
Software Development
 
Integrated Analysis of Traditional Requirements Engineering Process with Agil...
Integrated Analysis of Traditional Requirements Engineering Process with Agil...Integrated Analysis of Traditional Requirements Engineering Process with Agil...
Integrated Analysis of Traditional Requirements Engineering Process with Agil...
 
M017548895
M017548895M017548895
M017548895
 
Rational Unified Process
Rational Unified ProcessRational Unified Process
Rational Unified Process
 
Exploring the Efficiency of the Program using OOAD Metrics
Exploring the Efficiency of the Program using OOAD MetricsExploring the Efficiency of the Program using OOAD Metrics
Exploring the Efficiency of the Program using OOAD Metrics
 
Lect4 software economics
Lect4 software economicsLect4 software economics
Lect4 software economics
 
Software Development Methodologies.pptx
Software Development Methodologies.pptxSoftware Development Methodologies.pptx
Software Development Methodologies.pptx
 
IRJET- Code Reuse & Reusability of the Software
IRJET- Code Reuse & Reusability of the SoftwareIRJET- Code Reuse & Reusability of the Software
IRJET- Code Reuse & Reusability of the Software
 
Requirements Engineering in an Agile Environment
Requirements Engineering in an Agile EnvironmentRequirements Engineering in an Agile Environment
Requirements Engineering in an Agile Environment
 
Agile methodology in cloud computing
Agile methodology in cloud computingAgile methodology in cloud computing
Agile methodology in cloud computing
 
What is Rational CLM?
What is Rational CLM?What is Rational CLM?
What is Rational CLM?
 
Appendix A: Introduction to Collaborative Lifecycle Management
Appendix A: Introduction to Collaborative Lifecycle ManagementAppendix A: Introduction to Collaborative Lifecycle Management
Appendix A: Introduction to Collaborative Lifecycle Management
 

Aspect oriented architecture

  • 1. Aspect Oriented Architecture(AOA) Approach to Software Development By Therahlee Guevara u04a1 November 2, 2008
  • 2. History of AOA • Gregor Kiczales from Xerox PARC created the AOP approach to software development. • Developers today use AOP in models for accounting, order fulfillment, web services, and general programming applications.
  • 3. AOA Overview • The AOA process is an effective agile development method, which involves the breaking down of functional components into parts of the software architecture.
  • 4. AOA Tools Technologies used to address concerns include: • AspectJ • Join Point • Advice • Pointcut
  • 5. AOA Case Study • Capella online learning system • Increase workflow processes • Efficient distribution of information • Provide positive customer experience
  • 6. Scope and Requirements • AOA can be applied to the Capella enterprise during the design and development phase of enterprise project life cycles. • AOA tools will be used encapsulate aspects of component mechanisms, in order to identify areas of concern and integrate into new architecture.
  • 7. AOA Life Cycle Effects
  • 8. Benefits • The benefit of using the AOA method is most cost-effective compared to the total cost of maintenance post project. • IBM explains, “AOP is designed to handle cross- cutting concerns by providing a mechanism, the aspect, for expressing these concerns and automatically incorporating them into a system” (IBM.com, 2008).
  • 9. Risks Potential risks that can be mitigated to support enterprise architecture processes. • Lack of tools support • Maintenance • Changes to Aspects
  • 10. Quality • The AOA architecture model can enhance the enterprise case study through providing benchmarks for addressing key concerns. • Defining metrics and AOA evaluations of enterprise performance, marketability, and growth to ensure share holder value.
  • 11. AOA Process • AOA methods change functional requirements and weave process indicators to better understand software architecture. • According to a Gorton, “AOP has demonstrated a great deal of promise in reducing software complexity through providing clear separation and modularization of Concerns”(Gorton, 2006).
  • 12. AOA Advantages • Allows for effective review of programming mechanism. • Better understanding of project crosscutting concerns. • Shorter project completion, reuse and scalability.
  • 13. AOA Disadvantages • Modifications-Development inconsistencies in language, and tools used in the creation of aspects. O’Regan explains, “Modification to the language increases the learning curve for teams looking to introduce AOP into existing projects” (O’Regan, 2004). • Performance- Improvement is needed with the use of various applications with AOA tools. • Integration-Reuse of aspects limited to specific AOP mechanisms.
  • 14. Concluding In conclusion the AOA development process could prove beneficial in software development. Developers are able to communicate requirements, and understand concern mitigation needed during the development life cycle. Advantages of AOA enables team members to approach agile development through tailoring projects for future implementations.
  • 15. References Gorton, I. (2006). Essential Software architecture. New York; Springer. IBM.com (2008). A Look at Aspect oriented Programming. Retrieved November 2, 2008 from http://www.ibm.com/developerworks/rational/library/2782.html O’Regan, G (2004). O’Reilly Media: Introduction to Aspect Oriented Programming. Retrieved November 2, 2008 from http://www.onjava.com/pub/a/onjava/2004/01/14/aop.html Manzalawy, Y. (n.d.) Developer.com:Aspect oriented Programming. Retrieved November 3, 2008 from http://www.developer.com/design/article.php/3308941

Editor's Notes

  1. Aspect oriented architecture helps to identify key concerns in the area of software development. The Aspect approach involved breaking down parts of functional components into parts in order to identify areas of concern in software architecture.
  2. Manzalawy writer for Developer.com explains, “AOP is a new technology for separating crosscutting concerns into single units called aspects” (Developer.com, 2008). AspectJ-AOA technology used for class expressions, and description in the development environment Join Point-connects concerns to aspects Advice-described as behavior Pointcut- validates advice according join point.
  3. The Capella online learning system is used in a case study to illustrate how aspect oriented architecture could provide for Increase productivity Efficiency Competitive advantage Positive user experiences
  4. The scope and project requirements will include functional and non-functional requirements that will helped to provide a smooth and efficient system for customers. The AOA method will help to encapsulate aspects of the software architecture that will help to identify areas of concern, risks, and strategies to make changes to the requirements specifications in this case study.
  5. The benefits of using the AOA method in this case study will prove the most cost effective available during the design, development and testing phase of project life cycle. The use of AOA will help in reduced cost in testing, validation and maintenance.
  6. Potential risks of AOA is the limited availability of tools used for build, debugging, and maintenance. This risk will be mitigated through the capturing of project requirements and specifications prior to the design phase of the project life cycle. Changes can be made in the design phase prior to development in order to capture Aspects and appropriate bahaviors in the AOA modeling process.
  7. Quality processes can be greatly enhance through the use of AOA aspect components which enable projects like the Capella case study to ensure functionality, performance, scalability, and security of enterprise aspects in the development process. Quality initiative will create shareholder value for enterprise operations and future development projects. The AOA model will greatly influence quality in the design and development process of software architecture.
  8. The AOA process involved changes that can be made to address key concern areas I order to meet functional and non-functional requirements. There is a great deal of complexity in the various aspects of software architecture and in the build of a learning system that would allow for the AOA to provide modularization, and project organization in addressing key issues. It is important for the development team to understand and produce processes that are in line with software engineering practices to meet performance measures.
  9. Advantages of the AOA method include improved processes for review and identification of programming mechanisms. Beneficial for understanding software bottlenecks and crosscutting concerns. Provides for reuse of aspects on future projects. The advantages will benefit to the commitment of success on future projects.
  10. AOA disadvantages include: Developing aspects from scratch for reuse Variation of models used between developers Redevelopment of existing AOP aspects Additional research and development needed on new AOP technologies Revised performance measures for build and runtime. AOP models only provide implementation to a specific aspects limited to certain model types.