chap21 - Chapter 21 Aspect-Oriented Software Engineering...

Info iconThis preview shows pages 1–9. Sign up to view the full content.

View Full Document Right Arrow Icon
Chapter 21 Aspect-Oriented Software Engineering Slide 1 Chapter 21 Aspect-Oriented Software Engineering (AOSE)
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Chapter 21 Aspect-Oriented Software Engineering Slide 2 Topics covered Introduction and motivation The separation of concerns Core vs. cross-cutting concerns Aspects , join points, and pointcuts Information hiding vs. AOSE Problems with AOSE (Note: we will NOT cover 21.3, “SE with aspects,” except for 21.3.3, “Verification and Validation”)
Background image of page 2
Chapter 21 Aspect-Oriented Software Engineering Slide 3 In most large systems, the mapping between requirements (“concerns”) and components is not 1:1. (cont’d) Introduction and motivation
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Chapter 21 Aspect-Oriented Software Engineering Slide 4 Thus, implementing a requirements change may involve understanding and changing many components. Aspect-Oriented Software Engineering (AOSE) is an approach to SE intended to address this problem. It is based on a relatively new type of abstraction - an aspect, and is normally used together with OO software engineering. Introduction and motivation (cont’d) (cont’d)
Background image of page 4
Chapter 21 Aspect-Oriented Software Engineering Slide 5 Introduction and motivation (cont’d) Aspects encapsulate functionality that cross- cuts other functionality. R&D in this area has primarily focused on aspect-oriented programming. Languages such as AspectJ have extended OO languages to include aspects, and have been used in major companies. AOSE’s focus on separating concerns is an important way of thinking about and structuring software systems, but it is not yet mainstream SE. AspectJ was developed at Xerox PARC and made available in 2001.
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Chapter 21 Aspect-Oriented Software Engineering Slide 6 The separation of concerns The principle of separation of concerns states that software should be organized so that each program element does one thing and one thing only . Each program element should therefore be understandable without reference to other elements. Program abstractions (subroutines, procedures, objects, and aspects) support the separation of concerns.
Background image of page 6
Chapter 21 Aspect-Oriented Software Engineering Slide 7 What are concerns ? Concerns reflect system requirements and the priorities of system stakeholders. Examples of concerns are performance, security, specific functionality, etc. Programs that reflect the separation of concerns in a program clear traceability from requirements . This facilitates program understanding and the implementation of requirements change .
Background image of page 7

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Chapter 21 Aspect-Oriented Software Engineering Slide 8 Types of concerns Functional : related to specific functionality to be included in a system.
Background image of page 8
Image of page 9
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 05/27/2011 for the course CEN 5035 taught by Professor Staff during the Fall '08 term at University of Florida.

Page1 / 30

chap21 - Chapter 21 Aspect-Oriented Software Engineering...

This preview shows document pages 1 - 9. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online