You are on page 1of 32

CICLO DE VIDA DEL

SOFTWARE
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.

Concepto de Ciclo de Vida


Procesos del Ciclo de Vida del Software
Modelo en cascada
Modelo incremental
Modelo en espiral
Prototipado
La reutilizacin en el Ciclo de Vida
Sntesis automtica de Software
Comparacin de Ciclos de Vida
Modelos para desarrollo de sistemas Orientados a
Objetos.

CICLO DE VIDA DEL SOFTWARE


3.010

CONCEPTO DE CICLO DE VIDA


Una aproximacin lgica a la adquisicin, el suministro,
el desarrollo, la explotacin y el mantenimiento del software
IEEE 1074

Un marco de referencia que contiene los procesos, las actividades


y las tareas involucradas en el desarrollo, la explotacin y el
mantenimiento de un producto de software, abarcando la vida del
sistema desde la definicin de los requisitos hasta la finalizacin de
su uso
ISO 12207-1

Modelo en CASCADA
Modelo en Cascada
Figura Ilustrativa

Modelo
en CASCADA
Modelo
en Cascada
Etapas

Las principales etapas del Modelo en Cascada son las actividades


fundamentales de desarrollo:

1) Anlisis y Definicin de Requerimientos. Los servicios,


restricciones y metas del sistema se definen a partir de las
consultas con los usuarios; que luego se definen en detalle como
Especificacin del Sistema.

2) Diseo del Sistema y del Software. El Diseo del Sistema


divide los requerimientos en: Hardware o Software. Establece una
Arquitectura completa del Sistema. El Diseo del Software
identifica y describe las abstracciones fundamentales del Software
y sus relaciones.

Modelo en CASCADA

3) Implementacin y Prueba de Unidades. Como el


diseo del software se lleva a cabo como un conjunto de
unidades de programas. Esta prueba implica verificar
que cada una cumpla su especificacin.

4) Integracin y prueba del sistema. Los programas o


las unidades individuales de programas se integran y
prueban como un sistema completo para asegurar que se
cumplan los requerimientos del software.

Despus de las pruebas, el sistema software se entrega


al cliente.

Modelo en CASCADA

5) Funcionamiento y mantenimiento. Por lo general es la fase


ms larga del Ciclo de Vida.

El sistema se instala y se pone en funcionamiento prctico. El


mantenimiento implica:

Corregir errores no descubiertos en las etapas anteriores del ciclo


de vida.

Mejorar la implementacin de las unidades del sistema.

Aumentar los servicios del sistema una vez que se descubren


nuevos requerimientos.

CICLO DE VIDA DEL SOFTWARE


3.130

MODELO EN CASCADA
CRITICAS:

del

1. No refleja realmente el proceso de desarrollo


software
2. Se tarda mucho tiempo en pasar por todo el

ciclo
3. Perpetua el fracaso de la industria del software en su
comunicacin con el usuario final
4. Es difcil lograr que el cliente exponga todos los
requerimientos
5. El mantenimiento se realiza en el cdigo fuente
6. Las revisiones de proyectos de gran complejidad son muy

Cundo debemos utilizar el


Modelo en Cascada?

El Modelo en Cascada slo se debe utilizar cuando:

1) Los requerimientos se comprendan bien y

2) Sea improbable que cambien radicalmente durante el


desarrollo del sistema.

Este enfoque se sigue utilizando para el desarrollo de software, en


proyectos grandes de ingeniera de sistemas.

CICLO DE VIDA DEL SOFTWARE


3.140

MODELO INCREMENTAL

...

CICLO DE VIDA DEL SOFTWARE


3.150

MODELO

INCREMENTAL

1. Se evitan proyectos largos y se entrega Algo de valor a


los usuarios con cierta frecuencia
2. El usuario se involucra ms
3. Difcil de evaluar el costo total
4. Difcil de aplicar a sistemas transaccionales que tienden a
ser integrados y a operar como un todo
5. Los errores en los requisitos se detectan tarde.
6. El resultado puede ser muy positivo

Ventajas

1. Con un paradigma incremental se reduce el tiempo de


desarrollo inicial, ya que se implementa la funcionalidad
parcial.
2. Tambin provee un impacto ventajoso frente al cliente,
que es la entrega temprana de partes operativas del
software.
3. Resulta ms sencillo acomodar cambios al acotar el
tamao de los incrementos.

Desventajas
El

modelo incremental no es recomendable


para casos de sistemas de tiempo real, de
alto nivel de seguridad, de procesamiento
distribuido y/o de alto ndice de riesgos.

Requiere

de mucha planeacin, tanto


administrativa como tcnica.

Requiere

de metas claras para conocer el


estado del proyecto.

Conclusin del modelo


incremental

El Modelo Incremental es particularmente


til cuando no se cuenta con una dotacin
de personal suficiente. Los primeros pasos
los pueden realizar un grupo reducido de
personas y en cada incremento se puede
aadir personal, de ser necesario. Por
otro lado los incrementos se pueden
planear para gestionar riesgos tcnicos.

