martes, 28 de octubre de 2008

Modelo Concurrente


Como el modelo espiral, el modelo concurrente provee una meta-descripción del Proceso software. Mientras que la contribución primaria del modelo espiral es en Realidad que esas actividades del software ocurran repetidamente, la contribución Del modelo concurrente es su capacidad de describir las múltiples actividades del Software ocurriendo simultáneamente.

Esto no sorprende a nadie que ha estado involucrado con las diversas actividades Que ocurren en algún tiempo del proceso de desarrollo de software. Discutamos Un poco tales casos:


Los requerimientos son usualmente "líneas de base", cuando una mayoría de los requerimientos comienzan a ser bien entendidos, en este tiempo se dedica un esfuerzo considerable al diseño. Sin embargo, una vez que comienza el diseño, cambios a los requerimientos son comunes y frecuentes (después de todo, los problemas reales cambian, y nuestro entendimiento de los problemas desarrollados también).


Es desaconsejado detener el diseño en este camino cuando los requerimientos cambian; en su lugar, existe una necesidad de modificar y rehacer líneas de base de los requerimientos mientras progresa el diseño. Por supuesto, dependiendo del impacto de los cambios de los requerimientos el diseño puede no ser afectado, medianamente afectado o se requerirá comenzar todo de nuevo.

Durante el diseño de arquitectura, es posible que algunos componentes comiencen a ser bien definidos antes que la arquitectura completa sea estabilizada. En tales casos, puede ser posible comenzar el diseño detallado en esos componentes estables. Similarmente, durante el diseño detallado, puede ser posible proceder con la codificación y quizás regular testeando en forma unitaria o realizando testeo de integración previo a llevar a cabo el diseño detallado de todos los componentes.

En algunos proyectos, múltiples etapas de un producto se han desarrollado concurrentemente. Por ejemplo, no es inusual estar haciendo manutención de la etapa 1 de un producto, y al mismo tiempo estar haciendo manutención sobre un componente 2, mientras que se está haciendo codificación sobre un componente 3, mientras se realiza diseño sobre una etapa 4, y especificación de requisitos sobre un componente 5.


En todos estos casos, diversas actividades están ocurriendo simultáneamente.

Eligiendo seguir un proyecto usando técnicas de modelación concurrente, se posibilita el conocimiento del estado verdadero en el que se encuentra el proyecto.


En vez de confinar las actividades de ingeniería de software a una secuencia de pasos, define una red de actividades.


Todas las actividades de la red existen simultáneamente con otras.


Los sucesos generados dentro de una actividad, o en algún otro lado de la red de actividad, inician las transiciones entre los estados de otra actividad.


Ventajas: excelente para proyectos en los que se conforman grupos de trabajo independientes.


Desventajas: Si no se dan las condiciones señaladas no es aplicable

No hay comentarios.: