Вы находитесь на странице: 1из 6

Ciclo de Vida

Todo proyecto de desarrollo de software tiene como fin la obtencin de un


producto o servicio que es necesario generar a travs de diversas actividades.
Dichas actividades deben estar bien fundamentadas y descritas en cada una
de las diferentes secciones del mismo.
La naturaleza del proyecto definir las tareas a realizar como tambin las
caractersticas del entorno en el que se vaya a desarrollar e implementar, es
as como se deben elegir los mtodos y herramientas ms adecuados en cada
momento para satisfacer las necesidades especficas del proyecto y establecer
las medidas oportunas que permitan controlar su evolucin.
Algunas de estas actividades pueden agruparse en fases, pues contribuyen a
obtener un producto intermedio necesario para continuar hacia el producto final
facilitando la gestin del proyecto. Al conjunto de estas fases empleadas se le
denomina ciclo de vida.
Es necesario que las actividades satisfagan el tiempo de entrega pactado con
el cliente sin comprometer la calidad del producto final; para facilitar una
metodologa comn entre el cliente y la compaa de software, los modelos de
ciclo de vida se han ido actualizando para reflejar las etapas de desarrollo
involucradas y la documentacin requerida. Al final de cada etapa se arreglan
las revisiones de manera que los involucrados evalen si se cumple con los
objetivos.
Existen distintas formas de organizar el orden concreto en el que se
acometern las distintas etapas del ciclo de vida y es deber de quien desarrolla
el software elegir la ms adecuado conforme a las caractersticas del proyecto.
Modelo en cascada

Ciclo de vida clsico, tambin denominado "modelo en cascada", su
caracterstica primordial es que no se comienza con un paso hasta que no se
ha terminado el anterior. Conduce en orden, de una etapa a la siguiente slo
tras finalizar con xito las tareas de verificacin y validacin propias; si resulta
necesario, nicamente se da marcha atrs hasta la fase inmediatamente
anterior.
Este modelo tradicional de ciclo de vida exige una aproximacin secuencial al
proceso de desarrollo del software, el principal problema de esta aproximacin
es el que no podemos esperar el que las especificaciones inciales sean
correctas, completas y que el usuario mantenga su opinin sobre una u otra
caracterstica; normalmente, es difcil para el cliente establecer explcitamente
todos los requerimientos al comienzo del proyecto (hasta que no vea
evolucionar el proyecto no tendr una idea clara de qu es lo que realmente
quiere).
Lo que puede resultar contraproducente es que cualquier cambio o decisin
tomada errneamente en las etapas iniciales del proyecto supondr un coste
adicional significativo, tanto econmico como temporal (retraso en la fecha de
entrega).
Como es evidente esto es solo un modelo terico, si el usuario cambia de
opinin en algn aspecto tendremos que volver hacia atrs en el ciclo de vida.



Modelo de Prototipado

Anteriormente manifestamos lo perjudicial que puede ser que el cliente no
establezca los requerimientos del proyecto de una forma precisa, sin embargo,
normalmente define un conjunto general de objetivos para el sistema a
construir, a pesar de no ser detallados.
Puede surgir que, aun teniendo las caractersticas del entorno en el que se
vaya a desarrollar, exista incertidumbre con respecto a la eficiencia del
algoritmo, la capacidad o la forma en que debe disearse la interfaz. En
cualquiera de estas situaciones, resulta adecuado construir un prototipo.

El prototipado de requerimientos es la creacin de una implementacin parcial
de un sistema, para el propsito explcito de aprender sobre los requerimientos
del sistema; esto es dado a que los usuarios o clientes experimentan con el
prototipo y proveen la retroalimentacin sobre lo que a ellos les gust y no les
gust acerca del prototipo, capturando la especificacin de requerimientos para
el desarrollo del sistema real.
Puede ser usado como parte de la fase de requerimientos (determinar
requerimientos) o justo antes de la fase de requerimientos (como predecesor
de requerimientos).
As como desarrollo de prototipos reduce el riesgo de que nuestro proyecto
fracase y facilita la especificacin de requerimientos tambin tiene sus
inconvenientes: el cliente puede pensar que el prototipo es el sistema definitivo,
ignorando que un prototipo no es un sistema acabado aunque tenga el mismo
aspecto externo; esto puede conducir a la consolidacin de aspectos de baja
calidad de un prototipo en el sistema final que se entrega si el prototipo no se
desecha a tiempo.
A veces, los prototipos desechables no se llegan a desechar. Pero los
prototipos no siempre son desechables. En tal caso, estaremos utilizando un
modelo iterativo de refinamiento de prototipos en el que, tras varias iteraciones,
seremos capaces de construir un sistema que se adapte mejor a las
necesidades de nuestro cliente.



