Última actualización: 30/04/2019


Curso Académico: 2020/2021

Desarrollo de Software Dirigido por Modelos
(16449)
Titulación: Máster Universitario en Ciencia y Tecnología Informática (71)
Escuela de Ingeniería y Ciencias Básicas


Coordinador/a: GENOVA FUSTER, GONZALO

Departamento asignado a la asignatura: Departamento de Informática

Tipo: Optativa
Créditos: 3.0 ECTS

Curso:
Cuatrimestre:




Materias que se recomienda haber superado
Se presupone un conocimiento básico del lenguaje UML (notación y aplicaciones elementales) que permita profundizar en aspectos más técnicos.
Competencias que adquiere el estudiante y resultados del aprendizaje.
CB6, CB7, CB8, CB9, CB10 CG1, CG2, CG3, CG4 CE1, CE2, CE12 Profundizar en la iniciativa del OMG conocida como Model Driven Architecture (MDA), Model Driven Development (MDD), o Model Driven Engineering (MDE), cuya idea central es desplazar el centro de gravedad en el proceso de desarrollo de software desde el código fuente hacia los modelos de software: planificación, estimación, reutilización, mantenimiento, producción, simulación, etc. Esta iniciativa tiene gran importancia para que un proceso de desarrollo de software basado en la transformación de modelos pueda ser de verdad iterativo: integración y coherencia de todas las fases de desarrollo, modelos sincronizados a todos los niveles, etc. El desarrollo de sistemas dirigido por modelos ha demostrado desde hace tiempo su eficacia en el desarrollo de complejos sistemas hardware, y su aplicación crece continuamente en el desarrollo de sistemas software (o combinaciones hardware-software), a medida que surgen metodologías y herramientas disponibles para manipular modelos software. Los principales resultados de aprendizaje son: - Dominar los conceptos de modelado de software a todos los niveles, desde los modelos más abstractos de captura y análisis de requisitos hasta los más concretos de diseño detallado e implementación, así como su directa aplicación a la Ingeniería del Software. - Tener presente que el modelado es una tarea esencial en el proceso de desarrollo de software acerca esta asignatura a los procesos de fabricación de software de acuerdo con los estándares más modernos. - Saber transmitir los resultados de un artículo reciente de investigación sobre el tema, previamente acordado con el profesor de la asignatura. - Tener capacidad de analizar de forma critica trabajos de investigación.
Descripción de contenidos: Programa
A. FUNDAMENTOS 1. El papel de los modelos en el desarrollo de software. 2. Principios y fundamentos de modelado y metamodelado. 3. Evolución de los modelos e interrelación entre unos modelos y otros. B. APLICACIONES 4. Herramientas para la transformación de modelos. 5. Modelos ejecutables: representación de información y semántica de acciones. 6. Generación automática de código a partir de modelos de diseño.
Actividades formativas, metodología a utilizar y régimen de tutorías
Clases teórico prácticas Trabajo en grupo para desarrollar y presentar trabajos teórico prácticos Trabajo individual del estudiante Cada alumno presentará un artículo reciente de investigación sobre el tema, previamente acordado con el profesor de la asignatura. La presentación irá seguida de un debate entre todos los participantes en el curso, moderado por el profesor de la asignatura, sobre las ideas esenciales del artículo presentado. Los artículos abarcarán tanto los principios y fundamentos de MDA como sus aplicaciones prácticas para el desarrollo de software. Los alumnos se organizarán en equipos de prácticas para desarrollar diversos ejercicios de metamodelado y transformación de modelos, aprendiendo a manejar las herramientas más habituales del área.
Sistema de evaluación
  • Peso porcentual del Examen Final 40
  • Peso porcentual del resto de la evaluación 60
Bibliografía básica
  • Chris Raistrick. Model Driven Architecture with Executable UML. Cambridge University Press. 2004
  • Jack Greenfield, Keith Short, Steve Cook, Stuart Kent. Software Factories: Assembling Applications with Patterns, Models, Frameworks and Tools. John Wiley & Sons. 2004
  • Jesús García Molina, Félix O. García Rubio, Vicente Pelechano, Antonio Vallecillo, Juan Manuel Vara, Cristina Vicente-Chicote (eds.). Desarrollo de Software Dirigido por Modelos: Conceptos, Métodos y Herramientas. RAMA. 2012
  • Jon Holt, Simon Perry, Mike Brownsword. Foundations for model-based systems engineering: from patterns to models. Institution of Engineering and Technology. 2016
  • OMG. Unified Modeling Language Specification 2.0. (www.uml.org).
  • OMG. Model Driven Architecture Specification . (www.uml.org).
  • Varios. International Conference on the Unified Modeling Language, serie de congresos UML-1998 hasta 2004 . (www.umlconference.org).
  • Varios. International Conference on Model Driven Engineering Languages and Systems Series, serie de congresos MoDELS-2005 hasta 2013. (www.umlconference.org).
Bibliografía complementaria
  • Anneke Kleppe. MDA Explained: The Model Driven Architecture, Practice and Promise. Addison-Wesley. 2003
  • David S. Frankel. Model Driven Architecture: Applying MDA to Enterprise Computing. John Wiley and Sons. 2003
  • Jim Arlow. Enterprise Patterns and MDA: Building Better Software with Archetype Patterns and UML. Addison-Wesley. 2004
  • Stephen Mellor. MDA Distilled: Principles of Model-Driven Architecture. Addison-Wesley. 2004
  • Stephen Mellor. Executable UML: A Foundation for Model Driven Architecture. Addison-Wesley. 2002

El programa de la asignatura y la planificación semanal podrían sufrir alguna variación por causa de fuerza mayor debidamente justificada o por eventos académicos comunicados con antelación.