Ciclo de Vida
Ciclo de Vida
Ciclo de Vida
El ciclo de vida de desarrollo de sistemas es una sucesin de etapas por las que
atraviesa el software desde que comienza un nuevo proyecto hasta que ste se deja
de utilizar
La eleccin de un modelo de ciclo de vida se realiza de acuerdo con la naturaleza del
proyecto, los mtodos a utilizar y los controles y entregas requeridos.
1. Ciclo de vida en cascada
Ingeniera de requerimientos: Requisitos globales a nivel del sistema
Anlisis: Anlisis de requisitos ms detallado
Diseo: Traduccin de requisitos en una representacin software
Codificacin: Traduccin a un formato comprensible para la computadora
Prueba: Deteccin de errores producidos en alguna de las fases anteriores
Problemas del ciclo de vida en cascada
Los proyectos de desarrollo de sistemas, en general, no siguen un ciclo de vida
estrictamente secuencial, siempre hay iteraciones
Dificultad para establecer, inicialmente, todos los requisitos del sistema
Los requisitos se van aclarando y refinando a lo largo de todo el proyecto
Hasta que se llega a la fase final del desarrollo, esto es, la codificacin, no se
dispone de una versin operativa del programa.
mbito de aplicacin del ciclo de vida en cascada
Sistemas simples y pequeos, donde los requisitos sean fcilmente identificables
Este modelo describe una serie de pasos genricos que son aplicables a cualquier otro
paradigma (espiral, UP)
2. Herramientas 4GL
Conjunto muy diverso de mtodos y herramientas que tiene por objeto facilitar el
desarrollo de software
Generacin de cdigo
Generacin de pantallas y de informes
Gestin de entornos grficos
Herramientas de acceso a bases de datos
La ventaja principal de estas herramientas es la generacin automtica de
cdigo a partir de especificaciones de alto nivel de abstraccin
Ciclo de vida 4GL
El proceso comienza con la determinacin de requisitos de informacin, que pueden
ser traducidos directamente a cdigo fuente usando un generador de cdigo.
El problema que se plantea es el mismo que en el ciclo de vida en cascada, es muy
difcil que se puedan establecer todos los requerimientos desde el comienzo
Si la especificacin es pequea, se puede pasar directamente del anlisis de requisitos
a la generacin automtica de cdigo, sin realizar ningn tipo de diseo
El resto de las fases del ciclo de vida es igual a las del modelo del ciclo de vida en
cascada
Problemas del Ciclo de vida 4GL
La mayora de estas herramientas no logran prescindir totalmente de la codificacin.
Normalmente, el cdigo generado es ineficiente.
mbito de aplicacin del Ciclo de vida 4GL
El mbito de aplicacin de esta tcnica est restringido, casi exclusivamente, al software de
gestin
La mayora de las herramientas de cuarta generacin estn orientadas a la generacin
de informes a partir de grandes bases de datos
Esto es debido a que las mejores prestaciones de estos lenguajes est relacionada
con la creacin de interfaces hombre - mquina y con las consultas a bases de datos.
Determinacin
inicial de
requerimientos
Diseo rpido,
centrado sobre
todo en la
arquitectura del
sistema y la
definicin de la
estructura de las
interfaces ms que
en aspectos
procedimentales
codificacin
rpida
utilizando 4GL
Presentacin al
usuario para que lo
pruebe y sugiera
modificaciones
A partir de comentarios del usuario y los cambios
necesarios en los requisitos, se proceder a construir
un nuevo prototipo
Despus de
sucesivas
iteraciones, se
desarrolla el
producto final
3. Prototipos
En el ciclo de vida en cascada se dificulta la obtencin clara de todos los requisitos del
sistema al inicio del proyecto
Un modelo de ciclo de vida basado en la construccin de prototipos puede disminuir
estos inconvenientes
La construccin de un prototipo comienza con la realizacin de un modelo del sistema,
a partir de los requisitos que se conocen
No es necesario realizar una definicin inicial completa de los requisitos del usuario
ES UN PROCESO ITERATIVO
Prototipos construccin
Problemas con los Prototipos
Uno de los principales problemas con este mtodo es que, con demasiada frecuencia,
el prototipo pasa a ser parte del sistema final
Se olvida aqu que el prototipo ha sido construido de forma acelerada, sin tener en
cuenta consideraciones de eficiencia, calidad del software o facilidad de
mantenimiento
mbito de aplicacin del Prototipo
En general, cualquier aplicacin que presente mucha interaccin con el usuario, o que
necesite algoritmos que puedan construirse de manera evolutiva, yendo de lo ms
general a lo ms especfico es una buena candidata
El prototipo provee una retroalimentacin para evaluar y desarrollar nuevos
requerimientos
Cuando el sistema no requiere de especificacin de grandes cantidades de detalles
algortmicos, ni de muchas especificaciones de procesos para describir algoritmos con
los cuales se obtienen resultados.
4. Ciclo de vida en espiral
Importantes proyectos de sistemas fallaron porque los riesgos del proyecto se
despreciaron sin estar nadie preparado para algn imprevisto
Barry Boehm reconoci esto y trat de incorporar el factor de riesgo del proyecto al
modelo de ciclo de vida, agregndoselo a las mejores caractersticas de los modelos de
Cascada y de Prototipo
El modelo en espiral proporciona un modelo evolutivo para el desarrollo de sistemas
de software complejos
Ciclo de vida en espiral - construccin/1
Ciclo de vida en espiral - construccin/2
planificacion
analisis de
riesgo
ingenieria
evaluacion del
cliente
determinacin de los
objetivos del proyecto, las
posibles alternativas y las
restricciones.
1. Identificacin de los riesgos
2. Estimacin de los riesgos
3. Evaluacin de los riesgos
4. Gestin de riesgos
Desarrollo del sistema o un
prototipo del mismo.
valoracin, por
parte del cliente,
de los resultados
de la ingeniera
planificacion
analisis de
riesgo
ingenieria
evaluacion del
cliente
Con cada iteracin se construyen
sucesivas versiones del software,
cada vez ms completas. Aumenta
la duracin de las operaciones del
cuadrante de ingeniera,
obtenindose, al final, el sistema
completo
Sistema
completo
Problemas Ciclo de vida en espiral
Falta de un proceso de gua explcito para determinar objetivos, limitaciones y
alternativas.
La determinacin del riesgo no es una tarea fcil
Es necesaria mucha experiencia en proyectos de software
mbito de aplicacin Ciclo de vida en espiral
Evita las dificultades de los modelos existentes a travs de un proceso conducido por
el riesgo, intentando eliminar errores en las fases tempranas.
Se adapta bien a proyectos complejos, dinmicos e innovadores
El mantenimiento en el software
Terminada la fase de pruebas, el software se entrega al cliente y comienza la vida til
del mismo
El software sufrir cambios a lo largo de su vida til. Estos cambios pueden ser debidos
a variadas causas.
1. Durante la utilizacin, el cliente puede detectar errores en el software, estos
se denominan errores latentes
2. Cuando se producen cambios en alguno de los componentes del sistema
informtico, por ejemplo cambios en la computadora, en el sistema operativo
o en los perifricos, se debe adaptar el software a ellos.
3. El cliente habitualmente requiere modificaciones funcionales, normalmente
ampliaciones, que no fueron contempladas inicialmente en el proyecto.
En cualquier caso, el mantenimiento supone volver atrs en el ciclo de vida, a las
etapas de codificacin, diseo o anlisis dependiendo de la magnitud del cambio.