Ciclo de vida del software
Es el proceso que se sigue
para construir, entregar y hacer evolucionar el software, desde la concepción de una idea hasta la entrega
y retiro del sistema. Se definen las distintas fases intermedias que se
requieren para validar el desarrollo de un software, es decir, para garantizar
que el software cumpla los requisitos para la aplicación y verificación de los
procedimientos de desarrollo, se asegura de que los métodos utilizados son
apropiados.
Procesos del ciclo de vida del software
Procesos principales:
* Adquisición
* Suministro
* Explotación
* Mantenimiento
Procesos de soporte:
* Documentación
* Gestión de configuración
* Aseguramiento de calidad
* Verificación
* Validación
* Revisión conjunta
* Auditoria
*Resolución
de problemas
Procesos de organización:
*Gestión
*Mejora
*Infraestructura
* Formación
*Mejora
*Infraestructura
* Formación
Proceso
adquisición
* Análisis de requisitos del sistema
* Diseño de
la arquitectura del sistema
* Análisis
de los requisitos del software
* Diseño de
la arquitectura del software
* Diseño
detallado del software
* Codificación
y prueba del software
Proceso
suministro
* Integración del software
* Prueba del
software
* Integración
del sistema
* Prueba del
sistema
* Instalación
del software
* Soporte
del proceso de aceptación del software
Procedimientos
* Definición
de objetivos: definir el resultado del proyecto y su papel en la estrategia
global.
* Análisis
de los requisitos y su viabilidad: recopilar, examinar y formular los
requisitos del cliente y
examinar cualquier restricción que se pueda aplicar.
* Diseño
general: requisitos generales de la arquitectura de
la aplicación.
* Diseño en detalle: definición precisa de cada
subconjunto de la aplicación.
* Programación
(programación e implementación): es la implementación de un lenguaje de
programación para crear las funciones definidas durante la etapa de diseño.
* Prueba de unidad: prueba individual de cada
subconjunto de la aplicación para garantizar que se implementaron de acuerdo
con las especificaciones.
* Integración: para garantizar que los diferentes
módulos se integren con la aplicación. Éste es el propósito de la prueba de
integración que está cuidadosamente documentada.
* Prueba beta (o validación), para garantizar que
el software cumple con las especificaciones originales.
* Documentación: sirve para documentar información
necesaria para los usuarios del software y para desarrollos futuros.
* Implementación
* Mantenimiento:
para todos los procedimientos correctivos (mantenimiento correctivo) y las
actualizaciones secundarias del software (mantenimiento continuo).
Reutilización en el ciclo de vida
Principios
de la reutilización
* Existen similitudes entre distintos sistemas
de un mismo dominio de aplicación
* El
software puede representarse como una combinación de módulos
* Diseñar aplicaciones = especificar módulos +
interrelaciones
* Los
sistemas nuevos se pueden caracterizar por diferencias respecto a los antiguos
Ventajas
y desventajas:
* Reduce tiempos y costes de desarrollo
* Aumenta la
fiabilidad
* Dificultad
para reconocer los componentes potencialmente reutilizables
* Dificultad
de catalogación y recuperación
* Problemas
de motivación
* Problemas de gestión de configuración
Tipos de ciclos de vida del software
.-Ciclo
de vida lineal
Es el más sencillo de todos los
modelos. Consiste en descomponer la actividad global del proyecto en etapas
separadas que son realizadas de manera lineal, es decir, cada etapa se realiza
una sola vez, a continuación de la etapa anterior y antes de la etapa
siguiente.
Con un ciclo de vida lineal es
muy fácil dividir las tareas, y prever los tiempos (sumando linealmente los de
cada etapa).Las actividades de cada una de las etapas mencionadas deben ser
independientes entre sí, es decir, que es condición primordial que no haya
retroalimentación entre ellas, aun que sí pueden admitirse ciertos supuestos de
realimentación correctiva.
Desde el punto de vista de la
gestión, requiere también que se conozca desde el primer momento, con excesiva
rigidez, lo que va a ocurrir en cada una de las distintas etapas antes de
comenzarla. Esto último minimiza, también, las posibilidades de errores durante
la codificación y reduce al mínimo la necesidad de requerir información del
cliente o del usuario.
.-Ciclo
de vida en cascada
.-Ciclo
de vida en V
No hay comentarios:
Publicar un comentario