Sei sulla pagina 1di 16

Curso: Ingeniera de la Informacin Modelos de Ciclo de Vida

CICLO DE VIDA DEL SOFTWARE


I. CONCEPTO:
Uno de los problemas ms importantes en cualquier departamento de sistemas de informacin es definir un marco de referencias comn: Que pueda ser empleado por todas las personas que participan en un desarrollo informtico. En el que se definan los procesos, las actividades y las tareas a desarrollar. Todo esfuerzo en el desarrollo del software conlleva un ciclo de vida que consiste en realizar todas las actividades comprendidas entre el momento en el que se inicia la versin de un sistema como una chispa en la imaginacin de alguien y el ltimo aliento en la mquina del ltimo cliente. El ciclo de vida abarca, por tanto, toda la vida del sistema, comenzando por su concepcin y finalizando cuando ya no se utiliza. El modelo de ciclo de vida que se selecciona influye tanto en el xito del proyecto como cualquier otra decisin de planificacin que se tome. El modelo de ciclo de vida apropiado puede orientar sus proyectos y ayudarle a asegurar que cada paso se acerque ms a la consecucin del objetivo. Dependiendo del modelo de ciclo de vida que se seleccione, se puede aumentar la velocidad de desarrollo, mejorar la calidad, el control y el seguimiento del proyecto, minimizar gastos y riesgos, o mejorar las relaciones con los clientes. La seleccin ineficaz de un modelo de ciclo de vida puede ser fuente constante de trabajo repetitivo, innecesario y frustrante. Se pueden producir los mismos efectos si no se elige un modelo de ciclo de vida.

Curso: Ingeniera de la Informacin Modelos de Ciclo de Vida A lo largo de la historia se han propuesto diferentes paradigmas o ciclos de vida para el software: desde el ciclo en cascada, pasando por el modelo en espiral de Boehm, hasta los ms recientes ciclos de vida orientados a objetos.

II. MODELOS MODELO EN CASCADA O LINEALES


El predecesor de todos los modelos de ciclo de vida es el modelo en cascada. Aunque presenta muchos problemas, sirve de base para otros modelos de ciclo de vida ms efectivos. El nmero de fases o etapas que se proponen en este ciclo varan, aunque suelen ser: anlisis del requisito del sistema, anlisis de requisitos del Software, diseo preliminar, diseo detallado, codificacin, pruebas, explotacin y mantenimiento.
ANLISIS REQUISITOS SISTEMAS

ANLISIS REQUISITOS SOFTWARE

DISEO PRELIMINAR

DISEO DETALLADO

CODIFICACIN Y PRUEBAS

EXPLOTACIIN Y MANTENIM.

Curso: Ingeniera de la Informacin Modelos de Ciclo de Vida En un modelo de cascada, proyecto progresa a travs de una secuencia ordenada de pasos partiendo anlisis hasta la explotacin y mantenimiento. El proyecto realiza una revisin al final de cada etapa para determinar si est preparada para pasar a la siguiente etapa, por ejemplo, desde el anlisis de requerimientos hacia el diseo de la arquitectura. Cuando la divisin determina que el proyecto no est listo para pasar a la siguiente etapa, permanece en la etapa actual hasta que est preparado. El modelo en cascada est dirigido por documentos; es decir, los productos principales del trabajo que se pasan de etapa en etapa son documentos. El modelo se utiliza para ciclos de productos en los que se tiene una definicin estable del producto, y tambin cuando se est trabajando con metodologas tcnicas conocidas. En estos casos, el modelo en cascada ayuda a utilizar errores en las primeras etapas del proyecto a un bajo costo. Proporciona los requerimientos que los desarrolladores anhelan. Si se est construyendo una versin de mantenimiento bien definida de un producto existente o migrando un producto existente a una nueva plataforma, un ciclo de vida en cascada puede ser una eleccin correcta para el desarrollo rpido. El modelo en cascada ayuda a minimizar sin los gastos de No

planificacin

porque

permite

realizarla

problemas.

proporciona resultados tangibles en forma de software hasta el final del ciclo de vida, pero para alguien familiarizado con el modelo, la documentacin que genera proporciona indicaciones significativas del progreso a lo largo del ciclo de vida.

