ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Programacion Orientada A Aspectos Poa


Enviado por   •  29 de Agosto de 2013  •  1.064 Palabras (5 Páginas)  •  252 Visitas

Página 1 de 5

La ingeniería del software ciertamente ha evolucionado desde sus comienzos.

Al principio, se tenía un código en el que no existía la separación de conceptos; datos

y funcionalidad se mezclaban sin una línea que los dividiera claramente. A esta

etapa se la conoce como código spaghetti, debido a que se tenía una maraña entre

datos y funcionalidad similar a la que se forma al comer un plato de esta comida

italiana.

A medida que la ingeniería de software fue creciendo, se fueron

introduciendo conceptos que llevaron a una programación de más alto nivel: la

noción de tipos, bloques estructurados, agrupamientos de instrucciones a través de

procedimientos y funciones como una forma primitiva de abstracción, unidades,

módulos, tipos de datos abstractos, genericidad, herencia. Como vemos, los

progresos más importantes se han obtenido aplicando tres principios, los cuales están

estrechamente relacionados entre sí: abstracción, encapsulamiento, y modularidad.

Esto último consiste en la noción de descomponer un sistema complejo en

subsistemas más fáciles de manejar, siguiendo la antigua técnica de “dividir y

conquistar”.

Un avance importante lo introdujo la Programación Orientada a Objetos

(POO), donde se fuerza el encapsulamiento y la abstracción, a través de una unidad

que captura tanto funcionalidad como comportamiento y estructura interna. A esta

entidad se la conoce como clase. La clase hace énfasis tanto en los algoritmos como

en los datos. La POO está basada en cuatro conceptos [17]:

- Definición de tipos de datos abstractos.

- Herencia

- Encapsulamiento.

- Polimorfismo por inclusión.

La herencia es un mecanismo lingüístico que permite definir un tipo de dato

abstracto derivándolo de un tipo de dato abstracto existente. El nuevo tipo definido

“hereda” las propiedades del tipo padre [17].

Ya sea a través de la POO o con otras técnicas de abstracción de alto nivel, se

logra un diseño y una implementación que satisface la funcionalidad básica, y con

una calidad aceptable. Sin embargo, existen conceptos que no pueden encapsularse

dentro de una unidad funcional, debido a que atraviesan todo el sistema, o varias

parte de él (crosscutting concerns). Algunos de estos conceptos son: sincronización,

manejo de memoria, distribución, chequeo de errores, profiling, seguridad o redes,

entre otros. Así lo muestran los siguientes ejemplos:

1) Consideremos una aplicación que incluya conceptos de seguridad y

sincronización, como por ejemplo, asegurarnos que dos usuarios no

intenten acceder al mismo dato al mismo tiempo. Ambos conceptos

requieren que los programadores escriban la misma funcionalidad en

varias partes de la aplicación. Los programadores se verán forzados a

recordar todas estas partes, para que a la hora de efectuar un cambio

y / o una actualización puedan hacerlo de manera uniforme a través

Programación Orientada a Aspectos: Análisis del Paradigma Tesis de Licenciatura

Fernando Asteasuain – Bernardo Ezequiel Contreras

Departamento de Ciencias e Ingeniería de la Computación – Universidad Nacional del Sur

Bahía Blanca. Buenos Aires. Argentina

7

de todo el sistema. Tan solo olvidarse de actualizar algunas de estas

repeticiones lleva al código a acumular errores [4].

2) Manejo de errores y de fallas: agregar a un sistema simple un buen

manejo de errores y de fallas requiere muchos y pequeños cambios y

adiciones por todo el sistema debido a los diferentes contextos

dinámicos que pueden llevar a una falla, y las diferentes políticas

relacionadas con el manejo de una falla [8].

3) En general, los aspectos en un sistema que tengan que ver con el

atributo performance, resultan diseminados por todo el sistema [8].

Las técnicas de implementación actuales tienden a implementar los

requerimientos usando metodologías de una sola dimensión, forzando los

requerimientos a ser expresados en esa única dimensión. Esta dimensión resulta

adecuada para la funcionalidad básica y no para

...

Descargar como (para miembros actualizados)  txt (7.9 Kb)  
Leer 4 páginas más »
Disponible sólo en Clubensayos.com