lunes, 11 de marzo de 2013

Modelos de desarrollo de software - Iterativo Incremental (K2 - entender, explicar , razonar)

Objetivos:

  1. Explicar la relación existente entre desarrollo, actividades de pruebas y productos de trabajo en el ciclo de vida del desarrollo, poniendo ejemplos utilizando tipos de proyectos y productos (K2).
  2. Reconocer el hecho de que los modelos de desarrollo de software deben adaptarse al contexto de las características del proyecto y del producto (K1).
  3. Retener las características de buenas pruebas aplicables a cualquier modelo de ciclo de vida (K1)

Términos usados en este artículo: ITERACIÓN, INCREMENTAL, RAD, RUP, PROCESO, ESPIRAL.

Antecedentes.

El desarrollo iterativo-incremental es el proceso de establecer requisitos, diseñar, establecer y probar un sistema, realizando como una serie de ciclos de desarrollo mas cortos. Algunos ejemplos son : Prototipos , Desarrollos Rápido de Aplicaciones (RAD), Proceso Unificado Racional (RUP) y modelos de desarrollo ágil. El sistema resultante producido por iteración puede ser probado en distintos niveles de prueba durante cada iteración. Un incremento, sumado a otros previamente desarrollados, constituye un sistema parcial creciente, que también debe ser porbado. Después de la primera , las pruebas de regresión van adquiriendo importancia en todas las iteraciones. Los procesos de verificación y validación pueden llevarse a cabo para cada incremento.

Iteración de procesos.

Los cambios son inevitables en todos los proyectos de software grandes. Los requerimientos del sistema cambian cuando el negocio que procura el sistema responde a las presiones externas. Las prioridades de gestión cambian. Cunado se dispone de nuevas tecnologías, cambian los diseños y las implementación. Esto significa que el  proceso se repite regularmente conforme el sistema se rehace en respuesta a peticiones de cambios.

Existen dos modelos de procesos que han sido diseñados explícita mente para apoyar la iteración de procesos.


  • Entrega incremental. La especificación , el diseño y la implementación del software se dividen en una serie de incrementos, los cuales se desarrollan por turnos;


  • Desarrollo en espiral. El desarrollo del sistema gira en espiral hacia afuera, empezando con un esbozo inicial y terminando con el desarrollo final del mismo.

La esencia de los procesos iterativos es que la especificación se desarrolla junto con el software. Sin embargo, esto crea conflictos con el modelo de obtención de muchas organizaciones donde la especificación completa del sistema es parte del contrato de desarrollo del mismo. En el enfoque incremental , no existe una especificación completa del sistema hasta que el incremento final se especifica. Esto requiere un nuevo tipo de contrato, que a los clientes grandes como las agencias del gobierno les puede ser difícil de incorporar.

No hay comentarios:

Publicar un comentario