IPSW - Ingeniería de Procesos Software

Principal
Idea
Documentos
Resultados
Referencias

Ir a página principal

Lista de Contenidos

Idea       

Mejora de Procesos

Al igual que en otros sectores industriales, en la industria del software se sabe que la manera de hacer las cosas (los procesos software) tiene una influencia directa en la calidad de los productos. De ello se deriva el creciente interés en las empresas del sector por promover la mejora de sus procesos de desarrollo y mantenimiento de software. Además, las aplicaciones software son productos cada vez más complejos, lo que influye en la complejidad también creciente de los procesos de ingeniería de software.

Ingeniería de Procesos Software

Tradicionalmente la Ingeniería del Software se ha centrado en desarrollar métodos, técnicas o herramientas para aplicar los principios de la Ingeniería al ámbito del software. Hasta fechas recientes, el foco ha estado centrado en el software como producto. Así, todas las técnicas, lenguajes o métodos han estado volcados en poder ser sistemáticos y rigurosos al manejar los distintos artefactos que llevan al producto software final. Un ejemplo claro es UML, un estándar para el modelado de los sistemas software (productos). En los últimos años se ha desarrollado un área nueva, dentro de la Ingeniería del Software, que intenta hacer lo mismo pero enfocado en los procesos. Surge así la conocida como SPE (Software Process Engineering), también llamada "Method Engineering", cuyo objetivo es “la definición, implementación, medición y mejora de los procesos de Ingeniería del Software”.

Un elemento clave en este campo ha sido la aplicación del nuevo paradigma de ingeniería dirigida por modelos (MDE, Model Driven Engineering), de forma que el tipo de artefacto clave para trabajar con los procesos software de manera sistemática y rigurosa son los Modelos de Procesos (MP). Ahora, los modelos pasan a jugar un papel tan importante como en el caso de los productos y las tecnologías ya existentes (MDA, MOF/XMI, UML, etc.) encuentran otro campo de aplicación en el ámbito de los procesos software (PS). La figura 1 muestra un resumen de la nueva manera de trabajar con los procesos.

Figura 1. Marco de Trabajo para la Ingeniería de Procesos Software.

En esta línea, recientemente OMG, el consorcio industrial promotor de UML, ha publicado su nuevo estándar SPEM (Software & Systems Process Engineering Metamodel Specification). Dicho estándar establece los elementos clave para la representación de métodos, ciclos de vida, técnicas, roles, actividades, procesos, metodologías, plantillas, etc. en ingeniería del software (ver figura 2).

Figura 2. Elementos principales del estándar SPEM.

Nuevas Posibilidades

Disponer de los modelos de procesos software tiene una ventaja especial de cara a la certificación: es un requisito para poder alcanzar los niveles 2 (proceso definido) y 3 (proceso gestionado) de CMMI. Igual ocurre con las certificaciones de ISO. Pero además, se abren nuevas perspectivas que se derivan de que los procesos se manejan (representan, definen, almacenan, publican, etc.) de una manera mucho más eficiente. A continuación se muestra un pequeño ejemplo.

En la figura 3 parte izquierda se presenta una tarea de METRICA 3 tal cual se publicó oficialmente en un archivo de texto. En el lado derecho aparece la misma tarea escrita en XML siguiendo el estándar SPEM antes mencionado. En el primer caso lo único que podemos hacer con dicha descripción es leerla (personas, no sistemas). En el segundo caso es posible realizar cualquier tipo de procesamiento automático que interese; por ejemplo, para generar una web con información de todos los procesos, tareas, roles, etc. de METRICA 3 como la mostrada en la figura 4. La figura 5 muestra un diagrama de flujo de trabajo que también ha sido generado de forma automática.

[SCM]actwin,-322,-163,966,839;Adobe Acrobat - [DSIPROC.PDF]
Acrobat.exe
09/11/2007 , 10:16:42

Figura 3. Dos maneras de tener la descripción de una tarea de METRICA 3.

Figura 4. Una web sobre METRICA 3 generada automáticamente.

Figura 5. Flujo de trabajo generado de forma automática.

Algunas posibilidades de la tecnología SPE son:

  • Poder integrar varios PS, cada uno con su modelo.
  • Dar soporte a la mejora de PS.
  • Gestionar de forma integrada el proceso y sus ciclo de vida (diseño, despliegue, ejecución, automatización, mejora, ...).
  • Facilitar la construcción de plataformas más potentes de cara a la gestión de procesos y la gestión de proyectos.
  • Permitir que el repositorio de procesos sea más genérico y tenga más capacidad semántica. Esto significa facilitar técnicamente la gestión del conocimiento relacionado con los procesos.
  • Permitir que todas las herramientas (CASE, gestión de proyectos, …) compartan los modelos.
  • Generar la plantilla del plan de un proyecto.
  • Realizar procesamiento y transformaciones directamente sobre los modelos.
  • Reutilizar mediante diferentes mecanismos de herencia fragmentos de de métodos y procesos.
  • Disponer de distintas vistas de un proceso y diferentes versiones de una familia de procesos.
  • Facilitar la generación de información online para formación de recursos humanos.

Conclusiones

La Ingeniería de Procesos Software está llamada a jugar, en pocos años, un papel clave en las iniciativas de mejora de procesos, certificación, o gestión del conocimiento. Entre otras, la disponibilidad de modelo de procesos en formato adecuado (tipo XML) proporciona capacidades para:

Facilitar la comprensión y comunicación humana.

Facilitar la reutilización.

Facilitar la evolución y cambio en los procesos.
Dar soporte a la mejora de procesos.
Dar soporte a la gestión de procesos y proyectos.
Guiar la automatización de procesos.
Dar soporte para la ejecución automática.


Subir