Procesos de desarrollo del Software y ciclos de vida del mismo.

Procesos de desarrollo del Software y ciclos de vida del mismo.

Modelos de proceso de software

Modelo en cascada

Modelo en cascada

Primer modelo publicado sobre el proceso de desarrollo de software.

Dividido en etapas de desarrollo en serie, es decir que no se puede continuar a la siguiente sin terminar la anterior.

Modelo muy rígido por lo que solo debe usarse cuando los requerimientos estén bien definidos y sea improbable el cambio.

Desarrollo Incremental

Desarrollo Incremental

Se basa en diseñar una implementación inicial, e ir trabajando de mano con el usuario para producir un sistema adecuado.

Tiene 2 problemas:

1. El proceso no es visible, es necesario de entregas regulares para medir el avance

2. La estructura del sistema tiende a degradarse

Ingeniera de software orientada a la reutilización

Ingeniera de software orientada a la reutilización

Tiene 4 etapas intermedias especiales:

1. Análisis de componentes: Se realiza la búsqueda de componentes para la especificación.

2. Modificación de requerimientos: Se analizan los requerimientos y se modifican para reflejar los componentes.

3. Diseño de sistema con reutilización: Se diseña el marco conceptual del sistema.

4. Desarrollo e integración: Se integran los componentes para crear el nuevo sistema.

Un modelo de proceso de software es una representación simplificada del proceso de desarrollo del mismo.

El Proceso Unificado Racional (RUP)

Modelo de proceso moderno que se derivo del trabajo sobre el UML. Es un modelo de fases que identifica cuatro fases discretea

Modelo de proceso moderno que se derivo del trabajo sobre el UML. Es un modelo de fases que identifica cuatro fases discreteas en el proceso.

1. Concepción: La meta de la fase es establecer un caso empresaria para el sistema.

2.Elaboracion: Consiste en desarrollar la comprensión del problema de dominio y establecer un marco arquitectónico para el sistema.

3. Construcción: La fase de construcción incluye diseño, programación y pruebas del sistemas.

4. Transición: La fase final del RUP, se interesa por el cambio del sistema desde la comunidad de desarrollo hacia la comunidad de usuarios.

Un proceso es una serie de actividades relacionadas que conduce a la elaboracion de un producto de software

Actividades del proceso

Especificación del software

Son actividades técnicas con la meta de especificar, diseñar, implementar y probar un sistema de software

Son actividades técnicas con la meta de especificar, diseñar, implementar y probar un sistema de software

Diseño e implementación del software

Corresponde el proceso de convertir una especificación del sistema, en un sistema ejecutable

Corresponde el proceso de convertir una especificación del sistema, en un sistema ejecutable

Validación de software

Se crea para mostrar que un sistema cumpla tanto con sus especificaciones como con las expectativas del cliente.

Se crea para mostrar que un sistema cumpla tanto con sus especificaciones como con las expectativas del cliente.

Se divide en 3 fases de prueba:

1. Prueba de desarrollo: Los desarrolladores ponen a prueba los componentes del sistema.

2. Pruebas del sistema: Los componentes del sistemas se integran para formar un sistema completo, así se descubren problemas relaciones con interacciones no deseadas entre componentes

3. Pruebas de aceptación: Etapa final del proceso de pruebas antes de que el sistema se acepte para uso operacional.

Evolución del software

Se basa en la idea de la flexibilidad de los sistemas de software, y en su capacidad para adaptarlos e incorporarlos a otros

Se basa en la idea de la flexibilidad de los sistemas de software, y en su capacidad para adaptarlos e incorporarlos a otros sistemas.

Como enfrentar el cambio.

Existen 2 enfoques para enfrentarnos al cambio:

1. Evitar el cambio, donde se busca anticipar los cambios posibles antes del desarrollo.

2. Tolerancia al cambio, donde el proceso se diseña de modo que los cambios sean factibles y de bajo costo.

Se estudian 2 formas de enfrentar el cambio:

1. Prototipo del sistema:

Se desarrolla rápidamente una versión del sistema o una parte del mismo, para comprobar los requerimientos del cliente y la f

Se desarrolla rápidamente una versión del sistema o una parte del mismo, para comprobar los requerimientos del cliente y la factibilidad de algunas decisiones de diseño.

2. Entrega incremental:

Los incrementos del sistema se entregan al cliente para su comentario y experimentación, esto apoya tanto al hecho de evitar

Los incrementos del sistema se entregan al cliente para su comentario y experimentación, esto apoya tanto al hecho de evitar como tolerar el cambio.

Modelo en espiral de Boehm para enfrentar el cambio:

El proceso de software se representa como una espiral, y no como una secuencia de actividades con cierto retroceso. Este mode

El proceso de software se representa como una espiral, y no como una secuencia de actividades con cierto retroceso. Este modelo combina evitar el cambio con tolerancia al cambio