SlideShare a Scribd company logo
1 of 21
Download to read offline
Aspect Oriented Software Engineering 
By : Abhay Nitin Pai (13MCC1032)
Introduction 
● Aspect-oriented software engineering (AOSE) is an approach to software 
development that is intended to address this problem and so make programs 
easier to maintain and reuse. 
● AOSE is based around abstractions called aspects, which implement system 
functionality that may be required at several different places in a program. 
● Aspects encapsulate functionality that cross-cuts and coexists with other 
functionality that is included in a system. 
● They are used alongside other abstrations like objects and methods. 
● Aspect oriented programs = Objects, methods and aspects
● Key benefit – Seperation of concerns 
● Example : User authentication before accessing the database. 
● Example of Aspect Oriented Language : AspectJ
Seperation of Concerns 
● It means that you should organize your software so that each element in the 
program (class, method, procedure, etc.) does one thing and one thing only. 
● You can then focus on that element without regard for the other elements in 
the program. 
● You can understand each part of the program by knowing its concern, without 
the need to understand other elements. 
● When changes are required, they are localized to a small number of elements. 
● Arrival of this concept : Cross-cutting concerns
● What is a concern ? 
● functional notion (i.e., a concern is some element of functionality in a 
system). 
● Any piece of interest or focus in a program 
● Concerns are really reflections of the system requirements and priorities of 
stakeholders in the system. 
● Example : System Performance 
● Expressed as a requirement or a related set of requirements, to the program 
components that implement these concerns. 
● There are several different types of stakeholder concern:
● Functional concerns : which are related to the specific functionality to be 
included in a system. For example, in a train control system, a specific 
functional concern is train braking. 
● Quality of service concerns : which are related to the non-functional 
behavior of a system. These include characteristics such as performance, 
reliability, and availability. 
● Policy concerns : which are related to the overall policies that govern the 
use of a system. Policy concerns include security and safety concerns and 
concerns related to business rules. 
● System concerns : which are related to attributes of the system as a whole, 
such as its maintainability or its configurability. 
● Organizational concerns : which are related to organizational goals and 
priorities. These include producing a system within budget, making use of 
existing software assets, and maintaining the reputation of the organization.
● Core Concern Example : For a hospital patient information system, the core 
functional concerns are the creation, editing, retrieval, and management of 
patient records.
● Tangling and Scattering
Aspects, Join points and pointcuts
Extensions 
●Secondary functional extensions 
●Policy extensions 
●QoS extensions 
● Infrastructure extensions
Software Engineering with Aspects
Inventory Management System 
(Use Case)
Aspect Oriented Software Engineering
Aspect Oriented Software Engineering
Aspect Oriented Software Engineering
Aspect Oriented Software Engineering
Aspect Oriented Software Engineering

More Related Content

What's hot

Pressman ch-11-component-level-design
Pressman ch-11-component-level-designPressman ch-11-component-level-design
Pressman ch-11-component-level-design
Oliver Cheng
 
Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9
koolkampus
 
Ch5- Software Engineering 9
Ch5- Software Engineering 9Ch5- Software Engineering 9
Ch5- Software Engineering 9
Ian Sommerville
 
Ch6-Software Engineering 9
Ch6-Software Engineering 9Ch6-Software Engineering 9
Ch6-Software Engineering 9
Ian Sommerville
 

What's hot (20)

Pressman ch-11-component-level-design
Pressman ch-11-component-level-designPressman ch-11-component-level-design
Pressman ch-11-component-level-design
 
Risk Management by Roger Pressman
Risk Management by Roger PressmanRisk Management by Roger Pressman
Risk Management by Roger Pressman
 
OO Development 1 - Introduction to Object-Oriented Development
OO Development 1 - Introduction to Object-Oriented DevelopmentOO Development 1 - Introduction to Object-Oriented Development
OO Development 1 - Introduction to Object-Oriented Development
 
Software Reuse and Object-Oriented Programming
Software Reuse and Object-Oriented ProgrammingSoftware Reuse and Object-Oriented Programming
Software Reuse and Object-Oriented Programming
 
Ian Sommerville, Software Engineering, 9th Edition Ch 4
Ian Sommerville,  Software Engineering, 9th Edition Ch 4Ian Sommerville,  Software Engineering, 9th Edition Ch 4
Ian Sommerville, Software Engineering, 9th Edition Ch 4
 