Curso: Ingeniera de la Informacin Modelos de Ciclo de Vida El modelo en cascada funciona bien con proyectos complejos que se entienden correctamente, debido a que se pueden obtener beneficios al enfrentarse a la complejidad de forma ordenada. Funciona correctamente cuando los requerimientos de la calidad dominan sobre los requerimientos de costo y de planificacin. El modelo evita una fuente comn de errores importantes, eliminando los cambios que se pueden producir a medio camino. El modelo en cascada funciona especialmente bien si se dispone de personal poco inexperto, por que presenta el proyecto con una escritura que ayuda a minimizar el esfuerzo intil. Las desventajas del modelo en cascada se centran en la dificultad para especificar claramente los requerimientos al comienzo del proyecto antes de que realice ningn trabajo de diseo y antes de escribir ningn cdigo. Los desarrolladores se quejan de los usuarios que no saben lo que quieren, pero supongamos que cambian los papeles. Imagnese intentando explicarle en detalle a un ingeniero de automocin cmo es su carro. Le explica al ingeniero que necesita un motor , una carrocera, ventanillas, volante, pedal de acelerador, pedal de freno, el freno de emergencia, asientos y dems. Pero, puede recordar todo lo que el ingeniero de automocin necesitar conocer para construir el carro? Suponga que se olvide indicarle que necesita la luz de marcha atrs. El ingeniero se va y vuelve a los 6 meses con un carro que no tiene luz de marcha atrs. Le comenta Oh, cielos, olvide decirle que el carro necesita luz de marcha atrs,. El ingeniero se vuelve loco sabe usted lo que va a costar coger el carro para conectar la luz de marcha atrs desde la transmisin hasta la parte posterior del coche?. Tenemos que redisear el

Curso: Ingeniera de la Informacin Modelos de Ciclo de Vida cuadro de mando del carro, realizar la conexin para la luz del freno y aadir otro censor a la transmisin. Este cambio supondr semanas, por no decir meses! por qu no me lo comento antes? Ud. hace una mueca pareca una cosa tan sencilla... Un error comprensible verdad? Un carro es difcil de explicar para un aficionado. Una gran cantidad de productos software tambin son complicados, y a menudo las personas que se encargan de especificar el software tampoco son expertos en ordenadores. Pueden olvidarse cosas que parecen tan sencillas cuando se ve el producto funcionando. Cuando se utiliza un modelo en cascada, olvidar algo puede suponer un error costoso. No se percibe este hecho hasta que se realiza la prueba del sistema, y se comprueba que uno de los requerimientos no est o es incorrecto. Por tanto, el principal problema del modelo en cascada es no permitir flexibilidad en los cambios se tienen que especificar completamente todos los requerimientos al comienzo del proyecto, lo que puede suponer meses e incluso aos antes de tener el software funcionando esto choca con las necesidades del comercio moderno, donde el premio a menudo es para los desarrolladores que puedan implementar la mxima funcionalidad en la ltimas etapas del proyecto. Otras desventajas son: No refleja el proceso real de desarrollo de software. Los proyectos reales raramente siguen este flujo secuencial, puesto que siempre hay iteraciones. Aunque en este modelo la iteracin est permitida en etapas contiguas, en la vida real normalmente la iteracin abarca ms de una etapa. Un caso tpico es la redefinicin de los requisitos cuando se est codificando la aplicacin.

Curso: Ingeniera de la Informacin Modelos de Ciclo de Vida Se tarda mucho tiempo en pasar por todo el ciclo, dado que hasta que no se finalice una fase no se pasa a la siguiente. As, se podra dar el caso de no salir nunca de la fase de anlisis de requisitos software. Acenta el fracaso de la industria del software con el usuario final. En este caso, el usuario debe tener paciencia, ya que el sistema de funcionamiento no estar disponible hasta las fases finales del proyecto. Para un proyecto de desarrollo rpido, el modelo en cascada puede suponer una cantidad excesiva de documentacin. Genera pocos signos visibles de progreso hasta el final. Esto puede dar la impresin de un desarrollo lento, incluso sin ser verdad. Los clientes quieren tener la seguridad de que sus proyectos sern entregados a tiempo. Algunas personas han criticado el modelo en cascada por no permitir volver atrs para corregir los errores. Esto no es del todo cierto. La vuelta atrs es posible, pero difcil. Una visin distinta del modelo en cascada que puede ofrecer una mejor perspectiva es el ciclo de vida del salmn. Se puede nada contra la corriente, pero el esfuerzo puede matarle. Al final del diseo de la arquitectura, ha participado en la mayora de los eventos ms importantes que se han realizado en esta etapa. Se realiz una revisin del diseo y se firm la copia oficial del documento de la arquitectura. Si se descubre un fallo en la arquitectura durante la codificacin y prueba, es muy difcil nadar contra la corriente y rehacer la arquitectura. En Resumen, los inconvenientes del venerado modelo en cascada hacen que sea, a menudo, un modelo poco apropiado para un proyecto de desarrollo rpido.