Modelos iterativos

Los modelos iterativos consisten en descomponer un proyecto de desarrollo de
software en una serie de subproyectos de menor extension. Tales diseos de
estos subproyectos deben aportar funcionalidad nueva para el sistema desde el
punto de vista del usuario final.
Usualmente, se establecen prioridades entre los requerimientos iniciales del
sistema para decidir qu parte del mismo se construir primero.
Los modelos iterativos de desarrollo de software permiten adelantar el
momento en el que se determina si un proyecto es tcnicamente viable o no
(con lo que se eliminan costes innecesarios si, finalmente, el proyecto hubiese
de cancelarse).
Fomenta una mejor comunicacin con el usuario/cliente, ya que se dispondr
antes de una versin operativa del sistema, aunque sea de funcionalidad
reducida. Estas versiones intermedias del producto ayudan a la eliminacin de
malentendidos que pueden surgir en la etapa de adquisicin de requerimientos.
Adems, ayudan a que el usuario se forme una idea ms clara de lo que
realmente necesita.




Modelo espiral

El modelo en espiral de Barry Boehm hace especial hincapi en la prevencin
de riesgos.
Las actividades de este modelo se conforman en una espiral, en la que cada
bucle o iteracin representa un conjunto de actividades. Las actividades no
estn fijadas a ninguna prioridad, sino que las siguientes se eligen en funcin
del anlisis de riesgo, comenzando por el bucle interior.
Este modelo define cuatro actividades principales: planificacin (determinar los
objetivos y restricciones del proyecto), anlisis de riesgos (anlisis de
alternativas e identificacin de riesgos), ingeniera (desarrollo del producto) y
evaluacin (revisin por parte del cliente y valoracin de los resultados
obtenidos). En cada iteracin alrededor de la espiral se construyen versiones
cada vez ms completas del software.



Secuencial o iterativo?

El modelo de desarrollo ms adecuado para un proyecto depender del tipo de
sistema que se ha de construir:
Se elegira un modelo secuencial cuando los requerimientos se conocen
bastante bien y son estables, cuando el diseo ser similar al de otros sistemas
con los que tenemos experiencia, y exista familiarizacin con el entorno de
desarrollo, o cuando el coste de tener que cambiar algo en las etapas finales
del proyecto resultara prohibitivo.
En la prctica, los modelos iterativos se adaptan mejor a la realidad del
desarrollo de software. Nos inclinaremos por un modelo iterativo cuando los
requerimientos no se conocen con exactitud o se prev que puedan cambiar en
el futuro, cuando el diseo del sistema es complejo o no tiene precedentes para
nosotros, cuando el proyecto en s es arriesgado econmicamente y cuando
podamos controlar el coste de futuros cambios en el sistema.
RUP divide el proceso en cuatro fases, dentro de las cuales se realizan varias
iteraciones en nmero variable segn el proyecto y en las que se hace un
mayor o menor hincapi en las distintas actividades.
Las primeras iteraciones (en las fases de Formulacion y Elaboracin) se
plantea la comprensin del problema, la delimitacin del mbito del proyecto y
eliminacin de los riesgos crticos. Durante la Formulacion las iteraciones
hacen mayor nfasis en actividades de modelado del negocio y de requisitos.
En la fase de elaboracin, las iteraciones se sitan al desarrollo de la lnea
base de la arquitectura, abarcan ms los flujos de trabajo de requisitos, modelo
de negocios, anlisis, diseo y una parte de implementacin orientado a la
arquitectura.
En la fase de construccin, se lleva a cabo la construccin del producto por
medio de una serie de iteraciones. Para cada iteracin se refinan su anlisis y
diseo y se procede a su implementacin y pruebas. Se realiza una pequea
cascada para cada ciclo, las iteraciones ocurren hasta que se termine la
implementacin de la nueva versin del producto.
En la fase de transicin se busca garantizar que se tiene un producto
preparado para su entrega a la comunidad de usuarios.

Вам также может понравиться