Ciclo de Vida del Software: Fases, Modelos y Metodologías de Desarrollo
Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones
Escrito el en
español con un tamaño de 161,15 KB
Ciclo de vida del software
El término ciclo de vida del software describe el proceso de desarrollo de un sistema, desde su fase inicial hasta su fase final. Este ciclo se define a partir de una serie de etapas con el propósito de garantizar que el producto cumpla con los requisitos de aplicación, verificar los procedimientos de desarrollo y asegurar que los métodos utilizados sean los adecuados.
El ciclo de vida permite detectar errores lo antes posible, facilitando que los desarrolladores se concentren en la calidad del software, los plazos de implementación y los costos asociados.
Fases principales del modelo clásico
El ciclo de vida básico consta de los siguientes procedimientos:
- Definición de objetivos: Determinar el resultado del proyecto y su papel en la estrategia global.
- Análisis de requisitos y viabilidad: Recopilar, examinar y formular los requisitos del cliente, evaluando restricciones.
- Diseño general: Definición de la arquitectura de la aplicación.
- Diseño en detalle: Definición precisa de cada subconjunto de la aplicación.
- Programación e implementación: Uso de lenguajes de programación para crear las funciones definidas.
- Prueba de unidad: Verificación individual de cada subconjunto.
- Integración: Asegurar que los módulos se integren correctamente mediante la prueba de integración.
- Prueba beta (o validación): Garantizar que el software cumple con las especificaciones originales.
- Documentación: Registro de información necesaria para usuarios y desarrollos futuros.
- Implementación y mantenimiento: Procedimientos de despliegue y actualizaciones continuas.
Modelos de ciclo de vida
Para facilitar una metodología común, los modelos de ciclo de vida reflejan las etapas de desarrollo y la documentación requerida, validando cada fase antes de continuar.
Modelo en cascada
Comenzó a diseñarse en 1966 y se consolidó alrededor de 1970. Se define como una secuencia de fases donde, al finalizar cada una, se reúne la documentación necesaria para garantizar el cumplimiento de las especificaciones.
Características
- Cada fase comienza al terminar la anterior.
- Es necesario cumplir los objetivos de la etapa previa para avanzar.
- Ayuda a prevenir desviaciones en fechas y costes.
- Revisión constante del progreso al final de cada fase.
Críticas
- Los procesos reales suelen requerir iteraciones.
- El tiempo de ejecución es prolongado.
- El sistema funcional no está disponible hasta las fases finales.
Modelo incremental
Introducido en 1984, este modelo desarrolla el sistema a partir de incrementos, actualizando el software con nuevas funcionalidades en cada paso. Aunque superó al modelo en cascada, presenta alta incertidumbre debido al cambio continuo de requisitos.
Modelo en V
Se basa en el principio de que los procedimientos de prueba deben diseñarse simultáneamente con la fase de desarrollo.
Modelo en espiral
Propuesto por Boehm en 1988 para resolver las limitaciones del modelo en cascada, se organiza en ciclos iterativos que identifican objetivos, alternativas y riesgos.
Diferencias clave:
- Reconocimiento de alternativas para alcanzar objetivos.
- Identificación temprana de riesgos.
- Adaptabilidad a diversos tipos de actividades.
Modelo de desarrollo evolutivo y prototipado
Construye versiones sucesivas del producto. El prototipado de requerimientos permite crear una implementación parcial rápida para que el cliente experimente con ella y proporcione retroalimentación.
Ciclos de vida orientados a objetos
Debido a la naturaleza modular de los objetos, el ciclo de vida típico en metodologías orientadas a objetos es iterativo e incremental. El modelo fuente (Henderson-Sellers y Edwards, 1990) es uno de los más representativos, dividiendo el proyecto en fases de planificación, construcción y entrega.
| Etapa genérica |
| Ciclo de vida en V |
| Ciclo de vida sashimi |
| Cascada incremental |