MODELO ESPIRAL
CONCEPTO
El modelo en espiral es una de las mas recomendables para
el
desarrollo y creacin de un programa, ya que consta de
pocas etapas o fases, las
cuales se van realizando en manera
continua y cclica.

REPRESENTACION GRAFICA

MODELO ESPIRAL
Cada ciclo espiral se divide en 4 etapas:
DEFINICION DE OBJETIVOS: Para esta fase del proyecto se definen los objetivos
especficos. Se identifican las restricciones del proceso y el producto, y es estipula un
plan detallado de administracin. Se identifican los riesgos, se planean estrategias
alternativas.
EVALUACION Y REDUCCION DE RIESGOS: Se lleva acabo un anlisis detallado para
cada uno de los riesgos del proyecto. Se definen los paso para reducir dichos riesgos, Por
ejemplo si existe el riesgo de tener requerimientos inapropiados, se desarrolla un
prototipo del sistema.
DESARROLLO Y VALIDACION: Despus de la evaluacin de riesgos en la interfaz de
usuario son dominantes, un modelo de desarrollo apropiado podra ser la construccin de
prototipos evolutivos. Si los riesgos de proteccin son la principal consideracin, un
desarrollo basado en transformaciones formales podra ser el mas apropiado, y as
sucesivamente. El modelo de cascada es el mas apropiado para el desarrollo si el mayor
riesgo identificado es la integracin de los subsistemas.
PLANEACION: El proyecto se revisa y se toma la decisin si se debe continuar con un
ciclo posterior de la espiral. Si se decide continuar, se desarrollan los planes para la
siguiente fase del proyecto. Con cada iteracin alrededor de la espiral (comenzando en el
centro y siguiendo hacia el exterior), se construyen sucesivas versiones del software,
cada vez ms completa y, al final, el propio sistema software totalmente funcional.

TIPO DE METODOLOGIA ESPIRAL


Un ciclo de espiral comienza con la elaboracin de los objetivos tanto funcionales
como de rendimiento. Despus se enumeran algunas formas posibles de alcanzar
estos objetivos identificando las fuentes de riesgos posibles. El siguiente paso es
resolver estos riesgos y llevar a cabo las actividades de desarrollo. Finalmente se
planifica el siguiente ciclo de la espiral.

CARACTERISTICAS
Trata

de mejorar losciclos de vida clsicos y prototipos.


En cada giro seconstruye un nuevo modelo del sistema
completo.
El anlisis de riesgo requiere la participacin de personal con
alta cualificacin.
Incorpora objetivos de calidad y gestin deriesgos
Elimina errores y alternativas no atractivas al comienzo
Permite iteraciones, vuelta atrs yfinalizaciones rpidas
Cada ciclo empieza identificando:
Los objetivos de la porcin correspondiente
Las alternativas
Restricciones

VENTAJAS

El modelo en espiral puede adaptarse y aplicarse a lo largo dela vida del


software decomputadora.

Como el software evoluciona a medida que progresa el proceso, el


desarrollador y el cliente comprenden y reaccionan mejor ante riesgos
en cadauno de los niveles evolutivos.

El modelo en espiral permite a quien lo desarrolla aplicar el enfoque de


construccin de prototipos en cualquier etapa de evolucin del
producto.

El modelo en espiral demanda una consideracin directade los riesgos


tcnicos en todas las etapas delproyecto y si se aplica adecuadamente
debe reducir los riesgos antes de que se conviertan en problemas.

DESVENTAJAS

Resulta difcil convencer a grandes clientes de que


el enfoque evolutivo es controlable.

Debido a su elevada complejidad no se aconseja


utilizarlo en pequeos sistemas.

Genera mucho tiempo en el desarrollo de sistemas

CICLO DE VIDA
DEL
SOFTWARE
MODELO
3.230

Determinar
objetivos,
alternativas,
restricciones

EN ESPIRAL

Evaluar alternativas,
identificar y resolver
Decidir si
los riesgos
se sigue o
no

Anlisis
de Riesgos
Anlisis
de Riesgos
Anlisis
de Riesgos

Prototipo 3

Anlisis de
Riesgos

Prototipo 2
Prototipo 1

Plan de Requisitos
Plan del Ciclo de Vida

Simulaciones, modelos, benchmarks


Concepto de
Operacin

Plan de
Desarrollo

Validacin de
Requisitos

Plan de
Integracin
y Pruebas

V & V del
diseo

Planificar las
fases siguientes

Prototipo
Operativo

Requisitos
Sw

Diseo
Producto
Sw

Diseo
detallado
Cdigo

Implementacin

Prueba de
aceptacin

Pruebas
unitarias
Integracin
y prueba

Desarrollar, Verificar el
producto del siguiente nivel

EJERCICIOS
Ejercicio 1
Qu factores influyen a la hora de elegir un ciclo de vida para
resolver un problema dado?
Qu
ciclo de vida
un problema
se
comprende
bienelegira
desdeparaelresolver
principio
y est quemuy
estructurado? Una vez
el
de vida, qu
elegido
ciclo
procesos escogera para dicho ciclo de vida, teniendo en
cuenta que el desarrollo informtico para resolver
el problema anterior lo realiza una nica persona?

