Veuillez utiliser cette adresse pour citer ce document :
https://rinacional.tecnm.mx/jspui/handle/TecNM/7740
Titre: | Refactorización de Sistemas Legados de Software, para Equilibrar la Coherencia y Cohesión de su Estructura Interna |
Auteur(s): | Vazquez Diaz, Sandro Geovani%590485 |
Date de publication: | 2016-07-01 |
Editeur: | 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 |
Collection(s) : | Tesis de Maestría en Computación |
Fichier(s) constituant ce document :
Fichier | Description | Taille | Format | |
---|---|---|---|---|
MC_Sandro_Geovani_Vázquez_Diaz_2016.pdf | Tesis | 4.64 MB | Adobe PDF | Voir/Ouvrir |
MC_Sandro_Geovani_Vázquez_Diaz_2016_c.pdf Accès limité | Cesión de derechos | 239.8 kB | Adobe PDF | Voir/Ouvrir Demander une copie |
Ce document est protégé par copyright |
Ce document est autorisé sous une licence de type Licence Creative Commons