Está en la página 1de 54

CICLOS DE VIDA PARA DESARROLLAR

SOFTWARE DE CALIDAD

Consideraciones preliminares
Todo esfuerzo en el desarrollo de Sistemas conlleva un ciclo de vida. Un modelo de ciclo de vida es un modelo prescriptivo de lo que pasara entre la primera idea y el funcionamiento del sistema. Existen varios modelos del ciclo de vida. El modelo de ciclo de vida apropiado puede orientar el proyecto y ayudar a asegurar que cada paso se acerque ms a la consecucin del objetivo.

Consideraciones preliminares
Dependiendo del modelo de ciclo de vida seleccionado:
Se puede aumentar la velocidad de desarrollo. Mejorar la calidad, el control y el seguimiento del proyecto. Minimizar gastos y riesgos. Mejorar las relaciones con el usuario.

Consideraciones preliminares
La seleccin ineficaz de un modelo de ciclo de vida puede ser una fuente constante de:
Hacer lento el trabajo. Trabajo repetitivo, innecesario y frustrante.

Se pueden producir estos ltimos efectos si no se elige un modelo de ciclo de vida.

Diferentes tipos de Ciclos de Vida


Software comercial existente Diseo por herramientas

Cascada pura

Codificar y corregir

Entrega evolutiva

Ciclos de vida en el desarrollo de Software

Espiral

Cascadas modificadas

Diseo por planificacin

Entrega por etapas

Prototipo evolutivo

PLANIFICACIN DEL CICLO DE VIDA DE SISTEMAS CASCADA PURA

El modelo de Cascada Pura


Es el predecesor de todos los modelos de ciclo de vida y ha servido de base para otros modelos. En este modelo, un proyecto progresa a travs de una secuencia ordenada de etapas, partiendo desde su concepto inicial hasta la prueba del mismo. El proyecto realiza una revisin al final de cada etapa para determinar si est preparado para pasar a la siguiente.

Grfica del modelo de Cascada Pura


Planeacin
Anlisis Diseo

Implementacin
Utilizacin

Ventajas del modelo de Cascada Pura


Se utiliza correctamente para ciclos en los que:
se tiene una definicin estable del producto. cuando se esta trabajando con metodologas y tcnicas conocidas.

Puede constituir una eleccin correcta para el desarrollo rpido cuando se est:
construyendo una versin de mantenimiento bien definida de un producto existente migrando un producto existente a una nueva plataforma.

Ayuda a minimizar los gastos de la planificacin porque permite realizarla sin problemas.

Desventajas del modelo de Cascada Pura


Dificultad para especificar claramente los requerimientos al comienzo del proyecto (no permite flexibilidad en los cambios). Para un proyecto de desarrollo rpido, el modelo de cascada puede suponer una cantidad excesiva de documentacin.

PLANIFICACIN DEL CICLO DE VIDA DE SISTEMAS


CODIFICAR Y CORREGIR

El modelo Codificar y Corregir


Es un modelo poco til, pero bastante comn Si no se ha seleccionado explcitamente otro modelo, por omisin se estar utilizando este modelo. Cuando se utiliza se empieza con una idea general de lo que se necesita construir.
se puede tener una especificacin formal, o no tenerla. se utiliza cualquier combinacin de diseo, cdigo, depuracin y mtodos de prueba no formales que sirven hasta que se tiene el producto listo para entregarlo.

Grfica del modelo Codificar y Corregir

codificar y corregir

Especificacin del sistema (quizs)

Entrega (quizs)

Ventajas del modelo Codificar y Corregir


No conlleva ninguna gestin. No se pierde tiempo en:
La planificacin. Documentacin. Control de la calidad. Cumplimiento de los estndares. Cualquier otra actividad que no sea la codificacin pura.

Desventajas del modelo Codificar y Corregir


Resulta peligroso para otro tipo de proyectos que no sean pequeos. Aunque no suponga gestin alguna, tampoco ofrece medios de evaluacin del progreso.
se codifica justo hasta que se termina.

No proporciona medios de evaluacin de la calidad o de identificacin de riesgos.

PLANIFICACIN DEL CICLO DE VIDA DE SISTEMAS ESPIRAL

El modelo de Espiral
Es un modelo orientado a riesgos que divide un proyecto en miniproyectos.
cada miniproyecto se centra en uno o ms riesgos importantes hasta que todos stos estn controlados.

El concepto riesgo puede referirse a:


requerimientos y arquitecturas poco comprensibles. problemas de ejecucin importantes. problemas con la tecnologa subyacente.

Despus de controlar todos los riesgos importantes, el modelo finaliza del mismo modo que el modelo de ciclo de vida en cascada.

Grfica del modelo de Espiral


Recoleccin de requisitos y planificacin inicial del cliente Planificacin Anlisis de riesgos Anlisis de riesgo basado en los requisitos iniciales Anlisis de riesgo basado en la reaccin del cliente

Planificacin basada en los comentarios del cliente

Prototipo inicial del software Hacia el sistema final

Evaluacin del cliente

Prototipo del siguiente nivel Evaluacin del cliente Ingeniera Sistema de ingeniera

Ventajas del modelo de espiral


