SlideShare ist ein Scribd-Unternehmen logo
1 von 11
Downloaden Sie, um offline zu lesen
paradigmas




Programación
 Orientada a
  Aspectos
¿Qué es POA?
Nuevo paradigma de programación

Enfoque estructurado: procedimientos o acciones

Enfoque orientado a objetos: datos encapsulados en clases

Existen funciones que son más difíciles de modularizar que otras, generando un
problema conocido como código diseminado.

La principal razón de que el código diseminado se presente es debida a las
diferentes formas que un servicio este disponible y la forma en que este es usado.

El código diseminado en una aplicación retrasa el
desarrollo, mantenimiento y evolución de un programa.
¿Por qué POA?

Existen conceptos que no pueden encapsularse
dentro de una unidad funcional, debido a que
atraviesan todo el sistema o varias partes de él,
como lo son la sincronización, el manejo de
memoria, el manejo de errores, perfiles,
seguridad o redes
Cronología Histórica

Primera generación: código spaghetti

Segunda y tercera generación: descomposición
funcional

Cuarta generación: descomposición en objetos

Quinta generación: descomposición en
aspectos
El Desarrollo
Orientado a Aspectos
Requiere de tres elementos básicos:


Un lenguaje para definir la funcionalidad b·sica, conocido como
lenguaje base o componente. Podría ser un lenguaje como C#, C++,
Java o Lisp.

Uno o varios lenguajes de aspectos, para especificar el
comportamiento de los aspectos. Como podrían ser COOL para
sincronización o RIDL para distribución.

Un tejedor de aspectos (aspect weaver) que produce una aplicación
que integra las funcionalidades de las clases y los aspectos. Tal
proceso se puede llevar acabo en tiempo de ejecución o en tiempo de
compilación.
Diferenciación
En una primera impresión, la programación orientada a aspectos y
la programación orientada a objetos pareciera que son en realidad
el mismo paradigma, no obstante, esta noción es errónea.

En la programación orientada a objetos los sistemas se modelan
como un conjunto de objetos que interactúan entre sÌ, sin embargo,
falla al modelar los conceptos que se entrecruzan.

La diferencia radica en que mientras la programación orientada a
aspectos se enfoca en los conceptos que se entrecruzan, la
programación orientada a objetos se enfoca en los conceptos
comunes.

                                                              sigue ->
Diferenciación
...hablemos mal de POA
 Posibles choques entre el código funcional (expresado en el lenguaje base) y
 el código de aspectos (expresados en los lenguajes de aspectos).

 Posibles choques entre el código de aspectos y los mecanismos del lenguaje,
 uno de los ejemplos más conocidos de este problema es la anomalía de
 herencia.

 Posibles choques entre los aspectos, un ejemplo clásico es tener dos aspectos
 que trabajan perfectamente por separado pero al aplicarlos conjuntamente
 resultan en un comportamiento anormal.

 Los lenguajes orientados a aspectos actuales no cuentan con mecanismos
 lingüísticos suficientemente poderosos para respetar por completo todos los
 principios de diseño, como por ejemplo, el encapsulamiento.
Ventajas
Permite una implementación modularizada reduciendo el acoplamiento
entre sus partes.

El código es más limpio, menos duplicado, más fácil de entender y de
mantener.

Elimina los problemas causados por el código mezclado y el código
diseminado.

Mayor reutilización, los aspectos tienen mayores probabilidades de ser
reutilizados en otros sistemas con requerimientos similares.

Los sistemas son más adaptables a cambios, la separación de conceptos
permite agregar nuevos aspectos, modificarlos o removerlos fácilmente.
Conclusiones
La programación orientada a aspectos es un nuevo paradigma que
adolece de madurez y formalidad, necesita ser desarrollada más
exhaustivamente aun para consolidar sus conceptos.

La programación orientada a aspectos es el comienzo de un nuevo
paradigma, apenas se esta descubriendo su potencialidad, sus
problemas, y sus posibles soluciones, lo que nos hace pensar que es
una de las ramas con mayor futuro dentro de la ingeniería de
software.

