Navigation
MediaWiki

Propuestas TfM

From ManuelResinas

Jump to: navigation, search

¡Atención! Estas propuestas son para el curso 2011/2012. En breve estarán disponibles las nuevas propuestas para el curso 2012/2013

Contents

Identificación de redes sociales en equipos de desarrollo de software

En la actualidad, los equipos de desarrollo de software utilizan una gran cantidad de herramientas para coordinar a sus miembros como, por ejemplo, sistemas de control de versiones, sistemas de gestión de tareas o sistemas de integración continua. El resultado es que una gran cantidad de las actividades llevadas a cabo por los miembros del equipo de desarrollo quedan registradas en estas herramientas. El objetivo del trabajo consiste en analizar esa información que ha quedado registrada con el objetivo de identificar redes sociales entre los desarrolladores del proyecto y sacar conclusiones útiles sobre el buen desarrollo del proyecto.

Bibliografía inicial: Mining Task-Based Social Networks to Explore Collaboration in Software Teams. IEEE Software 26(1), 58-66

Gestión automática de recursos en un ecosistema de desarrollo software

Un ecosistema de desarrollo software es el conjunto de herramientas que, acompañadas de unas buenas prácticas, permiten a un equipo de desarrollo modelar una metodología de trabajo. Estas herramientas habitualmente incluyen un sistema de control de versiones, un sistema de gestión de tareas, un sistema de integración continua, un repositorio de documentos, etc. Normalmente, estas herramientas son independientes entre si y es necesario integrarlas para poder trabajar con ellas de una forma uniforme. Uno de los aspectos más problemáticos de la integración es la gestión de usuarios y de sus permisos en las distintas aplicaciones. El objetivo del trabajo consiste en definir los modelos de permisos de las herramientas más habituales de los ecosistemas de desarrollo y proporcionar un metamodelo para poder gestionar los permisos de una manera uniforme y genérica.

Definición y obtención automática de métricas de rendimiento de equipos

Identificar un catálogo de métricas de rendimiento de equipos y desarrollar un mecanismo genérico para permitir obtenerlas de forma automática a partir de la información registrada en sistemas tipo Redmine.

Extracción automática de indicadores clave de rendimiento

Analizar las distintas fuentes de información que proporcionan las medidas necesarias para calcular indicadores clave de rendimiento en una empresa y proporcionar un mecanismo para la extracción automática de dichas medidas.

Análisis y caracterización de sistemas NoSQL

Hasta hace muy poco, ninguna aplicación empresarial se planteaba utilizar una sistema de base de datos que no estuviese basado en el modelo relacional. Sin embargo, recientemente han surgido un conjunto de bases de datos conocidas de forma genérica como NoSQL que están teniendo un gran éxito para la realización de determinadas tareas. Por ejemplo, el periódico The Guardian ha obtenido una gran ganancia de rendimiento al pasar de una base de datos relacional a MongoDB. El objetivo del trabajo consiste en estudiar las características de las bases de datos NoSQL más populares y caracterizar los tipos de aplicaciones en los que cada resulta más útil utilizar uno u otro sistema de base de datos.

DSLs para aplicaciones con arquitectura REST

El estilo arquitectónico REST es cada vez más utilizado como forma de ofrecer APIs a través de Internet. Sin embargo, aunque existen frameworks que facilitan el desarrollo de aplicaciones que ofrezcan APIs REST como Restlet, Jersey o Resteasy, en la mayoría de los casos es necesario desarrollar manualmente una gran cantidad de código de infraestructura. El objetivo del trabajo consiste en definir un conjunto de DSLs que permita definir APIs REST y que sirva para generar automáticamente todo (o gran parte) de este código.

Definición de patrones de diseño para arquitecturas REST

El estilo arquitectónico REST es cada vez más utilizado como forma de ofrecer APIs a través de Internet. Sin embargo, utilizar este estilo arquitectónico hace que determinados aspectos usuales de programación sean necesarios enfocarlos de una forma ligeramente distinta. El objetivo del trabajo consiste en definir un conjunto de patrones de diseño para plantear soluciones generales a problemas que habitualmente surgen al diseñar un API REST.