Run09 – Keynote 3: Problemas, propuestas y promesas en el desarrollo de software

0

Filed Under (Eventos) by ruben on 09-06-2009

Oradores: Gastón Mousqués y Carlos Cantonnet

El objetivo de esta última exposición en realidad era darle un cierre al track de MDA y reflexionar todos juntos sobre el camino del desarrollo del software. Igualmente se puso un poco a punto para los que no asistimos a este track por asistir a otras charlas.

Todo indica que la arquitectura del software es lo más importante a la hora del desarrollo. Todo error en los sistemas (quitando de lado los bugs), surgen a raíz de esto. Un mal pensamiento desde un punto de vista más abstracto. Luego los sistemas cambian, porque si, y esto impacta sobre todo trabajo realizado alrededor del sistema.

Para minimizar estos impactos, la ingeniería de software creó varias herramientas y actividades que giran en torno al desarrollo como el SQA, UML y otras herramientas que nos permiten tener un mayor control sobre las actividades y por otro lado una mayor comunicación con los que desean el sistema. La idea de todo esto es acercar el camino entre la idea y el desarrollo.

Por estos motivos, la industria está cambiando el enfoque de cómo realizar estas tareas y se presentan varios modelos.

Software Product Lines (SPL)

Esto refiere a métodos de la ingeniería de software, herramientas y técnicas para crear una colección de sistemas de software similares desde un conjunto de recursos compartidos usando un cometido de producción en común. Esto quiere decir que pensando en una familia de productos en los cuales comparten partes, se pueden desarrollares estas partes en común y luego ensamblarlas para crear los distintos productos. Todo esto es posible gracias a un pensamiento previo de la arquitectura. Sin esto en realidad no se puede lograr esta metodología. El ejemplo que se puso en realidad es medio simple pero hace que se entienda mejor. En las cadenas de comida rápida, uno tiene varios productos distintos, pero a la hora de prepararlos, hay determinados ingredientes que tienen en común y en la cocina en realidad no se diferencian. Esto hace que sea más ágil la producción.

Model Driven Architecture (MDA)

Esta forma de Arquitectura suena bastante interesante. Se trata de que cada encargado del desarrollo se basa en modelos para crear. Cada modelo debe ser específico de un dominio. Ese modelo luego se va pasando entre varias capas convirtiéndose en otro modelo más especifico hasta crear el software en sí. En el momento que hay un impacto por el cambio, lo único que se debe hacer es modificar el primer modelo y luego ir bajándolo nuevamente hasta cambiar cada uno de ellos. Esto minimizaría los errores entre la transición de capa a capa.

Microsoft apunta a utilizar una combinación entre estas dos propuestas para el desarrollo de los futuros proyectos. Todos estos métodos integrados en una única plataforma.

Los cambios en el mundo de la ingeniería de software en los que refiere a metodologías y técnicas de trabajo cambia lentamente a lo largo del tiempo (programación procedural, programación orientada a objetos, utilización de UML, CASE ). Algunas de ellas triunfan y otras no. El objetivo de todas ellas es minimizar el GAP que hay entre la idea y el producto e “industrializar” el desarrollo del software.

Nosotros veremos como será el futuro de estas nuevas metodologías aunque hay algo que es claro, todas parten de la arquitectura y es algo que hoy en día podemos y se debe aplicar.

Write a comment