Los lenguajes orientados a aspectos actuales, no cuentan con
mecanismos lingüísticos suficientemente poderosos para respetar por
completo todos los principios de diseño.
preguntas...

Weitere ähnliche Inhalte

Was ist angesagt?

Programación Orientada a Objetos - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismoProgramación Orientada a Objetos - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismoAlvaro Enrique Ruano
 
Metodologías Para AnáLisis Y DiseñO Orientado A Objetos
Metodologías Para AnáLisis Y DiseñO Orientado A ObjetosMetodologías Para AnáLisis Y DiseñO Orientado A Objetos
Metodologías Para AnáLisis Y DiseñO Orientado A Objetoshector_h30
 
Técnicas para la Obtención de Requerimientos
Técnicas para la Obtención de RequerimientosTécnicas para la Obtención de Requerimientos
Técnicas para la Obtención de RequerimientosJuan Carlos Olivares Rojas
 
Caracteristicas de los Sistemas Distribuidos
Caracteristicas de los Sistemas DistribuidosCaracteristicas de los Sistemas Distribuidos
Caracteristicas de los Sistemas DistribuidosJorge Guerra
 
Modelo Orientado A Objetos
Modelo Orientado A ObjetosModelo Orientado A Objetos
Modelo Orientado A Objetosjose_rob
 
Tm02 introduccion a rational rose
Tm02 introduccion a rational roseTm02 introduccion a rational rose
Tm02 introduccion a rational roseJulio Pari
 
Proceso Unificado De Rational
Proceso Unificado De RationalProceso Unificado De Rational
Proceso Unificado De RationalJulio Pari
 
Introducción a los modelos de datos
Introducción a los modelos de datosIntroducción a los modelos de datos
Introducción a los modelos de datosGalo Anzules
 
Programacion orientada a objetos - unidad 3 herencia
Programacion orientada a objetos - unidad 3 herenciaProgramacion orientada a objetos - unidad 3 herencia
Programacion orientada a objetos - unidad 3 herenciaJosé Antonio Sandoval Acosta
 
Plan de iteracion
Plan de iteracionPlan de iteracion
Plan de iteracionanalkill
 
Los 13 diagramas UML y sus componentes
Los 13 diagramas UML y sus componentesLos 13 diagramas UML y sus componentes
Los 13 diagramas UML y sus componentesVictor Escamilla
 
Diagramas UML: Componentes y despliegue
Diagramas UML: Componentes y despliegueDiagramas UML: Componentes y despliegue
Diagramas UML: Componentes y desplieguejoshell
 
Elementos básicos de modelo entidad relación
Elementos básicos de modelo entidad relaciónElementos básicos de modelo entidad relación
Elementos básicos de modelo entidad relaciónCam Bandini
 

Was ist angesagt? (20)

Programación Orientada a Objetos - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismoProgramación Orientada a Objetos - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismo
 
Metodologia estructurada
Metodologia estructuradaMetodologia estructurada
Metodologia estructurada
 
Metodologías Para AnáLisis Y DiseñO Orientado A Objetos
Metodologías Para AnáLisis Y DiseñO Orientado A ObjetosMetodologías Para AnáLisis Y DiseñO Orientado A Objetos
Metodologías Para AnáLisis Y DiseñO Orientado A Objetos
 
Técnicas para la Obtención de Requerimientos
Técnicas para la Obtención de RequerimientosTécnicas para la Obtención de Requerimientos
Técnicas para la Obtención de Requerimientos
 
Caracteristicas de los Sistemas Distribuidos
Caracteristicas de los Sistemas DistribuidosCaracteristicas de los Sistemas Distribuidos
Caracteristicas de los Sistemas Distribuidos
 
Modelo Orientado A Objetos
Modelo Orientado A ObjetosModelo Orientado A Objetos
Modelo Orientado A Objetos
 