Mientras los costos suben, los riesgos disminuyen.
cuanto ms tiempo y dinero se emplee, menores sern los riesgos.
que es exactamente lo que se quiere en un proyecto de desarrollo rpido.

Proporciona al menos tanto control de gestin como el modelo en cascada tradicional.


se tienen los puntos de verificacin al final de cada iteracin.

Desventajas del modelo de Espiral


La nica desventaja del modelo en espiral es que se trata de un modelo complicado. Requiere de una gestin concienzuda, atenta, y que exige conocimientos profundos. Puede ser difcil definir hitos objetivos de comprobacin que indiquen si est preparado para pasar al siguiente nivel de la espiral.

PLANIFICACIN DEL CICLO DE VIDA DE SISTEMAS


CASCADAS MODIFICADAS

El modelo Cascadas Modificadas


El mayor problema del modelo de cascada pura es que trata las fases del ciclo de vida como etapas secuenciales disjuntas. Es posible corregir los inconvenientes ms importantes en el modelo de cascada pura con pequeas modificaciones.
puede modificarse de forma tal que las etapas se solapen. se puede reducir el nfasis sobre la documentacin. se puede permitir ms regresin.

Grfica del modelo de cascada con fases solapadas


Planeacin Anlisis Diseo Implementacin Utilizacin

Grfica del modelo de Cascada con Subproyectos

Planeacin Diseo detallado Anlisis Codificacin y depuracin Prueba del subsistema

Diseo Diseo detallado Codificacin y depuracin Diseo detallado Codificacin y depuracin Prueba del subsistema

Prueba del subsistema

Prueba del sistema

Grfica del modelo en cascada con Reduccin de Riesgos

Planeacin

Anlisis

Diseo

Implementacin

Utilizacin

PLANIFICACIN DEL CICLO DE VIDA DE SISTEMAS PROTOTIPADO EVOLUTIVO

El modelo de Prototipado Evolutivo


Es un modelo de ciclo de vida en el que se desarrolla el concepto del sistema a medida que avanza el proyecto. Normalmente se comienza desarrollando los aspectos ms visibles del sistema.

Grfica del modelo de Prototipado Evolutivo


Inicio Parada
Producto de Ingeniera Planeacin y anlisis Diseo rpido

Refinamiento del prototipo

Construccin del prototipo

Evaluacin del prototipo por el cliente

Cundo utilizar el Prototipado Evolutivo?


Cuando los requerimientos cambian con rapidez. Cuando el cliente es reacio a especificar el conjunto de los requerimientos. Cuando ni el analista ni el cliente identifican de forma apropiada el rea de aplicacin. Cuando los desarrolladores no estn seguros de la arquitectura o los algoritmos adecuados a utilizar.

Desventajas del modelo de prototipado evolutivo


Imposibilidad de conocer al inicio del proyecto lo que se tardar en crear un producto aceptable.
Incluso no se sabe cuntas iteraciones se tendrn que realizar. Esta aproximacin puede convertirse fcilmente en una excusa para realizar el desarrollo con el modelo de codificar y corregir.

PLANIFICACIN DEL CICLO DE VIDA DE SISTEMAS ENTREGA POR ETAPAS

El modelo de entrega por etapas (implementacin incremental)


El sistema se muestra al cliente en etapas refinadas sucesivamente. A diferencia del modelo de prototipado evolutivo, se conoce exactamente qu es lo que se va a construir cuando se procede a construirlo. Lo que hace diferente a este modelo es que el sistema no se entrega como un todo al final del proyecto, sino que ste se entrega por etapas sucesivas a lo largo del proyecto.

Grfica del modelo de Entrega por Etapas


Planeacin

Anlisis

Diseo

Etapa 1: diseo, implementacin, utilizacin

Etapa 2: diseo, implementacin, utilizacin

Etapa 3: diseo, implementacin, utilizacin

Ventajas del modelo de Entrega por Etapas


Permite proporcionar una funcionalidad til en las manos del cliente antes de entregar el 100% del proyecto. Con una planificacin cuidadosa, es posible entregar las prestaciones ms importantes al principio, y el cliente puede comenzar a usar el sistema en ese punto.

Desventajas del modelo de Entrega por Etapas


No funciona sin una planificacin adecuada tanto para niveles tcnicos como para niveles de gestin.

PLANIFICACIN DEL CICLO DE VIDA DE SISTEMAS DISEO POR PLANIFICACIN

El modelo de diseo por planificacin


Es similar al modelo entrega por etapas.
la diferencia radica en que no siempre se conoce al principio si se tendr el producto para la ltima entrega.

Se pueden tener cinco etapas planificadas.


pero slo se llega a la tercera etapa debido a que se tiene una fecha lmite que no se puede cambiar.

Grfica del modelo de diseo por planificacin


Planeacin Anlisis Diseo Alta prioridad: diseo detallado, implementacin, utilizacin

Prioridad media-alta: diseo detallado, implementacin, utilizacin AGOTAMIENTO DEL PLAZO O DEL PRESUPUESTO

Prioridad media: diseo detallado, implementacin, utilizacin

Entrega

