Please use this identifier to cite or link to this item: https://rinacional.tecnm.mx/jspui/handle/TecNM/7740
Full metadata record
DC FieldValueLanguage
dc.contributor.authorVazquez Diaz, Sandro Geovani%590485-
dc.creatorVazquez Diaz, Sandro Geovani%590485-
dc.date.accessioned2024-05-07T22:13:40Z-
dc.date.available2024-05-07T22:13:40Z-
dc.date.issued2016-07-01-
dc.identifier.urihttps://rinacional.tecnm.mx/jspui/handle/TecNM/7740-
dc.descriptionLos 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.es_MX
dc.language.isospaes_MX
dc.publisherTecnológico Nacional de Méxicoes_MX
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/4.0es_MX
dc.subjectinfo:eu-repo/classification/cti/7es_MX
dc.titleRefactorización de Sistemas Legados de Software, para Equilibrar la Coherencia y Cohesión de su Estructura Internaes_MX
dc.typeinfo:eu-repo/semantics/masterThesises_MX
dc.contributor.directorSantaolaya Salgado, Rene%122463-
dc.folio989es_MX
dc.rights.accessinfo:eu-repo/semantics/openAccesses_MX
dc.publisher.tecnmCentro Nacional de Investigación y Desarrollo Tecnológicoes_MX
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