Diagramas componentes
Diagramas componentesDiagramas componentes
Diagramas componentes
 
PRESENTACIÓN RUP
PRESENTACIÓN RUPPRESENTACIÓN RUP
PRESENTACIÓN RUP
 
Tm02 introduccion a rational rose
Tm02 introduccion a rational roseTm02 introduccion a rational rose
Tm02 introduccion a rational rose
 
Proceso Unificado De Rational
Proceso Unificado De RationalProceso Unificado De Rational
Proceso Unificado De Rational
 
Roles desarrollo del software
Roles desarrollo del softwareRoles desarrollo del software
Roles desarrollo del software
 
Introducción a los modelos de datos
Introducción a los modelos de datosIntroducción a los modelos de datos
Introducción a los modelos de datos
 
Programacion orientada a objetos - unidad 3 herencia
Programacion orientada a objetos - unidad 3 herenciaProgramacion orientada a objetos - unidad 3 herencia
Programacion orientada a objetos - unidad 3 herencia
 
Plan de iteracion
Plan de iteracionPlan de iteracion
Plan de iteracion
 
Los 13 diagramas UML y sus componentes
Los 13 diagramas UML y sus componentesLos 13 diagramas UML y sus componentes
Los 13 diagramas UML y sus componentes
 
Diagramas UML: Componentes y despliegue
Diagramas UML: Componentes y despliegueDiagramas UML: Componentes y despliegue
Diagramas UML: Componentes y despliegue
 
MVC
MVCMVC
MVC
 
Tipos De Datos Abstractos
Tipos De Datos AbstractosTipos De Datos Abstractos
Tipos De Datos Abstractos
 
Capas de la ingenieria de software
Capas de la ingenieria de softwareCapas de la ingenieria de software
Capas de la ingenieria de software
 
Elementos básicos de modelo entidad relación
Elementos básicos de modelo entidad relaciónElementos básicos de modelo entidad relación
Elementos básicos de modelo entidad relación
 

Andere mochten auch

Retos del Egresado de Ingeniería Civil ante el paradigma de la sustentabilida...
Retos del Egresado de Ingeniería Civil ante el paradigma de la sustentabilida...Retos del Egresado de Ingeniería Civil ante el paradigma de la sustentabilida...
Retos del Egresado de Ingeniería Civil ante el paradigma de la sustentabilida...CICMoficial
 
PARADIGMA IMPERATIVO
PARADIGMA IMPERATIVOPARADIGMA IMPERATIVO
PARADIGMA IMPERATIVOFredy Olaya
 
Introducción a la Programación Orientada a Aspectos
Introducción a la Programación Orientada a AspectosIntroducción a la Programación Orientada a Aspectos
Introducción a la Programación Orientada a Aspectosjfromaniello
 
Programacion Orientada a Aspectos
Programacion Orientada a AspectosProgramacion Orientada a Aspectos
Programacion Orientada a Aspectosjcongote
 
Desarrollo de Software Orientado a Aspectos
Desarrollo de Software Orientado a AspectosDesarrollo de Software Orientado a Aspectos
Desarrollo de Software Orientado a Aspectosmartinp
 
Paradigma Orientado a Objetos
Paradigma Orientado a ObjetosParadigma Orientado a Objetos
Paradigma Orientado a ObjetosNestor Traña
 
Modelos de software ventajas y desventajas
Modelos de software ventajas y desventajasModelos de software ventajas y desventajas
Modelos de software ventajas y desventajasEdith Carreño
 
Sistemas informacion Com Doc
Sistemas informacion Com DocSistemas informacion Com Doc
Sistemas informacion Com Docjaimedetrelew
 
Programacion Orientada a Eventos
Programacion Orientada a EventosProgramacion Orientada a Eventos
Programacion Orientada a EventosLaura
 