Prioridad media-baja: diseo detallado, implementacin, utilizacin

Prioridad baja: diseo detallado, implementacin, utilizacin

Ventajas del modelo de diseo por planificacin


Puede ser una estrategia vlida para asegurar que se tiene un producto listo a entregar en una fecha determinada. Esta estrategia es particularmente til para las partes del producto que no se quieren realizar en el camino crtico.

Desventajas del modelo de diseo por planificacin


Si no se completan todas las etapas, se desperdiciar tiempo en la especificacin, arquitectura y diseos de prestaciones que no se van a entregar. Si se ha gastado tiempo en una gran cantidad de requerimientos incompletos que no se van a entregar, se debera tener tiempo para resumir en uno o dos requerimientos ms completos.

PLANIFICACIN DEL CICLO DE VIDA DE SISTEMAS


ENTREGA EVOLUTIVA

El modelo de Entrega Evolutiva


Es un modelo que se encuentra entre el prototipado evolutivo y la entrega por etapas
se desarrolla una versin del producto. se muestra al cliente. se refina el producto en funcin de los comentarios del cliente.

El parecido entre ambos modelos depende de hasta qu punto se lleva a cabo una planificacin para adaptarse a las solicitudes de los clientes.

Grfica del modelo de Entrega Evolutiva


Planeacin

Anlisis

Entregar la versin final Diseo Desarrollar una versin

Agregar la realimentacin del cliente

Entregar la versin

Realimentacin del cliente

PLANIFICACIN DEL CICLO DE VIDA DE SISTEMAS

DISEO POR HERRAMIENTAS

El modelo de Diseo por Herramientas


En este modelo la idea es incluir una prestacin (funcionalidad) dentro del producto slo si las herramientas de software existentes la soportan directamente. Si no est soportada, se deja.
Ejemplos de herramientas son:
Las libreras de cdigo y clases. Generadores de cdigo.

Lenguajes de desarrollo rpido y otras herramientas software que reducen de manera espectacular el tiempo de implementacin.

Grfica del modelo de Diseo por Herramientas


Funcionalidad soportadas por las herramientas

Funcionalidad que no va a estar en el producto Funcionalidad que se va a incluir

Funcionalidad ideal

Ventajas del modelo de Diseo por Herramientas


Este modelo se puede combinar con otros modelos.
Primer ejemplo de combinacin.
construir una espiral inicial para identificar las capacidades de las herramientas software existentes. identificar los requerimientos bsicos. determinar si la aproximacin del diseo por herramientas es viable.

Segundo ejemplo de combinacin.


utilizar una aproximacin del diseo por herramientas para implementar un prototipo de prueba. implementar el software real utilizando la entrega por etapas, la entrega evolutiva y el diseo por planificacin.

Desventajas del modelo de diseo por herramientas


Se pierde mucho control sobre el producto. Puede que no sea posible llevar a cabo la implementacin de todos los requerimientos que se desean, y que no se puedan implementar otros requerimientos exactamente de la forma que se quiere. Depende en buena medida de los productores de software comercial (tanto de sus estrategias de productos como de su estabilidad financiera)

PLANIFICACIN DEL CICLO DE VIDA DE SISTEMAS SOFTWARE COMERCIAL EXISTENTE

El modelo de software comercial existente


El software comercial disponible raramente va a satisfacer todas las necesidades del cliente. Se deben considerar los siguientes puntos:
est disponible de forma inmediata. en el lapso de tiempo entre que se adquiere el software comercial y en el que se puede tener preparada la entrega del sistema de creacin propia, los usuarios pueden.
aprender a trabajar con las limitaciones del producto. revisar el software comercial para adaptarlo an ms a las necesidades de cada uno.

PLANIFICACIN DEL CICLO DE VIDA DE SISTEMAS SELECCIN DEL CICLO DE VIDA

Observaciones sobre la seleccin


Distintos proyectos tienen necesidades diferentes.
incluso si todos necesitan ser desarrollados lo ms rpido posible.

No existe un modelo de ciclo de vida de desarrollo rpido.


debido a que el modelo ms efectivo depende del contexto en el que se utilice.

Determinados modelos de ciclo de vida son considerados ms rpidos que otros.


pero cada uno de ellos ser ms rpido en determinadas situaciones y ms lento en otras.

Preguntas sobre la seleccin


Un modelo que a menudo trabaja bien puede suceder que no funcione bien si no se utiliza correctamente. Para seleccionar el modelo ms conveniente se debe responder a las siguientes preguntas:
Me compenetro con el cliente para la especificacin de los requerimientos al comienzo del problema?. Es probable que el entendimiento de las dos partes cambie significativamente a medida que se avance en el proyecto?.

Preguntas sobre la seleccin


Comprendo bien la arquitectura del sistema?. Es probable que necesite llevar a cabo modificaciones importantes en la arquitectura a mitad del proyecto?. Cunta fiabilidad necesito?. Cunto tiempo extra necesito para planificar y disear durante el proyecto para las versiones futuras?. Cuntos riesgos conlleva el proyecto? . Estoy sometido a una planificacin predefinida?. Necesito poder realizar modificaciones a medio camino?.

También podría gustarte