Curso: Ingeniera de la Informacin Modelos de Ciclo de Vida

MODELO INCREMENTAL (LEMMAN, 1984)


El modelo Incremental corrige la necesidad de una secuencia no lineal de pasos de desarrollo. En este modelo se va creando el sistema software aadiendo componentes funcionales al sistema (llamados incrementos). En cada paso sucesivo, se actualiza el sistema con nuevas funcionalidades o requisitos. El sistema software ya no se ve como una nica entidad monoltica con una fecha fija de entrega, sino como una integracin de resultados sucesivos obtenidos despus de cada interaccin. El modelo incremental constituy un avance sobre el modelo en cascada, pero tambin presenta problemas aunque permite el cambio continuo de requisitos, aun existe el problema de determinar si los requisitos, propuestos son vlidos. Muchas veces los errores de los requisitos se detectan tarde y su correccin resulta tan costosa como en el modelo en cascada.

ANLISIS REQUISITOS SISTEMAS ANLISIS REQUISITOS SOFTWARE

DISEO PRELIMINAR DISEO DETALLADO CODIFICACIN Y PRUEBAS


EXPLOTACIN Y MANTENIMIENTO

DISEO DETALLADO CODIFICACIN Y PRUEBAS

EXPLOTACIN Y MANTENIMIENTO

Curso: Ingeniera de la Informacin Modelos de Ciclo de Vida

MODELO EN ESPIRAL Conocido tambin como El rollo de canela en rama ha sido desarrollado para cubrir las mejores caractersticas tanto del ciclo de vida clsico, como de la creacin de prototipos; aadiendo adems un nuevo elemento: el anlisis del riesgo, que falta en esos paradigmas. Antes de comenzar a hablar de dicho modelo definamos lo que es riesgo. En primer lugar, el riesgo concierne a lo que ocurra en el futuro. El hoy y el ayer ya no nos conciernen realmente, por que ahora ya estamos recogiendo los frutos de lo que sembramos en el pasado. La cuestin es si podemos, entonces, modificando nuestras acciones de este momento, crear una oportunidad para una situacin diferente y ms esperanzadora de nuestro maana. Esto significa, en segundo lugar, que el riesgo implica un cambio, que puede venir dado por cambios de opiniones, acciones o lugares... [En tercer lugar,] el riesgo implica una eleccin, y la falta de certeza de que la eleccin sea la correcta. As, paradjicamente, el riesgo, como la muerte o los impuestos, es una de las pocas cosas inevitables de la vida. Cuando consideramos el riesgo en el contexto de la ingeniera del Software, siempre se hacen evidentes las tres consideraciones conceptuales de Charette. Nos concierne el futuro cules son los riesgos que pueden hacer que fracase el proyecto software? Nos conciernen los cambios cmo afectarn al xito global y a los plazos los cambios en los requisitos del cliente, en las tecnologas del desarrollo, en las computadoras destino y en todas dems entidades relacionadas con el proyecto? Por ltimo, nos enfrentamos con elecciones Qu mtodos y herramientas

Curso: Ingeniera de la Informacin Modelos de Ciclo de Vida debemos usar, cuanta gente debe estar involucrada, cuanta importancia hay que darle a la calidad? El anlisis del riesgo consta en realidad de cuatro actividades diferentes: identificacin del riesgo, proyeccin del riesgo, clculo del riesgo y gestin del riesgo. El modelo de espiral es un modelo de ciclo de vida orientada a riesgos que divide un proyecto software en miniproyectos. Cada miniproyectos. Cada miniproyecto se centra en uno o ms riesgos importantes hasta que todos estn controlados; despus de controlar todos los riesgos ms importantes, el modelo en espiral finaliza del mismo modo que el modelo de ciclo de vida en cascada. El modelo, representado mediante la espiral de la figura, define cuatro actividades principales, representados por los cuatro cuadrantes de la figura: 1. Planificacin.- Determinacin de objetivos, alternativos y restricciones. 2. Anlisis de riesgo.- Anlisis de alternativas, identificaciones y resolucin de riesgos. 3. Ingeniera.- Desarrollo del producto del siguiente nivel. 4. Evaluacin de Cliente.- valoracin de los resultados de la ingeniera. Con cada iteracin alrededor de la espiral se construyen sucesivas versiones del software, cada vez ms completas. Durante la primera vuelta alrededor de la espiral se definen los objetivos, las alternativas, las restricciones y se analizan e identifican los riesgos. Si el anlisis de riesgo indica que hay una incertidumbre en los requisitos, se puede usar la creacin de prototipos en el cuadrante de ingeniera para dar asistencia tanto