Introduccion al paradigma de la programacion orientado a objetos original
Introduccion al paradigma de la programacion orientado a objetos originalIntroduccion al paradigma de la programacion orientado a objetos original
Introduccion al paradigma de la programacion orientado a objetos originalJose Angel Rodriguez
 
Desarrollo de Software Orienta a Objetos
Desarrollo de Software Orienta a ObjetosDesarrollo de Software Orienta a Objetos
Desarrollo de Software Orienta a ObjetosDat@center S.A
 
Paradigmas de programacion
Paradigmas de programacionParadigmas de programacion
Paradigmas de programacionyamy matin
 
Desarrollo de software basado en componentes
Desarrollo de software basado en componentesDesarrollo de software basado en componentes
Desarrollo de software basado en componentesUlises Cruz
 
Modelos de desarrollo de software
Modelos de desarrollo de softwareModelos de desarrollo de software
Modelos de desarrollo de softwarekellypt1
 
modelos del proceso del software
 modelos del proceso del software  modelos del proceso del software
modelos del proceso del software Brihany Rossell
 
Curso Avanzado Seguridad Logs
Curso Avanzado Seguridad LogsCurso Avanzado Seguridad Logs
Curso Avanzado Seguridad LogsAntonio Durán
 
Programación III (Java) - 05 Genericos y Colecciones - java6-7
Programación III (Java) - 05 Genericos y Colecciones - java6-7Programación III (Java) - 05 Genericos y Colecciones - java6-7
Programación III (Java) - 05 Genericos y Colecciones - java6-7Andoni Eguíluz Morán
 
Preguntas Swap Andrade Granda
Preguntas Swap Andrade GrandaPreguntas Swap Andrade Granda
Preguntas Swap Andrade GrandaJonnathan Jimenez
 

Andere mochten auch (20)

Retos del Egresado de Ingeniería Civil ante el paradigma de la sustentabilida...
Retos del Egresado de Ingeniería Civil ante el paradigma de la sustentabilida...Retos del Egresado de Ingeniería Civil ante el paradigma de la sustentabilida...
Retos del Egresado de Ingeniería Civil ante el paradigma de la sustentabilida...
 
Logs y auditoría
Logs y auditoríaLogs y auditoría
Logs y auditoría
 
PARADIGMA IMPERATIVO
PARADIGMA IMPERATIVOPARADIGMA IMPERATIVO
PARADIGMA IMPERATIVO
 
Introducción a la Programación Orientada a Aspectos
Introducción a la Programación Orientada a AspectosIntroducción a la Programación Orientada a Aspectos
Introducción a la Programación Orientada a Aspectos
 
Programacion Orientada a Aspectos
Programacion Orientada a AspectosProgramacion Orientada a Aspectos
Programacion Orientada a Aspectos
 
Desarrollo de Software Orientado a Aspectos
Desarrollo de Software Orientado a AspectosDesarrollo de Software Orientado a Aspectos
Desarrollo de Software Orientado a Aspectos
 
Paradigma Orientado a Objetos
Paradigma Orientado a ObjetosParadigma Orientado a Objetos
Paradigma Orientado a Objetos
 
Modelos de software ventajas y desventajas
Modelos de software ventajas y desventajasModelos de software ventajas y desventajas
Modelos de software ventajas y desventajas
 
Sistemas informacion Com Doc
Sistemas informacion Com DocSistemas informacion Com Doc
Sistemas informacion Com Doc
 
Programacion Orientada a Eventos
Programacion Orientada a EventosProgramacion Orientada a Eventos
Programacion Orientada a Eventos
 
Introduccion al paradigma de la programacion orientado a objetos original
Introduccion al paradigma de la programacion orientado a objetos originalIntroduccion al paradigma de la programacion orientado a objetos original
Introduccion al paradigma de la programacion orientado a objetos original
 
Desarrollo de Software Orienta a Objetos
Desarrollo de Software Orienta a ObjetosDesarrollo de Software Orienta a Objetos
Desarrollo de Software Orienta a Objetos
 
