Sie sind auf Seite 1von 4

CICLOS DE VIDA DE UN SOFTWARE

PRESENTADO A:

ING PILAR RODRIGUEZ

UNIVERSIDAD FRANCISCO DE PAULA SANTANDER

ANALISIS Y DISEÑO DE SISTEMAS

CUCUTA

2018
CICLO DE VIDA LINEAL:
Descomponer la actividad global en actividades separadas, que son realizadas de manera
lineal, cada etapa se realiza una sola a la vez, es muy fácil dividir las etapas y prever los
tiempos, cada actividad es independiente, requiere que se conozca con excesiva rigidez que se
conozca lo que va a ser en cada etapa. Minimiza los errores de codificación y reduce al
mínimo la necesidad de requerir información del cliente
Ventaja: la sencillez de su gestión y administración tanto económica como temporal
Donde se usa: proyectos internos de una empresa para programas muy pequeños de ABM
(sistemas que realizan altas, bajas y modificaciones sobre un conjunto de datos).
Si algún sector pequeño de una empresa necesita llevar un registro de datos acumulativos sin
necesidad d realizar procesos sobre ellos mas bien conslta simple. Una aplicación que se
dedique a almacenar datos exclusivamente
Desventaja: no es apto para desarrolladores que superen mínimamente requerimientos de
retroalimentación entre etapas, es decir muy costoso de retomar una etapa anterior al detectar
alguna falla
¿Qué ES LA INCERTIDUMBRE?
Es la cantidad necesaria de información para reducir el riesgo posible del software, cuando se
emprende la tarea de desarrollo del software
CICLO DE VIDA CASCADA PURO
Admite iteraciones por lo que no es ni secuencial ni lineal, después de cada etapa se realiza
una o varias revisiones para comprobar si se puede pasar a la siguiente, poco flexible y con
muchas restricciones. Solo se puede elegir si se conoce claramente los requerimientos desde el
principio
Ventajas: planificación sencilla, provee un producto con elevado grado de calidad sin
necesidad de personal altamente calificado
Donde se usa: en proyectos que tienen todos los requerimientos a comienzo, es un modelo
puramente teórico ya que rara vez el usuario conoce todos los requerimientos al inicio
Desventaja: la necesidad de contar con todos o la mayoría al inicio del proyecto, y si se
comente errores y no se detectan en la etapa siguiente, es costoso y difícil volver atrás
Los resultados no se verán sino hasta el final de las etapas, por lo que cualquier error detectado
nos trae retrasos y aumenta el costo del desarrollo en función del tiempo que toma arreglarlos
CICLO DE VIDA EN V
Tiene dos sube etapas de retroalimentación del ciclo de cascada puro entre las etapa de análisis
y mantenimientos y entre las del diseño y debuggin
Ventajas y desventajas igual que las del ciclo anterior, con el agregado de controles cruzados
entre etapas para lograr una mayor corrección
Donde se usa: en aplicaciones simples (pequeñas transacciones sobre bases de datos) donde
necesitan una confiablidad muy alta. Ejemplo una aplicación de factorización donde es
sencilla pero su captura de datos debe ser extremadamente fiable por lo que puede tener
matrices complicadas
CICLO DE VIDA SASHIMI
Aparece de la cascada pura donde no se pueden solapar sus etapas pero a diferencia se pueden
solapar las etapas, esto en muchos casos suele aumentar su eficiencia y retroalimentación
Ventajas: Ganancia en calidad, falta de necesidad de documentación, producto de ser
asolapada cada etapa
Desventajas: es difícil gestionar el comienzo y fin de cada etapa debido al solapamiento y los
problemas de comunicaron si aparecen generan inconsistencias en el proyecto
Donde se usa: cuando necesitamos una aplicación para compartir los recursos (CPU, memoria
o espacio de almacenamiento), con otras aplicaciones en un aviente productivo, El
solapamiento de sus etapas nos permitirá jugar en la práctica jugar con el modelo de 3 capas
ahorrando recursos
(¿Qué es el modelo 3 capas? Es un modelo de programación para aplicaciones de accesos a
datos en que se busca clasificar la arquitectura en 3 capas, en la capa de datos solo nos
preocupamos por el almacenamiento de estos, en la capa de negocios situamos todas las
transacciones y validaciones, en la capa de presentación solo encontramos ruinas de
visualización e interacción con el usuario )

CICLO DE VIDA EN CASCADAS DE SUBPROYECTOS


Sigue del modelo de cascada, cada una de las cascadas se dividen en sube tapas
independientes que se pueden desarrollar en paralelo
Ventaja: se puede tener más gente trabajando al mismo tiempo
Desventaja: puede surgir dependencia entre las distintas sube tapas que tenga el proyecto,
temporalmente si no es gestionado de forma correcta
Donde se usa: con todos los anteriores, Pero cuidando de administrar muy bien os tiempos
CICLO DE VIDTA ITERATIVO:
Derivado de la cascada pura (todos los anteriores) Busca reducir el riesgo que surgen de las
necesidades del usuario y el producto final por malos entendidos durante la etapa solicitud de
requerimientos
Itera varias cascadas con las cuales se entrega el producto mejorado al cliente, con mayores
funcionalidades el cliente mismo lo evalúa y lo va corrigiendo, proponiendo mejoras
Donde se puede usar: donde los requerimientos no estén claros por parte del usuario, por lo
que se hace necesario la presentación de varios prototipos hasta lograr la satisfacción del
cliente. En aplicaciones medianas a grandes en las que el cliente final no necesite las
funcionalidades al inicio, quías una empresa que debe migrar sus aplicaciones hacia otra
arquitectura

