Diseño Dirigido por Modelos


Programa del Curso

En la actualidad, las funcionalidades esperadas de sistemas de software han crecido considerablemente en cantidad y complejidad. Un problema crucial que enfrenta el desarrollo de este tipo de sistemas de gran porte es definir una estructura manejable y controlable. En este contexto, la Arquitectura de Software ha emergido como disciplina cumpliendo ya un rol significativo en el desarrollo de software.

Por otro lado, la Ingeniería Dirigida por Modelos (Model-Driven Engineering o MDE) es un enfoque de ingeniería de software basado en el modelado de un sistema como la principal actividad del desarrollo. La construcción del sistema es guiada por transformaciones de dichos modelos, terminando en la generación automática de código.

Estas dos ideas confluyen en la denominada Arquitectura Dirigida por Modelos (Model-Driven Architecture o MDA). MDA se ha concebido para dar soporte a la ingeniería dirigida a modelos con un fuerte énfasis en la arquitectura.

OBJETIVOS

Los objetivos de este curso son introducir los conceptos básicos de MDA, transmitir los conceptos técnicos y tecnológicos más relevantes relacionados y tener un primer acercamiento al tema desde una perspectiva práctica.

PROFESOR

MSc. Daniel Calegari García

DURACIÓN DEL CURSO

15 horas

CONTENIDO

  1. Conceptos Básicos de MDA
    • Definición del concepto de Arquitectura de Software y MDE. Introducción a los conceptos básicos de MDA, modelos y transformaciones, lenguajes específicos de dominio.
  2. Representación de la Arquitectura
    • Modelos de vistas para representar diferentes aspectos de la arquitectura y documento de especificación de la arquitectura (SAD). Arquitectura de Sistemas de Información, representación y patrones de arquitectura.
  3. Atributos de Calidad
    • Atributos de calidad (requerimientos no funcionales) como influenciadores de la arquitectura y tácticas para su resolución.
  4. Real-Life MDA
    • Aplicación de MDA en proyectos de investigación/desarrollo, paradigmas de desarrollo relacionados (Model-Based Testing, Business-Driven Development, Software Factories), presente y futuro de MDA.

CONOCIMIENTOS PREVIOS EXIGIDOS

  • Conocimientos básicos de desarrollo orientado a objetos utilizando Java
  • Conocimientos básicos de UML

CONOCIMIENTOS PREVIOS RECOMENDADOS

  • Conceptos básicos de Ingeniería de Software