You are on page 1of 30

METODOLOGÍAS DEL CICLO DE VIDA DEL

SOFTWARE
¿QUÉ ES UNA METODOLOGÍA DEL CICLO DE VIDA?

Es un modo sistemático para realizar, gestionar y


administrar un proyecto de software con el objetivo de
obtener altas posibilidades de éxito. Una metodología de
desarrollo revela:

 La división de un proyecto en etapas


 Acciones que corresponden a cada una de las etapas
 Entradas y salidas para cada una de las etapas
 Pautas para administrar el proyecto
NECESIDAD DE UNA METODOLOGÍA DEL CICLO DE VIDA

Se requiere de una metodología de desarrollo de software


porque:
• Se deben ajustar los sistemas informáticos a las
exigencias del mercado atendiendo a un plan de
trabajo.
• Se debe administrar y supervisar el proceso de desarrollo
de software con el ánimo de retroalimentarlo
constantemente.
• El software ahora es más complejo y esta característica
requiere de pautas que faciliten el logro de objetivos.
• Se requiere de análisis, planificación, gestión de recursos
y documentación para evitar el aumento en tiempo de
desarrollo y mala calidad del producto final.
METODOLOGÍA DEL CICLO DE VIDA LINEAL
• Descompone la actividad global del proyecto en etapas que son
realizadas linealmente, es decir, cada etapa se realiza una vez: a
continuación de la etapa anterior y antes de la etapa siguiente.
• Las actividades de cada una de las etapas son independientes y no
hay retroalimentación entre ellas, aunque pueden permitirse procesos
de retroalimentación correctiva.
• Hay rigidez con respecto a lo que va a suceder en cada una de las
etapas antes de comenzarlas, lo que permite reducir la posibilidad de
errores durante la codificación y la necesidad de requerir información
de los usuarios.
• Se destaca la sencillez de su gestión y administración en el desarrollo
de programas pequeños.
• No es apto para desarrollos que suponen retroalimentación entre
etapas por los costos que pueden presentarse al retomar una etapa
anterior.
METODOLOGÍA DEL CICLO DE VIDA LINEAL

Preanálisis

Análisis

Diseño

Desarrollo

Pruebas

Implantación

Mantenimiento
METODOLOGÍA DEL CICLO DE VIDA EN CASCADA
• Admite iteraciones
• Después de cada etapa se realiza una o varias revisiones para
comprobar si se puede pasar a la siguiente.
• Es un modelo rígido, poco flexible y con muchas restricciones.
• Se destaca la sencillez de su planificación.
• Provee un producto con un elevado grado de calidad sin necesidad
de un personal altamente calificado.
• Se debe contar con todos los requerimientos al comienzo del
proyecto
• Si se han cometido errores y no se detectan en la fase siguiente, es
costoso volver atrás para realizar la corrección.
• Los resultados no se observan hasta que no se encuentren las
etapas finales del ciclo; por eso, cualquier error detectado trae retraso
y aumento de costos.
• Es un ciclo adecuado para desarrollar software del cual se tienen los
requerimientos desde el comienzo.
METODOLOGÍA DEL CICLO DE VIDA EN CASCADA

Preanálisis

Análisis

Diseño

Desarrollo

Pruebas

Implantación

Mantenimiento
VENTAJAS Y DESVENTAJAS

VENTAJAS.
• Excelente cuando se tiene un producto estable y se conoce la tecnología.
• Es un método muy estructurado que funciona bien con gente de poca experiencia.
• Provee estabilidad en los requerimientos.
• La planeación se puede hacer anticipadamente.
• Recomendado para elaboración de proyectos grandes.

DESVENTAJAS.
• Tiene poca flexibilidad.
• Los proyectos en la práctica raramente siguen un flujo secuencial.
• Siempre es difícil para el cliente mostrar los requerimientos explícitamente y con
mucha anticipación.
• El cliente debe tener paciencia.
• Es flexible y no motiva al cambio.
• Poco apropiado para aplicaciones para la toma de decisiones.
• Los usuarios tienen una participación limitada.
METODOLOGÍA DEL CICLO DE VIDA POR PROTOTIPOS

• Un prototipo es un producto parcial o provisional


