SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Was ist angesagt?

Architecture business cycle
Architecture business cycleArchitecture business cycle
Architecture business cycle
Himanshu
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and Design
Haitham El-Ghareeb
 

Was ist angesagt? (20)

Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and Design
 
Architecture business cycle
Architecture business cycleArchitecture business cycle
Architecture business cycle
 
UML Architecture and Views
UML Architecture and ViewsUML Architecture and Views
UML Architecture and Views
 
Comparing Software Quality Assurance Techniques And Activities
Comparing Software Quality Assurance Techniques And ActivitiesComparing Software Quality Assurance Techniques And Activities
Comparing Software Quality Assurance Techniques And Activities
 
Software design
Software designSoftware design
Software design
 
Collaboration diagram- UML diagram
Collaboration diagram- UML diagram Collaboration diagram- UML diagram
Collaboration diagram- UML diagram
 
Unified Modeling Language
Unified Modeling LanguageUnified Modeling Language
Unified Modeling Language
 
Design concept -Software Engineering
Design concept -Software EngineeringDesign concept -Software Engineering
Design concept -Software Engineering
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 
Ooad
OoadOoad
Ooad
 
Software Architecture Patterns
Software Architecture PatternsSoftware Architecture Patterns
Software Architecture Patterns
 
Software architecture and software design
Software architecture and software designSoftware architecture and software design
Software architecture and software design
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
Rational Unified Process
Rational Unified ProcessRational Unified Process
Rational Unified Process
 
Software engineering : Layered Architecture
Software engineering : Layered ArchitectureSoftware engineering : Layered Architecture
Software engineering : Layered Architecture
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and Design
 
CS8592-OOAD Lecture Notes Unit-1
CS8592-OOAD Lecture Notes Unit-1CS8592-OOAD Lecture Notes Unit-1
CS8592-OOAD Lecture Notes Unit-1
 
Chapter 13 software testing strategies
Chapter 13 software testing strategiesChapter 13 software testing strategies
Chapter 13 software testing strategies
 
Software Architecture and Design
Software Architecture and DesignSoftware Architecture and Design
Software Architecture and Design
 
Domain object model
Domain object modelDomain object model
Domain object model
 

Andere mochten auch

Aspect Oriented Software Development
Aspect Oriented Software DevelopmentAspect Oriented Software Development
Aspect Oriented Software Development
Jignesh Patel
 
Aspect oriented software development
Aspect oriented software developmentAspect oriented software development
Aspect oriented software development
Maryam Malekzad
 
Bab 2 proses pembangunan perangkat lunak
Bab 2   proses pembangunan perangkat lunakBab 2   proses pembangunan perangkat lunak
Bab 2 proses pembangunan perangkat lunak
sahrul salam
 
Aspect-Oriented Programming
Aspect-Oriented ProgrammingAspect-Oriented Programming
Aspect-Oriented Programming
Andrey 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 Development
kim.mens
 
Aspect Oriented Software Development
Aspect Oriented Software DevelopmentAspect Oriented Software Development
Aspect Oriented Software Development
Otavio Ferreira
 
Ch21-Software Engineering 9
Ch21-Software Engineering 9Ch21-Software Engineering 9
Ch21-Software Engineering 9
Ian Sommerville
 

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

Ähnlich wie Aspect oriented architecture

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
 
Requirements Engineering in an Agile Environment
Requirements Engineering in an Agile EnvironmentRequirements Engineering in an Agile Environment
Requirements Engineering in an Agile Environment
sunil1993
 
Agile methodology in cloud computing
Agile methodology in cloud computingAgile methodology in cloud computing
Agile methodology in cloud computing
Ahmed M. Abed
 

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

Hinweis der Redaktion

  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.