Ch18 service oriented software engineering
Ch18 service oriented software engineeringCh18 service oriented software engineering
Ch18 service oriented 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
 
Software process
Software processSoftware process
Software process
 
Ch5- Software Engineering 9
Ch5- Software Engineering 9Ch5- Software Engineering 9
Ch5- Software Engineering 9
 
Case tools(computer Aided software Engineering)
Case tools(computer Aided software Engineering)Case tools(computer Aided software Engineering)
Case tools(computer Aided software Engineering)
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented Design
 
Software Architecture and Design
Software Architecture and DesignSoftware Architecture and Design
Software Architecture and Design
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineering
 
CS8592-OOAD Lecture Notes Unit-1
CS8592-OOAD Lecture Notes Unit-1CS8592-OOAD Lecture Notes Unit-1
CS8592-OOAD Lecture Notes Unit-1
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and Design
 
Introduction to UML
Introduction to UMLIntroduction to UML
Introduction to UML
 
Ch6-Software Engineering 9
Ch6-Software Engineering 9Ch6-Software Engineering 9
Ch6-Software Engineering 9
 
Ooad unit – 1 introduction
Ooad unit – 1 introductionOoad unit – 1 introduction
Ooad unit – 1 introduction
 
4+1 View Model of Software Architecture
4+1 View Model of Software Architecture4+1 View Model of Software Architecture
4+1 View Model of Software Architecture
 
Software development process models
Software development process modelsSoftware development process models
Software development process models
 

Similar to Aspect Oriented Software Engineering

bdms unit importants in MBA 3 rd sem in marketingem
bdms unit importants in MBA 3 rd sem in marketingembdms unit importants in MBA 3 rd sem in marketingem
bdms unit importants in MBA 3 rd sem in marketingem
abhaypatel199924
 
System Analysis and Design Project documentation
System Analysis and Design Project documentationSystem Analysis and Design Project documentation
System Analysis and Design Project documentation
MAHERMOHAMED27
 
Software archiecture lecture03
Software archiecture   lecture03Software archiecture   lecture03
Software archiecture lecture03
Luktalja
 

Similar to Aspect Oriented Software Engineering (20)

bdms unit importants in MBA 3 rd sem in marketingem
bdms unit importants in MBA 3 rd sem in marketingembdms unit importants in MBA 3 rd sem in marketingem
bdms unit importants in MBA 3 rd sem in marketingem
 
Aspect Oriented Programming - AOP/AOSD
Aspect Oriented Programming - AOP/AOSDAspect Oriented Programming - AOP/AOSD
Aspect Oriented Programming - AOP/AOSD
 
System Analysis and Design Project documentation
System Analysis and Design Project documentationSystem Analysis and Design Project documentation
System Analysis and Design Project documentation
 
Software archiecture lecture03
Software archiecture   lecture03Software archiecture   lecture03
Software archiecture lecture03
 
Use case Diagram
Use case Diagram Use case Diagram
Use case Diagram
 
Computer Studies POWERPOINT.pptx
Computer Studies POWERPOINT.pptxComputer Studies POWERPOINT.pptx
Computer Studies POWERPOINT.pptx
 
Sdlc
SdlcSdlc
Sdlc
 
Chapter 7 agent-oriented software engineering ch7-agent methodology-agent met...
Chapter 7 agent-oriented software engineering ch7-agent methodology-agent met...Chapter 7 agent-oriented software engineering ch7-agent methodology-agent met...
Chapter 7 agent-oriented software engineering ch7-agent methodology-agent met...
 
Learning outcomes of system analysis and design and.pptx
Learning outcomes of system analysis and design and.pptxLearning outcomes of system analysis and design and.pptx
Learning outcomes of system analysis and design and.pptx
 
Chapter01 1
Chapter01 1Chapter01 1
Chapter01 1
 
Object oriented analysis and design unit- i
Object oriented analysis and design unit- iObject oriented analysis and design unit- i
Object oriented analysis and design unit- i
 
System engineering analysis and design
System engineering analysis and designSystem engineering analysis and design
System engineering analysis and design
 
Lecture3
Lecture3Lecture3
Lecture3
 
Relational Analysis of Software Developer’s Quality Assures
Relational Analysis of Software Developer’s Quality AssuresRelational Analysis of Software Developer’s Quality Assures
Relational Analysis of Software Developer’s Quality Assures
 
SDLC
SDLCSDLC
SDLC
 
