1. Diseño manejado por modelos
José Luis Pérez García
http://alarcos.esi.uclm.es/per/fruiz/curs/santander/avallecillo-dsdm.pdf
A lo largo de la pasada década, la ingeniería del software basada en modelos (Model-DrivenEngineering, MDE)
ha surgido como un nuevo paso en el camino hacia una verdadera industrialización de la producción de
software. Tras el éxito de la tecnología orientada a objetos, el uso sistemático de modelos se presenta ahora
como la forma apropiada para conseguir programar con un nivel más alto de abstracción y de aumentar el nivel
de automatización.
El Desarrollo de Software Dirigido por Modelos (DSDM) constituye una aproximación para el desarrollo de
sistemas software basada en la separación entre la especificación de la estructura y funcionalidad esenciales
del sistema y la implementación final, usando plataformas de implementación específicas. Se persigue elevar el
nivel de abstracción en el desarrollo de software dándole una mayor importancia al modelado conceptual y al
papel de los modelos en el desarrollo de software actual.El proceso de generación automatizado constituye un
paso importante para la industria de producción del software.
Este tipo de desarrollo se enfoca en los artefactos y transformaciones de modelos, esto implica también la
automatización en la generación de implementaciones para los modelos, por lo general los lenguajes ligados a
este tipo de desarrollo se les llama lenguajes de modelado, la OMG propone el uso de ciertos modelos, tales
como: MOF, UML, OCL, XMI, QVT, MOF y UML permiten la definición de nuevas familias de lenguajes.
El uso de este tipo de modelos te permite como desarrollador definir un camino correcto en el que se pueda
implementar el conocimiento de cómo debe ser implementada la propuesta, además te permite implementar
la misma propuesta en distintos lenguajes y plataformas, estos modelos te pueden ayudar a crear meta
modelos.
Son varias las razones que han motivado la aparición de este nuevo paradigma. En primer lugar nos
encontramos con la creciente complejidad de las aplicaciones de software, que han de satisfacer un mayor
número de requisitos (heterogeneidad, distribución, alta disponibilidad, adaptabilidad, etc.) con mejores
prestaciones y menores tiempos de desarrollo. Por otro lado, las nuevas tecnologías evolucionan demasiado
deprisa (COM, DCOM, COM+, CORBA, CCM, J2EE, .NET, Web Services, SOA...), lo que hace que las inversiones
en tecnologías concretas sean demasiado volátiles. Si bien es cierto que esos problemas no son nuevos en el
campo de la Ingeniería de Software, está comprobado que la mejor forma de tratar con ellos es elevando el
nivel de abstracción de los modelos desde las primeras etapas del desarrollo.
El desarrollo por modelos nos ofrece posibilidades de ser desarrolladores multiplataforma de forma que no
solo estemos ligados a un solo leguaje de programación, nos da acceso a una infinidad de soluciones por
generar, de igual forma permite que los programas reflejen de una forma mejor y a más alto nivel, no sólo el
dominio del problema, sino también para que traten de ocultar la complejidad de la tecnología software
subyacente.
Fuentes de información
Alarcos, G. (s.f.). Alarcos. Obtenido de http://alarcos.esi.uclm.es/per/fruiz/curs/santander/avallecillodsdm.pdf
CodeJobs. (s.f.). CodeJobs. Obtenido de http://www.codejobs.biz/es/blog/2012/09/04/desarrollo-desoftware-dirigido-por-modelos
Herramientas Automatizadas
2NM50
2. Diseño manejado por modelos
José Luis Pérez García
http://alarcos.esi.uclm.es/per/fruiz/curs/santander/avallecillo-dsdm.pdf
PROS. (s.f.). PROS. Obtenido de http://www.pros.upv.es/index.php/es/lineas/69-lineadd
Herramientas Automatizadas
2NM50