Đang chuẩn bị nút TẢI XUỐNG, xin hãy chờ
Tải xuống
Lecture Software engineering - Chapter 32: Aspect-oriented software development. The main contents of this chapter include all of the following: The separation of concerns; aspects, join points and pointcuts; software engineering with aspects. | Aspect-oriented Software Development Objectives To explain the principle of separation of concerns in software development To introduce the fundamental ideas underlying aspect-oriented development To show how an aspect-oriented approach can be used at all stages of development To discuss problems of testing aspect-oriented systems Topics covered The separation of concerns Aspects, join points and pointcuts Software engineering with aspects Aspect-oriented software development An approach to software development based around a 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. The separation of concerns The principle of separation of concerns states that software should be organised so that . | Aspect-oriented Software Development Objectives To explain the principle of separation of concerns in software development To introduce the fundamental ideas underlying aspect-oriented development To show how an aspect-oriented approach can be used at all stages of development To discuss problems of testing aspect-oriented systems Topics covered The separation of concerns Aspects, join points and pointcuts Software engineering with aspects Aspect-oriented software development An approach to software development based around a 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. 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. 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. 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 .