Sei sulla pagina 1di 6

UNIVERSIDAD AUTÓNOMA GABRIEL RENE MORENO

FACULTAD DE INGENIERÍA EN CIENCIAS DE LA COMPUTACION Y TELECOMUNICACIONES


UNIDAD DE POSTGRADO F.IC.C.T

Alumnos:
Beymar Jiménez Ruiz
Diplomado:
Gestión de Desarrollo de Proyecto de software
Módulo:
Administración de la calidad en el software
Docente:
Msc. Ing. Jhonny Paniagua
Fecha de presentación:
23/10/2012

Santa Cruz – Bolivia


2012
INDICE

Contenido
1. INTRODUCCIÓN ......................................................................................................................................3
2. Ciclos de Vida ...........................................................................................................................................3
2.1. Modelo en cascada. .........................................................................................................................3
2.2. Modelo de desarrollo incremental. .................................................................................................3
2.3. Modelo de desarrollo evolutivo. ......................................................................................................3
2.4. Modelo de prototipado de requerimientos. ...................................................................................4
2.5. Modelo en espiral. ............................................................................................................................4
2.6. Modelo concurrente..........................................................................................................................4
2.7. Ciclos de vida Orientado a Objetos ...............................................................................................4
2.7.1. Ciclo de vida fuente. .................................................................................................................4
2.7.2. Ciclo de vida remolino ..............................................................................................................5
2.7.3. Ciclo de vida pinball .................................................................................................................5

Tablas
Tabla 1 Comparación de los ciclos de vida ..................................................................................................6
Análisis Comparativo de los Ciclos de Vida

1. INTRODUCCIÓN
Los ciclos de vida o procesos de desarrollo de software han ido apareciendo en función a
los continuos cambios del software.

2. Ciclos de Vida
Cada ciclo de vida se divide en varias etapas que tienen a fin la construcción del software
al cabo de un determinado tiempo, nos permite describir las fases principales del
desarrollo software y a administrar el progreso de su desarrollo. A demás, los ciclos de
vida nos ayudan a ordenar las diversas actividades técnicas del proyecto y nos provee de
un marco para estimar los recursos, definir los puntos de control y conocer el grado de
avance.
A continuación listaremos los ciclos de vida más conocidos y utilizados para el desarrollo
del software.
• Modelo en cascada.
• Modelo de desarrollo incremental.
• Modelo de desarrollo evolutivo.
• Modelo de prototipado de requerimientos.
• Modelo en espiral.
• Modelo concurrente.
• Modelo orientado a objeto

2.1. Modelo en cascada.


• Apareció a finales de los 70.
• El desarrollo software se realiza a través de una secuencia simple de fases, cada fase tiene
un conjunto de metas y actividades bien definidas.
• El comportamiento de este ciclo de vida es lineal, con cierta retroalimentación entre sus
fases.

2.2. Modelo de desarrollo incremental.


• Divide el proyecto en fases, según su tamaño y objetivos ser alcanzados en cada fase.
• El modelo incremental mantiene el modelo en cascada, pero lo repite “n” veces.
• Se presupone que todos los requisitos son conocidos al comienzo.

2.3. Modelo de desarrollo evolutivo.


• Es muy similar al modelo de desarrollo incremental, en el modelo evolutivo se asume que
no todos los requerimientos son conocidos desde el primer momento.
• En una primera fase, se desarrolla la primera versión, que recoge los requisitos conocidos.
Posteriormente, los usuarios utilizan el software desarrollado, generándose una nueva lista
de requerimientos, con la que se desarrolla una nueva versión en la siguiente fase y así
sucesivamente.
• El usuario ve la materialización del proyecto más rápido que si hubiera que hacer un
estudio largo para concretar las especificaciones. Además, puede modificar o añadir los
requerimientos sin afectar al proyecto y conseguir algo que se ajuste mejor a sus
necesidades.

Beymar Jiménez Ruiz Página 3


Análisis Comparativo de los Ciclos de Vida

• Es un modelo compatible con el modelo de cascada y puede ser combinado con el modelo
incremental.

2.4. Modelo de prototipado de requerimientos.


• Consiste en realizar implementaciones parciales del sistema para poder experimentar y
validar o modificar los requerimientos del mismo.
• El prototipo se construye deprisa y se da a los usuarios para que lo prueben y evalúen. Los
usuarios dan sus comentarios sobre lo bueno y lo malo, sobre lo que les gustó y lo que no
les gusto. Los comentarios se recogen y sirven para hacer la especificación del sistema
real.
• Este modelo se suele utilizar como parte de la tarea de especificación de requisitos o justo
antes de la misma.

2.5. Modelo en espiral.


• En este modelo el esfuerzo de desarrollo es iterativo. Esto es, tan pronto se completa un
esfuerzo de desarrollo comienza el siguiente.
• En cada vuelta a la espiral se suelen seguir los siguientes pasos:
1. Fijar objetivos y determinar alternativas.
2. Evaluar las alternativas y elegir la mejor.
3. Desarrollo de la alternativa elegida, evaluación y validación del resultado.
4. Planificación de la próxima iteración.
• El modelo espiral es compatible con el modelo en cascada.

2.6. Modelo concurrente.


• Se representa de forma esquemática como una serie de tareas junto con sus estados
asociados. Da respuesta a la situación habitual de los proyectos, en la que se realizan
varias tareas simultáneamente, aunque se encuentran en distintos estados.
• Se puede replantear la especificación de requisitos mientras se sigue desarrollando.
• Este modelo define una serie de eventos que disparan transiciones de unos estados a otros
para cada una de las tareas o actividades del proyecto de desarrollo software.
• Este modelo proporciona, una visión exacta del estado actual del proyecto.