• El objetivo de esta metodología de ciclo de vida es lograr un producto
intermedio antes de realizar el producto final con el propósito de conocer
como responderán las funcionalidades previstas para el producto final.
• Antes de adoptar esta metodología de ciclo de vida debe evaluarse si vale la
pena adoptar el esfuerzo de crear un prototipo.
• Se utiliza en la elaboración de productos con innovaciones importantes o en
el uso de tecnologías nuevas o poco probadas, en las que la incertidumbre
sobre los resultados a obtener impiden el uso de una metodología
secuencial.
• Es útil en actividades de migración de programas para adoptar sus nuevas
funcionalidades.
• La ventaja de esta metodología radica en que no es necesario conocer las
especificaciones o tecnología a utilizar.
• La desventaja radica en la dificultad de administración y en el alto costo.
METODOLOGÍA DEL CICLO DE VIDA POR PROTOTIPOS
CARACTERÍSTICAS
• Es un método menos formal de desarrollo.
• El prototipo es una técnica para comprender
las especificaciones.
• Un prototipo puede ser eliminado.
• Un prototipo puede llegar a ser parte del
producto final.
• Se caracteriza por ser un diseño rápido que
conduce a la construcción de un prototipo,
el cual es evaluado por el usuario para una
retroalimentación; gracias a ésta se refinan
los requisitos del software que se
desarrollará.
• La iteración ocurre cuando el prototipo se
ajusta para satisfacer las necesidades del
cliente. Esto permite que al mismo tiempo el
desarrollador entienda mejor lo que se debe
hacer y el cliente vea resultados a corto
plazo.
VENTAJAS Y DESVENTAJAS
VENTAJAS.
• Útiles cuando los requerimientos son cambiantes.
• Cuando no se conoce bien la aplicación.
• Cuando el usuario no se quiere comprometer con los requerimientos.
• Cuando se quiere probar una arquitectura o tecnología.
• Cuando se requiere rapidez en el desarrollo.

DESVENTAJAS.
• No se conoce cuando se tendrá un producto aceptable.
• No se sabe cuantas iteraciones serán necesarias.
• Da una falsa ilusión al usuario sobre la velocidad del desarrollo.
• El prototipo deber ir acompañado de otro modelo pasa su desarrollo.
• Sus desventajas son que debido a que el usuario ve que el prototipo funciona piensa
que este es el producto terminado y no entienden que recién se va a desarrollar el
software.
METODOLOGÍA DEL CICLO DE VIDA EN ESPIRAL

• Puede considerarse una evolución del modelo por prototipos


• Se basa en una serie de ciclos repetitivos para ir ganando
madurez en el producto final.
• Toma más en cuenta el concepto de riesgo que aparece debido a
la incertidumbre o la ignorancia de los requerimientos
proporcionados al principio del proyecto o que surgirán durante el
desarrollo.
• A medida que avanza el espiral, se obtienen prototipos que van
ganando la satisfacción del cliente.
• Consta de cuatro actividades que envuelven las etapas:
planificación (relevamiento de requerimientos iniciales o luego de
una iteración), análisis de riesgo (de acuerdo con el relevamiento
de requerimientos se decide si se continua con el desarrollo),
Implementación (se desarrolla un prototipo basado en los
requerimientos) y evaluación (el cliente evalúa el prototipo).
METODOLOGÍA DEL CICLO DE VIDA EN ESPIRAL
CARACTERÍSTICAS

Se caracteriza principalmente por:


• Un enfoque cíclico para el crecimiento incremental del grado de definición
e implementación de un sistema, mientras que disminuye su grado de
riesgo.
• Un conjunto de puntos de fijación para asegurar el compromiso del usuario
con soluciones de sistema que sean factibles y mutuamente satisfactorias.

El modelo espiral captura algunos principios básicos:


• Decidir qué problema se quiere resolver antes de resolverlo.
• Examinar tus múltiples alternativas de acción y elegir una de las más
convenientes.
• Evaluar qué tienes hecho y qué tienes que haber aprendido después de
hacer algo.
• No ser tan ingenuo para pensar que el sistema que estás construyendo
será "EL" sistema que el cliente necesita.
• Conocer (comprender) los niveles de riesgo, que tendrás que tolerar.
VENTAJAS

