Vous êtes sur la page 1sur 4

CONCEPTO DE CICLO DE VIDA DEL SOFTWARE

El ciclo de vida del software es una sucesin de estados o fases por los cuales pasa un software a lo largo de su
"vida til". El propsito es definir las distintas fases intermedias que se requieren para validar el desarrollo de
la aplicacin, es decir, para garantizar que el software cumpla los requisitos para la aplicacin y verificacin
de los procedimientos de desarrollo: se asegura de que los mtodos utilizados son apropiados.
El esquema de ciclo de vida busca que los errores se detecten lo antes posible y por lo tanto, permite a todos
los involucrados concentrarse en la calidad del software, en los plazos de implementacin y en los costos
asociados.
El ciclo de vida bsico de un software consta de los siguientes procedimientos (pueden ser secuenciados o
simultneos):

Definicin de objetivos: definir el resultado del proyecto y su papel en la estrategia global.


Anlisis de los requisitos y su viabilidad: recopilar, examinar y formular los requisitos del cliente y
examinar cualquier restriccin que se pueda aplicar.
Diseo general: requisitos generales de la arquitectura de la aplicacin.
Diseo en detalle: definicin precisa de cada subconjunto de la aplicacin.
Programacin: es la implementacin de un lenguaje de programacin para crear las funciones definidas
durante la etapa de diseo.
Prueba de unidad: prueba individual de cada subconjunto de la aplicacin para garantizar que se
implementaron de acuerdo con las especificaciones.
Integracin: para garantizar que los diferentes mdulos se integren con la aplicacin. ste es el propsito
de la prueba de integracin que est cuidadosamente documentada.
Prueba beta (o validacin): para garantizar que el software cumple con las especificaciones originales.
Documentacin: sirve para documentar informacin necesaria para los usuarios del software y para
desarrollos futuros.
Mantenimiento: para todos los procedimientos correctivos (mantenimiento correctivo) y las actualizaciones
secundarias del software (mantenimiento continuo).

El orden y la presencia de cada uno de estos procedimientos en el ciclo de vida de una aplicacin dependen del
tipo de modelo de ciclo de vida acordado entre el cliente y el equipo de desarrolladores.
GUIA 1. Introduccin

MODELOS DE PROCESOS DE DESARROLLO DE SOFTWARE


(ejemplares de modelos de ciclo de vida)

1. Modelo Lineal Secuencial (o de Cascada). Se compone de las siguientes etapas:

Anlisis de Requisitos. En esta etapa debe obtenerse la comprensin del dominio de la informacin del
Software. Eso implica revisar la funcionalidad requerida, el comportamiento, el rendimiento y las condiciones
de interconexin.
Diseo. Se centra en cuatro atributos como son: Estructura de Datos, Arquitectura del Software,
Representaciones de Interfaz, Detalles Procedimentales (Algoritmos). En esta etapa se traducen requisitos
en una representacin del Software donde se pueda evaluar su calidad antes de comenzar a codificar.
Generacin del Cdigo.
Pruebas. Verificacin de sentencias internas y procesos externos para captar errores.
Mantenimiento. Gestin de cambios despus de entregado.

Sin embargo este modelo falla porque:


Rara vez se sigue el modelo a cabalidad.
No se acomoda fcilmente ante cambios surgidos por deficiente recoleccin de requisitos.
Presenta versiones de trabajo de los programas en estados muy avanzados, si un error grave no ha sido
detectado, existe un alto riesgo de perder el trabajo realizado.

2. Modelo de construccin de prototipos. Tiene tres pasos:

Escuchar al cliente. Recoleccin de requisitos. Se encuentran y definen los objetivos globales, se identifican
los requisitos conocidos y las reas donde es obligatorio ms definicin.
Construir y revisar el prototipo.
El cliente prueba el prototipo y lo utiliza para refinar los requisitos del software.

Este modelo es til cuando:


El cliente no identifica los requisitos detallados.
El responsable del desarrollo no est seguro de la eficiencia de un algoritmo, sistema operativo o de la
interface hombre - mquina.
GUIA 1. Introduccin

10

Su principal desventaja es que una vez que el cliente ha dado su aprobacin final al prototipo y cree que est a
punto de recibir el proyecto final, se encuentra con que es necesario reescribir buena parte del prototipo para
hacerlo funcional, porque lo ms seguro es que el desarrollador haya hecho compromisos de implementacin
para hacer que el prototipo funcione rpidamente. Es posible que el prototipo sea muy lento, muy grande, no
muy amigable en su uso, o incluso, que est escrito en un lenguaje de programacin inadecuado.

3. Modelos Evolutivos.
Tienen en cuenta que el software es susceptible de cambios con el paso del tiempo. Se basan en la idea de
desarrollar una implementacin inicial, exponindola a los comentarios del usuario y refinndola a travs de las
diferentes versiones hasta que se desarrolla un sistema adecuado. Las actividades de especificacin, desarrollo
y validacin se entrelazan, en vez de separarse, con una rpida retroalimentacin entre stas.
Para sistemas pequeos y medios (de hasta 500.000 lneas de cdigo), el enfoque evolutivo de desarrollo es el
recomendado. Para sistemas grandes, se recomienda un proceso mixto que incorpore las mejores
caractersticas del modelo en cascada y del desarrollo evolutivo
3.1. Modelo Incremental.
Combina repeticin de elementos del Modelo Lineal Secuencial con la filosofa interactiva del Modelo de
Construccin de Prototipos.
En este modelo se entrega el software en partes pequeas, pero utilizables llamadas Incrementos; en
general, cada incremento se construye sobre aquel que ya haya sido entregado.
El primer incremento es fundamental, ya que sobre l se construir el resto del producto.
Este modelo es muy til en situaciones en las que la fecha de entrega sea inmodificable.
3.2. Espiral.
Combina la naturaleza iterativa del Modelo de Construccin de Prototipos con los aspectos sistemticos y
controlados del Modelo Lineal Secuencial.
Define Regiones de Tareas aplicables a cualquier etapa del desarrollo de software. Las regiones de Tareas
en su conjunto forman un ciclo de la espiral (conceptualmente hablando).

GUIA 1. Introduccin

11

Esas Regiones de Tareas aplican en cualquiera de las etapas del proyecto:


Desarrollo de conceptos
*
Desarrollo de nuevos productos
Mejora de productos
*
Mantenimiento de productos.
Ventaja: Este modelo muestra un enfoque realista del desarrollo de sistemas y de software a gran escala.
Desventaja: Depende en muy alto grado de la capacidad del analista para la evaluacin de riesgos.

GUIA 1. Introduccin

12

Vous aimerez peut-être aussi