Análisis y mejoras de usabilidad y performance sobre una herramienta de asistencia en el refactoring de aplicaciones
- Autores
- Masson, Iván; Pastore, Roman
- Año de publicación
- 2016
- Idioma
- español castellano
- Tipo de recurso
- tesis de grado
- Estado
- versión aceptada
- Colaborador/a o director/a de tesis
- Vidal, Santiago
Díaz Pace, Andrés - Descripción
- La evolución y mantenimiento de los sistemas de software es una tarea costosa en el proceso de desarrollo de software. Dichos costos tienden a crecer exponencialmente en la medida en que los sistemas se vuelven más grandes y complejos. Una de las mayores preocupaciones en la evolución y mantenimiento de sistemas es la existencia de problemas estructurales de diseño que no son descubiertos y por ende no son subsanados en las etapas tempranas del desarrollo. Este tipo de problemas en el diseño pueden ser identificados mediante “code smells”. Un code smell es un síntoma en el código fuente del sistema que ayuda a identificar un problema de diseño. Los smells permiten a los desarrolladores detectar fragmentos de código que deberían ser reestructurados, para de esa manera mejorar la calidad del sistema. En este aspecto los smells actúan como antipatrones de diseño que ponen en evidencia estas debilidades del sistema. Existen diferentes herramientas semiautomatizadas para la identificación de smells en un sistema tales como inCode o iPlasma, sin embargo una de las mayores limitaciones de dichas herramientas es que usualmente encuentran una gran cantidad de smells; esto puede volverse un problema para el desarrollador por diversas razones. En principio el desarrollador puede verse abrumado por la cantidad de información a analizar, teniendo en cuenta que las herramientas solo señalan los smells y el desarrollador es finalmente quien decide en cada caso si se trata de un problema o no y de sí efectivamente merece que se le otorgue tiempo de desarrollo a solucionar el smell. Una técnica que suele utilizarse para solucionar los code smells es el refactoring. El refactoring es una técnica controlada para mejorar el diseño del código de un sistema. Consiste en aplicar una serie de transformaciones al código para mejorar ciertos aspectos estructurales del mismo sin alterar su comportamiento. Por otro lado, el desarrollador es quien debe decidir qué problemas son relevantes para la “salud” del sistema y cuales interfieren con el objetivo para el que fue diseñado. Bajo estas condiciones es válido mencionar que en la práctica no todos los smells encontrados en un sistema indican un problema de diseño, por ej. pueden existir métodos extensos en ciertas clases, pero cuya extensión puede estar relacionada a la complejidad de la tarea que realizan y no a la falta de modularización. En este sentido, cada smell encontrado requiere de un análisis particular, lo que obliga al desarrollador a detenerse en cada smell de la lista resultante de un análisis y seleccionar aquellos que, bajo su criterio respaldado por su entendimiento del sistema, necesitan ser reparados. En este contexto es necesaria una herramienta que asista al desarrollador en la tarea de identificar aquellos smells que sean prioritarios para la evolución y mantenimiento del sistema. En esta línea se ha propuesto SpIRIT (Smart Identification of Refactoring opportunITies) una herramienta semiautomatizada que realiza una priorización de los code smells de un sistema de acuerdo a su criticidad. Se definen como problemas críticos aquellos que comprometen la arquitectura de un sistema. Luego los mismos autores proponen JSpIRIT (Java Smart Identification of Refactoring opportunITies) que se trata de un plugin para el IDE de desarrollo Eclipse y el cual se utiliza en el desarrollo de éste trabajo. Párrafo extraído de la tesis de grado a modo de resumen
Fil: Masson, Iván. Universidad Nacional del Centro de la Provincia de Buenos Aires. Facultad de Ciencias Exáctas, Argentina
Fil: Pastore, Román. Universidad Nacional del Centro de la Provincia de Buenos Aires. Facultad de Ciencias Exáctas, Argentina
Fil: Vidal, Santiago. Universidad Nacional del Centro de la Provincia de Buenos Aires. Facultad de Ciencias Exáctas, Argentina
Fil: Díaz Pace, Andrés. Universidad Nacional del Centro de la Provincia de Buenos Aires. Facultad de Ciencias Exáctas, Argentina - Materia
-
Code smells
Spirit
Smart Identification of refactoring opportunITies
Computación
Arquitectura-computación
Diseño de bases de datos
Diseño de software
Software - Nivel de accesibilidad
- acceso abierto
- Condiciones de uso
- http://creativecommons.org/licenses/by/2.5/ar/
- Repositorio
- Institución
- Universidad Nacional del Centro de la Provincia de Buenos Aires
- OAI Identificador
- oai:ridaa.unicen.edu.ar:123456789/588
Ver los metadatos del registro completo
id |
RIDUNICEN_992aa0455d5051ed300f42a4321708c2 |
---|---|
oai_identifier_str |
oai:ridaa.unicen.edu.ar:123456789/588 |
network_acronym_str |
RIDUNICEN |
repository_id_str |
a |
network_name_str |
RIDAA (UNICEN) |
spelling |
Análisis y mejoras de usabilidad y performance sobre una herramienta de asistencia en el refactoring de aplicacionesMasson, IvánPastore, RomanCode smellsSpiritSmart Identification of refactoring opportunITiesComputaciónArquitectura-computaciónDiseño de bases de datosDiseño de softwareSoftwareLa evolución y mantenimiento de los sistemas de software es una tarea costosa en el proceso de desarrollo de software. Dichos costos tienden a crecer exponencialmente en la medida en que los sistemas se vuelven más grandes y complejos. Una de las mayores preocupaciones en la evolución y mantenimiento de sistemas es la existencia de problemas estructurales de diseño que no son descubiertos y por ende no son subsanados en las etapas tempranas del desarrollo. Este tipo de problemas en el diseño pueden ser identificados mediante “code smells”. Un code smell es un síntoma en el código fuente del sistema que ayuda a identificar un problema de diseño. Los smells permiten a los desarrolladores detectar fragmentos de código que deberían ser reestructurados, para de esa manera mejorar la calidad del sistema. En este aspecto los smells actúan como antipatrones de diseño que ponen en evidencia estas debilidades del sistema. Existen diferentes herramientas semiautomatizadas para la identificación de smells en un sistema tales como inCode o iPlasma, sin embargo una de las mayores limitaciones de dichas herramientas es que usualmente encuentran una gran cantidad de smells; esto puede volverse un problema para el desarrollador por diversas razones. En principio el desarrollador puede verse abrumado por la cantidad de información a analizar, teniendo en cuenta que las herramientas solo señalan los smells y el desarrollador es finalmente quien decide en cada caso si se trata de un problema o no y de sí efectivamente merece que se le otorgue tiempo de desarrollo a solucionar el smell. Una técnica que suele utilizarse para solucionar los code smells es el refactoring. El refactoring es una técnica controlada para mejorar el diseño del código de un sistema. Consiste en aplicar una serie de transformaciones al código para mejorar ciertos aspectos estructurales del mismo sin alterar su comportamiento. Por otro lado, el desarrollador es quien debe decidir qué problemas son relevantes para la “salud” del sistema y cuales interfieren con el objetivo para el que fue diseñado. Bajo estas condiciones es válido mencionar que en la práctica no todos los smells encontrados en un sistema indican un problema de diseño, por ej. pueden existir métodos extensos en ciertas clases, pero cuya extensión puede estar relacionada a la complejidad de la tarea que realizan y no a la falta de modularización. En este sentido, cada smell encontrado requiere de un análisis particular, lo que obliga al desarrollador a detenerse en cada smell de la lista resultante de un análisis y seleccionar aquellos que, bajo su criterio respaldado por su entendimiento del sistema, necesitan ser reparados. En este contexto es necesaria una herramienta que asista al desarrollador en la tarea de identificar aquellos smells que sean prioritarios para la evolución y mantenimiento del sistema. En esta línea se ha propuesto SpIRIT (Smart Identification of Refactoring opportunITies) una herramienta semiautomatizada que realiza una priorización de los code smells de un sistema de acuerdo a su criticidad. Se definen como problemas críticos aquellos que comprometen la arquitectura de un sistema. Luego los mismos autores proponen JSpIRIT (Java Smart Identification of Refactoring opportunITies) que se trata de un plugin para el IDE de desarrollo Eclipse y el cual se utiliza en el desarrollo de éste trabajo. Párrafo extraído de la tesis de grado a modo de resumenFil: Masson, Iván. Universidad Nacional del Centro de la Provincia de Buenos Aires. Facultad de Ciencias Exáctas, ArgentinaFil: Pastore, Román. Universidad Nacional del Centro de la Provincia de Buenos Aires. Facultad de Ciencias Exáctas, ArgentinaFil: Vidal, Santiago. Universidad Nacional del Centro de la Provincia de Buenos Aires. Facultad de Ciencias Exáctas, ArgentinaFil: Díaz Pace, Andrés. Universidad Nacional del Centro de la Provincia de Buenos Aires. Facultad de Ciencias Exáctas, ArgentinaUniversidad Nacional del Centro de la Provincia de Buenos Aires. Facultad de Ciencias ExáctasVidal, SantiagoDíaz Pace, Andrés2016-052016-06-03T15:10:46Zinfo:eu-repo/semantics/bachelorThesisinfo:eu-repo/semantics/acceptedVersionhttp://purl.org/coar/resource_type/c_7a1finfo:ar-repo/semantics/tesisDeGradoapplication/pdfapplication/pdfhttp://www.ridaa.unicen.edu.ar/xmlui/handle/123456789/588https://www.ridaa.unicen.edu.ar/handle/123456789/588spahttp://creativecommons.org/licenses/by/2.5/ar/info:eu-repo/semantics/openAccessreponame:RIDAA (UNICEN)instname:Universidad Nacional del Centro de la Provincia de Buenos Aires2025-09-04T09:43:51Zoai:ridaa.unicen.edu.ar:123456789/588instacron:UNICENInstitucionalhttps://www.ridaa.unicen.edu.ar/Universidad públicaNo correspondehttps://www.ridaa.unicen.edu.ar/oailleiboff@rec.unicen.edu.ar;gimeroni@rec.unicen.edu.ar;lvarela@rec.unicen.edu.ar ;ArgentinaNo correspondeNo correspondeNo correspondeopendoar:a2025-09-04 09:43:51.451RIDAA (UNICEN) - Universidad Nacional del Centro de la Provincia de Buenos Airesfalse |
dc.title.none.fl_str_mv |
Análisis y mejoras de usabilidad y performance sobre una herramienta de asistencia en el refactoring de aplicaciones |
title |
Análisis y mejoras de usabilidad y performance sobre una herramienta de asistencia en el refactoring de aplicaciones |
spellingShingle |
Análisis y mejoras de usabilidad y performance sobre una herramienta de asistencia en el refactoring de aplicaciones Masson, Iván Code smells Spirit Smart Identification of refactoring opportunITies Computación Arquitectura-computación Diseño de bases de datos Diseño de software Software |
title_short |
Análisis y mejoras de usabilidad y performance sobre una herramienta de asistencia en el refactoring de aplicaciones |
title_full |
Análisis y mejoras de usabilidad y performance sobre una herramienta de asistencia en el refactoring de aplicaciones |
title_fullStr |
Análisis y mejoras de usabilidad y performance sobre una herramienta de asistencia en el refactoring de aplicaciones |
title_full_unstemmed |
Análisis y mejoras de usabilidad y performance sobre una herramienta de asistencia en el refactoring de aplicaciones |
title_sort |
Análisis y mejoras de usabilidad y performance sobre una herramienta de asistencia en el refactoring de aplicaciones |
dc.creator.none.fl_str_mv |
Masson, Iván Pastore, Roman |
author |
Masson, Iván |
author_facet |
Masson, Iván Pastore, Roman |
author_role |
author |
author2 |
Pastore, Roman |
author2_role |
author |
dc.contributor.none.fl_str_mv |
Vidal, Santiago Díaz Pace, Andrés |
dc.subject.none.fl_str_mv |
Code smells Spirit Smart Identification of refactoring opportunITies Computación Arquitectura-computación Diseño de bases de datos Diseño de software Software |
topic |
Code smells Spirit Smart Identification of refactoring opportunITies Computación Arquitectura-computación Diseño de bases de datos Diseño de software Software |
dc.description.none.fl_txt_mv |
La evolución y mantenimiento de los sistemas de software es una tarea costosa en el proceso de desarrollo de software. Dichos costos tienden a crecer exponencialmente en la medida en que los sistemas se vuelven más grandes y complejos. Una de las mayores preocupaciones en la evolución y mantenimiento de sistemas es la existencia de problemas estructurales de diseño que no son descubiertos y por ende no son subsanados en las etapas tempranas del desarrollo. Este tipo de problemas en el diseño pueden ser identificados mediante “code smells”. Un code smell es un síntoma en el código fuente del sistema que ayuda a identificar un problema de diseño. Los smells permiten a los desarrolladores detectar fragmentos de código que deberían ser reestructurados, para de esa manera mejorar la calidad del sistema. En este aspecto los smells actúan como antipatrones de diseño que ponen en evidencia estas debilidades del sistema. Existen diferentes herramientas semiautomatizadas para la identificación de smells en un sistema tales como inCode o iPlasma, sin embargo una de las mayores limitaciones de dichas herramientas es que usualmente encuentran una gran cantidad de smells; esto puede volverse un problema para el desarrollador por diversas razones. En principio el desarrollador puede verse abrumado por la cantidad de información a analizar, teniendo en cuenta que las herramientas solo señalan los smells y el desarrollador es finalmente quien decide en cada caso si se trata de un problema o no y de sí efectivamente merece que se le otorgue tiempo de desarrollo a solucionar el smell. Una técnica que suele utilizarse para solucionar los code smells es el refactoring. El refactoring es una técnica controlada para mejorar el diseño del código de un sistema. Consiste en aplicar una serie de transformaciones al código para mejorar ciertos aspectos estructurales del mismo sin alterar su comportamiento. Por otro lado, el desarrollador es quien debe decidir qué problemas son relevantes para la “salud” del sistema y cuales interfieren con el objetivo para el que fue diseñado. Bajo estas condiciones es válido mencionar que en la práctica no todos los smells encontrados en un sistema indican un problema de diseño, por ej. pueden existir métodos extensos en ciertas clases, pero cuya extensión puede estar relacionada a la complejidad de la tarea que realizan y no a la falta de modularización. En este sentido, cada smell encontrado requiere de un análisis particular, lo que obliga al desarrollador a detenerse en cada smell de la lista resultante de un análisis y seleccionar aquellos que, bajo su criterio respaldado por su entendimiento del sistema, necesitan ser reparados. En este contexto es necesaria una herramienta que asista al desarrollador en la tarea de identificar aquellos smells que sean prioritarios para la evolución y mantenimiento del sistema. En esta línea se ha propuesto SpIRIT (Smart Identification of Refactoring opportunITies) una herramienta semiautomatizada que realiza una priorización de los code smells de un sistema de acuerdo a su criticidad. Se definen como problemas críticos aquellos que comprometen la arquitectura de un sistema. Luego los mismos autores proponen JSpIRIT (Java Smart Identification of Refactoring opportunITies) que se trata de un plugin para el IDE de desarrollo Eclipse y el cual se utiliza en el desarrollo de éste trabajo. Párrafo extraído de la tesis de grado a modo de resumen Fil: Masson, Iván. Universidad Nacional del Centro de la Provincia de Buenos Aires. Facultad de Ciencias Exáctas, Argentina Fil: Pastore, Román. Universidad Nacional del Centro de la Provincia de Buenos Aires. Facultad de Ciencias Exáctas, Argentina Fil: Vidal, Santiago. Universidad Nacional del Centro de la Provincia de Buenos Aires. Facultad de Ciencias Exáctas, Argentina Fil: Díaz Pace, Andrés. Universidad Nacional del Centro de la Provincia de Buenos Aires. Facultad de Ciencias Exáctas, Argentina |
description |
La evolución y mantenimiento de los sistemas de software es una tarea costosa en el proceso de desarrollo de software. Dichos costos tienden a crecer exponencialmente en la medida en que los sistemas se vuelven más grandes y complejos. Una de las mayores preocupaciones en la evolución y mantenimiento de sistemas es la existencia de problemas estructurales de diseño que no son descubiertos y por ende no son subsanados en las etapas tempranas del desarrollo. Este tipo de problemas en el diseño pueden ser identificados mediante “code smells”. Un code smell es un síntoma en el código fuente del sistema que ayuda a identificar un problema de diseño. Los smells permiten a los desarrolladores detectar fragmentos de código que deberían ser reestructurados, para de esa manera mejorar la calidad del sistema. En este aspecto los smells actúan como antipatrones de diseño que ponen en evidencia estas debilidades del sistema. Existen diferentes herramientas semiautomatizadas para la identificación de smells en un sistema tales como inCode o iPlasma, sin embargo una de las mayores limitaciones de dichas herramientas es que usualmente encuentran una gran cantidad de smells; esto puede volverse un problema para el desarrollador por diversas razones. En principio el desarrollador puede verse abrumado por la cantidad de información a analizar, teniendo en cuenta que las herramientas solo señalan los smells y el desarrollador es finalmente quien decide en cada caso si se trata de un problema o no y de sí efectivamente merece que se le otorgue tiempo de desarrollo a solucionar el smell. Una técnica que suele utilizarse para solucionar los code smells es el refactoring. El refactoring es una técnica controlada para mejorar el diseño del código de un sistema. Consiste en aplicar una serie de transformaciones al código para mejorar ciertos aspectos estructurales del mismo sin alterar su comportamiento. Por otro lado, el desarrollador es quien debe decidir qué problemas son relevantes para la “salud” del sistema y cuales interfieren con el objetivo para el que fue diseñado. Bajo estas condiciones es válido mencionar que en la práctica no todos los smells encontrados en un sistema indican un problema de diseño, por ej. pueden existir métodos extensos en ciertas clases, pero cuya extensión puede estar relacionada a la complejidad de la tarea que realizan y no a la falta de modularización. En este sentido, cada smell encontrado requiere de un análisis particular, lo que obliga al desarrollador a detenerse en cada smell de la lista resultante de un análisis y seleccionar aquellos que, bajo su criterio respaldado por su entendimiento del sistema, necesitan ser reparados. En este contexto es necesaria una herramienta que asista al desarrollador en la tarea de identificar aquellos smells que sean prioritarios para la evolución y mantenimiento del sistema. En esta línea se ha propuesto SpIRIT (Smart Identification of Refactoring opportunITies) una herramienta semiautomatizada que realiza una priorización de los code smells de un sistema de acuerdo a su criticidad. Se definen como problemas críticos aquellos que comprometen la arquitectura de un sistema. Luego los mismos autores proponen JSpIRIT (Java Smart Identification of Refactoring opportunITies) que se trata de un plugin para el IDE de desarrollo Eclipse y el cual se utiliza en el desarrollo de éste trabajo. Párrafo extraído de la tesis de grado a modo de resumen |
publishDate |
2016 |
dc.date.none.fl_str_mv |
2016-05 2016-06-03T15:10:46Z |
dc.type.none.fl_str_mv |
info:eu-repo/semantics/bachelorThesis info:eu-repo/semantics/acceptedVersion http://purl.org/coar/resource_type/c_7a1f info:ar-repo/semantics/tesisDeGrado |
format |
bachelorThesis |
status_str |
acceptedVersion |
dc.identifier.none.fl_str_mv |
http://www.ridaa.unicen.edu.ar/xmlui/handle/123456789/588 https://www.ridaa.unicen.edu.ar/handle/123456789/588 |
url |
http://www.ridaa.unicen.edu.ar/xmlui/handle/123456789/588 https://www.ridaa.unicen.edu.ar/handle/123456789/588 |
dc.language.none.fl_str_mv |
spa |
language |
spa |
dc.rights.none.fl_str_mv |
http://creativecommons.org/licenses/by/2.5/ar/ info:eu-repo/semantics/openAccess |
rights_invalid_str_mv |
http://creativecommons.org/licenses/by/2.5/ar/ |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
application/pdf application/pdf |
dc.publisher.none.fl_str_mv |
Universidad Nacional del Centro de la Provincia de Buenos Aires. Facultad de Ciencias Exáctas |
publisher.none.fl_str_mv |
Universidad Nacional del Centro de la Provincia de Buenos Aires. Facultad de Ciencias Exáctas |
dc.source.none.fl_str_mv |
reponame:RIDAA (UNICEN) instname:Universidad Nacional del Centro de la Provincia de Buenos Aires |
reponame_str |
RIDAA (UNICEN) |
collection |
RIDAA (UNICEN) |
instname_str |
Universidad Nacional del Centro de la Provincia de Buenos Aires |
repository.name.fl_str_mv |
RIDAA (UNICEN) - Universidad Nacional del Centro de la Provincia de Buenos Aires |
repository.mail.fl_str_mv |
lleiboff@rec.unicen.edu.ar;gimeroni@rec.unicen.edu.ar;lvarela@rec.unicen.edu.ar ; |
_version_ |
1842341497659195392 |
score |
12.623145 |