EJERCICIOS
Ejercicio 2
Se supone que se va desarrollar una aplicacin relativa a la
gestin de pedidos de una empresa. En este caso el cliente
no tiene todava muy claro qu es lo que quiere. Adems,
el personal informtico va a utilizar un tecnologa que le
resulta completamente nueva. Disctase qu tipo de ciclo
de vida es ms apropiado y qu procesos se deberan
utilizar para desarrollar esta aplicacin.

Ejercicio 3
Indique si es verdadero o falso cada una de las opciones y
explique el porque.
El ciclo de vida:
a)Comienza con una idea o necesidad que satisfacer y acaba con las
pruebas satisfactorias del producto.
b)No existe ningn estndar que describa sus procesos y
actividades.
c)No se trata slo de realizar el anlisis, diseo, codificacin y pruebas;
tambin incluye, entre otros, procesos de soporte.
d)El mantenimiento lo constituyen las actividades para mantener sin
cambios el sistema.
e)En la actividad de anlisis de los requisitos software los desarrolladores
obtienen de los futuros usuarios los requisitos que piden al sistema.

Respuesta a Qu factores influyen a la hora de elegir


un ciclo de vida para resolver un problema dado?

- Dimensin del proyecto (Tamao del programa).

- Tiempo Lmite de entrega.

- Conocer las necesidades del Cliente.

- Tipo de Usuario que tendr acceso para administrar y


consultar.

- Presupuesto del proyecto.

- Factibilidad de implementacin del programa.

Qu ciclo de vida elegira para resolver un problema que se que se


comprende bien desde el principio y est muy estructurado?. Una vez
elegido el ciclo de vida, qu procesos escogera para dicho ciclo de
vida, teniendo en cuenta que el desarrollo informtico para resolver
el problema anterior lo realiza una nica persona?

Si el problema y los requerimientos se tienen claros desde el principio y


teniendo en cuenta que el ciclo de vida busca dar orientacin, el cual genera
seguimiento para obtener, a partir de los requerimientos del cliente, sistemas
que puedan ser utilizados por dicho cliente. Se debe utilizar el Modelo de
Cascada, ya que cada fase empieza cuando se ha terminado la fase anterior y
de esta manera para pasar de una fase a otra es necesario conseguir todos los
objetivos de la etapa previa, realizndose posteriormente una revisin al final
de la fase. Lo cual ayudar a prevenir que se sobrepasen las fechas de entrega
y los costes esperados. Por lo anterior, los procesos a realizar segn este ciclo
de vida son: anlisis de requisitos del sistema, anlisis de requisitos del
software, diseo preliminar, diseo detallado, codificacin, pruebas,
explotacin y mantenimiento.

Se supone que se va desarrollar una aplicacin relativa a la gestin de pedidos


de una empresa. En este caso el cliente no tiene todava muy claro qu es lo
que quiere. Adems, el personal informtico va a utilizar una tecnologa que
le resulta completamente nueva. Disctase qu tipo de ciclo de vida es ms
apropiado y qu procesos se deberan utilizar para desarrollar esta aplica

Para este caso en particular, lo que se sugiere es el Modelo en Espiral, ya


que por su estructura de ciclos permite acomodarse a otros modelos,
eliminando errores y alternativas no atractivas al comienzo, cambio de
iteraciones, vuelta atrs y finalizaciones rpidas e identificacin de
alternativas y Restricciones. Y los procesos a seguir son: Planificacin,
Anlisis de riesgo, Ingeniera y Evaluacin del Cliente.

a)Comienza con una idea o necesidad que satisfacer


y acaba con las pruebas satisfactorias del producto.

R/:Falso. Si empieza a partir de una idea o


necesidad a satisfacer pero no termina solo en la
pruebas satisfactorias del cliente ya que en un
ciclo de vida se tienen en cuenta procesos
adicionales como mantenimientos, formacin,
mejora, soporte etc.

b)No existe ningn estndar que describa sus


procesos y actividades.

R/:Falso. Existe modelos ya establecidos


con procesos y actividades aplicables
segn el tipo de proyecto a manejar,
ejemplo:
modelo
cascada,
modelo
incremental, modelo en espiral, modelo
de prototipo rpido etc.

c) No se trata slo de realizar el anlisis,


diseo, codificacin y pruebas; tambin
incluye, entre otros, procesos de soporte.

R/:Verdadero, ya que segn el tipo de proyecto ,


es necesario aplicar procesos despus de la
implementacin, es decir habrn casos en que se
necesite de formacin hacia el nuevo producto
mas intensiva que en otros, un mantenimiento,
aplicar mejoras, cambios en la infraestructura
etc.

d)El mantenimiento lo constituyen las


actividades para mantener sin cambios el
sistema.

R/:Falso, ya que en el mantenimiento se


pueden incluir procesos de mejoras.

e)En la actividad de anlisis de los requisitos


software los desarrolladores obtienen de los
futuros usuarios los requisitos que piden al
sistema.
R/:Falso, son los desarrolladores quienes
detectan los requisitos del sistema al
realizar un anlisis de ingeniera aplicado
al problema a solucionar.

You might also like