VENTAJAS.
• El producto avanza a pasos firmes solucionando
el riesgo en cada iteración.
• El producto termina con todos los riesgos
resueltos.
• Se pueden incluir otros métodos de desarrollo en
las iteraciones.
• A medida que el costo aumenta, los riesgos se
reducen.
• Se tienen puntos de control en cada iteración.
MODELO EVOLUTIVO
• La idea detrás de este modelo es el desarrollo de una
implantación del sistema inicial, exponerla a los comentarios
del usuario, refinarla en N versiones hasta que se desarrolle
el sistema adecuado. En la Figura 14 se observa cómo las
actividades concurrentes: especificación, desarrollo y
validación, se realizan durante el desarrollo de las versiones
hasta llegar al producto final.
• Una ventaja de este modelo es que se obtiene una rápida
realimentación del usuario, ya que las actividades de
especificación, desarrollo y pruebas se ejecutan en cada
iteración.
• Este modelo es efectivo en proyectos pequeños (menos de
100.000 líneas de código) o medianos (hasta 500.000 líneas
de código) con poco tiempo para su desarrollo y sin generar
documentación para cada versión.
MODELO EVOLUTIVO
MODELO EVOLUTIVO
Existen dos tipos de desarrollo evolutivo:

• Desarrollo Exploratorio: El objetivo de este enfoque es


explorar con el usuario los requisitos hasta llegar a un
sistema final. El desarrollo comienza con las partes que se
tiene más claras. El sistema evoluciona conforme se añaden
nuevas características propuestas por el usuario.

• Enfoque utilizando prototipos: El objetivo es entender los


requisitos del usuario y trabajar para mejorar la calidad de los
requisitos. A diferencia del desarrollo exploratorio, se
comienza por definir los requisitos que no están claros para el
usuario y se utiliza un prototipo para experimentar con ellos.
El prototipo ayuda a terminar de definir estos requisitos.
VENTAJAS Y DESVENTAJAS
VENTAJAS.
• La especificación puede desarrollarse de forma creciente.
• Los usuarios y desarrolladores logran un mejor entendimiento del sistema.
Esto se refleja en una mejora de la calidad del software.
• Es más efectivo que el modelo de cascada, ya que cumple con las
necesidades inmediatas del cliente.

DESVENTAJAS.
• Proceso no Visible: Los administradores necesitan entregas para medir el
progreso. Si el sistema se necesita desarrollar rápido, no es efectivo
producir documentos que reflejen cada versión del sistema.
• Sistemas pobremente estructurados: Los cambios continuos pueden ser
perjudiciales para la estructura del software haciendo costoso el
mantenimiento.
• Se requieren técnicas y herramientas: Para el rápido desarrollo se
necesitan herramientas que pueden ser incompatibles con otras o que poca
gente sabe utilizar.
METODOLOGÍA DEL CICLO DE VIDA EN COMPONENTES

• Al igual que el modelo en espiral, esta


metodología es evolutiva
• Concibe la iteración entre las etapas
• Configura aplicaciones desde componentes
preparados de software llamados “clases”.
• La tecnología de objetos proporciona el marco de
trabajo técnico para esta metodología.
• Enfatiza en la creación de clases que encapsulan
tanto los datos como los algoritmos que se
utilizan para manejarlos.
• Puntualiza en la reusabilidad del código
METODOLOGÍA DEL CICLO DE VIDA EN COMPONENTES
MODELO DESARROLLO RÁPIDO DE APLICACIONES (DRA)

• Es un proceso que comprende el desarrollo iterativo, la construcción


de prototipos y el uso de herramientas CASE. Tradicionalmente, el
desarrollo rápido de aplicaciones tiende a englobar también la
usabilidad, utilidad y la rapidez de ejecución.

• El Desarrollo Rápido de Aplicaciones (DRA) es un modelo de


proceso del desarrollo del software lineal secuencial que enfatiza un
ciclo de desarrollo extremadamente corto.

• DRA es una adaptación a “Alta velocidad” en el que se logra el


desarrollo rápido utilizando un enfoque de construcción basado en
componentes. Si se comprenden bien los requisitos y se limita el
ámbito del proyecto, el proceso DRA permite al equipo de desarrollo
crear un “sistema completamente funcional” dentro de periodos
cortos de tiempo.
MODELO DESARROLLO RÁPIDO DE APLICACIONES (DRA)
MODELO DESARROLLO RÁPIDO DE APLICACIONES (DRA)