Curso: Ingeniera de la Informacin Modelos de Ciclo de Vida al encargado del desarrollo como al cliente. Se pueden usar simulaciones y otros modelos para definir ms el problema y refinar los requisitos. El cliente evala el trabajo de ingeniera y sugiere modificaciones. En base a los comentarios del cliente se produce la siguiente fase de planificacin y anlisis de riesgo. En cada bucle alrededor de la espiral, la culminacin del anlisis de riesgo resulta en una decisin de seguir o no seguir. Si los riesgos son demasiados grandes, se puede dar por terminado el proyecto. Sin embargo, en la mayora de los casos, se sigue avanzando alrededor del camino de la espiral, y ese camino lleva los desarrolladores hacia un modelo ms completo del sistema y al final al propio sistema operacional. Una de las ventajas ms importantes del modelo en espiral es que mientras los costes suben, los riesgos disminuyen. Cuanto ms tiempo y dinero emplee, menores sern los riesgos, que es exactamente lo que se quiere en un proyecto de desarrollo rpido. El modelo en espiral proporciona al menos tanto control de gestin como el modelo en cascada tradicional. Se tienen los puntos de verificacin al final de cada iteracin. Como el modelo esta orientado a riesgos, le proporciona con anterioridad indicaciones de cualquier riesgo insuperable. Descubrir si el proyecto no se puede realizar por razones tcnicas u otras razones, y esto no supondr un costo excesivo. La nica desventaja en el 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. En algunos casos, el desarrollo del producto es suficientemente lineal, y los riesgos del

Curso: Ingeniera de la Informacin Modelos de Ciclo de Vida proyecto son tan pocos que no se necesitan la flexibilidad y la gestin de riesgos que ofrece el modelo en espiral.

PLANIFICACIN Recoleccin de requisitos y planificacin del proyecto iniciales Planificacin Basada en los comentarios del cliente

ANLISIS DE RIESGO Anlisis de riesgo basado en requisitos iniciales Anlisis de riesgo basado en la reaccin del cliente

Decisin de Seguir o no

Prototipo inicial Evaluacin del cliente Prototipo del siguiente nivel ENTREGAR

EVALUACIN DEL CLIENTE

INGENIERIA

Curso: Ingeniera de la Informacin Modelos de Ciclo de Vida

MODELO PARA EL DESARROLLO DE ORIENTADOS AL OBJETO:


1. MODELO DE AGRUPAMIENTO: (Cluster)

SISTEMAS

Este modelo es definido por Meyer (1990), los cuales consideran que la cultura implcita en los modelos usuales del ciclo de vida est basada en el proyecto, mientras que el desarrollo orientado al objeto esta basada en el producto, el cual es entendido como elemento software reutilizables y cuyo beneficio econmico aparece a largo plazo. Meyer propone este modelo, en el que se tiene en cuenta esta nueva fase de generalizacin que aparece combinada con la fase de validacin. Agrupamiento: conjunto de clases relacionadas con un objetivo comn. Ejm. Un agrupamiento grfico. En el modelo Cluster se crean diferentes subciclos de vida que se pueden solapar en el tiempo, cada uno incluye una fase de especificacin, otra de diseo y realizacin, y por ltimo, una de validacin y generalizacin. Modelo de agrupamiento (cluster) T Diseo o realizacin Validacin Generaliz.

Agrupamiento n

Especificacin

Especificacin

Diseo o realizacin Diseo o realizacin

Validacin Generaliz. Validacin Generaliz.

Agrupamiento 2

Especificacin

Agrupamiento 1

Tiempo

Curso: Ingeniera de la Informacin Modelos de Ciclo de Vida

MODELO FUENTE
Representa grficamente el alto grado de iteracin y solapamiento que hace posible la tecnologa de objetos. En el modelo fuente la base esta en el anlisis de requisitos, a partir del cual va creciendo el ciclo de vida, donde cada burbuja, corresponde a una fase, cayendo solo para el mantenimiento necesario, de all el nombre de fuente, la piscina sera el repositorio de clases. Los autores adems, proponen un modelo de ciclo de vida para cada clase o modulo, ya que cada una puede estar en fase diferente del ciclo de vida durante el desarrollo de un sistema.