Paradigmas de programacion
Paradigmas de programacionParadigmas de programacion
Paradigmas de programacion
 
Desarrollo de software basado en componentes
Desarrollo de software basado en componentesDesarrollo de software basado en componentes
Desarrollo de software basado en componentes
 
Modelos de desarrollo de software
Modelos de desarrollo de softwareModelos de desarrollo de software
Modelos de desarrollo de software
 
modelos del proceso del software
 modelos del proceso del software  modelos del proceso del software
modelos del proceso del software
 
Curso Avanzado Seguridad Logs
Curso Avanzado Seguridad LogsCurso Avanzado Seguridad Logs
Curso Avanzado Seguridad Logs
 
Programación III (Java) - 05 Genericos y Colecciones - java6-7
Programación III (Java) - 05 Genericos y Colecciones - java6-7Programación III (Java) - 05 Genericos y Colecciones - java6-7
Programación III (Java) - 05 Genericos y Colecciones - java6-7
 
Preguntas Swap Andrade Granda
Preguntas Swap Andrade GrandaPreguntas Swap Andrade Granda
Preguntas Swap Andrade Granda
 
Qué es la swap
Qué es la swapQué es la swap
Qué es la swap
 

Ähnlich wie Programación Orientada a Aspectos (POA)

Programación
ProgramaciónProgramación
ProgramaciónTensor
 
Técnicas de programación
Técnicas de programaciónTécnicas de programación
Técnicas de programaciónMaría Alvarez
 
Programación rientada a Aspectos - David Burbano
Programación rientada a Aspectos - David BurbanoProgramación rientada a Aspectos - David Burbano
Programación rientada a Aspectos - David Burbano2008PA2Info3
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructuradawinny_arias
 
Programacin estructurada
Programacin estructuradaProgramacin estructurada
Programacin estructuradaKurt_williams
 
Programacion Orientada a Objetos (poo)
Programacion Orientada a Objetos (poo) Programacion Orientada a Objetos (poo)
Programacion Orientada a Objetos (poo) Maîck Ddz
 
Tabla comparativa de paradigma de programacion estruturada y pradigma de prog...
Tabla comparativa de paradigma de programacion estruturada y pradigma de prog...Tabla comparativa de paradigma de programacion estruturada y pradigma de prog...
Tabla comparativa de paradigma de programacion estruturada y pradigma de prog...jose francisco arenas jimenez
 
Tema1 desarrollo de software basado en componentes
Tema1 desarrollo de software basado en componentesTema1 desarrollo de software basado en componentes
Tema1 desarrollo de software basado en componentesGary Araujo Viscarra
 
Desarrollo de software basado en componentes
Desarrollo de software basado en componentesDesarrollo de software basado en componentes
Desarrollo de software basado en componentesTensor
 
1.1. conceptualizacion de_tecnologia_orientada_a_objetos_y_programacion_tradi...
1.1. conceptualizacion de_tecnologia_orientada_a_objetos_y_programacion_tradi...1.1. conceptualizacion de_tecnologia_orientada_a_objetos_y_programacion_tradi...
1.1. conceptualizacion de_tecnologia_orientada_a_objetos_y_programacion_tradi...Juan Morales
 
programación orientada a aspectos español
programación orientada a aspectos  españolprogramación orientada a aspectos  español
programación orientada a aspectos españolEl
 
Analisis Y DiseñO Orientado Objetos
Analisis Y DiseñO Orientado ObjetosAnalisis Y DiseñO Orientado Objetos
Analisis Y DiseñO Orientado ObjetosEliecer Suarez
 
Programación Orientada a Aspectos - Fernando Córdoba
Programación Orientada a Aspectos - Fernando CórdobaProgramación Orientada a Aspectos - Fernando Córdoba
Programación Orientada a Aspectos - Fernando Córdoba2008PA2Info3
 
LENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOS
LENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOSLENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOS
LENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOSJonathan Hidalgo Nolasco
 

