Please use this identifier to cite or link to this item: https://rinacional.tecnm.mx/jspui/handle/TecNM/7740
Title: Refactorización de Sistemas Legados de Software, para Equilibrar la Coherencia y Cohesión de su Estructura Interna
Authors: Vazquez Diaz, Sandro Geovani%590485
Issue Date: 2016-07-01
Publisher: Tecnológico Nacional de México
metadata.dc.publisher.tecnm: Centro Nacional de Investigación y Desarrollo Tecnológico
Description: Los sistemas Orientados a Objetos demandan del desarrollador gran capacidad de imaginación, abstracción y creatividad, para plantear la solución correcta a problemas prácticos de aplicaciones computacionales. Sin embargo estas habilidades son difíciles de ejercer y más difícil de utilizarlas en conjunto. Lo que resulta en arquitecturas de software o unidades de programas que exhiben características de fragilidad, rigidez a cambios o extensiones de requerimientos y baja reusabilidad. Esta situación se manifiesta en altos costos por mantenimiento y por el desarrollo de nuevas aplicaciones. Como parte de la solución a este problema, algunos trabajos de investigación utilizan métodos de refactorización de software de legado. Sin embargo, estos trabajos no mejoran al grado de coherencia o no equilibran los factores de calidad de coherencia y cohesión de las unidades de programa. Esta tesis presenta un proceso de refactorización y una herramienta automática que implementa este proceso para lograr el equilibrio entre los factores de cohesión y coherencia de software legado desarrollado en lenguaje C ++. Así mismo, se propone una métrica para medir la coherencia utilizando las secuencias interactivas entre los métodos de una clase, y una métrica para medir la cohesión que refleja el grado de relación entre los atributos de una clase con un método único en esa clase. El proceso de refactorización de esta tesis incluye dos métodos que se aplican en la siguiente secuencia. El objetivo del primero de estos métodos es mejorar la cohesión, se busca que los elementos de la clase estén relacionados para cumplir con un objetivo o meta de valor para un usuario. El segundo método verifica la coherencia y tiene el propósito que las clases tengan una única responsabilidad. Se realizaron cinco casos de prueba, caso uno: el grado de coherencia no fue mejorado, caso dos: se mejoró el grado de cohesión y coherencia, caso tres: reubicar secuencias interactivas de métodos, caso cuatro: crear herencia por atributos compartidos, caso cinco: cinco clases, una clase es abstracta y no se proporciona la clase cliente. Las pruebas realizadas al proceso de refactorización muestran que es posible equilibrar automáticamente el grado de cohesión y coherencia en las arquitecturas de software legado, lo que mejora la modularidad, la consecución de un mejor nivel de reuso, reducir los tiempos de mantenimiento y por lo tanto los costos de software.
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_Sandro_Geovani_Vázquez_Diaz_2016.pdfTesis4.64 MBAdobe PDFView/Open
MC_Sandro_Geovani_Vázquez_Diaz_2016_c.pdf
  Restricted Access
Cesión de derechos239.8 kBAdobe PDFView/Open Request a copy


This item is protected by original copyright



This item is licensed under a Creative Commons License Creative Commons