Por favor, use este identificador para citar o enlazar este ítem: https://rinacional.tecnm.mx/jspui/handle/TecNM/7740
Título : Refactorización de Sistemas Legados de Software, para Equilibrar la Coherencia y Cohesión de su Estructura Interna
Autor : Vazquez Diaz, Sandro Geovani%590485
Fecha de publicación : 2016-07-01
Editorial : Tecnológico Nacional de México
metadata.dc.publisher.tecnm: Centro Nacional de Investigación y Desarrollo Tecnológico
Descripción : 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
Aparece en las colecciones: Tesis de Maestría en Computación

Ficheros en este ítem:
Fichero Descripción Tamaño Formato  
MC_Sandro_Geovani_Vázquez_Diaz_2016.pdfTesis4.64 MBAdobe PDFVisualizar/Abrir
MC_Sandro_Geovani_Vázquez_Diaz_2016_c.pdf
  Restricted Access
Cesión de derechos239.8 kBAdobe PDFVisualizar/Abrir  Request a copy


Este ítem está protegido por copyright original



Este ítem está sujeto a una licencia Creative Commons Licencia Creative Commons Creative Commons