System development life_cycle
System development life_cycleSystem development life_cycle
System development life_cycle
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Software testing and introduction to quality
Software testing and introduction to qualitySoftware testing and introduction to quality
Software testing and introduction to quality
 
Introduction Software engineering
Introduction   Software engineeringIntroduction   Software engineering
Introduction Software engineering
 
Concepts Of business analyst Practices - Part 1
Concepts Of business analyst Practices - Part 1Concepts Of business analyst Practices - Part 1
Concepts Of business analyst Practices - Part 1
 

Recently uploaded

Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills KuwaitKuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
jaanualu31
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Kandungan 087776558899
 
DeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesDeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakes
MayuraD1
 
+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...
+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...
+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...
Health
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
MsecMca
 

Recently uploaded (20)

AIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech studentsAIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech students
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leap
 
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
 
Air Compressor reciprocating single stage
Air Compressor reciprocating single stageAir Compressor reciprocating single stage
Air Compressor reciprocating single stage
 
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills KuwaitKuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
 
Online food ordering system project report.pdf
Online food ordering system project report.pdfOnline food ordering system project report.pdf
Online food ordering system project report.pdf
 
Computer Networks Basics of Network Devices
Computer Networks  Basics of Network DevicesComputer Networks  Basics of Network Devices
Computer Networks Basics of Network Devices
 
kiln thermal load.pptx kiln tgermal load
kiln thermal load.pptx kiln tgermal loadkiln thermal load.pptx kiln tgermal load
kiln thermal load.pptx kiln tgermal load
 
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS Lambda
 
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptxA CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
 
Online electricity billing project report..pdf
Online electricity billing project report..pdfOnline electricity billing project report..pdf
Online electricity billing project report..pdf
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
DC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationDC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equation
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the start
 
DeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesDeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakes
 
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxHOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
 
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARHAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
 
+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...
+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...
+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
 

Aspect Oriented Software Engineering

  • 1. Aspect Oriented Software Engineering By : Abhay Nitin Pai (13MCC1032)
  • 2. Introduction ● Aspect-oriented software engineering (AOSE) is an approach to software development that is intended to address this problem and so make programs easier to maintain and reuse. ● AOSE is based around abstractions called aspects, which implement system functionality that may be required at several different places in a program. ● Aspects encapsulate functionality that cross-cuts and coexists with other functionality that is included in a system. ● They are used alongside other abstrations like objects and methods. ● Aspect oriented programs = Objects, methods and aspects
  • 3. ● Key benefit – Seperation of concerns ● Example : User authentication before accessing the database. ● Example of Aspect Oriented Language : AspectJ
  • 4. Seperation of Concerns ● It means that you should organize your software so that each element in the program (class, method, procedure, etc.) does one thing and one thing only. ● You can then focus on that element without regard for the other elements in the program. ● You can understand each part of the program by knowing its concern, without the need to understand other elements. ● When changes are required, they are localized to a small number of elements. ● Arrival of this concept : Cross-cutting concerns
  • 5. ● What is a concern ? ● functional notion (i.e., a concern is some element of functionality in a system). ● Any piece of interest or focus in a program ● Concerns are really reflections of the system requirements and priorities of stakeholders in the system. ● Example : System Performance ● Expressed as a requirement or a related set of requirements, to the program components that implement these concerns. ● There are several different types of stakeholder concern:
  • 6. ● Functional concerns : which are related to the specific functionality to be included in a system. For example, in a train control system, a specific functional concern is train braking. ● Quality of service concerns : which are related to the non-functional behavior of a system. These include characteristics such as performance, reliability, and availability. ● Policy concerns : which are related to the overall policies that govern the use of a system. Policy concerns include security and safety concerns and concerns related to business rules. ● System concerns : which are related to attributes of the system as a whole, such as its maintainability or its configurability. ● Organizational concerns : which are related to organizational goals and priorities. These include producing a system within budget, making use of existing software assets, and maintaining the reputation of the organization.
  • 7. ● Core Concern Example : For a hospital patient information system, the core functional concerns are the creation, editing, retrieval, and management of patient records.
  • 8. ● Tangling and Scattering
  • 9.
  • 10. Aspects, Join points and pointcuts
  • 11.
  • 12. Extensions ●Secondary functional extensions ●Policy extensions ●QoS extensions ● Infrastructure extensions
  • 14.
  • 15.