La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Introducción a la programación orientada a aspectos.

Presentaciones similares


Presentación del tema: "Introducción a la programación orientada a aspectos."— Transcripción de la presentación:

1 Introducción a la programación orientada a aspectos.
Universidad del Azuay Maestría en Telemática Sesión 3

2

3 Desventajas: Unidades de descomposición no tratan aspectos como:
No se considera gestión de memoria Coordinación Distribución Ejecución en tiempo real.

4 Desventajas: Sincronización Distribución Manejo de errores
Optimización de memoria Gestión de la seguridad

5 Consecuencia: Nos encontramos con problemas de programación en los cuales ni las técnicas funcionales, ni las orientadas a objeto son suficientes para capturar todas las decisiones de diseño que el programa debe implementar.

6 Consecuencias: Las técnicas tradicionales no soportan bien la separación de competencias para aspectos distintos de la funcionalidad básica de un sistema, y esta situación claramente tiene un impacto negativo en la calidad del software.

7 P.O.A. La programación orientada a aspectos (POA) es una nueva metodología de programación que aspira a soportar la separación de competencias para los aspectos antes mencionados. Intenta separar los componentes y los aspectos unos de otros, proporcionando mecanismos que hagan posible abstraerlos y componerlos para formar todo el sistema.

8 P.O.A. (2) Lo que se persigue es implementar una aplicación de forma eficiente y fácil de entender. POA es un desarrollo que sigue al paradigma de la orientación a objetos, soporta la descomposición orientada a objetos, además de la procedimental y la descomposición funcional. A pesar de esto, POA no se puede considerar como una extensión de la POO, ya que puede utilizarse con los diferentes estilos de programación antes mencionados.

9 P.O.A.(3) El estado actual de la investigación en POA es análogo al que había hace veinte años en la programación orientada a objetos.

10

11 Historia 1991. Equipo Demeter. Programación adaptativa. C ristina Lopes propuso sincronización e invocación remota como nuevos bloques. 1995. Equipo Demeter introduce el término. P.O.A. presentado por Gregor Kiczales y su grupo & Cristina Lopes.

12 Objetivos: Separar conceptos: Minimizar las dependencias entre ellos:
cada decisión se tome en un lugar concreto. Minimizar las dependencias entre ellos: pérdida del acoplamiento entre los distintos elementos.

13 Ventajas de la P.O.A. Un código menos enmarañado, más natural y más reducido. Una mayor facilidad para razonar sobre las materias, ya que están separadas y tienen una dependencia mínima. Más facilidad para depurar y hacer modificaciones en el código. Se consigue que un conjunto grande de modificaciones en la definición de una materia tenga un impacto mínimo en las otras. Se tiene un código más reutilizable y que se puede acoplar y desacoplar cuando sea necesario.

14 ¿Qué es un aspecto? Un aspecto es una unidad modular que se disemina por la estructura de otras unidades funcionales. Los aspectos existen tanto en la etapa de diseño como en la de implementación. Un aspecto de diseño es una unidad modular del diseño que se entremezcla en la estructura de otras partes del diseño. Un aspecto de programa o de código es una unidad modular del programa que aparece en otras unidades modulares del programa (G. Kiczales).

15 ¿Qué es un aspecto? De manera más informal podemos decir que los aspectos son la unidad básica de la POA, y pueden definirse como las partes de una aplicación que describen las cuestiones claves relacionadas con la semántica esencial o el rendimiento. También pueden verse como los elementos que se diseminan por todo el código y que son difíciles de describir localmente con respecto a otros componentes.

16 Diferencia entre componente y aspecto
Se puede diferenciar entre un componente y un aspecto viendo al primero como aquella propiedad que se puede encapsular claramente en un procedimiento, mientras que un aspecto no se puede encapsular en un procedimiento con los lenguajes tradicionales.

17

18

19 Justificación Las técnicas orientadas a objetos y las técnicas procedimentales de programación no son suficientes para capturar con claridad importantes desiciones de diseño que debe implementar el programa.

20 Justificación Las decisiones que difícilmente son capturadas por las OOP y POP se denominan aspectos. La técnica de P.O.A. Permite especificar claramente aspectos tales como asilamiento, composición y reutilización del código.

21 Fundamentos El proceso del diseño del software:
Dividir un sistema en partes pequeñas. Los lenguajes permiten definir abstracciones de las subunidades del sistema. La composición de abstracción permite construir el sistema en su totalidad. La abstracción y composición debe soportar con claridad las unidades de diseño del sistema.

22 Fundamentos Lenguajes procedimentales generales (GP).
Descomposición Funcional: Dividen el sistema en unidades de comportamiento o función. Muchas de estas funciones pueden no ser del todo funcionales.

23 Programación Orientada a Aspectos
Se evalúan tres implementaciones: Fácil de entender pero ineficiente Eficiente pero difícil de entender POA: fácil y eficiente. Procesamiento de imágenes en blanco y negro.

24 Procesamiento de imágenes en blanco y negro.
Imágenes pasan por filtros para producir una salida. Fácil de desarrollar y mantener Uso eficiente de memoria Formal: para ampliar libre de errores en el programa. Eficiente: optimizar almacenamiento de memoria y direccionamiento.

25 Bibliografía Antonia Mª Reina Quintero, Visión General de la Programación Orientada a Aspectos. Departamento de Lenguajes y Sistemas Informáticos. Facultad de Informática y Estadística Universidad de Sevilla. (2000).


Descargar ppt "Introducción a la programación orientada a aspectos."

Presentaciones similares


Anuncios Google