Cuando se utiliza principalmente para aplicaciones de sistemas de información, el


enfoque DRA comprende las siguientes fases:
Modelado de gestión: El flujo de información entre las funciones de gestión se modela
de forma que responda a las siguientes preguntas: ¿Qué información conduce el
proceso de gestión? ¿Qué información se genera? ¿Quién la genera? ¿A dónde va
la información?.
Modelado de datos: Se definen las características (llamadas atributos) de cada uno de
los objetos y las relaciones entre estos objetos.
Modelado de proceso: Las descripciones del proceso se crean para añadir, modificar,
suprimir, o recuperar un objeto de datos. Es la comunicación entre los objetos.
Generación de aplicaciones: El DRA asume la utilización de técnicas de cuarta
generación. En lugar de crear software con lenguajes de programación de tercera
generación, el proceso DRA trabaja para volver a utilizar componentes de programas
ya existentes (cuando es posible) o a crear componentes reutilizables (cuando sea
necesario).
Pruebas de entrega: Como el proceso DRA enfatiza la reutilización, ya se han
comprobado muchos de los componentes de los programas. Esto reduce tiempo de
pruebas.
VENTAJAS Y DESVENTAJAS
VENTAJAS
• Comprar puede ahorrar dinero en comparación con construir.
• Los entregables pueden ser fácilmente trasladados a otra plataforma.
• Visibilidad temprana.
• Mayor flexibilidad.
• Menor codificación manual.
• Mayor involucramiento de los usuarios.
• Posiblemente menos fallas.
• Posiblemente menor costo.
• Ciclos de desarrollo más pequeños.
• Interfaz gráfica estándar.

DESVENTAJAS
• Comprar puede ser más caro que construir.
• Costo de herramientas integradas y equipo necesario.
• Menos eficiente.
• Menor precisión científica.
• Prototipos pueden no escalar, un problema mayúsculo.
• Dependencia en componentes de terceros: funcionalidad de más o de menos, problemas
legales.
MODELO INCREMENTAL
• Mills sugirió el enfoque incremental de desarrollo como una
forma de reducir la repetición del trabajo en el proceso de
desarrollo y dar oportunidad de retrasar la toma de decisiones
en los requisitos hasta adquirir experiencia con el sistema. Es
una combinación del Modelo de Cascada y Modelo Evolutivo.

• Reduce el rehacer trabajo durante el proceso de desarrollo y


da oportunidad para retrasar las decisiones hasta tener
experiencia en el sistema.

• Durante el desarrollo de cada incremento se puede utilizar el


modelo de cascada o evolutivo, dependiendo del
conocimiento que se tenga sobre los requisitos a
implementar. Si se tiene un buen conocimiento, se puede
optar por cascada, si es dudoso, evolutivo.
MODELO INCREMENTAL
VENTAJAS Y DESVENTAJAS
VENTAJAS.
• Los clientes no esperan hasta el fin del desarrollo para utilizar el sistema. Pueden
empezar a usarlo desde el primer incremento.
• Los clientes pueden aclarar los requisitos que no tengan claros conforme ven las
entregas del sistema.
• Se disminuye el riesgo de fracaso de todo el proyecto, ya que se puede distribuir en
cada incremento.
• Las partes más importantes del sistema son entregadas primero, por lo cual se
realizan más pruebas en estos módulos y se disminuye el riesgo de fallos.
• La solución se va mejorando en forma progresiva a través de las múltiples
iteraciones.

DESVENTAJAS.
• Cada incremento debe ser pequeño para limitar el riesgo (menos de 20.000 líneas).
• Cada incremento debe aumentar la funcionalidad.
• Es difícil establecer las correspondencias de los requisitos contra los incrementos.
• Es difícil detectar las unidades o servicios genéricos para todo el sistema.
METODOLOGÍA Vs CICLO DE VIDA

• Una metodología puede seguir uno o varios


modelos de ciclo de vida, es decir, el ciclo de
vida indica qué es lo que hay que obtener a lo
largo del desarrollo del proyecto pero no
cómo hacerlo.

• La metodología indica cómo hay que obtener


los distintos productos parciales y finales

You might also like