Ciclo de vida orientado objetos


Una de las mejores metodologías para desarrollar software, también es considerada una
alternativa para los modelos anteriores.
Cada funcionalidad o requerimientos está representado como un objeto donde cada objeto
tiene una serie de propiedades llamadas atributos (igual que el paradigma orientado a objetos).
Por otra parte los comportamientos de estos objetos lo llamaremos métodos.
Modelos muy versátiles tantos para pequeños como grandes proyectos.
La característica principal de este modelo es la abstracción de los requerimientos de usuario.
Es mucho más flexible que los demás, soportando mucho mejor la incertidumbre que los
anteriores.
La abstracción es lo que nos permite analizar y desarrollar las características esenciales de un
objeto, despreocupándonos del menos relevante.
Favorece la reducción de la complejidad del problema.
En este modelo se utilizan las llamadas fichas CRC (clase responsabilidad colaboración)
Con este método se puede programar con cualquier lenguaje de programación, no tiene que ser
obligatoriamente orientado a objetos.
Los programas acordes a este método son los programas de monitoreo de procesos, grandes
sistemas transaccionales sobre base de datos hasta procesamiento por lotes.
Ciclo de vida en espiral
Este ciclo de vida puede considerarse una variación al siclo de vida de prototipo.
El modelo se basa en na serie de ciclos repetitivos para ir ganando madurez en el producto
final.
Toma los beneficios del sistema incremental y por prototipos, pero se tiene más en cuenta el
concepto de riesgo debido a las incertidumbres e ignorancia de los requerimientos
proporcionados al principio del proyecto.4ª medida que el ciclo se cumple se van obteniendo
prototipos sucesivos que van ganando la satisfacción del cliente o usuario.
La fuente de incertidumbre es el usuario o el propio cliente.
En este modelo existen 4 etapas fundamentales que son
Planificación: relevamiento de requerimientos iniciales.
Análisis de riesgos: De acuerdo con el relevamiento de requerimientos decidimos si
continuamos con el desarrollo
Implementación: desarrollamos un prototipo, si da su conformidad, termina el proyecto de los
contrario se incluyen nuevos requerimientos solicitados por el cliente en la siguiente
interacción.
La ventaja de este modelo es que se puede comenzar con un alto nivel de incertidumbre,
Se tiene como ventaja también el bajo riesgo de retraso en la detección de errores ya que se
pueden solucionar en la próxima rama del espiral.
Una de las desventajas es el costo temporal de cada una de las vueltas que da el ciclo, la
dificulta para evaluar los riesgos y la continua comunicación con el cliente o la presencia de
él.
Este modelo sirve para grandes proyectos en donde nos estén definidos todos los
requerimientos desde el comienzo del proyecto.
Ciclo de vida incremental
Este modelo se basa en ir incrementando las funcionalidades del programa.
Se realiza construyendo por módulos los cuales cumplen las diferentes funciones del sistema.
Eso permite ir aumentando gradualmente las capacidades del software.
Este modelo facilita la tarea de desarrollo permitiendo a cada miembro del grupo desarrollar
un módulo.
Es un tipo de modelo cascada realizando un ciclo al final en el cual entregamos una nueva
versión con una nueva funcionalidad. Este ciclo permite entregar antes de terminar el
proyecto.
Benefician:
Construir un sistema pequeño siempre es menos riesgoso que construir un sistema grande.
Es más fácil relevar los requerimientos de usuario
Si se detecta un error solo desechamos la última interacción.
Facilita la labor de desarrollo con la filosofía de divide y vencerás.
Este modelo está pensado para cuando el cliente necesite entregas rápidas. No está pensado
para cierto tipo de aplicaciones si no que está orientado a los usuarios o clientes.
Modelo de ciclo de vida evolutivo
Este modelo acepta que los requerimientos del usuario puedan cambiar en cualquier momento
es un modelo muy útil cuando desconocemos la mayoría de los requerimientos iniciales o
estos requerimientos están incompletos.
Se puede utilizar cuando en el negocio existen varios sectores en los que los requerimientos de
un sector pueden modificar los de otro sector esto quiere decir que los sectores son
directamente dependientes de los demás.

Modelo de ciclo de vida de prototipos


En la práctica los prototipos se utilizan para validar los requerimientos de los usuarios en
cualquier ciclo de vida.
Cuando no se tiene las especificaciones de forma precisa, se sale recurrir a definir
especificaciones iniciales para hacer un prototipo, o sea, un producto parcial y provisional.
En este modelo el objetivo es logara un producto intermedio antes de realizar el producto final
para conocer mediante el prototipo como responderán las funcionalidades previstas para el
producto final.
Se utiliza mayoritariamente en desarrollo de productos con innovaciones importantes o el uso
de nuevas tecnologías, por la alta incertidumbre o la ignorancia sobre el comportamiento,
impide iniciar un proyecto secuencial.
La ventaja de este ciclo se basa en que es el único apto para desarrollos en los que son se
conoce a priori sus especificaciones o tecnología a utilizar por lo tal es alta mente costoso y
difícil de administrar temporalmente.

Das könnte Ihnen auch gefallen