CARACTERÍSTICAS Y FUNCIONALIDADES DE LA PROGRAMACIÓN ORIENTADA A ASPECTOS
Enviado por juanma9211 • 1 de Diciembre de 2016 • Biografía • 2.568 Palabras (11 Páginas) • 289 Visitas
CARACTERÍSTICAS Y FUNCIONALIDADES DE LA PROGRAMACIÓN ORIENTADA A ASPECTOS
RESUMEN
La ingeniería del software, y en general, la informática es una disciplina que está en constante evolución. Cada día surgen nuevas técnicas y metodologías que intentan mejorar la calidad y la eficiencia de los productos software. En los últimos tiempos ha surgido con fuerza una nueva forma de descomponer los sistemas: la orientación a aspectos. Esta investigación analiza las características y funcionalidades de la programación orientada a aspectos, a través de estudios de casos para un desarrollo experimental de una aplicación, mostrando una visión general, desde sus comienzos, hasta llegar su estado actual .La “Programación Orientada a Aspectos” es una propuesta reciente que brinda un mayor grado de abstracción en el desarrollo de software, permitiendo realizar de manera nítida y eficiente una clara “separación de aspectos”. Esta técnica de programación surgida a fines de los 90' y con importante crecimiento en los últimos años, busca facilitar la modularización de aquellas incumbencias transversales que resultan de la modularización con las técnicas tradicionales de programación. El presente trabajo muestra las particularidades principales de la Programación Orientada a Aspectos. Basando en una breve reseña histórica, la descripción de algunos lenguajes orientados a aspectos y las características destacables de la implementación y el diseño de las aplicaciones orientadas a aspectos.
Palabras claves: Programación, aspecto, abstracción, software.
ABSTRACT
Software engineering, and general computer science is a discipline that is constantly evolving. Every day new techniques and methodologies that attempt to improve the quality and efficiency of software products emerge. In recent times there has emerged strongly a new way to break down systems: orientation aspects. This research analyzes the features and functionality of Aspect-Oriented Programming, through case studies for experimental development of an application, displaying an overview, from its inception until its present state .The "Aspect-Oriented Programming" (AOP) it is a recent proposal that provides a greater degree of abstraction in software development, allowing to make crisp and efficiently a clear "separation of concerns". This programming technique emerged in the late 90 'and with significant growth in recent years, seeks to facilitate the modularization of cross incumbencies those resulting from modularization with traditional programming techniques. This paper shows the main features of Aspect-Oriented Programming. Basing on a brief historical overview, the description of some aspects oriented languages and salient features of the implementation and application design oriented aspects.
Keywords: Programming, aspects, abstraction, software.
OBJETIVOS
- General
Analizar características y funcionalidades de la programación orientada a aspectos, a través de estudios de casos para un desarrollo experimental de una aplicación
- Específicos
Recitar la evolución de los paradigmas de programación, a través de libros, blogs y artículos publicados, identificado la razón origen
Estudiar los fundamentos de la Programación Orientada a Aspectos, a través literatura especializada para aprender sus características y funcionalidades
Identificar las herramientas y lenguajes a través de una revisión bibliográfica para el desarrollo de una aplicación orientada a aspectos.
Razonar el impacto de este nuevo paradigma de programación analizando una aplicación de POO y POA comparando reducción de código y cantidad de operaciones elementales.
INTRODUCCIÓN
Analizar características y funcionalidades de la programación orientada a aspectos, a través de estudios de casos para un desarrollo experimental de una aplicación, dado que las tecnologías evolucionan, los paradigmas también lo hacen, obteniendo múltiples tendencias para los desarrolladores (Stack Overflow 2016) objetivo general
Dado que programación Orientada a Aspectos es un nuevo paradigma de programación llamado a sustituir a la programación Orientada a Objetos (Irene Jiménez and Oscar Combarros 2005), brinda un mayor grado de abstracción en el desarrollo de software, permitiendo realizar de manera clara y eficiente una clara separación de incumbencias
Una de las mejores prácticas de la ingeniería del software, es seguir un proceso de desarrollo maduro. En este sentido, el proceso de desarrollo ha evolucionado buscando mejoras para garantizar la calidad del producto de software resultante. Sin embargo, describir y garantizar un producto de software de calidad, de acuerdo a la madurez del proceso, es una actividad aún poco clara. (Castillo, Losavio, and Matteo 2010) planteamiento prob
La metodología de programación orientada a aspectos (POA) permite encapsular o modularizar las denominadas “incumbencias cruzadas no modularizables” por metodologías de programación clásicas tales como programación orientada a objetos y programación estructurada. Las incumbencias cruzadas representan funcionalidades que se esparcen como parte de las funcionalidades de módulos, por ejemplo, en los métodos de las clases de un sistema, y su naturaleza funcional se mezcla con las funcionalidades propias del módulo. De esta forma, las incumbencias cruzadas representan elementos funcionales no modularizables por metodologías de desarrollo de software tradicionales (Vidal et al. 2014)
Al observar el comportamiento dinámico de un sistema. Es decir, monitorear su ejecución. Existen ciertos aspectos que hacen particularmente desafiante este enfoque, que surgen de la diferencia de abstracción entre los conceptos arquitectónicos y la ejecución de código. En este contexto, dado que el comportamiento dinámico arquitectónico puede entrecruzar o atravesar distintas partes del sistema, la utilización de mecanismos avanzados de modularización como los propuestos en la Programación Orientada a Aspectos comprende una alternativa atractiva para encarar el problema descrito. (Grai 2015) metodologia
...