Show simple item record

dc.contributor.advisorArenas Seleey, Danielspa
dc.contributor.authorPineda Suárez, Nohora Marcelaspa
dc.contributor.authorDíaz Arenas, Luisa Fernandaspa
dc.date.accessioned2020-06-26T17:56:08Z
dc.date.available2020-06-26T17:56:08Z
dc.date.issued2008-05-27
dc.identifier.urihttp://hdl.handle.net/20.500.12749/1229
dc.description.abstractHoy en día, es necesario conocer sobre la programación orientada a aspectos, porque es un avance en la ingeniería de software, se fundamenta en la correcta modularización y óptima separación de componentes, siendo un nuevo campo que ha abierto la programación orientada a objetos, se puede observar que los progresos más significativos se han obtenido gracias a la descomposición de un sistema complejo en partes que sean más fáciles de manejar. Partiendo de la programación orientada a objetos y basándose en el principio de la programación a aspectos se empieza aplicar la ingeniería de software para el modelado y el diseño de aplicaciones, se integra la metodología Theme Approach, partiendo de los requerimientos dados por el analista para el sistema. Al entender el fundamento de la programación orientada a aspectos, se busca demostrar que este paradigma es más eficiente y eficaz que la programación orientada a objetos, el propósito es hacer una comparación entre estos dos paradigmas, para esto se tomo un programa de escritorio: "Simulador de un cajero automático ATM" orientado a objetos; basándonos en su metodología se aplicará la metodología planteada para desarrollar el cajero orientado a aspectos, de esta forma se evidencian las ventajas y desventajas de utilizar este paradigma. El desarrollo de este proyecto, busca estudiar este paradigma y seguir la metodología planteada pasó por paso, para llegar a la construcción del nuevo sistema con interfaz Web.spa
dc.description.tableofcontentsINTRODUCCIÓN 26 1. PLANTEAMIENTO DEL PROBLEMA Y JUSTIFICACIÓN 28 2. ESTADO DEL ARTE 31 3. MARCO TEÓRICO 37 3.1 ASPECTOS 37 3.2 CROSSCUTTING (INCUMBENCIAS) 39 3.3 PROGRAMACIÓN ORIENTADA A ASPECTOS 42 3.3.1 Punto de Unión (joinpoint) 43 3.3.2 Intersección o Puntos de Corte (pointcut) 44 3.3.3 Consejo o Avisos (advine) 44 3.3.4 Introducciones (introduction) 45 3.3.5 Tejedor (Weaving) 45 3.4 REQUERIMIENTOS PARA DESARROLLO DE LA PROGRAMACIÓN ORIENTADA A ASPECTOS POA 46 3.5 OBJETIVOS DE LA PROGRAMACIÓN ORIENTADA A ASPECTOS POA 48 3.6 VENTAJAS DE LA PROGRAMACIÓN ORIENTADA A ASPECTOS 49 3.7 DESVENTAJAS DE LA PROGRAMACIÓN ORIENTADA A ASPECTOS 50 3.8 INGENIERÍA DE SOFTWARE Y DESARROLLO ORIENTADO A ASPECTOS 51 3.8.1 Etapa 1: Identificar concerns 52 3.8.2 Etapa 2: Implementar competencias 53 3.8.3 Etapa 3: Componer el sistema final 53 3.9 MÉTRICAS PARA LA PROGRAMACIÓN ORIENTADA A ASPECTOS 56 3.10 TECNOLOGÍAS PARA LA PROGRAMACIÓN ORIENTADA A ASPECTOS POA 58 3.10.1 Avanti 58 3.10.2 Aopmetrics 58 3.10.2.1 Extensiones de métricas para POA 59 3.10.2.2 Implementación actual 59 3.10.3 ARJ 59 3.10.4 THEME/UML 60 3.11 ASPECTOS Y FRAMEWORK 60 3.12 CARACTERÍSTICAS DE APLICACIONES ESCRITORIO Y WEB 62 3.12.1 Web vs Escritorio 62 3.12.2 Pros y contras de aplicaciones de escritorio y Web 63 3.12.3 Bajo mantenimiento y mejoras forzadas 63 3.12.4 Riesgos crecientes de la seguridad 63 3.12.5 Costo 64 3.12.6 Conectividad 64 3.12.7 Mas lento 64 3.12.8 Reservas y propiedades 64 3.13 LENGUAJE UNIFICADO DE MODELADO UML 65 3.13.1 Diagrama de estructura 66 3.13.2 Diagrama de comportamiento 66 3.13.3 Diagrama de interacción 67 3.14 METODOLOGÍA DE DESARROLLO 68 3.14.1 Rup (Rational Unified Process) 68 3.14.2 Metodología Theme / Approach 71 3.14.2.1 Reglas para la separación de candidatos 74 3.14.3 Modelo arquitectónico para el desarrollo orientado a aspectos 74 3.14.4 Identificación temprana de aspectos 76 4. DISEÑO METODOLÓGICO 77 4.1 ETAPA 1: ESTUDIO 77 4.2 ETAPA 2. ELABORACIÓN DE LA METODOLOGÍA 78 4.2.1 Fase 1: Inicio 79 4.2.1.1 Análisis 79 4.2.2 Fase 2: Elaboración 79 4.2.2.1 Análisis 79 4.2.2.2 Diseño 79 4.2.3 Fase 3: Construcción 80 4.2.3.1 Análisis 80 4.2.3.2 Diseño 80 4.2.3.3 Implementación 80 4.3 ETAPA 3: APLICACIÓN 80 4.4 ETAPA 4: RESULTADOS 81 5. METODOLOGÍA PLANTEADA 83 5.1 RUP PARA METODOLOGÍA PLANTEADA 83 5.2 DIAGRAMAS DE LA METODOLOGÍA PLANTEADA 84 5.2.1 Etapa 1 84 5.2.2 Etapa 2 84 5.2.3 Etapa 3 86 5.2.4 Etapa 4 86 5.2.5 Etapa 5 86 5.2.6 Etapa 6 87 5.2.7 Etapa 7 87 5.3 DESARROLLO DE LA METODOLOGÍA PARA EL CASO DE ESTUDIO: SIMULADOR DE UN CAJERO AUTOMÁTICO ATM 87 5.3.1 Etapa 1. Especificar el sistema con diagramas de casos de uso 87 5.3.1.1 Caso de uso, sin aspectos 87 5.3.1.2 Requerimientos funcionales con temas 88 5.3.2 Etapa 2. Modelo de diseño 91 5.3.2.1 Diagrama de secuencia 91 5.3.2.2 Descomponer el sistema en componentes de diseño 91 5.3.2.3 Arquitectura Orientada a Objetos 91 5.3.3 Etapa 3. Identificar concerns 94 5.3.3.1 Analizar requerimientos 94 5.3.4 Etapa 4. Elección de aspectos candidatos 96 5.3.4.1 Identificar crosscutting concerns y concerns funcionales 97 5.3.4.2 Seleccionar aspectos candidatos 96 5.3.5 Etapa 5. Especificar aspectos candidatos 99 5.3.5.1 Describir responsabilidades 100 5.3.5.2 Identificar relaciones entre aspectos candidatos y elementos del modelo 102 5.3.5.3 Arquitectura POA 103 5.3.6 Etapa 6. Identificar conflictos 105 5.3.7 Etapa 7. Modelar UML 106 5.3.8 Etapa 8. Diagramas de secuencia extendido con aspectos 107 5.3.9 Etapa 9. Expresar el Sistema con Aspectos 107 5.3.10 Etapa 10. Generar Prototipo para el Sistema 108 5.3.11 Etapa 11. Ejecutar el Prototipo 108 6. CONCLUSIONES 110 BIBLIOGRAFÍA 114spa
dc.format.mimetypeapplication/pdfspa
dc.language.isospaspa
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/2.5/co/*
dc.titleModelado y desarrollo de aplicaciones orientadas a la web desde una perspectiva de ingeniería del software orientada a aspectosspa
dc.title.translatedModeling and development of web-oriented applications from an aspect-oriented software engineering perspectiveeng
dc.degree.nameIngeniero de Sistemasspa
dc.coverageBucaramanga (Colombia)spa
dc.publisher.grantorUniversidad Autónoma de Bucaramanga UNABspa
dc.rights.localAbierto (Texto Completo)spa
dc.publisher.facultyFacultad Ingenieríaspa
dc.publisher.programPregrado Ingeniería de Sistemasspa
dc.description.degreelevelPregradospa
dc.type.driverinfo:eu-repo/semantics/bachelorThesis
dc.type.localTrabajo de Gradospa
dc.type.coarhttp://purl.org/coar/resource_type/c_7a1f
dc.subject.keywordsObject oriented programmingeng
dc.subject.keywordsSystems engineeringeng
dc.subject.keywordsSoftware engineeringeng
dc.subject.keywordsSoftware measurementeng
dc.subject.keywordsResearcheng
dc.subject.keywordsTheme approacheng
dc.subject.keywordsCrosscuttingeng
dc.subject.keywordsScatteringeng
dc.subject.keywordsTanglingeng
dc.identifier.instnameinstname:Universidad Autónoma de Bucaramanga - UNABspa
dc.identifier.reponamereponame:Repositorio Institucional UNABspa
dc.type.hasversioninfo:eu-repo/semantics/acceptedVersion
dc.rights.accessrightsinfo:eu-repo/semantics/openAccessspa
dc.rights.accessrightshttp://purl.org/coar/access_right/c_abf2spa
dc.relation.referencesPineda Suárez, Nohora Marcela, Díaz Arenas, Luisa Fernanda, Arenas Seleey, Daniel (2008). Modelado y desarrollo de aplicaciones orientadas a la web desde una perspectiva de ingeniería del software orientada a aspectos. Bucaramanga (Colombia) : Universidad Autónoma de Bucaramanga UNABspa
dc.relation.referencesASTEASUAIN, Fernando; CONTRERAS, Bernando; ESTÉVEZ, Elsa y FILLOTTRANI, Pablo. Programación Orientada a Aspectos: Metodología y Evaluación. Universidad Nacional del Sur, Argentina, 2005. p. 1-12.spa
dc.relation.referencesASTEASUAIN, Fernando y CONTRERAS, Bernando. Programación Orientada a Aspectos, Análisis del paradigma. Universidad Nacional del Sur, Argentina, 2002. p. 1-130.spa
dc.relation.referencesAOSD STEERING COMMITTEE. AOSD [online], 2005. [Citado 10 febrero 2006]. Disponible en Internet: <http://www.aosd.net>.spa
dc.relation.referencesCÁCERES, Abdiel, Programación Orientada a aspectos. Centro de Investigación y de Estudios Avanzados - IPN, México 2004.spa
dc.relation.referencesCLARKE, Siobhàn y BANIASSAD, Elisa. Aspect-Oriented Analysis and Design: The Theme Approach. Addison-Wesley. [8] AOSD STEERING COMMITTEE. AOSD [En línea], 2005. [Citado 10 febrero 2006]. Disponible en Internet: <http://www.aosd.net>.spa
dc.relation.referencesDEPARTAMENTO DE CS. E ING. DE LA COMPUTACIÓN. Tesis de Licenciatura "Programación Orientada a Aspectos: Análisis del Paradigma" Fernando Asteasuain - Bernardo Ezequiel Contreras [En línea], 2007. [Citado 10 febrero 2007]. Disponible en Internet: <http://www.angelfire.com/ri2/aspectos/TesisLic.htm>spa
dc.relation.referencesDÍAZ, Elizabeth; ÁLVAREZ, Juan y CONGOTE, John. Aspect-oriented Programming AOP [En línea], 2006. [Citado 20 febrero 2006]. Disponible en Internet:<http://www.slideshare.net/jcongote/programacion-orientada-a-aspectos/>.spa
dc.relation.referencesGÓMEZ, Pedro y VILLALOBOS, Jesús. Introducción a la Programación Orientada a Aspectos (POA). Universidad de Castilla la Mancha, 2005.spa
dc.relation.referencesGrupo de Agentes de Software: Ingeniería y aplicaciones, Ciclo de Vida [En línea], 2006. [Citado marzo 2007]. Disponible en Internet: <http://grasia.fdi.ucm.es/ingenias/Spain/integracion/index.php>spa
dc.relation.referencesHAAK, Betina; DÍAZ, Miguel; MARCOS, Claudia y PRYOR, Jane. Identificación temprana de aspectos, ISISTAN Instituto de sistemas Tandil (Argentina). 2004.spa
dc.relation.referencesHANNEMANN, Jan y KICZALES, Gregor. “Design Pattern Implementation in Java and AspectJ”. University of British Columbia, [En línea] 2003 [Citado marzo 2007]. Disponible en Internet: <http://www.cs.ubc.ca/labs/spl/papers/2002/oopsla02-patterns.pdf>spa
dc.relation.referencesIBARGÜENGOITIA, Guadalupe. Desarrollo de Software Orientado a Aspectos. UNAM, México, 2006. p. 1-34.spa
dc.relation.referencesKICKZALES, Gregor; LAMPING, John; MENDHEKAR, Anurag; MAEDA, Chris; VIDEIRA LOPES, Cristina; LOINGTIER, Jean-Marc y IRWIN, John. “Aspect- Oriented Programming”, in Proceedings of the European Conference on Object-Oriented Programming (ECOOP), Finland, 1997.spa
dc.relation.referencesMANZANARES, Guillén. Programación Orientada a Aspectos. Una experiencia práctica con AspectJ, Universidad de Murcia, 2005.spa
dc.relation.referencesMARTÍNEZ, Luis Vinuesa. Separación Dinámica de Aspectos independiente del Lenguaje y Plataforma mediante el uso de Reflexión Computacional. Universidad de Oviedo. 2007.spa
dc.relation.referencesMARTÍNEZ, Luis Vinuesa. Separación Dinámica de Aspectos independiente del Lenguaje y Plataforma mediante el uso de Reflexión Computacional. Universidad de Oviedo. 2007.spa
dc.relation.referencesMONTES, Pablo. programación Orientada a Aspectos. Politécnico Grancolombiano, Bogotá, 2006. p. 1-101.spa
dc.relation.referencesNAVASA, A; PALMA, K; MURILLO, J.M y ETEROVIC. Dos modelos arquitectónicos para el DSOA, Universidad de Extremadura (España) y pontificia Universidad católica (Chile). 2005.spa
dc.relation.referencesPRESSMAN, Roger S. Ingeniería de Software: un enfoque practico. Quinta edición, 2002. Ed. McGraw-Hill.spa
dc.relation.referencesPROGRAMEMOS.COM. AspectJ por Fernando Asteasuain [En línea], 2005. [Citado 12 febrero 2007]. Disponible en Internet: <http://www.programemos.com/index.php?option=com_content&task=view&id=%20158&Itemid=68>.spa
dc.relation.referencesRASHID, Awais; MOREIRA, Ana y ARAÚJO, João. Modularisation and Composition of Aspectual. Lancaster University y FCT, Universidade Nova de Lisboa, 2002.spa
dc.relation.referencesREINA QUINTERO, Antonia Maria. Visión Genereal de la Programación Orientada a Aspectos. Universidad de Sevilla, 2000.spa
dc.relation.referencesRODRÍGUEZ ECHEVERRIA, Roberto. Modelando Procesos de Negocio Web desde una Perspectiva Orientada a Aspectos. Universidad de Extremadura.2007.spa
dc.relation.referencesWIKIPEDIA Foundation, Inc. Proceso Unificado de Rational [En línea], 2007. [Citado marzo 2007]. Disponible en Internet: <http://es.wikipedia.org/wiki/Proceso_Unificado_de_Rational>.spa
dc.relation.referencesWIKIPEDIA Foundation, Inc. Proceso Framework [En línea], 2007. [Citado septiembre 2007]. Disponible en Internet: <http://es.wikipedia.org/wiki/Framework>spa
dc.relation.referencesWIKIPEDIA Foundation, Inc.. Programación Orientada a Aspectos (POA) [En línea], 2007. [Citado 10 febrero 2007]. Disponible en Internet: <http://es.wikipedia.org/wiki/Programaci%C3%B3n_Orientada_a_Aspectos>.spa
dc.contributor.cvlachttps://scienti.minciencias.gov.co/cvlac/visualizador/generarCurriculoCv.do?cod_rh=0000068829*
dc.contributor.cvlacArenas Seleey, Daniel [0000068829]
dc.contributor.googlescholarhttps://scholar.google.es/citations?hl=es#user=osfVKVoAAAAJ*
dc.contributor.googlescholarArenas Seleey, Daniel [osfVKVoAAAAJ]
dc.contributor.orcidhttps://orcid.org/0000-0003-3697-3835*
dc.contributor.orcidArenas Seleey, Daniel [0000-0003-3697-3835]
dc.contributor.researchgatehttps://www.researchgate.net/profile/Daniel_Arenas-Seleey*
dc.contributor.researchgateArenas Seleey, Daniel [Daniel-Arenas-Seleey]
dc.subject.lembProgramación orientada a objetosspa
dc.subject.lembIngeniería de sistemasspa
dc.subject.lembIngeniería de softwarespa
dc.subject.lembMedición de softwarespa
dc.subject.lembInvestigacionesspa
dc.description.abstractenglishToday, it is necessary to know the aspect-oriented programming, because it is an advance in software engineering, it is based on the correct modularization and optimal separation of components, being a new field that has opened the object-oriented programming, you can Observe that the most significant progress has been obtained thanks to the decomposition of a complex system into parts that are easier to manage. Starting from the object-oriented programming and modifications in the principle of programming to aspects, software engineering for the modeling and design of applications begins to be applied, the methodology of Thematic approach is integrated, starting from the requirements given by the analyst for the system. "By understanding the foundation of aspect-oriented programming, we seek to demonstrate that this paradigm is more efficient and effective than object-oriented programming, the purpose is to make a comparison between these two paradigms, for this I took a desktop program: Object-oriented "ATM machine simulator", based on its methodology, the proposed methodology will be applied to develop the driver-oriented aspects, thus showing the advantages and disadvantages of using this paradigm. The development of this project seeks Studying this paradigm and following the proposed methodology went step by step, leading to the construction of the new system with a web interface.eng
dc.subject.proposalDispersiónspa
dc.subject.proposalCorte transversalspa
dc.subject.proposalEnfoque temáticospa
dc.type.redcolhttp://purl.org/redcol/resource_type/TP
dc.rights.creativecommonsAtribución-NoComercial-SinDerivadas 2.5 Colombia*
dc.contributor.researchgroupGrupo de Investigación Tecnologías de Información - GTIspa
dc.contributor.researchgroupGrupo de Investigaciones Clínicasspa
dc.coverage.campusUNAB Campus Bucaramangaspa
dc.description.learningmodalityModalidad Presencialspa
dc.contributor.linkedinArenas Seleey, Daniel [daniel-arenas-seleey-25aa56138]


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record

Atribución-NoComercial-SinDerivadas 2.5 Colombia
Except where otherwise noted, this item's license is described as Atribución-NoComercial-SinDerivadas 2.5 Colombia