2.7. Ciclos de vida Orientado a Objetos


Existen varios ciclos de vida Orientado a Objetos, pero solo mencionaremos los más
conocidos. Los ciclos de vida Orientados a Objetos se examina el dominio del problema
como un conjunto de objetos que interactúan entre sí.
Este ciclo de vida permite acelerar el desarrollo de sistemas de manera iterativa e
incremental, permitiendo la generalización de los componentes para que sean
reutilizables.

2.7.1. Ciclo de vida fuente.


• Se divide en 3 fases:
1. Planificación del negocio
2. Construcción
Es la más importante y se divide a su vez en otras cinco actividades

Beymar Jiménez Ruiz Página 4


Análisis Comparativo de los Ciclos de Vida

o Planificación
o Investigación
o Especificación
o Implementación
o Revisión
3. Entrega
• Además de las 3 fases, existen 2 periodos:
1. Crecimiento: Es el tiempo durante el cual se construye el sistema.
2. Madurez: Es el periodo de mantenimiento del producto. Cada mejora se planifica igual
que el periodo anterior.
• Cada clase puede tener un ciclo de vida sólo para ella debido a que cada una puede estar
en una fase diferente en un momento cualquiera.

2.7.2. Ciclo de vida remolino


• El modelo remolino es algo similar al modelo cascada, pero en el modelo remolino también
se toman en cuenta otros factores, que son:
o Amplitud: Toma el tamaño de desarrollo.
o Profundidad: Nivel de abstracción
o Madurez: Es el grado de compleción, corrección y elegancia.
o Alternativas: Diferentes soluciones a un problema.
o Alcance: Tomamos en cuenta los adjetivos del sistema, ya los requisitos van
cambiando.

2.7.3. Ciclo de vida pinball


• En este modelo de ciclo de vida la pelota representa un proyecto, y el jugador es el equipo
de desarrollo.
• Los pasos en el ciclo de vida de pinpall pueden ocurrir de la siguiente manera: Se procede
de forma iterativa a encontrar clases, atributos métodos e interrelaciones y definir
colaboraciones, herencia, agregación y subsistemas.
• Y por último se pasa a la programación, prueba e implementación.

MODELO VENTAJAS DESVENTAJAS


• Apropiado para problemas que se entienden y • Todos los requisitos del
conocen bien. sistema se fijan al
• Produce resultados predecibles. comienzo del desarrollo.
• Poca flexibilidad para
Cascada introducir cambios.
• Hasta el final del desarrollo
no hay nada terminado.
• El producto puede quedar
obsoleto con rapidez.
• Proporciona resultados en plazos más • Si no se seleccionan bien
razonables que el modelo en cascada. los requisitos a
• Reduce el riesgo del proyecto. implementar en cada fase,
• Apropiado para software grande. podemos llegar a una fase
Incremental • Si se comete un error solo afecta a la última incremental en la que haya
fase y siempre se puede ir a una versión que rehacer partes
anterior. importantes del software o
• Se puede depurar cada fase antes de pasar a el diseño.
la siguiente.

Beymar Jiménez Ruiz Página 5


Análisis Comparativo de los Ciclos de Vida

• Al desarrollar sólo parte de las funcionalidades


y requerimientos en cada fase.
• Es más fácil comprobar si los requerimientos
de las siguientes fases son adecuados y
correctos.
• Se dispone de una primera versión más
rápidamente
• Se tiene un control más exacto del avance del
proyecto.
• Reconoce la naturaleza evolutiva de la • Es difícil predecir el coste y
mayoría de los proyectos de desarrollo duración de un proyecto,
software. por lo que es conveniente
Evolutivo
• Proporciona resultados en plazos más limitar el número de fases,
razonables que el modelo en cascada. recursos y plazos si es un
• Hay que implicar a los usuarios. proyecto con principio y fin.
• Útil cuando es difícil conocer los requisitos • Puede resultar costoso si
exactos. hay que reiniciar el
• Hay que implicar a los usuarios. desarrollo.
• Reconoce la naturaleza evolutiva de la • Hay que mantener muy
Prototipado
mayoría de los proyectos de desarrollo bien la documentación del
software. proyecto para facilitar el
control de versiones y su
mantenimiento.
• Reconoce la naturaleza evolutiva de la • Es difícil predecir el coste y
mayoría de los proyectos de desarrollo la duración del proyecto,
software. por lo que es conveniente
Espiral
limitar el número de fases,
recursos y plazos si es un
proyecto con principio y fin.
• Modela mucho mejor la naturaleza del proceso • Su implementación y
de desarrollo software. gestión son complejas.
Concurrente
• Proporciona una visión exacta de la situación
del proyecto.
• Analiza cada parte o componente del software • No es aplicable para
como un objeto del mundo real. proyecto donde no se
• Al visualizar cada elemento como un objeto, utilice el paradigma
facilita su implementación utilizando el orientado a objetos.
paradigma orientado a objetos. • Dificultad para reconocer
• Permite la reutilización de componentes del los componentes
software. potencialmente
Orientado a Objeto • Existen similitudes entre distintos sistemas de reutilizables.
- Fuente un mismo dominio de aplicación. • Dificultad de catalogación y
- Remolino • El software puede representarse como una recuperación.
- Pinball combinación de módulos. • Problemas de motivación.
• Diseñar aplicaciones = especificar módulos + • Problemas de gestión de
interrelaciones. configuración.
• Los sistemas nuevos se pueden caracterizar
por diferencias respecto a los antiguos.
• Reduce tiempos y costes de desarrollo.
• Aumenta la fiabilidad.

Tabla 1 Comparación de los ciclos de vida

Beymar Jiménez Ruiz Página 6

Potrebbero piacerti anche