DESARROLLO DIRIGIDO POR MODELOS

Para poder integrar sistemas de software con tecnologías diversas (EJB/J2EE, .NET, XML, SOAP, etc.) y que puedan adaptarse rápidamente a los negocios cambiantes, la tendencia es apostar al desarrollo dirigido por modelos (Model Driven
MDD.JPG
Development, MDD) donde los artefactos principales del desarrollo son los modelos (no los programas) y la transformación de modelos. MDD implica una generación semi-automática de la implementación a partir de los modelos.


Bajo este enfoque, un experto del negocio puede expresar su conocimiento en un lenguaje formal de modelado y el equipo de tecnologías de la información define cómo se implementará. Y si se desea, el mismo modelo puede implementarse en diversas plataformas (Java, .Net, CORBA). Un cambio en los modelos independientes de la plataforma (representan el conocimiento del negocio) puede generar diversos modelos dependientes de plataforma sin tanto esfuerzo.



El principio básico detrás del desarrollo basado en modelos es que si sabemos que algo va a cambiar en una forma predecible, modelemos la descripción del cambio de tal forma que sea fácil modificarlo.


Lista de Símbolos




Símbolo
Tipo de Símbolo
1
Artefacto
Objeto
2
CIM / Modelo independiente del código
Objeto
3
Código Fuente
Objeto
4
DSL / Lenguaje especifico del dominio
Objeto
5
Generar código
Verbo
6
Herramienta DSL
Sujeto
7
Herramienta MDA
Sujeto
8
IM / Modelo de implementación
Objeto
9
Ingeniero de Software
Sujeto
10
Lenguaje de modelado
Objeto
11
Mapear funciones
Verbo
12
Meta-Modelo
Objeto
13
PIM / Modelo independiente de la plataforma
Objeto
14
PIT / Transformar Modelo Independiente de Plataforma
Verbo
15
Proceso V&V
Objeto
16
PSM / Modelo de Plataforma Específica
Objeto
17
PST / Transformar Modelo de Plataforma Especifica
Verbo
18
Transformar Modelo
Verbo


Descripción de Símbolos



Tipo de Símbolo: Objeto
Símbolo: 01. Artefacto
Noción
  1. Representa a todo producto que se obtiene como resultado al realizar una actividad en el marco de un proceso de desarrollo de software.
Impacto
  1. Lo genera un Ingeniero de Software.
  2. Se generan como resultado de transformar un modelo.

Tipo de Símbolo: Objeto
Símbolo: 02. CIM / Modelo independiente del código
Noción
  1. Es un artefacto del dominio donde no se visualiza la estructura del sistema.
  2. Describe la situación en que el sistema será usado.
Impacto
  1. Es generado por el ingeniero de software.
  2. A partir de transformar un modelo se obtiene un modelo PIM.

Tipo de Símbolo: Objeto
Símbolo: 03. Código fuente
Noción
  1. Artefacto de proposito general o un DSL / Lenguaje específico de Dominio a partir del IM / Modelo de Implementación .
Impacto
  1. El ingeniero de software se encarga de generar código con la utilización de herramientas MDA .

Tipo de Símbolo: Objeto
Símbolo: 04. DSL / Lenguaje específico del dominio
Noción
  1. Lenguaje de programación dedicado a un problema de dominio en particular que ha sido representado por una herramienta DSL.
Impacto
  1. El ingeniero de software desarrolla el código fuente utilizando esta clase de lenguajes.

Tipo de Símbolo: Verbo
Símbolo: 05. Generar Código
Noción
  1. El ingeniero de Software mediante herramientas MDA realiza la transición final hacia el IM / Modelo de Implementación.
  2. Se construye a partir de un modelo PSM.
Impacto
  1. Se obtiene el código fuente del software.
  2. Se transforma finalmente el modelo IM / Modelo de Implementación a código fuente.


Tipo de Símbolo: Sujeto
Símbolo: 06. Herramienta DSL
Noción
  1. Es una aplicación para representar modelos de un dominio específico.
Impacto
  1. Permite modelar con un lenguaje adaptado a la semántica del dominio.

Tipo de Símbolo: Sujeto
Símbolo: 07. Herramienta MDA
Noción
  1. Es una aplicación para transformar un modelo.
