Categorías: Todo - cambio - prototipo - cascada - reutilización

por Carlos Pérez hace 3 años

416

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

En el ámbito del desarrollo de software, existen diversos modelos y enfoques para gestionar el proceso y enfrentar los cambios. Dos métodos clave incluyen la entrega incremental y el desarrollo de prototipos, que permiten al cliente interactuar con el sistema en fases tempranas.

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

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

Como enfrentar 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 modelo combina evitar el cambio con tolerancia al cambio
Se estudian 2 formas de enfrentar el cambio:
2. Entrega incremental:

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.

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 factibilidad de algunas decisiones de diseño.

Existen 2 enfoques para enfrentarnos al cambio:
2. Tolerancia al cambio, donde el proceso se diseña de modo que los cambios sean factibles y de bajo costo.
1. Evitar el cambio, donde se busca anticipar los cambios posibles antes del desarrollo.

Actividades del proceso

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 sistemas.
Validación de software
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:

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

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

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

Diseño e implementación del software
Corresponde el proceso de convertir una especificación del sistema, en un sistema ejecutable
Especificación del software
Son actividades técnicas con la meta de especificar, diseñar, implementar y probar un sistema de software

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

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 discreteas en el proceso.
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.
3. Construcción: La fase de construcción incluye diseño, programación y pruebas del sistemas.
2.Elaboracion: Consiste en desarrollar la comprensión del problema de dominio y establecer un marco arquitectónico para el sistema.
1. Concepción: La meta de la fase es establecer un caso empresaria para el sistema.

Modelos de proceso de software

Un modelo de proceso de software es una representación simplificada del proceso de desarrollo del mismo.
Ingeniera de software orientada a la reutilización
Tiene 4 etapas intermedias especiales:

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

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

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

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

Desarrollo Incremental
Tiene 2 problemas:

2. La estructura del sistema tiende a degradarse

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

Se basa en diseñar una implementación inicial, e ir trabajando de mano con el usuario para producir un sistema adecuado.
Modelo en cascada
Modelo muy rígido por lo que solo debe usarse cuando los requerimientos estén bien definidos y sea improbable el cambio.
Dividido en etapas de desarrollo en serie, es decir que no se puede continuar a la siguiente sin terminar la anterior.
Primer modelo publicado sobre el proceso de desarrollo de software.