Mantenim. Utilizacin

Evolucin

Pruebas sistemas Pruebas unitarias Codificac. Diseo conceptua Componen . Anlisis

Estudio de viabilidad y requisitos Piscina sw

Curso: Ingeniera de la Informacin Modelos de Ciclo de Vida MODELO REMOLINO El modelo cascada asume solo una dimensin de iteracin consistente en la fase del proceso, pero se pueden identificar otras dimensiones: Amplitud o tamao del desarrollo (por ejemplo, nmero de elementos). Profundidad, referida a nivel de abstraccin o detalle. Madurez, entendida como el grado de complecin, correccin y elegancia. Alternativas, diferentes soluciones a un problema. Alcance, en cuanto a objetivos del sistema, ya que los requisitos van cambiando a lo largo del proyecto. Las diferentes dimensiones se pueden anidar de muchas maneras, por ejemplo, fase madurez amplitud. Este proceso fractal (ms que lineal), consistente en un desarrollo multicclico, tiene la forma de un remolino en lugar de una cscada, de ah su nombre.

MODELO PINBALL
Un modelo muy curioso y didctico a la hora de explicar el desarrollo orientado al objeto elpinball
6

. refleja realmente la

forma en la que se desarrolla software. En este modelo la pelota representa un proyecto completo o un subproyecto y el jugador es el equipo de desarrollo. Se produce de forma iterativa a encontrar clases, atributos, mtodos e interrelaciones (actividades que se pueden englobar en la fase de anlisis) y definir colaboraciones, herencia, agregacin y subsistemas (que se incluyen en el diseo). Por ltimo se pasa a

Curso: Ingeniera de la Informacin Modelos de Ciclo de Vida la programacin, prueba e implementacin. Realmente, como en el pinball, los pasos se pueden tomar en cualquier orden y de forma simultnea. Ambler tambin destaca dos estilos a la hora de jugar: A lo seguro. Con tecnologas y mtodos probados. Al lmite, con mayor riesgo, pero tambin ms ventajas. A veces, sta es la nica manera de conseguir beneficios espectaculares. El autor destaca que, al igual que en el juego del pinball, la habilidad es el factor ms importante (junto con la experiencia), pero adems se requiere algo de suerte.

MODELO POR PLANIFICACIN


El modelo de ciclo de vida de diseo por planificacin es similar al modelo de ciclo de vida de entrega por etapas, en el que se planifica desarrollar el producto en etapas sucesivas. La diferencia radica en que no siempre se conoce al principio si se tendr el producto para la ltima entrega. Se puede tener cinco etapas planificadas, pero solo se llega a la tercera etapa debido a que se tiene una fecha lmite inamovible. Este modelo de ciclo de vida puede ser una estrategia vlida para asegurar que se tiene un producto listo a entregar en una fecha determinada. Si se debe tener absolutamente el software funcionando a tiempo para una presentacin comercial, o para final del ao, o para cualquier otra fecha inamovible, esta estrategia garantiza que se tendr algo . resta estrategia es particularmente til para las partes del producto que no quieren realizar en el camino crtico. Por ejemplo, el sistema operativo Microsoft Windows incluye bastantes complementos destacando

Curso: Ingeniera de la Informacin Modelos de Ciclo de Vida Word Pad, Paint y la red de corazones, Microsoft podra utilizar el diseo por planificacin para evitar que sus complementos retrazaran Windows en general. Uno de los elementos de este modelo de ciclo de vida es priorizar las prestaciones y planificar sus etapas de tal forma que las primeras contengan las prestaciones de mayor prioridad. Las prestaciones de baja prioridad se dejan para ms tarde. si se llega a la fecha de entrega antes de finalizar todas las etapas, no es conveniente dejar sin realizar prestaciones crticas debido a que se ha gastado tiempo de implementacin en otras menos crticas. El principal inconveniente de esta aproximacin es que si no se completan todas las etapas, se desperdiciar tiempo en la especificacin, arquitectura y diseo de prestaciones que no se van a entregar. Si se ha gastado tiempo en una gran cantidad de prestaciones incompletas que no se van a entregar, se debera tener tiempo para resumir en una o mas prestaciones ms completas. La decisin para utilizar el modelo de planificacin se somete a la pregunta de cuanta confianza se tiene en la habilidad para la planificacin. Si se tiene mucha confianza para alcanzar los objetivos de la planificacin, esta aproximacin es ineficiente. Si se tiene una menor confianza, esta aproximacin podra salvar su vida.

Potrebbero piacerti anche