Please use this identifier to cite or link to this item: https://rinacional.tecnm.mx/jspui/handle/TecNM/6465
Title: Re-factorización de Módulos Colaborativos con Carencia de Abstracción.
Authors: Sanchez Rogel, Fernando%1086784
Issue Date: 2023-10-05
Publisher: Tecnológico Nacional de México
metadata.dc.publisher.tecnm: Centro Nacional de Investigación y Desarrollo Tecnológico
Description: El paradigma de programación orientada a objetos es un modelo o estilo de programación que ofrece pautas sobre cómo debemos de trabajar con base en propiedades como son la herencia, abstracción y polimorfismo, para estructurar programas de software en piezas reusables simples, con la finalidad de crear software de calidad. Dicho paradigma, se apoya en el uso de los principios de diseño de software, como son los principios de “Abierto-Cerrado” e “Inversión de Dependencias”. Un sistema de software que no hace uso de elementos abstractos como es la clase abstracta o la interfaz dentro de su funcionamiento indica que carece de abstracción. Esta carencia inhabilita el polimorfismo, en consecuencia, la arquitectura presenta rigidez a cambios de comportamiento funcional, lo que indica que se encuentra atada a comportamientos específicos. Por otra parte, al no haber polimorfismo no es posible que una arquitectura de clases de objetos se extienda a nuevas funcionalidades o comportamientos. Tan importante es la abstracción que a través de esta propiedad es como aplicamos los principios fundamentales del diseño orientado a objetos, como lo son: el principio de abierto-cerrado y el principio de inversión de dependencias en arquitecturas de software. A través de esta propiedad se habilita el polimorfismo, logrando que las arquitecturas de clases sean flexibles a cambios de comportamiento en tiempo de ejecución y es posible extender a nuevas funcionalidades y comportamientos. La abstracción es una manera para cambiar diseños arquitecturales frágiles, rígidos e inamovibles en diseños robustos, flexibles y reusables, de reducir la complejidad y permite diseños e implementación más eficiente en sistemas de software complejos. Con la finalidad de obtener diseños robustos, flexibles y reusables de arquitecturas de software carentes de la propiedad de abstracción, en este trabajo se planteó el “Método de Refactorización de Módulos Colaborativos con Carencia de Abstracción”. El método fue implementado en lenguaje Java para automatizar el proceso de refactorización. Se aplican las métricas de Abstracción y Factor de Polimorfismo para evaluar el grado de abstracción y de las situaciones polimórficas que contiene un proyecto o sistema de software existente, en uso. En la etapa de análisis del problema se identificaron diferentes escenarios para los cuáles opera el método de refactorización en este trabajo de investigación. Este método de refactorización tiene como objetivo principal identificar la carencia de abstracción en el diseño de arquitecturas modulares de software mediante un análisis estático de abajo hacia arriba (del código escrito en lenguaje Java hacia el diseño), con el fin de cambiar clases base y clases abstractas por interfaces. Este método de refactorización agrega capacidad, complementa y amplia al “Método de refactorización de arquitecturas de software con carencia de abstracciones” .
metadata.dc.type: info:eu-repo/semantics/masterThesis
Appears in Collections:Tesis de Maestría en Computación

Files in This Item:
File Description SizeFormat 
MC_Fernando_Sanchez_Rogel_2023.pdfTesis2.43 MBAdobe PDFView/Open
MC_Fernando_Sanchez_Rogel_2023_c.pdf
  Restricted Access
Cesión de derechos482.65 kBAdobe PDFView/Open Request a copy


This item is protected by original copyright



This item is licensed under a Creative Commons License Creative Commons