SlideShare a Scribd company logo
6
Most read
7
Most read
13
Most read
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

PPTX
UML for Aspect Oriented Design
PPT
Critical System Validation in Software Engineering SE21
PPT
Software cost estimation
PPTX
Software Development Life Cycle-SDLC
PPTX
Software Maintenance
PDF
Software Process Models
PDF
Project control and process instrumentation
PPSX
Cocomo model
UML for Aspect Oriented Design
Critical System Validation in Software Engineering SE21
Software cost estimation
Software Development Life Cycle-SDLC
Software Maintenance
Software Process Models
Project control and process instrumentation
Cocomo model

What's hot (20)

PPTX
Model driven architecture
PPT
Software architecture design ppt
PPTX
List of Software Development Model and Methods
PPTX
Comparing Software Quality Assurance Techniques And Activities
PPTX
Software Process Models
PPT
Software Project Management( lecture 1)
PPTX
software process improvement
PPTX
Architecture business cycle
PDF
Testing methodology
PPT
Software Development Life Cycle (SDLC)
PPT
Chapter 15 software product metrics
PPTX
Software cost estimation techniques presentation
PPTX
Cocomo model
PPTX
Design concept -Software Engineering
PPT
interaction norman model in Human Computer Interaction(HCI)
PPT
Architecture design in software engineering
PPT
CASE tools and their effects on software quality
PPTX
Software Architecture Styles
PPT
The Software Development Process
DOCX
Notes of Software engineering and Project Management
Model driven architecture
Software architecture design ppt
List of Software Development Model and Methods
Comparing Software Quality Assurance Techniques And Activities
Software Process Models
Software Project Management( lecture 1)
software process improvement
Architecture business cycle
Testing methodology
Software Development Life Cycle (SDLC)
Chapter 15 software product metrics
Software cost estimation techniques presentation
Cocomo model
Design concept -Software Engineering
interaction norman model in Human Computer Interaction(HCI)
Architecture design in software engineering
CASE tools and their effects on software quality
Software Architecture Styles
The Software Development Process
Notes of Software engineering and Project Management
Ad

Viewers also liked (11)

PPT
Aspect Oriented Programming
PPT
Aspect Oriented Software Development
PDF
Aspect oriented software development
PDF
Bab 2 proses pembangunan perangkat lunak
ODP
Aspect-Oriented Programming
PDF
Evolutionary Problems In Aspect Oriented Software Development
PPTX
Aspect Oriented Programming
PDF
Aspect Oriented Software Development
PPTX
Ch21-Software Engineering 9
PPT
Principle of architecture
PDF
Agile Software Development Overview
Aspect Oriented Programming
Aspect Oriented Software Development
Aspect oriented software development
Bab 2 proses pembangunan perangkat lunak
Aspect-Oriented Programming
Evolutionary Problems In Aspect Oriented Software Development
Aspect Oriented Programming
Aspect Oriented Software Development
Ch21-Software Engineering 9
Principle of architecture
Agile Software Development Overview
Ad

Similar to Aspect oriented architecture (20)

PDF
International Journal of Engineering and Science Invention (IJESI)
PPTX
282600430-Specialized-Process-Models.pptx
PDF
Introduction to on Object Oriented Technologies and the UML Method
PPTX
Project Scheduling and Tracking in Software Engineering.pptx
PDF
IRJET- How Artificial Intelligence Accelerates Software Development
PDF
Trouble with Performance Debugging? Not Anymore with Choreo, the AI-Assisted ...
PPTX
Lect5 improving software economics
PPTX
PDF
Pm soln9416141129710
PPTX
Specialised Process Models in software engineering.pptx
PDF
Zen Of Oracle Erp
PPSX
Software Development
PDF
Integrated Analysis of Traditional Requirements Engineering Process with Agil...
PDF
M017548895
PDF
DOC-20240807-WA0000-adobe-scan-2024-1.pdf
PDF
Exploring the Efficiency of the Program using OOAD Metrics
PPTX
Lect4 software economics
PPTX
Software Development Methodologies.pptx
PPTX
Introduction to Software Engg SDLC, SDLC Models
International Journal of Engineering and Science Invention (IJESI)
282600430-Specialized-Process-Models.pptx
Introduction to on Object Oriented Technologies and the UML Method
Project Scheduling and Tracking in Software Engineering.pptx
IRJET- How Artificial Intelligence Accelerates Software Development
Trouble with Performance Debugging? Not Anymore with Choreo, the AI-Assisted ...
Lect5 improving software economics
Pm soln9416141129710
Specialised Process Models in software engineering.pptx
Zen Of Oracle Erp
Software Development
Integrated Analysis of Traditional Requirements Engineering Process with Agil...
M017548895
DOC-20240807-WA0000-adobe-scan-2024-1.pdf
Exploring the Efficiency of the Program using OOAD Metrics
Lect4 software economics
Software Development Methodologies.pptx
Introduction to Software Engg SDLC, SDLC Models

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

  • #4: 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.
  • #5: 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.
  • #6: 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
  • #7: 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.
  • #9: 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.
  • #10: 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.
  • #11: 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.
  • #12: 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.
  • #13: 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.
  • #14: 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.