tailieunhanh - Lecture Software engineering (9/e): Chapter 21 - Sommerville
Chapter 21 - Aspect-oriented software development. The objective of this chapter is to introduce you to aspect-oriented software development, which is based on the separation of concerns. When you have read this chapter, you will: understand why the separation of concerns is a good guiding principle for software development; have been introduced to the fundamental ideas underlying aspects and aspect-oriented software development. | Chapter 21 - Aspect-oriented Software Development Lecture 1 1 Chapter 21 Aspect-oriented software engineering Topics covered The separation of concerns Aspects, join points and pointcuts Software engineering with aspects 2 Chapter 21 Aspect-oriented software engineering Aspect-oriented software development An approach to software development based around a relatively new type of abstraction - an aspect. Used in conjunction with other approaches - normally object-oriented software engineering. Aspects encapsulate functionality that cross-cuts and co-exists with other functionality. Aspects include a definition of where they should be included in a program as well as code implementing the cross-cutting concern. 3 Chapter 21 Aspect-oriented software engineering The separation of concerns The principle of separation of concerns states that software should be organised so that each program element does one thing and one thing only. Each program element should therefore be understandable . | Chapter 21 - Aspect-oriented Software Development Lecture 1 1 Chapter 21 Aspect-oriented software engineering Topics covered The separation of concerns Aspects, join points and pointcuts Software engineering with aspects 2 Chapter 21 Aspect-oriented software engineering Aspect-oriented software development An approach to software development based around a relatively new type of abstraction - an aspect. Used in conjunction with other approaches - normally object-oriented software engineering. Aspects encapsulate functionality that cross-cuts and co-exists with other functionality. Aspects include a definition of where they should be included in a program as well as code implementing the cross-cutting concern. 3 Chapter 21 Aspect-oriented software engineering The separation of concerns The principle of separation of concerns states that software should be organised 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, etc.) support the separation of concerns. 4 Chapter 21 Aspect-oriented software engineering Concerns Concerns are not program issues but reflect the system requirements and the priorities of the system stakeholders. Examples of concerns are performance, security, specific functionality, etc. By reflecting the separation of concerns in a program, there is clear traceability from requirements to implementation. Core concerns are the functional concerns that relate to the primary purpose of a system; secondary concerns are functional concerns that reflect non-functional and QoS requirements. 5 Chapter 21 Aspect-oriented software engineering Stakeholder concerns Functional concerns which are related to specific functionality to be included in a system. Quality of service concerns which are related to the non-functional behaviour of a system. Policy concerns which are related to the overall policies .
đang nạp các trang xem trước