Este documento discute la ingeniería de software dirigida por modelos (MDSE) y su relación con las líneas de productos de software (SPL). Explica que la MDSE usa modelos como elemento central del proceso de desarrollo de software en lugar de lenguajes de programación tradicionales. También describe cómo las SPL permiten mejoras significativas en tiempo de comercialización, costos, productividad y calidad al desarrollar productos de software relacionados. Finalmente, señala que la MDSE y las SPL trabajan bien juntas, ya que
Ingeniería de Software Dirigida por Modelos y su Relación con Líneas de Productos de Software
1. Ingeniería de Software Dirigida por Modelos
2013
Relación Entre SPL Y MDSE
Especialización en proyectos informáticos
Universidad Distrital Francisco José de Caldas
Facultad de Ingeniería
Bogotá. D.C., Colombia
Edicson Niño Arévalo
Correo-E: ingedicson@gmail.com
Henry Wilches Diaz
Correo-E: henrywilches1@gmail.com
Abstract. The software engineer presents new
alternatives to decide the present and the future
of the software industry, offering value-added
alternatives to traditional processes that have
now hundreds of organizations around the
world.
SPL
En este contexto, la primera variable a definir es línea
de productos de software (SPL por sus siglas en
ingles), el cual es un conjunto de sistemas intensivos
de software que comparten un común, gestionando un
conjunto de características que satisfacen las
necesidades específicas de un determinado segmento
del mercado o de la misión y que se desarrollan a
partir de un conjunto común de activos principales de
una manera prescrita.
Resumen. La ingeniera de software presenta
nuevas alternativas que deciden el presente y el
futuro de la industria de software; alternativas
que ofrecen valor agregado a los procesos
artesanales que se tienen hoy en día en cientos
de organizaciones alrededor del mundo.
Al igual que otras industrias donde la alta producción
es una característica fundamental para el crecimiento
y permanecía dentro de los mercados, así la industria
de software pretende definir modelos que permitan
aumentar la producción de software.
Palabras claves.
MDSE
Software, modelo, ingeniería de software, industria,
modelo, transformación, estático, dinámico.
Ingeniería de Software Dirigido por Modelos (MDSE
por sus siglas en ingles), es la nueva forma de
construir software en la que se les atribuye a los
modelos el papel principal de todo el proceso, frente
a las propuestas tradicionales basadas en lenguajes de
programación, plataforma de objetos y componente
de software.
Introducción
A través de la historia del desarrollo de software se
han marcado momentos importantes como la
aparición de lenguajes de bajo y alto nivel, el
paradigma de la programación orientada a objetos y
la ingeniería de software basada en componentes.
La siguiente ecuación tiene por objetivo describir las
partes que conforman la definición de Ingeniería de
Software Dirigida por Modelos:
Hoy es un momento histórico, un momento de
evolución, donde nuevas alternativas y conceptos
empiezan a aparecer en la industria, en el mercado
nacional e internacional.
Modelo + Transformación = Software
Un modelo es una generalización de acciones o
sucesos interrelacionado con objetos, vista desde la
perfectiva global del funcionamiento.
En este artículo se pretende generar un concepto
sobre la ingeniería de software dirigida por modelos
en relación con el vínculo entrañable que tiene con la
línea de productos de software y los beneficios que se
obtienen.
Los modelos se clasifican en Estáticos y Dinámicos.
Estáticos: definen los aspectos estáticos del sistema
en cuanto a los datos, la estructura y la arquitectura
del sistema.
1
2. Licenciamiento en Software Libre (Casos KDE/Qt, Pine)
Dinámicos: definen el comportamiento dinámico del
sistema, mostrando la ejecución.
BENEFICIOS
Una transformación es el mapeo entre los elementos
de un modelo a los elementos de otro modelo.
•
Mejora y aumento de la productividad
•
Aumento de la calidad.
De esta manera MDSE ofrece los lenguajes para
definir el modelo de transformación.
•
Disminución de costos hasta en un 60%.
Beneficios organizacionales:
•
• Alternativamente, las transformaciones se pueden
producir automáticamente
Disminución de las necesidades de mano de obra
hasta en un 87%.
•
• Las transformaciones pueden ser vistos como
modelos también
Disminución del tiempo de comercialización (en
campo, para poner en marcha) hasta en un 98%.
•
Posibilidad de entrar en nuevos mercados en
meses, no en años.
•
Abstracción de las tecnologías de realización
específicas.
•
Mejora la portabilidad y el cambio de tecnología.
•
Generación automática de código.
•
Separación de la aplicación de la tecnología de
implementación.
•
Ciclos de desarrollo más flexibles.
RELACIÓN ENTRE SPL Y MDSE
Las líneas de productos de software se están
convirtiendo en un modelo de desarrollo
viable e importante que permite a las
empresas a darse cuenta de las mejoras de un
orden de magnitud en el tiempo de
comercialización,
costos,
productividad,
calidad, y otros conductores comerciales.
Producto de ingeniería de la línea de software
también puede permitir la entrada rápida del
mercado y la respuesta flexible y proporcionar
una capacidad de personalización en masa.
DESVENTAJAS
Desventajas que se pueden encontrar al implementar
MDSE en el desarrollo de software:
La línea de productos de software se centra en una
práctica de alta rentabilidad bajo riesgo
confiable que combina los enfoques del
negocio y técnicos necesarios para lograr el
éxito.
El conocimiento del negocio por parte de la persona
que diseñara el modelo tiene que ser desde un inicio
profundo y esto no es sencillo de lograr rápidamente.
Las líneas de productos pueden ayudar a las
organizaciones a superar los problemas
causados por la escasez de recursos.
Organizaciones de todo tipo y tamaño han
descubierto que una estrategia de línea de
producto, cuando se aplique con habilidad,
puede producir muchos beneficios y
finalmente, dar a las organizaciones una
ventaja competitiva.
El nivel de abstracción que se tiene que llegar para
poder entregar un producto verdaderamente eficiente
en cuanto a costo y tiempo, tiene que ser de un nivel
de abstracción muy alto.
La definición de la unión de diferentes modelos
independientes en cuanto a negocio no está definida
claramente lo cual puede causar cambios en los
modelos inicialmente planteados.
CONCLUSIONES
Las empresas están cambiando con una frecuencia
muy alta y la MDSE nos brinda las herramientas para
que el desarrollo del software pueda adaptarse al
cambio de una forma rápida.
El desarrollar el software de manera artesanal se está
volviendo obsoleto y en vez de generar valor a las
empresas está generando costos innecesarios.
El cambio para la utilización de MDSE para el
desarrollo de software se debe de dar ahora porque si
2
3. se espera más tiempo no se lograran ventajas
competitivas en el mercado.
La mejor forma de la implementación de MDSE en el
desarrollo de software es contar con el apoyo de las
altas esferas ejecutivas para que el cambio se dé
rápido y sin traumatismos.
Los tiempos en el diseño e implementación del
software ya no serán traumáticos para el usurario
final por la rapidez que estos se pueden colocar en
producción y funcionando.
BIBLIOGRAFÍA
http://di002.edv.uniovi.es/~cueva/asignaturas/masters
/2008/MDE_udistrital.pdf
http://www.sei.cmu.edu/productlines/
3