Hay distintos modelos de ciclo de vida que son utilizados para el desarrollo de
un sistema software, define el orden de las tareas o actividades involucradas,
la coordinacin entre ellas, su enlace y realimentacin. Algunos son ms conocidos y perfectamente estudiados por lo que se sabe sus virtudes y sus carencias. Cada uno es libre de utilizar cualquier tipo ya existente o incluso elaborar uno propio, ya que esto es libre y lo que se va buscando es optimizar el proceso de desarrollo conforme a los requerimientos que se nos piden en el mismo, logrando as desarrollar un programa de mayor calidad. Los factores que influyen a la hora de elegir un ciclo de vida para resolver un problema son: 1. Disponibilidad de recursos ya sean econmicos, tiempo, equipos, humano, etc. 2. Entender los requerimientos. 3. Dominio del problema, si se tiene los conocimientos para dar solucin al problema central. 4. Complejidad y magnitud del proyecto. Hay distintos tipos de modelos los cuales vamos a enumerar a continuacin los ms importantes: Modelo en cascada: Si elegimos este modelo implica un previo y absoluto conocimiento de los requisitos. Implica un diseo exacto y sin errores ni probable modificacin o evolucin ya que no permite retroceder para volver a disear. Cualquier cambio implica reiniciar el ciclo completo desde el principio. Problemas que en ocasiones surgen al aplicar este modelo: 1. Es raro que los proyectos reales sigan el flujo secuencial propuesto por el modelo. Aunque el modelo lineal acepta repeticiones, lo hace en forma indirecta. Como resultado los cambios generan confusin conforme el equipo del proyecto avanza. 2. A menudo, es difcil para el cliente enunciar en forma explcita todos los requerimientos. El modelo de la cascada necesita que se haga y tiene dificultades para aceptar la incertidumbre inicial que tienen todos los proyectos. 3. El cliente tiene que tener paciencia ya que no se le entregara una versin del programa hasta que este est muy avanzado. Modelo en V: Es un modelo similar al actividades de anlisis composicin en la otra. por separado y luego al lo que ests haciendo.
modelo en cascada, pero en este caso se agrupan las
en la primera rama de la V y las actividades de la Tiene muchos mdulos que debes comprobar primero juntarlos. En este modelo ves todo el conjunto no solo
Comienzas bajando de nivel de abstraccin, para a continuacin volver a
subirlo. Los procesos de verificacin se realizan en las zonas de mismo nivel de abstraccin. Modelo de proceso incremental: Tienen en cuenta la vuelta atrs entre fases del proceso para ir refinndolas, es decir, hacemos un anlisis inicial y posteriormente volvemos otra vez al principio para ir aadindole cosas. En este modelo se entrega un primer incremento al usuario y luego se van haciendo nuevas iteraciones hasta finalizarlo. 1. Planificar los incrementos a dar al usuario. 2. Dar a cada incremento unas tareas a seguir. 3. Decidir los principales bloques del programa y saber cmo conectarlos. El usuario puede ir viendo si es lo que quiere y poder seguir trabajando. Desde el principio puede ir utilizando el software lo que da la ventaja de que pueda dar su opinin y saber si es realmente lo que buscaba. Los requerimientos entregados se consideran cerrados, a menos que surjan errores. Requiere una participacin activa del cliente. Modelo de prototipado rpido: Se realizan prototipos cuando no se logra definir lo que quiere el cliente, o el diseo que desea, as rpidamente se sabr si se trabaja en el camino adecuado. Estos prototipos no pueden llevar mucho esfuerzo ni un gran coste ya que se van a desechar. Los prototipos sern esencialmente fachados, sin realizar las operaciones de manera correcta, incluso en un lenguaje que no ser el que se utilizar posteriormente. Se suele aplicar en mtodos como el de cascada. Modelo de prototipado evolutivo: Este modelo es similar al modelo de prototipado rpido, pero en este caso el prototipo creado no se desecha, sino que se vuelve a utilizar aadindole lo que le falte, volvindole a entregar al cliente el nuevo prototipo. Modelo en espiral: El modelo en espiral se divide en cuatro partes y se pasa por todas en cada una de las iteraciones. Las partes en las que se divide son las siguientes: 1. Planificacin: Economa, tiempo para realizarlo y los recursos para cada iteracin. 2. Anlisis de riesgos: Evaluar las posibilidades que tenemos y buscar si hay algn software parecido. Identificar posibles riesgos que puedan surgir en un futuro y preparar soluciones.
3. Ingeniera: Se abordan las tareas propias del proyecto, las actividades
estructurales. Es un punto importante ya que incluye todos los pasos anteriores. 4. Evaluacin: Comprobar que todo funciona correctamente y satisface al cliente. Modelo basado en componentes: Este modelo se basa en la reutilizacin de partes de proyectos anteriores, sobre todo de la parte de cdigo fuente, aunque tambin en diseo, anlisis, etc. No tienen porque ser etapas completas, pueden ser partes de estas que las adaptamos a nuestro proyecto. Puede que los mdulos que vayamos a reutilizar no nos sirvan o que tengamos que modificar los mismos pero tenemos la ventaja de que de no ser as no obtendramos el producto en un tiempo y coste menor. Modelos de mtodo formal: Se basa en modelos matemticos, sobre todo lgebra, para el anlisis de requisitos. La ventaja de este modelo es que no da lugar a ambigedad ya que utilizamos un lenguaje especfico y no un lenguaje natural. No hace falta probarlo introduciendo datos, ya que este directamente se demuestra mediante un proceso de razonamientos que el software est libre de errores. Este modelo es vlido solo para software de cmputo no para iteracin con el usuario. Suele ser muy complejo por la gran especializacin de las matemticas.