Impacto
  1. Realiza la transformación de un modelo, a saber: CIM -PSM, PSM- PIM y PIM-IM

Tipo de Símbolo: Objeto
Símbolo: 08. IM / Modelo de implementación
Noción
  1. Es un artefacto que representa el código fuente siendo un nivel más abstracto que él mismo.
  2. A partir de este se genera el código fuente.
Impacto
  1. Se obtiene a partir de una transformación PST .

Tipo de Símbolo: Sujeto
Símbolo: 09. Ingeniero de Software
Noción
  1. Es la persona responsable del proceso de desarrollo dirigido por modelos.
Impacto
  1. Se encarga de la ejecución de las transformaciones de modelos.
  2. Se encarga de ejecutar el mapeo de funciones.

Tipo de Símbolo: Objeto
Símbolo: 10. Lenguaje de modelado
Noción
  1. Lenguaje gráfico para visualizar, especificar, construir y documentar un sistema.
Impacto
  1. Es utilizado por un Ingeniero de Software.
  2. Se lo utiliza para escribir los modelos CIM, PIM y PSM.

Tipo de Símbolo: Verbo
Símbolo: 11. Mapear funciones
Noción
  1. El ingeniero de software captura el conocimiento de los expertos que realizan la transformación entre un artefacto y otro.
Impacto
  1. Desacopla los modelos, de forma tal que pueden evolucionar en forma independiente.

Tipo de Símbolo: Objeto
Símbolo: 12. Meta - Modelo
Noción
  1. Modelo proporcionado por MDA para expresar modelos.
Impacto
  1. Los utiliza el Ingeniero de Software.
  2. Permite escribir los modelos CIM, PIM y PSM.

Tipo de Símbolo: Objeto
Símbolo: 13. PIM / Modelo independiente de la plataforma
Noción
  1. Modelo de un subsistema que no contiene información específica sobre la plataforma o tecnología que se usa para realizarla.
  2. Se construye a partir del modelo CIM.
Impacto
  1. Los utiliza el Ingeniero de Software para describir su entendimiento sin considerar la plataforma.
  2. Se obtiene a partir de la transformación de un modelo CIM.

Tipo de Símbolo: Verbo
Símbolo: 14. PIT / Transformación independiente de Plataforma
Noción
  1. Acción de transformar un modelo PIM (independiente de la plataforma) en un modelo PSM (dependiente de la plataforma).
Impacto
  1. Es realizada por herramientas MDA.
  2. Se obtiene un modelo PSM .

Tipo de Símbolo: Objeto
Símbolo: 15. Proceso V&V
Noción
  1. Es el proceso de todo un ciclo vital.
  2. Debe aplicarse en cada etapa del software.
  3. Se aplica en la metodología MDA.
Impacto
  1. Detecta errores e inconsistencias en etapas tempranas del software.
  2. Evalúa si el sistema es útil y utilizable en una situación operacional o no.

Tipo de Símbolo: Objeto
Símbolo: 16. PSM / Modelo de plataforma específica
Noción
  1. Modelo que incluye información específica sobre la tecnología y plataforma.
  2. Se construye a partir de un modelo PIM.
Impacto
  1. El Ingeniero de Software mediante la utilización de herramientas MDA transforma un modelo PIM a este modelo.

Tipo de Símbolo: Verbo
Símbolo: 17. PST / Transformaciones de Plataforma Específica
Noción
  1. Acción de transformar un modelo PSM / Modelo de Plataforma Específica en un modelo IM / Modelo de Implementación .
Impacto
  1. Es realizada por herramientas MDA .
  2. Se obtiene un modelo IM / Modelo de Implementación.

Tipo de Símbolo: Verbo
Símbolo: 18. Transformar un Modelo
Noción
  1. Acción de convertir un modelo en otro modelo del mismo proyecto, a saber: CIM a PIM , PIM a PSM , PSM a IM .
Impacto
  1. Realizado por un Ingeniero de Software mediante herramientas MDA .
  2. Se genera a partir de un modelo otro modelo con características menos abstractas y más concretas acerca de la implementación.
  3. A partir de la transformación se obtiene un modelo con especificaciones más concretas acerca de la resolución de la necesidad.

Referencias





Creadores



Donatini Yanina

Baisel Javier

Mayoral Claudio