cambiar a curso:   2015-16   2017-18


Grado en Ingeniería Informática


TRABAJOS FIN DE GRADO
curso: 2016-17

Desarrollo dirigido por modelos de aplicaciones basadas en servicios ReST en PHP


Tecnologías Específicas

Ingeniería del Software
 


Descripcion y Objetivos

En la actualidad las tecnologías Web tienen un gran impacto en la sociedad. El desarrollo de aplicaciones Web modernas se basa en el uso de servicios Web para acceder a la información. Dada la heterogeneidad de las tecnologías que se utilizan para desarrollar este tipo de aplicaciones, se suelen reescribir las mismas aplicaciones en diferentes tecnologías. Una solución a este problema es el uso de modelos que capturen la información de la aplicación de manera independiente de la tecnología de implementación.

Por lo tanto, este proyecto tiene por objetivo principal el desarrollo de una herramienta capaz de generar el código de aplicaciones basadas en servicios ReST en PHP a partir de un modelo definido en UML.

Para ello crearemos un conjunto de plug-ins de Eclipse capaces de generar:

  • Una capa de persistencia de datos en PHP para acceder a una base de datos MySQL
  • Una capa de servicios ReST en PHP para acceder a las diferentes funciones de la aplicación
  • Una capa de interfaz de usuario que permita acceder a los servicios ReST definidos en la capa anterior

El objetivo principal se desglosa en los siguientes objetivos específicos:

  • Revisión de las herramientas existentes para la creación de aplicaciones basadas en servicios ReST en PHP a partir de modelos en UML
  • Estudio del meta-modelo de UML
  • Estudio de las arquitecturas dirigidas por modelos
  • Estudio de las tecnologías relacionadas con el desarrollo de aplicaciones en PHP y MySQL
  • Diseño de una arquitectura dirigida por modelos para el desarrollo de aplicaciones en PHP y MySQL
  • Implementar de plug-ins utilizando EMF y GMP para generar aplicaciones basadas en servicios ReST en PHP a partir de modelos en UML
  • Aplicación del proceso de desarrollo dirigido por modelos en el caso de estudio de una aplicación Web para gestionar Viajes Turísticos
 


Metodología y Competencias

Metodología

  • Se seguirá el proceso de desarrollo ágil SCRUM, que se documentará a través de la herramienta Kunagi
  • Se utilizará una metodología de desarrollo de aplicaciones dirigida por modelos basada en una arquitectura dirigida por modelos (MDA)

Plan de trabajo (total 300 horas)

  • Revisión del estado del arte en aplicaciones relacionadas (25 horas)
  • Estudio del meta-modelo de UML y su relación con MDA (25 horas)
  • Estudio de las tecnologías de desarrollo relacionadas con PHP (25 horas)
    • Persistencia (Propel)
    • Interfaces de Usuario (Polymer)
    • Diseño de la MDA para el desarrollo de aplicaciones basadas en servicios ReST en PHP (75 horas)
      • Definición de una meta-modelo para el modelado de interfaces de usuario basadas en etiquetas (TagML)
      • Definición de las transformación M2M de UML a TagML
      • Definición de una transformación M2T de UML a PHP (utilizando Propel)
      • Definición de una transformación M2T de TagML a lenguaje de etiquetas
    • Desarrollo de un editor de modelos para TagML utilizando la tecnología EMF (30 horas)
    • Desarrollo de las transformaciones M2T en ACCELEO (2 x 20 horas = 40 horas)
    • Desarrollo de las trasformaciones M2M en ATL (40 horas)
    • Validación de la propuesta en el caso de estudio… (75 horas)
    • Escritura de la memoria (15 horas)
 


Medios a utilizar

  • Laptop para desarrollo
  • Plataforma de desarrollo Eclipse Modeling Tools (Neon)
  • Papyrus
  • Servicio de aplicaciones PHP
  • Servicio de bases de datos MySQL
  • Servicio de Kunagi
 


Bibliografía

  1. Manifiesto por el desarrollo Ágil de software. URL = http://www.agilemanifesto.org/iso/es/
  2. WAMP http://www.wampserver.com/en/
  3. MySQL https://www.mysql.com/
  4. Anneke Kleppe. MDA Explained, The Model Driven Architecture: Practice and Promise.Addison-Wesley. ISBN: 978-0321194428.2003
  5. OMG    MDA. The Model Driven Architecture. URL = http://www.omg.org/mda
  6. OMG    MOF. The Meta Object Facility. URL = http://www.omg.org/mof/
  7. OMG    OCL. The Object Constraint Language. URL = http://www.omg.org/spec/OCL/2.2/
  8. OMG.UML Unified Modeling Language. URL = http://www.omg.org/spec/UML/
  9. OMG    UML Profiles. URL = http://www.omg.org/technology/documents/profile_catalog.htm
  10. Steve Mellor. MDA Distilled, Principles of Model Driven Architecture. Addison-Wesley Professional. ISBN: 978-0201788914. 2004
  11. The Eclipse Fundation. ATL: The Atlas Transformation Language. URL = http://www.eclipse.org/atl/
  12. The Eclipse Fundation. ACCELEO. URL = https://eclipse.org/acceleo/
  13. Ken Schwaber and Jeff Sutherland (2016) “The Scrum Guide”, ScrumAlliance. 
 


Tutores


TESORIERO, RICARDO
GALLUD LAZARO, JOSE ANTONIO
 

Alumno


RUEDA ROMERO, ALEJANDRO