Story Transcript
MÁSTER EN INGENIERÍA Y TECNOLOGÍA DEL SOFTWARE
TRABAJO FIN DE MÁSTER
PROPUESTAS PARA EL CURSO 2015-2016
26 de octubre de 2015
[1] TÍTULO Patrones arquitectónicos para aplicaciones de software como servicio en la nube. DESCRIPCIÓN La expansión de Internet y las aplicaciones para móviles a todos los ámbitos de la vida cotidiana han hecho que las características de las aplicaciones web hayan variado de una forma muy significativa en los últimos años. Conceptos como multi-tenancy, escalado horizontal, NoSQL, análisis de logs, etc. han cambiado de forma radical la forma de crear y concebir las aplicaciones en la nube. OBJETIVOS Hacer una revisión sistemática de la literatura sobre patrones arquitectónicos para este tipo de aplicaciones. Analizar cómo el uso de PaaS (Plataformas como Servicios) como CloudFoundry (http://www.cloudfoundry.org) pueden ayudar al desarrollo y migración de aplicaciones web tradicionales a aplicaciones de software como servicio en la nube. CONOCIMIENTOS PREVIOS Nociones básicas de desarrollo de aplicaciones web. BIBLIOGRAFÍA RECOMENDADA [1] Ralph Retter, Christoph Fehling, Dimka Karastoyanova, Frank Leymann, Daniel Schleicher: Combining horizontal and vertical composition of services. Service Oriented Computing and Applications 6(2): 117-130 (2012). Available at: http://www.tandfonline.com/doi/pdf/10.1080/17517575.2010.492950
[2] Christoph Fehling, Frank Leymann, Jochen Rütschlin, David Schumm: Pattern-Based Development and Management of Cloud Applications. Future Internet 4(1): 110-141 (2012). Available at: http://www.mdpi.com/1999-5903/4/1/110/pdf
[3] Vasilios Andrikopoulos, Tobias Binz, Frank Leymann, Steve Strauch: How to adapt applications for the Cloud environment - Challenges and solutions in migrating applications to the Cloud. Computing 95(6): 493-535 (2013). Available at: http://link.springer.com/article/10.1007/s00607-012-0248-2
[4] Luis M. Vaquero, Luis Rodero-Merino, Rajkumar Buyya: Dynamically scaling applications in the cloud. ACM SIGCOMM Computer Communication Review 41(1): 25-52 (2011). Available at: http://dl.acm.org/citation.cfm?id=1925869
[5] Scott Chate: Convert your web application to a multi-tenant SaaS. Available at: http://www.ibm.com/developerworks/cloud/library/cl-multitenantsaas/ [6] Enterprise Logging and Alerting with Graylog2, RabbitMq and NEsper. Available at: http://russellallen.info/post/2012/06/24/Enterprise-Logging-and-Alerting-with-Graylog2-RabbitMq-andNEsper.aspx
[7] CloudFoundry: http://www.cloudfoundry.org
[2] TÍTULO Simulaciones de procesos de negocio. DESCRIPCIÓN La simulación por ordenador intenta imitar el funcionamiento de la vida real en un ordenador con el objetivo de ver cómo mejorar los procesos y sistemas y cómo predecir su rendimiento en distintas circunstancias. La simulación se ha aplicado en muchas disciplinas con gran éxito y se considera una herramienta que puede resultar muy útil en el contexto de la gestión de procesos de negocio. Sin embargo, en la actualidad el uso de simuladores para procesos de negocio es bastante limitado. OBJETIVOS El objetivo que se persigue con este trabajo es profundizar en la simulación aplicada a procesos de negocio, analizar distintos simuladores existentes en la actualidad y estudiar sus ventajas e inconvenientes a la hora de aplicarlos para la simulación de procesos de negocio. CONOCIMIENTOS PREVIOS Nociones básicas de procesos de negocio y BPMN. BIBLIOGRAFÍA RECOMENDADA [1] Wil M. P. van der Aalst: Business Process Simulation Revisited. EOMAS 2010: 1-14. Available at: http://0-link.springer.com.fama.us.es/chapter/10.1007%2F978-3-642-15723-3_1
[2] Wil M. P. van der Aalst , Joyce Nakatumba, Anne Rozinat, Nick Russell: Business Process Simulation. Handbook on Business Process Management 1: 313-338. Available at: http://0-link.springer.com.fama.us.es/chapter/10.1007/978-3-642-00416-2_15
[3] BiMP simulator: http://bimp.cs.ut.ee
[4] Anylogic simulator: http://www.anylogic.com
[5] CPN tools simulator: http://cpntools.org
[3] TÍTULO Técnicas de integración de información: ontologías y análisis de datos ómicos. DESCRIPCIÓN Existen multitud de técnicas para el análisis de datos ómicos como son los datos de expresión. Por otra parte, en la fase de validación de los modelos generados utilizando técnicas de minería de datos necesitan conocimiento experto y hoy en día se utilizan los repositorios públicos de información como son Gene Ontology, KEGG, etc. OBJETIVOS Hacer una revisión sistemática de la literatura sobre técnicas de extracción de conocimiento, fundamentalmente redes de genes, a partir de datos de expresión que integran información a priori o conocimiento experto de manera sistemática utilizando los repositorios públicos de información. CONOCIMIENTOS PREVIOS Es importante no tener problemas en leer en inglés. BIBLIOGRAFÍA RECOMENDADA [1] Gene Network Reconstruction by Integration of Prior Biological Knowledge (2015) [2] Data Mining: Concepts and Techniques. Jiawei Han [3] Integrating biological knowledge based on functional annotations for biclustering of gene expression data. Computer Methods and Programs in Biomedicine 119(3): 163-180 (2015)
[4] TÍTULO Diagnóstico del "TDAH" (Trastorno por Déficit de Atención e Hiperactividad) a través del análisis de datos extraídos con pruebas para la evaluación neuropsicológica. DESCRIPCIÓN Análisis de patrones de comportamiento para el diagnóstico del TDAH a partir de datos de pruebas de evaluación neuropsicológica. OBJETIVOS Hacer una revisión sistemática de la literatura sobre técnicas de Minería de Datos aplicadas al campo del diagnóstico del TDAH. Análisis de patrones de comportamiento para el diagnóstico del TDAH a partir de datos de pruebas de evaluación neuropsicológica proporcionados por el Dpto. de Psicología Experimental de la Universidad de Sevilla. CONOCIMIENTOS PREVIOS Es importante no tener problemas en leer en inglés. BIBLIOGRAFÍA RECOMENDADA [1] Data Mining: Concepts and Techniques. Jiawei Han
[5] TÍTULO Estudio de la aplicabilidad de la técnica de Dijkman para la definición de un mapa de procesos de negocios en el ámbito Universitario. DESCRIPCIÓN Se trata de tomar como referencia la técnica propuesta por Remko Dijkman en [1], para definir el primer nivel de una arquitectura de procesos de negocio, o mapa de procesos, basado en la identificación de tipos de casos y funciones de negocio, y aplicarlo al ámbito de los procesos de gestión de un departamento de la Universidad de Sevilla. Esta técnica se enmarca dentro de la fase de identificación de procesos, definida como la primera fase del ciclo de vida de gestión de los procesos de negocio, de acuerdo con [2]. OBJETIVOS Adquirir/profundizar los conceptos sobre los que se fundamenta la gestión de procesos de negocio. Adquirir los conocimientos necesarios para llevar a cabo la identificación de procesos de negocio, familiarizándose con la técnica de Dijkman abordando las dimensiones de tipos de casos y funciones del negocio. Aplicar dicha técnica al caso real del departamento LSI para definir el mapa de procesos de gestión del mismo. Continuar con los siguientes niveles de la arquitectura y definir los procesos de negocio identificados utilizando la notación BPMN. CONOCIMIENTOS PREVIOS Deseables conocimiento básicos en gestión de procesos de negocios, pero no requeridos. BIBLIOGRAFÍA RECOMENDADA [1] R. Dijkman, I. Vanderfeesten, H.A. Reijers, The road to a business process architecture: an overview of approaches and their use. BETA Working Paper Series, WP 350. Eindhoven University of Technology, Eindhoven (2011) [2] M. Dumas, M. La Rosa, J. Mendling, H.A. Reijers. Fundamentals of Business Process Management. (Springer, Berlín, 2013) [3] M. Weske, Business Process Management: Concepts, Languages, Architectures, 2nd edn. (Springer, Berlin, 2012) [4] B. Silver. BPMN Method & Style, 2nd edn. (Cody-Cassidy Press, 2012
[6] TÍTULO Metodologías ágiles siguiendo los estándares del PMI. DESCRIPCIÓN OBJETIVOS Con este trabajo se pretende analizar cuál sería el método ágil más adecuado para el desarrollo de proyectos siguiendo los estándares del PMI (www.pmi.org). Para ello habría que analizar diferentes metodologías ágiles y presentar una propuesta que se adapte a dichos estándares. CONOCIMIENTOS PREVIOS BIBLIOGRAFÍA RECOMENDADA
[7] TÍTULO Gestión de proyectos de desarrollo de software con CMMI y PRINCE2. DESCRIPCIÓN El trabajo consistiría en explorar la posibilidad de integrar de forma adecuada las propuestas de CMMI como modelo de referencia de producción de software y de mejora de proceso, con los planteamientos de PRINCE2 para abordar la gestión de los proyectos. OBJETIVOS Hacer un estudio del estado del arte en relación a los trabajos existentes que aborden la integración de la propuestas de CMMI respecto a la gestión de proyectos de desarrollo de software con modelos generales de gestión de proyectos y en concreto aquellos que relacionen CMMI y PRINCE2. Una vez realizado el estudio del estado del arte se sentarán las bases generales que indiquen cómo podría concretarse la integración de ambas propuestas. CONOCIMIENTOS PREVIOS Capacidad de lectura de textos en lengua inglesa, capacidad de síntesis e interés investigador. BIBLIOGRAFÍA RECOMENDADA
[8] TÍTULO Gestión integrada de proyectos con PMBOK y PRINCE2. DESCRIPCIÓN El trabajo consistirá en identificar las similitudes y diferencias entre PMBOK y PRINCE2 para analizar si es posible que una organización pueda abordar la gestión de proyectos dando respuesta de forma simultánea a las exigencias que ambas propuestas plantean. Si se concluye que ello es posible se intentará definir un framework de acción adecuado para lograr tal objetivo. OBJETIVOS Hacer un estudio del estado del arte en relación a los trabajos existentes que aborden la integración de las propuestas de PMBOK y PRINCE2. Una vez realizado el estudio del estado del arte se sentarán las bases generales que indiquen cómo podría concretarse la integración de ambas propuestas. CONOCIMIENTOS PREVIOS Capacidad de lectura de textos en lengua inglesa, capacidad de síntesis e interés investigador. BIBLIOGRAFÍA RECOMENDADA
[9] TÍTULO Análisis de tendencias en el desarrollo web. DESCRIPCIÓN Los avances tecnológicos no dejan de sucederse en el ámbito del desarrollo web. Surgen nuevas herramientas, frameworks, enfoques, etc. a la hora de desarrollar este tipo de aplicaciones. http://studio.uxpin.com/ebooks/web-ui-design-trends-2015-2016/
OBJETIVOS Estudiar y analizar las tendencias, tanto tecnológicas como de orientación, en el desarrollo de aplicaciones web. Dado que el estudio puede ser muy amplio, el alumno debe delimitar el enfoque que seguirá. CONOCIMIENTOS PREVIOS El alumno debe tener una buena base en el desarrollo de aplicaciones web, a ser preferible experiencia en el sector trabajando con las últimas tecnologías. BIBLIOGRAFÍA RECOMENDADA
[10] TÍTULO Big Data en Procesos de Negocio. DESCRIPCIÓN Actualmente las organizaciones empresariales e institucionales llevan a cabo complejos procesos de negocio. Su automatización y monitorización mediante gestores de procesos han permitido: minimizar tiempo y gastos, tomar mejores decisiones que las hagan más competitivas, y modificar sus procedimientos de manera más fácil y efectiva. Esto ha originado que la mejora de los procesos de negocio sea un importante hito en los últimos años. El problema es que, ante entornos cada vez más competitivos, las decisiones que se toman en los procesos están dirigidas por los datos que le rodean, y el resto de procesos e instancias que se ejecutan a la vez. Desafortunadamente, las distintas propuestas y estándares olvidan incluir cómo puede afectar a la ejecución del proceso información de fuentes externas y heterogéneas, instancias que se ejecutan a la vez, ejecuciones del pasado, o instancias de otros procesos relacionados. OBJETIVOS Analizar las propuestas de modelado y gestión de datos masivos (Big Data) en procesos de negocio y en qué grado las soluciones comerciales abarcan este problema. Esto se realizará estudiando los trabajos existentes donde se propongan procesos de negocio que alimente y usen fuentes masivas de datos, y las técnicas que proponen para una utilización óptima de los mismos en las distintas herramientas comerciales. CONOCIMIENTOS PREVIOS Graduado en Informática (Ingeniería del Software o Tecnologías Informáticas), Ingeniero en Informática, Técnico en Informática de Gestión o de Sistemas. BIBLIOGRAFÍA RECOMENDADA [1] Christoph Gröger, Holger Schwarz, Bernhard Mitschang: Prescriptive Analytics for Recommendation-Based Business Process Optimization. 25-37, 17th International Conference on Business Information Systems (BIS 2014) [2] María Teresa Gómez-López, Rafael M. Gasca and José Miguel Pérez-Álvarez, "Compliance Validation and Diagnosis of Business Data Constraints in Business Processes at Runtime", Journal of Information Systems. Elsevier (IF: 1.23) [3] Yacine Djemaiel, Nejla Essaddi, Noureddine Boudriga: Optimizing Big Data Management Using Conceptual Graphs: A Mark-Based Approach. 1-12, Business Information System Conference, 2014 [4] Hadoop. http://hadoop.apache.org/
[5] Why Big Data Analytics. http://www.datameer.com/
[11] TÍTULO Modelado de Reglas de Decisión. DESCRIPCIÓN Los procesos que describen las actividades de una corporación para alcanzar sus objetivos pueden llegar a ser de gran complejidad, complicando tanto su diseño como evaluación [1]. Por esta razón el estándar de la OMG (DMN- Decision Model & Notation) [5] da la posibilidad de describir el conjunto de decisiones que se pueden tomar en el proceso, creando modelos más sencillo y modificables. Que lo sistemas sean modificables, incluso por el personal no técnico es fundamental para el negocio. Los sistemas de software actuales necesitan soportar cambios cada vez más rápidos, y que sean extensibles y aplicables a las distintas plataformas en las que se desarrollan. Por esta razón, el estándar DMN ha sido incluido en importantes herramientas comerciales, permitiendo incluir la descripción de las políticas del negocio con lenguaje natural, y haciéndolas entendible por los evaluadores de reglas de decisión. Dichas reglas se pueden combinar dentro de los propios procesos de negocio, y ser evaluadas y almacenadas por diferentes herramientas comerciales. OBJETIVOS Profundizar en el estudio del estándar Decision Model Notation, comparando entre sí y con el estándar las herramientas comerciales que siguen dicho estándar, como es el caso de Drools [2], IBM BlueWorksLive [3], OpenRule [4], Dcision First Modeler [6]. CONOCIMIENTOS PREVIOS Ingeniero en Informática, Técnico en Informática de Gestión o en Sistemas. BIBLIOGRAFÍA RECOMENDADA [1] Kimon Batoulis, Andreas Meyer, Ekaterina Bazhenova, Gero Decker, Mathias Weske: Extracting Decision Logic from Process Models. CAiSE 2015: 349-366 [2] http://www.drools.org/ [3] https://www.blueworkslive.com/ [4] http://openrules.com/ [5] http://www.omg.org/spec/DMN/ [6] http://decisionsfirst.com/
[12] TÍTULO Generación automática de pruebas unitarias en Java. DESCRIPCIÓN La generación automática de casos de prueba unitarios ya es una realidad en lenguajes como Java. Herramientas como Randoop, EvoSuite o CodePro (Google) son un ejemplo de ellas. El objetivo de este trabajo es hacer una comparativa de las técnicas y herramientas existentes para la generación automática de casos de prueba en Java y medir su eficacia en varios proyectos de código abierto. OBJETIVOS Estudio de técnicas y herramientas para la generación automática de casos de prueba. Aplicación de las herramientas estudiadas a varios casos de estudio. CONOCIMIENTOS PREVIOS Ser capaz de leer textos en inglés con fluidez. BIBLIOGRAFÍA RECOMENDADA [1] Randoop. http://mernst.github.io/randoop/
[2] Evosuite. http://www.evosuite.org/
[3] CodePro. https://developers.google.com/java-dev-tools/codepro/
[13] TÍTULO Predicción de errores en Google. DESCRIPCIÓN Google utiliza una estrategia sencilla pero eficaz para detectar aquellos ficheros que son más propensos a fallos y sobre los que conviene tener especial cuidado al realizar cambios (http://google-engtools.blogspot.com.es/2011/12/bug-prediction-at-google.html). El objetivo de este trabajo es hacer una aplicación que sea capaz de aplicar el mismo proceso a cualquier proyecto Git. De forma opcional, se podrán añadir extensiones a la aplicación para participar en el concurso sobre herramientas de prueba organizado por el SSTQB cuyo primer premio son 2000€. OBJETIVOS Replicar la estrategia de predicción de errores de Google en proyectos Git. [Opcional] Extender la herramienta con técnicas de predicción de errores más sofisticadas. CONOCIMIENTOS PREVIOS Ser capaz de leer textos en inglés con fluidez. BIBLIOGRAFÍA RECOMENDADA [1] http://google-engtools.blogspot.com.es/2011/12/bug-prediction-at-google.html [2] http://www.kim-herzig.de/2014/04/06/mining-bug-data-a-practitioners-guid-recommendationsystems-in-software-engineering/ [3] http://dx.doi.org/10.1109/ISSRE.2010.25
[14] TÍTULO Diseño de Experimentos en Ingeniería del Software Empírica: revisión de la literatura y propuesta de formalización en SEDL. DESCRIPCIÓN La Ingeniería del Software Empírica (ISE) pretende aplicar la experimentación para fundamentar las decisiones respecto de los algoritmos, tecnologías, herramientas, metodologías, y prácticas que deben aplicarse en la creación y mantenimiento del software. Para realizar dichos experimentos, es necesario seleccionar un diseño experimental concreto, que define el conjunto de actuaciones y mediciones a realizar durante el experimento. Existen en la literatura un conjunto extenso y bien definido de diseños experimentales, que proporcionan las propiedades estadísticas apropiadas a los resultados, para que mediante su análisis se puedan extraer conclusiones sólidas, veraces y evitar sesgos debido a factores intrínsecos o ambientales. En el presente trabajo se realiza una revisión de la literatura en ISE con el objetivo de identificar los diseños experimentales más populares y los análisis estadísticos que se han utilizado para extraer conclusiones a partir de ellos. Además, estudiamos diversos lenguajes específicos de dominio para la descripción de experimentos propuestos en el área, evaluando su soporte para la descripción de dichos experimentos. Por último, en base a los resultados de dichas actividades, proponemos una extensión para uno de esos lenguajes que permite describir sin ambigüedades los diseños más populares, y validamos dicha propuesta mediante el modelado de todos los artículos estudiados durante la revisión de la literatura. OBJETIVOS Identificar los diseños experimentales más ampliamente utilizados en la literatura de ISE Determinar el análisis apropiado para los diseños más populares e identificar si la metodología de análisis consistente para analizar cada uno de estos diseños Determinar si los lenguajes de descripción de experimentos actuales soportan la descripción de dichos diseños y análisis. Si no es así diseñar una extensión para SEDL para soportar la descripción de dichos elementos. CONOCIMIENTOS PREVIOS Deseables conocimiento básicos sobre estadística y la metodología empírica, pero no son estrictamente necesarios. BIBLIOGRAFÍA RECOMENDADA [1]. Sjøberg, D. I., Hannay, J. E., Hansen, O., Kampenes, V. B., Karahasanovic, A., Liborg, N. K., & Rekdal, A. C. (2005). A survey of controlled experiments in software engineering. Software Engineering, IEEE Transactions on, 31(9), 733-753. [2] Montgomery, Douglas C., and Douglas C. Montgomery. Design and analysis of experiments. Vol. 7. New York: Wiley, 1984. [3] Wohlin, Claes, et al. Experimentation in software engineering. Springer Science & Business Media, 2012. [4] Juristo, Natalia, and Ana M. Moreno. Basics of software engineering experimentation. Springer Science & Business Media, 2013.
[15] TÍTULO Estudio y análisis de las técnicas de ‘Deep learning’. DESCRIPCIÓN En los últimos años se están logrando avances importantes en múltiples aplicaciones relacionadas con el análisis de datos gracias a la aplicación del llamado ‘deep learning’. Si bien es un método basado en las redes neuronales ampliamente utilizadas en el pasado, las técnicas que se aplican en este nuevo enfoque han demostrado ser capaces de aprender con grandes volúmenes de datos no etiquetados y lograr resultados en ocasiones muy superiores al estado del arte hasta la fecha. OBJETIVOS Estudiar los fundamentos de las técnicas involucradas en el ‘deep learning’. Recopilar y extraer conclusiones de los trabajos que están aplicando estas técnicas en diversos campos de investigación. Analizar las herramientas desarrolladas que permiten a los investigadores poner en práctica estas técnicas. Poner en práctica, en la medida de lo posible, las técnicas analizadas para resolver algún problema real o simulado. CONOCIMIENTOS PREVIOS Conocimientos básicos sobre redes neuronales y aprendizaje automático en general. BIBLIOGRAFÍA RECOMENDADA [1] https://rubenlopezg.wordpress.com/2014/05/07/que-es-y-como-funciona-deep-learning/ [2] http://deeplearning.net/reading-list/
[16] TÍTULO Validación e instrumentación de compensaciones en Acuerdos de Nivel de Servicio. DESCRIPCIÓN Se trata de explorar el soporte actualmente existente para Acuerdos de Nivel de Servicio (ANS) que incorporan compensaciones entre partes. Se tomará como referencia general la recomendación WS–Agreement y de manera más concreta el lenguaje iAgree. Se estudiará el estado del arte en cuanto a la validación de la definición de compensaciones y de su instrumentación. Dependiendo del resultado del estado del arte, se podrá plantear una prueba de concepto de la instrumentación siguiendo el paradigma de programación con restricciones, más concretamente del entorno OPL. La validación permitirá detectar y explicar errores en la definición y la instrumentación hará posible la computación de las compensaciones a realizar por violaciones y sobreprovisiones del ANS. OBJETIVOS Adquirir conceptos fundamentales de los ANS. Conocer el estado del arte de la validación e instrumentación de compensaciones en ANS. Desarrollar prueba de concepto de validación e instrumentación de compensaciones en iAgree. CONOCIMIENTOS PREVIOS Deseable conocimientos básicos sobre ANS y programación con restricciones. BIBLIOGRAFÍA RECOMENDADA [1] Explaining the non-compliance between templates and agreement offers in ws-agreement. C Müller, M Resinas, A Ruiz-Cortés. Proceedings ICSOC 2009: 237-252 (2009). [2] An initial approach to explaining SLA inconsistencies. C Müller, A Ruiz-Cortés, M Resinas. Proceedings ICSOC 2008, 394-406. [3] Automated analysis of conflicts in ws-agreement. C Muller, M Resinas, A Ruiz-Cortés. IEEE Transactions on Services Computing 7 (4), 530-544 (2014). [4] Comprehensive explanation of SLA violations at runtime. C Muller, M Oriol, X Franch, J Marco, M Resinas, A Ruiz-Cortés. IEEE Transactions on Services Computing 7 (2), 168-183 (2014). [5] Towards a formal specification of SLAs with compensations. C Müller, AM Gutiérrez, O Martín-Díaz, M Resinas, P Fernández, A. Ruiz-Cortés. On the Move to Meaningful Internet Systems: OTM 2014 Conferences, 295-312 (2014).
[17] TÍTULO Arquitectura de referencia para sistemas RESTful elásticos y autorregulados. DESCRIPCIÓN Se trata de proponer una arquitectura de referencia para sistemas RESTful elásticos y autorregulados por Acuerdos de Nivel de Servicio (ANS). Se pretende ampliar el alcance de las conclusiones obtenidas en [1], desarrollando un marco de referencia para arquitecturas microservicio tomando como referencia trabajos de autores como [2]. OBJETIVOS Adquirir/profundizar los conceptos sobre los que se fundamenta la gestión de ANS. Adquirir los conocimientos necesarios para comprender y aplicar arquitecturas microservicio en el desarrollo software. Aplicar el estudio realizando, dando como resultado una arquitectura para sistemas elásticos guiados por ANS. CONOCIMIENTOS PREVIOS Deseables conocimientos básicos modelado de acuerdos a nivel de servicio, conceptos de elasticidad de sistemas, diseño de APIs. BIBLIOGRAFÍA RECOMENDADA [1] A. Gámez-Díaz, P. Fernández-Montes, and A. Ruiz-Cortés, “Towards SLA-Driven API Gateways,” in Actas de las XI Jornadas de Ingeniería de Ciencia e Ingeniería de Servicios, 2015. [2] Schahram Dustdar, Yike Guo, Benjamin Satzger, Hong-Linh Truong, "Principles of Elastic Processes," IEEE Internet Computing, vol. 15, no. 5, pp. 66-71, 2011. [3] P. Fernandez, H.-L. Truong, S. Dustdar, and A. Ruiz-Cortes, “Programming Elasticity and Commitment in Dynamic Processes,” IEEE Internet Comput., vol. 19, no. 2, pp. 68–74, Mar. 2015. [4] M. Vukovic, L. Z. Zeng, and S. Rajagopal, “Model for service license in API ecosystems,” in Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 2014, vol. 8831, pp. 590–597.
[18] TÍTULO Estudio de viabilidad de aplicación de la metodología Design Thinking en entornos ágiles. DESCRIPCIÓN La metodología Design thinking (http://www.designthinking.es/home/index.php) es una metodología de trabajo centrada en el usuario que tiene muchos campos de aplicación. Uno de ellos es la Ingeniería del Software. Actualmente existen una tendencia a establecer técnicas similares que faciliten la incorporación del usuario en entornos de desarrollo ágiles, tipo Scrum, y el design thinking podría ser una de ellas. El trabajo consistirá en estudiar la metodología design thinking y estudiar una correspondencia entre sus principios y la metodología Scrum. OBJETIVOS La planificación se realizará en función de las capacidades del propio alumno. Los objetivos fundamentales serán: Conocer Design Thinking en detalle. Estudiar el ciclo de vida de desarrollo de soluciones en Scrum. Realizar una matriz para trazar las capacidades de design thinking en Scrum. Realizar un pequeño ejemplo de validación práctica sobre un ejemplo real. CONOCIMIENTOS PREVIOS Estar matriculado de la asignatura Diseño Centrado en el Usuario. BIBLIOGRAFÍA RECOMENDADA
[19] TÍTULO Estudio de las compatibilidades ISO 10303 y UML para soluciones aeronáuticas. DESCRIPCIÓN El estándar ISO 10303 es un estándar orientado a facilitar el intercambio de datos sobre productos. Pretende convertirse en el estándar de facto para aspectos industriales y tiene una gran aplicabilidad en entornos como el de Product Lifecycle Management. El estándar tiene un lenguaje gráfico de intercambio, en su primera parte, que permite representar la estructura estática de los productos. En este trabajo, el alumno debe evaluar la similitud de dicho lenguaje con el modelo de clases de UML y analizar la capacidad que UML podría tener para poder cumplir con el estándar. Se valorará, además su viabilidad en el contexto de un proyecto real con Airbus. OBJETIVOS La planificación se realizará en función de las capacidades del propio alumno. Los objetivos serán: Conocer el estándar de manera global centrándose sobre el lenguaje gráfico de intercambio. Conocer el metamodelo del diagrama de clases de UML en detalle. Establecer la conexión entre ambos analizando la viabilidad de aplicar el metamodelo de clases como lenguaje en el estándar. Aplicarlo y validarlo sobre un caso real supervisado por Airbus. CONOCIMIENTOS PREVIOS Estar matriculado de la asignatura Diseño Centrado en el Usuario. BIBLIOGRAFÍA RECOMENDADA
[20] TÍTULO Estudio y análisis de técnicas semánticas aplicables a la generación de enlaces entre modelos. DESCRIPCIÓN En la actualidad, el entorno IDEAS [1] tiene un sistema de enlace sintáctico que obliga a un proceso manual de modelado. En este contexto, existen trabajos en el área semántica que permiten una aproximación automatizada al enlace de modelos; en particular, en los últimos años, RDFa [2] se ha impuesto como un paradigma prometedor que proporciona un conjunto de extensiones de XHTML propuestas por W3C [3] para introducir semántica en los documentos. RDFa aprovecha atributos de los elementos meta y link de XHTML y los generaliza de forma que puedan ser utilizados en otros elementos para el marcado de cosas como: personas, lugares, acuerdos, restricciones, etc. En este trabajo, se tomará esa extensión como base del estudio y comparativa de los distintos métodos existentes para el tratamiento de un lenguaje formal (como iAgree [4] o L-USDL [5][6]) a partir de un lenguaje en texto natural. OBJETIVOS Análisis de la literatura y estudios previos sobre análisis semánticos. Estudio de cómo realizar enlaces entre lenguajes formales y lenguajes en texto natural. Adquirir/profundizar conocimientos de aproximaciones semánticas, por ejemplo RDFa. Estudio de la simplificación y automatización del tratamiento de lenguajes formales a partir de un lenguaje en texto natural. CONOCIMIENTOS PREVIOS Deseable conocimientos básicos en RDFa y lenguajes del entorno web. BIBLIOGRAFÍA RECOMENDADA [1] IDEAS. http://www.isa.us.es/IDEAS [2] RDFa. http://rdfa.info/ [3] World Wide Web Consortium (W3C). http://www.w3.org/ [4] Explaining the non-compliance between templates and agreement offers in ws-agreement. C Müller, M Resinas, A Ruiz-Cortés. Proceedings ICSOC 2009: 237-252 (2009). [5] José María García, Carlos Pedrinaci, Manuel Resinas, Jorge Cardoso, Pablo Fernandez, Antonio Ruiz Cortés: Linked USDL Agreement: Effectively Sharing Semantic Service Level Agreements on the Web. ICWS 2015: 137-144 [6] C. Pedrinaci, J. Cardoso, and T. Leidig, “Linked USDL: A Vocabulary for Web-scale Service Trading,” in 11th Extended Semantic Web Conference (ESWC), ser. LNCS, vol. 8465. Springer, 2014
[21] TÍTULO Automatización y control en sistemas de gestión del código fuente. DESCRIPCIÓN Se trataría de hacer un estudio bibliográfico y/o de herramientas de gestión del código fuente. Sus características, deficiencias, fortalezas y usos. Para ello se partirá de la información recopilada en [1] y las actualizaciones que se hayan dado desde entonces. OBJETIVOS Que el alumno/a se especialice en sistemas de gestión de versiones y en las distintas alternativas para gestionarlos así como en ser capaz de leer y catalogar trabajos científicos. CONOCIMIENTOS PREVIOS Programación. Deseable nociones de gestión de código fuente. BIBLIOGRAFÍA RECOMENDADA [1] Estublier, J., Leblang, D., Hoek, A. V. D., Conradi, R., Clemm, G., Tichy, W., & Wiborg-Weber, D. (2005). Impact of software engineering research on the practice of software configuration management. ACM Transactions on Software Engineering and Methodology (TOSEM), 14(4), 383-430.
[22] TÍTULO Automatización en sistemas de gestión de incidencias. DESCRIPCIÓN Se trataría de hacer un estudio bibliográfico y/o de herramientas de gestión de incidencias y las tareas de automatización que puedan ser realizadas con este tipo de sistemas. Sus características, deficiencias, fortalezas y usos. Ejemplos de artículos relacionados con esta temática serán, por ejemplo [1,2]. OBJETIVOS Se trataría de hacer un estudio bibliográfico y/o de herramientas de gestión de incidencias y las tareas de automatización que puedan ser realizadas con este tipo de sistemas. Sus características, deficiencias, fortalezas y usos. Ejemplos de artículos relacionados con esta temática serán, por ejemplo [1,2]. CONOCIMIENTOS PREVIOS Programación. Deseable nociones de gestión de código fuente e incidencias. BIBLIOGRAFÍA RECOMENDADA [1] Rastkar, S., Murphy, G. C., & Murray, G. (2014). Automatic summarization of bug reports. Software Engineering, IEEE Transactions on, 40(4), 366-380. [2] Zimmermann, T., Premraj, R., Bettenburg, N., Just, S., Schröter, A., & Weiss, C. (2010). What makes a good bug report?. Software Engineering, IEEE Transactions on, 36(5), 618-643.
[23] TÍTULO Adopción de soluciones de software libre en las administraciones públicas. DESCRIPCIÓN Se trataría de hacer un estudio bibliográfico de propuestas y guías para la adopción de soluciones de software libre en general y en la administración pública en particular. El trabajo podría abordar desde aspectos relacionados con métricas para ayudar a la toma de decisiones hasta casos de éxito reportados en la literatura. OBJETIVOS Que el alumno/a se inicie en sistemas de software libre y su impacto en la administración pública así como políticas de adopción. CONOCIMIENTOS PREVIOS Tener nociones sobre software libre, licencias, diferencias entre software libre y propietario, etcétera. No es un requisito fundamental pero sí deseable. BIBLIOGRAFÍA RECOMENDADA [1] Wang, H., & Wang, C. (2001). Open source software adoption: A status report. Software, IEEE, 18(2), 90-95. [2] Glynn, E., Fitzgerald, B., & Exton, C. (2005, November). Commercial adoption of open source software: an empirical study. In Empirical Software Engineering, 2005. 2005 International Symposium on (pp. 10-pp). IEEE. [3] Bouras, C., Kokkinos, V., & Tseliou, G. (2013). Methodology for Public Administrators for selecting between open source and proprietary software. Telematics and Informatics, 30(2), 100-110.
[24] TÍTULO Visualización aplicada a la ingeniería del software. DESCRIPCIÓN Existen multitud de técnicas de visualización de datos complejos. Es cada vez más frecuente usar alguna de estas técnicas para visualizar datos complejos en ingeniería del software. El trabajo consistirá en hacer una recopilación y estudio bibliográfico de las técnicas de visualización que se usan en ingeniería del software y proponer alguna aplicación de ellas en un caso real. Se puede abordar desde un punto de vista más técnico haciendo un estudio de las herramientas existentes y las características que soportan o bien hacer un estudio más conceptual analizando un conjunto acotado de propuestas de la literatura y sintetizando y comparándolas. OBJETIVOS Que el alumno/a tome nociones y conceptos de la importancia de la visualización en ingeniería del software y cómo puede ser aplicada en un caso práctico real. CONOCIMIENTOS PREVIOS Será conveniente, aunque no imprescindible, tener conocimientos de algún lenguaje de programación a un buen nivel en caso de hacer alguna prueba de conceptos. BIBLIOGRAFÍA RECOMENDADA [1] http://www.cs.wayne.edu/~severe/index.html [2] http://en.wikipedia.org/wiki/Software_visualization
[25] TÍTULO Casos de estudio en ingeniería de software. DESCRIPCIÓN Los casos de estudio son una técnica en investigación empírica para evaluar alguna propuesta. En el caso de ingeniería de software, los casos de estudio se están viendo como una alternativa o complemento interesantes a los experimentos con objeto de validar alguna técnica, herramienta o metodología. El trabajo consistiría en diseñar algún caso de estudio en algún área de ingeniería de software y en su caso empezar a ejecutarlo. OBJETIVOS Que el alumno/a tome nociones y conceptos de las posibilidades de los casos de estudio en ingeniería del software y pueda plantear un caso práctico real. CONOCIMIENTOS PREVIOS Sería ideal tener conocimientos de estadística y realización de encuestas aunque no es imprescindible. Sería conveniente tener también conocimientos sobre la propuesta que se vaya a evaluar usando casos de estudio. BIBLIOGRAFÍA RECOMENDADA [1] Case study research in software engineering [Recurso electrónico] : guidelines and examples /Per Runeson ...[et al.] http://fama.us.es/record=b2522559~S5*spi
[26] TÍTULO Gestión de la variabilidad en el desarrollo de aplicaciones móviles. DESCRIPCIÓN Desarrollar aplicaciones para dispositivos móviles introduce un grado de variabilidad mayor al tener múltiples plataformas dónde se pueden desplegar dichas aplicaciones. En éste sentido, se propone un estudio del estado del arte en cuánto a técnicas y mecanismos que se usen para gestionar los distintos puntos de variabilidad en aplicaciones móviles pudiendo estudiarse desde cómo se gestionan los despliegues en distintos sistemas operativos, hasta las técnicas concretas de programación que se usan para, dentro de un mismo sistema operativo, soportar la variabilidad en los dispositivos físicos existentes. OBJETIVOS Que el alumno/a tome nociones y conceptos de gestión de la variabilidad y pueda plantear un caso práctico real en un sistema basado en aplicaciones móviles. CONOCIMIENTOS PREVIOS Sería ideal tener conocimientos de desarrollo de aplicaciones móviles aunque no es imprescindible. BIBLIOGRAFÍA RECOMENDADA
[27] TÍTULO Análisis de técnicas de configuración en sistemas software. DESCRIPCIÓN Los llamados configuradores son sistemas que permiten la configuración de sistemas tanto software como de otra índole para realizar una personalización de los productos. Por ejemplo, se puede pensar en un sistema que permita configurar los paquetes que se quieren instalar en un teléfono con Android. Es frecuente que a la hora de configurar dichos sistemas existan restricciones que expresen qué configuraciones son compatibles. Por ejemplo, se puede tener una regla que impida a una determinada versión de Android tener instalado un sistema de detección de códigos QR. El trabajo consistiría en hacer una revisión de la literatura de los sistemas de configuración existentes y enfocarse en alguna de las tareas que desempeñan dichos sistemas (modelado, depuración, asistencia al usuario, configuración interactiva). Sería conveniente hacer alguna aportación en las carencias detectadas. OBJETIVOS Que el alumno/a tome nociones y conceptos de las posibilidades de los sistemas de configuración aplicados a tareas de ingeniería del software y pueda plantear un caso práctico real. CONOCIMIENTOS PREVIOS Será deseable tener conocimientos de sistemas inteligentes (lógica proposicional, programación con restricciones, lógica descriptiva) aunque no es imprescindible. BIBLIOGRAFÍA RECOMENDADA [1] Product configuration frameworks-a survey, http://dx.doi.org/10.1109/5254.708432 David Benavides, Sergio Segura and Antonio Ruiz Cortés Automated Analysis of Feature Models 20 Years Later: A Literature Review http://dx.doi.org/10.1016/j.is.2010.01.001 Information Systems . Elsevier. 2010. 35(6). September 2010.
[28] TÍTULO ¿Qué es variabilidad? Un estudio empírico con empresas locales de desarrollo de software. DESCRIPCIÓN La variabilidad es un concepto cada vez más importante en ingeniería del software. La variabilidad es una propiedad innata a cualquier sistema software pero es cada vez más frecuente encontrar técnicas y métodos para gestionar la variabilidad de manera sistemática. En este trabajo se trata de hacer un estudio empírico a través de entrevistas y encuestas con responsables de empresas de desarrollo de software del entorno local. En primer lugar se aprenderá a realizar este tipo de de encuestas de manera científica, se elaborará un cuestionario, se seleccionará una población significativa para hacer dicha encuesta y más tarde se analizarán los resultados obtenidos. OBJETIVOS Que el alumno/a tome nociones y conceptos de las posibilidades que dan los estudios empíricos basados en encuestas y análisis de datos y aplicarlo en un caso real. Que el alumno/a pueda conocer gente del tejido industrial andaluz. CONOCIMIENTOS PREVIOS Sería ideal tener conocimientos de estadística y realización de encuestas aunque no es imprescindible. BIBLIOGRAFÍA RECOMENDADA [1] Gerald Holl, Paul Grünbacher, Rick Rabiser: A systematic review and an expert survey on capabilities supporting multi product lines. Information & Software Technology 54(8): 828- 852 (2012) Investigación social mediante encuestas / Antonio Félix Vallejos Izquierdo, coord. ; Yolanda Agudo Arroyo ... [et al.] http://fama.us.es/record=b2218689~S5*spi#.UMzBguVVYB4
[29] TÍTULO Desarrollo de un sistema de soporte a la decisión para el soporte a la clínica de pacientes de cáncer de pulmón. DESCRIPCIÓN Se plantea el reto de mejorar la capacidad y reducir la variabilidad en la toma de decisiones en el dominio del tratamiento de pacientes con cáncer de pulmón, mediante el uso de un sistema de soporte a la decisión del ámbito de soporte a la decisión clínica. El proyecto propone una infraestructura escalable para dar soporte a la práctica clínica mediante la aplicación de estándares de interoperabilidad y el uso de recursos semánticos asociados al dominio del cáncer de pulmón. OBJETIVOS El principal objetivo del proyecto es el desarrollo y pilotaje de un sistema escalable y basado en una arquitectura orientada a servicios que permita la integración de un sistema de gestión de ensayos clínicos (SGEC) con técnicas de minería de datos con el fin de proporcionar mecanismos de soporte a la decisión clínica (SDC) a los profesionales sanitarios. BIBLIOGRAFÍA RECOMENDADA [1] Kawamoto, K., Houlihan, C. A., Balas, E. A., & Lobach, D. F. (2005). Improving clinical practice using clinical decision support systems: a systematic review of trials to identify features critical to success. Bmj,330(7494), 765. [2] Shortliffe, E. H., Buchanan, B. G., & Feigenbaum, E. (1979). Knowledge engineering for medical decision making: A review of computer-based clinical decision aids. Proceedings of the IEEE, 67(9), 1207-1224.
[30] TÍTULO Procesamiento del Lenguaje Natural. Técnicas análisis de similitud de textos. DESCRIPCIÓN El creciente volumen de información que se genera diariamente supone uno de los grandes retos de nuestro tiempo. Un porcentaje considerable de esta información es no estructurada, en forma de textos en lenguaje natural con numerosas características que hacen que sean difíciles de analizar a través de sistemas automatizados. El Procesamiento del Lenguaje Natural (PLN) intenta aportar soluciones a los numerosos problemas que surgen al intentar que los sistemas informáticos analicen y procesen el lenguaje natural. Uno de estos problemas es determinar el grado de similitud que existe entre dos fragmentos de texto, desde el punto de vista léxico, sintáctico o semántico. El análisis de las técnicas existentes, encontrar nuevas aproximaciones y la combinación de distintos métodos puede llevarnos a construir un sistema a la altura de las mejores propuestas publicadas hasta la fecha. OBJETIVOS Estudiar las técnicas existentes. Estudiar los sistemas de aprendizaje automático enfocados a textos. Analizar las investigaciones más recientes sobre el tema y sus resultados. Implementación y comparación de las técnicas existentes así como de los nuevos métodos que se deriven del trabajo realizado y los métodos de combinación. CONOCIMIENTOS PREVIOS Conocimientos básicos de minería de textos y aprendizaje automático. BIBLIOGRAFÍA RECOMENDADA [1] http://journal.sepln.org/sepln/ojs/ojs/index.php/pln [2] http://alt.qcri.org/semeval2016/ [3] Natural Language Processing with Python. ISBN: 978-0-596-51649-9
[31] TÍTULO Estudio y análisis de las técnicas de extracción de información web. DESCRIPCIÓN La Web es un gran repositorio de información valiosa en constante expansión. Esta información carece de semántica, al estar escrita en documentos webs que son representados mediante HTML. Los extractores de información son componentes software que facilitan la tarea de extraer información de documentos web. En el presente trabajo se realiza una revisión de la literatura en extractores de información web con el objetivo de identificar las propuestas existentes y sus problemas. OBJETIVOS Realizar una revisión sistemática de la literatura en extractores de información web. CONOCIMIENTOS PREVIOS El estudiante deberá ser capaz de leer y escribir en inglés sin problemas. BIBLIOGRAFÍA RECOMENDADA [1] Trinity: On Using Trinary Trees for Unsupervised Web Data Extraction. Hassan A. Sleiman, Rafael Corchuelo. IEEE Trans. Knowl. Data Eng. 26(6): 1544-1556 (2014) [2] A Survey on Region Extractors from Web Documents. Hassan A. Sleiman, Rafael Corchuelo. IEEE Trans. Knowl. Data Eng. 25(9): 1960-1981 (2013)
[32] TÍTULO Estudio y análisis de las técnicas de verificación de extractores de información. DESCRIPCIÓN Son frecuentes las situaciones en las que un proceso automatizado debe extraer información estructurada en forma de registros y atributos. A partir de una petición, por ejemplo, realizada mediante un formulario, se obtiene información con cierta estructura. Sin embargo, la información extraída puede ser errónea. Por ejemplo, podría extraerse un precio como un título o campos en blanco. Las causas de estas extracciones erróneas son muy variadas. Por ejemplo, en el contexto de la extracción de información a partir de un sitio web, podría producirse un cambio en la estructura que afectara al extractor. Estos problemas justifican la creación de verificadores, componentes de software que analizan la información extraída y comprueban si se desvía demasiado de cómo se esperaba que fuera. Si este es el caso, producen una alarma avisando de que es posible que la información sea errónea. OBJETIVOS Realizar una revisión sistemática de la literatura en verificación de extractores de información. CONOCIMIENTOS PREVIOS El estudiante deberá ser capaz de leer y escribir en inglés sin problemas. BIBLIOGRAFÍA RECOMENDADA [1] KUSHMERICK, Nicholas. Wrapper verification. World Wide Web, 2000, vol. 3, no 2, p. 7994.
[2] LERMAN, Kristina; MINTON, Steven; KNOBLOCK, Craig A. Wrapper maintenance: A machine learning approach. J. Artif. Intell. Res.(JAIR), 2003, vol. 18, p. 149-181. [3] MCCANN, Robert, et al. Mapping maintenance for data integration systems. En Proceedings of the 31st international conference on Very large data bases. VLDB Endowment, 2005. p. 1018-1029.