Ähnlich wie Programación Orientada a Aspectos (POA) (20)

Programación
ProgramaciónProgramación
Programación
 
Técnicas de programación
Técnicas de programaciónTécnicas de programación
Técnicas de programación
 
Sesion 2
Sesion 2Sesion 2
Sesion 2
 
Tabla comparativa
Tabla comparativaTabla comparativa
Tabla comparativa
 
Programación rientada a Aspectos - David Burbano
Programación rientada a Aspectos - David BurbanoProgramación rientada a Aspectos - David Burbano
Programación rientada a Aspectos - David Burbano
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructurada
 
Programacin estructurada
Programacin estructuradaProgramacin estructurada
Programacin estructurada
 
Lucy
LucyLucy
Lucy
 
Poovb
PoovbPoovb
Poovb
 
Programacion Orientada a Objetos (poo)
Programacion Orientada a Objetos (poo) Programacion Orientada a Objetos (poo)
Programacion Orientada a Objetos (poo)
 
Tabla comparativa de paradigma de programacion estruturada y pradigma de prog...
Tabla comparativa de paradigma de programacion estruturada y pradigma de prog...Tabla comparativa de paradigma de programacion estruturada y pradigma de prog...
Tabla comparativa de paradigma de programacion estruturada y pradigma de prog...
 
Tema1 desarrollo de software basado en componentes
Tema1 desarrollo de software basado en componentesTema1 desarrollo de software basado en componentes
Tema1 desarrollo de software basado en componentes
 
Desarrollo de software basado en componentes
Desarrollo de software basado en componentesDesarrollo de software basado en componentes
Desarrollo de software basado en componentes
 
1.1. conceptualizacion de_tecnologia_orientada_a_objetos_y_programacion_tradi...
1.1. conceptualizacion de_tecnologia_orientada_a_objetos_y_programacion_tradi...1.1. conceptualizacion de_tecnologia_orientada_a_objetos_y_programacion_tradi...
1.1. conceptualizacion de_tecnologia_orientada_a_objetos_y_programacion_tradi...
 
programación orientada a aspectos español
programación orientada a aspectos  españolprogramación orientada a aspectos  español
programación orientada a aspectos español
 
Fundamentos de programacion
Fundamentos de programacionFundamentos de programacion
Fundamentos de programacion
 
Analisis Y DiseñO Orientado Objetos
Analisis Y DiseñO Orientado ObjetosAnalisis Y DiseñO Orientado Objetos
Analisis Y DiseñO Orientado Objetos
 
Programación Orientada a Aspectos - Fernando Córdoba
Programación Orientada a Aspectos - Fernando CórdobaProgramación Orientada a Aspectos - Fernando Córdoba
Programación Orientada a Aspectos - Fernando Córdoba
 
Programación modular
Programación modularProgramación modular
Programación modular
 
LENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOS
LENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOSLENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOS
LENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOS
 

Mehr von Walter Javier Franck (8)

Sintesis lean
Sintesis leanSintesis lean
Sintesis lean
 
Clusters de Desarrollo
Clusters de DesarrolloClusters de Desarrollo
Clusters de Desarrollo
 
Estándares de Desarrollo de Software
Estándares de Desarrollo de SoftwareEstándares de Desarrollo de Software
Estándares de Desarrollo de Software
 
Listening Clock
Listening ClockListening Clock
Listening Clock
 
Wfranck listening trends
Wfranck listening trendsWfranck listening trends
Wfranck listening trends
 
Wfranck tags tube
Wfranck tags tubeWfranck tags tube
Wfranck tags tube
 
11559081 moody
11559081 moody11559081 moody
11559081 moody
 
Charlas abiertaspythonlatribu2010
Charlas abiertaspythonlatribu2010Charlas abiertaspythonlatribu2010
Charlas abiertaspythonlatribu2010
 

Kürzlich hochgeladen

Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 

Kürzlich hochgeladen (10)

Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 

