Please use this identifier to cite or link to this item: https://rinacional.tecnm.mx/jspui/handle/TecNM/1368
Full metadata record
DC FieldValueLanguage
dc.contributor.authorPadilla Salgado, Pablo%815074-
dc.creatorPadilla Salgado, Pablo%815074-
dc.date.accessioned2021-06-22T19:02:52Z-
dc.date.available2021-06-22T19:02:52Z-
dc.date.issued2019-07-29-
dc.identifier.urihttps://rinacional.tecnm.mx/jspui/handle/TecNM/1368-
dc.descriptionLa programación orientada a objetos es uno de los paradigmas actuales que sirven para producir software de calidad, siempre y cuando se respeten y cumplan los principios del diseño orientado a objetos. Uno de estos, es la Separación de Interfaces, que establece que los clientes de cualquier software no deben ser forzados a depender de interfaces que no ocupan. Un marco de aplicaciones orientado a objetos es un conjunto de clases abstractas que trabajan juntas para ofrecer soluciones a muchos problemas específicos u ofrecer servicios dentro de un mismo dominio de aplicaciones. Los marcos deben ofrecer métodos para extender su funcionalidad y dar facilidades para reusar partes del marco de manera independiente. Si un marco de aplicaciones orientado a objetos cumple con sus principios orientados a objetos, puede ser reusado y extendido sin ningún problema. Si se logra el reuso de código, se reduce el tiempo de programación de una nueva aplicación y, por lo tanto, se reduce la posibilidad de defectos, ya que se está usando código previamente probado. Cuando los marcos no están bien diseñados no se cuenta con estas características, por lo que es necesario obtenerlas mejorando la arquitectura del marco. La refactorización consiste en modificar la arquitectura del marco sin afectar a la funcionalidad del mismo. Una situación que con frecuencia surge en el diseño de un marco es el problema de dependencia de interfaces producido por la herencia de interfaz cuando las subclases en realidad no ocupan dichas interfaces. Cuando un marco de aplicaciones orientado a objetos tiene el problema de dependencia de interfaces, su funcionalidad no puede ser reusada de manera separada, y tampoco puede ser extendida sin violar otros principios orientados a objetos, como el principio de abierto / cerrado. Para resolver este problema se implementa el método de refactorización denominado Separación de Interfaces realizado por [Valdez, 2004], cuyo algoritmo fue implementado satisfactoriamente en una herramienta que hace refactorización de manera automática. Aunque se sabe que este problema existe, no se tiene una forma para medir hasta qué grado este problema afecta a los marcos. En esta tesis se implementa una métrica orientada a objetos que mide el grado de dependencia debido a interfaces que no se ocupan. Se presentan casos de estudio para mostrar cómo esta métrica ayuda a detectar cuando los marcos tienen un problema grave de dependencia de interfaces. Con esta información se puede tomar una decisión cuantitativa para encargarse del problema. Se muestra además para estos casos de estudio cómo se lleva a cabo la refactorización de forma automática, utilizando la herramienta diseñada, y las ventajas que se obtienen al hacer este proceso sobre un marco.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.subject.otherprogramación orientada objetos interfaz método refactorizaciónes_MX
dc.titleMÉTODOS DE REFACTORIZACIÓN DE CÓDIGO JAVA CON INTERFACES Y ABSTRACCIÓN INCORRECTASes_MX
dc.typeinfo:eu-repo/semantics/masterThesises_MX
dc.contributor.directorSantaolaya Salgado, Rene%122463-
dc.folio19-329es_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_Pablo_Padilla_Salgado_2019.pdfTesis3.1 MBAdobe PDFView/Open
MC_Pablo_Padilla_Salgado_2019.pdf
  Until 3021-06-22
Cesión de derechos112.18 kBAdobe PDFView/Open Request a copy


This item is protected by original copyright



This item is licensed under a Creative Commons License Creative Commons