Reducción de costes en el desarrollo de software

Durante los últimos 20 años, la variedad y complejidad de los sistemas software se ha mostrado como el principal inconveniente a la hora de desarrollar software. En este tiempo han aparecido diversos paradigmas y tecnologías (desde la aparición de la orientación a objetos, hasta las tecnologías basadas en componentes) que han intentado proporcionar las herramientas necesarias para definir los sistemas software de forma más natural, disminuyendo la distancia entre lo que el usuario quiere y lo que el desarrollador produce. El desarrollo de software dirigido por modelos (DSDM) pretende ir un paso más allá en este proceso, acercándolo al mundo que el cliente conoce. Esto es, un sistema se define mediante distintas vistas del mismo, empleando lenguajes específicos de dominio (modelos). Estos lenguajes emplean directamente los conceptos conocidos por el experto del dominio, haciendo que éste forme parte activa en el proceso de obtención del software final. De esta manera, el proceso de desarrollo de software se fundamenta en la realización de operaciones sobre estos modelos (refinamientos, transformaciones, etc.). Así, la calidad tanto del producto final como del proceso de desarrollo se incrementa. En esta aproximación se eliminan tareas repetitivas y propensas a error, como la codificación del sistema en un determinado lenguaje o tecnología. En su lugar, y mediante técnicas de programación generativa, se es capaz de general el código de la aplicación automáticamente a partir de los modelos definidos en fases previas de diseño. El DSDM es una nueva aproximación que permite reducir los costes en el proceso de software, así como el time-to-market; incrementa la calidad de los sistemas, y dado que los sistemas se especifican usando conceptos de alto nivel independientes de la tecnología, permite obtener herramientas más interoperables, mantenibles y fácilmente adaptables al cambio y a las nuevas tecnologías que están por venir, que mediante aproximaciones tradicionales.

Aplicaciones

  • Desarrollo de Juegos Dirigido por Modelos: La Ingeniería de Software Dirigida por Modelos ayuda a hacer frente a la creciente complejidad y exigencias técnicas del desarrollo de juegos. Ofrece un mayor nivel de abstracción en el desarrollo industrial de juegos, con soporte para Modelado Específico de Dominio y Generación Automática de Código. Las principales aplicaciones hasta el momento incluyen el desarrollo de juegos como herramientas educativas y de aprendizaje (serious games), y el desarrollo de juegos multi-plataforma para PC y consolas de 3ª generación.

Ventajas técnicas

  • Este método de desarrollo incrementa la calidad de los sistemas, y dado que los sistemas se especifican usando conceptos de alto nivel independientes de la tecnología, permite obtener herramientas más interoperables, mantenibles y fácilmente adaptables al cambio y a las nuevas tecnologías que están por venir, que mediante aproximaciones tradicionales.

Beneficios que aporta

  • El DSDM es una nueva aproximación que permite reducir los costes en el proceso de software, así como el time-to-market.

Experiencia relevante

  • El Grupo de Ingeniería del Software y Sistemas de Información (ISSI), del Departamento de Sistemas Informáticos y Computación (DSIC) de la Universidad Politécnica de Valencia, forma parte del Grupo de Programación Lógica e Ingeniería del Software (GPLIS). Historicamente, nuestra investigación ha resultado en un enfoque formal para el modelado conceptual orientado a objeto llamado OASIS, y sus herramientas asociadas, abarcando desde los entornos de prototipado rápido a los compiladores modelo, permitiendo la generación de código automático en lenguajes de programación orientado a objetos. Nuestra investigación actual incluye Ingenieria de requerimientos, Métodos Formales, Arquitecturas software, Modelado orientado a objetos, Compiladores modelo, Desarrollo orientado a aspectos, sistemas distribuidos, Evolución de software, Gestión de modelos, Model Management, Gestión de procesos, Bibliotecas digitales, ingeniería de documentos y sistemas de gestión de emergencias.