Programación Orientada a Aspectos (POA)

  • 2. ¿Qué es POA? Nuevo paradigma de programación Enfoque estructurado: procedimientos o acciones Enfoque orientado a objetos: datos encapsulados en clases Existen funciones que son más difíciles de modularizar que otras, generando un problema conocido como código diseminado. La principal razón de que el código diseminado se presente es debida a las diferentes formas que un servicio este disponible y la forma en que este es usado. El código diseminado en una aplicación retrasa el desarrollo, mantenimiento y evolución de un programa.
  • 3. ¿Por qué POA? Existen conceptos que no pueden encapsularse dentro de una unidad funcional, debido a que atraviesan todo el sistema o varias partes de él, como lo son la sincronización, el manejo de memoria, el manejo de errores, perfiles, seguridad o redes
  • 4. Cronología Histórica Primera generación: código spaghetti Segunda y tercera generación: descomposición funcional Cuarta generación: descomposición en objetos Quinta generación: descomposición en aspectos
  • 5. El Desarrollo Orientado a Aspectos Requiere de tres elementos básicos: Un lenguaje para definir la funcionalidad b·sica, conocido como lenguaje base o componente. Podría ser un lenguaje como C#, C++, Java o Lisp. Uno o varios lenguajes de aspectos, para especificar el comportamiento de los aspectos. Como podrían ser COOL para sincronización o RIDL para distribución. Un tejedor de aspectos (aspect weaver) que produce una aplicación que integra las funcionalidades de las clases y los aspectos. Tal proceso se puede llevar acabo en tiempo de ejecución o en tiempo de compilación.
  • 6. Diferenciación En una primera impresión, la programación orientada a aspectos y la programación orientada a objetos pareciera que son en realidad el mismo paradigma, no obstante, esta noción es errónea. En la programación orientada a objetos los sistemas se modelan como un conjunto de objetos que interactúan entre sÌ, sin embargo, falla al modelar los conceptos que se entrecruzan. La diferencia radica en que mientras la programación orientada a aspectos se enfoca en los conceptos que se entrecruzan, la programación orientada a objetos se enfoca en los conceptos comunes. sigue ->
  • 8. ...hablemos mal de POA Posibles choques entre el código funcional (expresado en el lenguaje base) y el código de aspectos (expresados en los lenguajes de aspectos). Posibles choques entre el código de aspectos y los mecanismos del lenguaje, uno de los ejemplos más conocidos de este problema es la anomalía de herencia. Posibles choques entre los aspectos, un ejemplo clásico es tener dos aspectos que trabajan perfectamente por separado pero al aplicarlos conjuntamente resultan en un comportamiento anormal. Los lenguajes orientados a aspectos actuales no cuentan con mecanismos lingüísticos suficientemente poderosos para respetar por completo todos los principios de diseño, como por ejemplo, el encapsulamiento.
  • 9. Ventajas Permite una implementación modularizada reduciendo el acoplamiento entre sus partes. El código es más limpio, menos duplicado, más fácil de entender y de mantener. Elimina los problemas causados por el código mezclado y el código diseminado. Mayor reutilización, los aspectos tienen mayores probabilidades de ser reutilizados en otros sistemas con requerimientos similares. Los sistemas son más adaptables a cambios, la separación de conceptos permite agregar nuevos aspectos, modificarlos o removerlos fácilmente.
  • 10. Conclusiones La programación orientada a aspectos es un nuevo paradigma que adolece de madurez y formalidad, necesita ser desarrollada más exhaustivamente aun para consolidar sus conceptos. La programación orientada a aspectos es el comienzo de un nuevo paradigma, apenas se esta descubriendo su potencialidad, sus problemas, y sus posibles soluciones, lo que nos hace pensar que es una de las ramas con mayor futuro dentro de la ingeniería de software. Los lenguajes orientados a aspectos actuales, no cuentan con mecanismos lingüísticos suficientemente poderosos para respetar por completo todos los principios de diseño.