Anda di halaman 1dari 13

Universidad Tecnológica Nacional

Facultad Regional Buenos Aires

Ciclos de Vida
Introducción a la Ingeniería de Software
Dirección de Cátedra:
• Ing. Marcelo Dalceggio
Docentes:
• Ing. Oscar Schivo
Ayudantes:
• Ing. Marcelo Klein
• Ing. Diego Mansilla
• Ing. Silvia Montesanto
• Ing. Marcelo Zucchelli

UNIVERSIDAD TECNOLOGICA NACIONAL Introducción a la Ingeníeria en Software


1
Facultad Regional Buenos Aires Ciclos de Vida – v2.0
Agenda

1 Concepto

2 Modelos Existentes

3 Selección

4 Preguntas

UNIVERSIDAD TECNOLOGICA NACIONAL INTRODUCCION A LA INGENIERIA DE SOFTWARE


Facultad Regional Buenos Aires 2 Identificación Preliminar de requerimientos – v2.0
1.- Concepto
• Ciclo de Vida:
– Es una representación de:
• Las etapas de desarrollo de SW
• Los criterios de transición para pasar entre etapas
– Nos focalizaremos en los ciclos de vida con alcance desde el
“minuto cero” hasta el momento de obtener el “primer release”.
– No es una técnica de modelado!

– Su importancia:
• Existen muchos modelos de Ciclos de Vida pero la elección
del correcto nos puede ayudar a poner mas énfasis en:
– Mejorar la velocidad de desarrollo
– Mejorar la calidad
– Mejorar el seguimiento y control del proyecto
– Disminuir el riesgo
– Mejorar la relación con el cliente
• La peor opción es NO seleccionar un ciclo de vida !

UNIVERSIDAD TECNOLOGICA NACIONAL INTRODUCCION A LA INGENIERIA DE SOFTWARE


Facultad Regional Buenos Aires 3 Identificación Preliminar de requerimientos – v2.0
1.- Concepto
• Ciclo de Vida – Algunas Definiciones
– “Una aproximación lógica a la adquisición, el suministro, el
desarrollo, la explotación y el mantenimiento del software”
IEEE 1074

– “Un marco de referencia que contiene los procesos, las


actividades y las tareas involucradas en el desarrollo, la
explotación y el mantenimiento de un producto de software,
abarcando la vida del sistema desde la definición de los requisitos
hasta la finalización de su uso”
ISO 12207-1

UNIVERSIDAD TECNOLOGICA NACIONAL INTRODUCCION A LA INGENIERIA DE SOFTWARE


Facultad Regional Buenos Aires 4 Identificación Preliminar de requerimientos – v2.0
2.- Modelos Existentes
• Existen diferentes modelos de Ciclos de Vida
– Modelos en Cascada
– Modelos en Espiral
– Modelos Incrementales
– Modelos basados en Prototipos

• Muchos modelos surgen de la combinación de los anteriores


– Nosotros debemos adecuarlos a nuestras necesidades
– Todo modelo tendrá en algún momento alguna pequeña “cascada”
– Tener en cuenta siempre el V-Model

UNIVERSIDAD TECNOLOGICA NACIONAL INTRODUCCION A LA INGENIERIA DE SOFTWARE


Facultad Regional Buenos Aires 5 Identificación Preliminar de requerimientos – v2.0
2.- Modelos Existentes

• Cascada
• Flujo secuencial entre las fases
Análisis
Análisis
• Cada etapa tiene una entrada y
una salida
Diseño
Diseño
• Para comenzar con una etapa,
se debe haber finalizado la
Codificación anterior.
Codificación
• Es un modelo rígido, poco
Prueba flexible.
Prueba
• Sirvió de base para el resto de
Despliegue
Despliegue
los modelos de ciclo de vida.
• Es costoso volver a una etapa
anterior para corrección de
* Propuesto por Winston Royce en 1970 errores.

UNIVERSIDAD TECNOLOGICA NACIONAL INTRODUCCION A LA INGENIERIA DE SOFTWARE


Facultad Regional Buenos Aires 6 Identificación Preliminar de requerimientos – v2.0
2.- Modelos Existentes

• Incremental
• Es un modelo ideal cuando el
usuario necesita entregas rápidas,
antes de que esté terminado todo
A A A
el proyecto.
A A A
• Hay dos enfoques:
D
D
D
D
D
D
• Realizar lo principal de cada parte del
sistema. En otra iteracción lo que
C
C
C
C
C
C sigue.
• Hacer una parte del sistema completa
P
P
P
P
P
P y luego en las otras iteracciones, las
otras partes.
Versión 1 Versión 2 Versión 3 • Una desventaja es no poder
Iteracción 1 Iteracción 2 Iteracción 3 identificar correctamente las
dependencias entre módulos que
no son claramente visibles al
comienzo del proyecto.

UNIVERSIDAD TECNOLOGICA NACIONAL INTRODUCCION A LA INGENIERIA DE SOFTWARE


Facultad Regional Buenos Aires 7 Identificación Preliminar de requerimientos – v2.0
2.- Modelos Existentes

• Prototipos
• Este modelo permite completar
las especificación de
requerimientos, cuando esta es
Requerimientos
Requerimientos
Incompletos
Requerimientos
Requerimientos
Completos
incompleta al comienzo del
Incompletos Completos
proyecto.
• El objetivo es lograr un
Selección del Desarrollo del Evaluación del
Selección del
Prototipo
Prototipo
Desarrollo del
Prototipo
Prototipo
Evaluación del
Prototipo
Prototipo
producto intermedio, antes de
realizar el producto final, para
Subciclo del Prototipado conocer mediante el prototipo
como responderán las
funcionalidades previstas para
el producto final.
• Generalmente utilizado en
proyectos con grandes
innovaciones.

UNIVERSIDAD TECNOLOGICA NACIONAL INTRODUCCION A LA INGENIERIA DE SOFTWARE


Facultad Regional Buenos Aires 8 Identificación Preliminar de requerimientos – v2.0
2.- Modelos Existentes

• Espiral
• El modelo consiste en una serie
de ciclos repetitivos orientados
a la gestión de los riesgos.
• Riesgos relacionados con
incertidumbres de los
requerimientos
proporcionados al principio
del proyecto.
• A medida que el ciclo se
cumple (avance del espiral) se
van obteniendo prototipos
sucesivos menor nivel de
incertidumbres (riesgos).
* Diseñado por Boehm en 1988

UNIVERSIDAD TECNOLOGICA NACIONAL INTRODUCCION A LA INGENIERIA DE SOFTWARE


Facultad Regional Buenos Aires 9 Identificación Preliminar de requerimientos – v2.0
3.- Selección
• Consideraciones a tener en cuenta en la selección:
– Depende del contexto del proyecto. Distintos proyectos
requieren de distintos enfoques
• No importa su nombre, solo conocer cuál es el ciclo de vida
apropiado para el escenario presentado.

– Tener en cuenta:
• El overhead en temas de planning & tracking que pueden
tener algunos modelos.
• Las habilidades que se requieren (en algunos casos más y en
otras menos) para administrarlos.

UNIVERSIDAD TECNOLOGICA NACIONAL INTRODUCCION A LA INGENIERIA DE SOFTWARE


Facultad Regional Buenos Aires 10 Identificación Preliminar de requerimientos – v2.0
3.- Selección
• Algunas preguntas para seleccionar un Ciclo de vida:
– Son los requerimientos precisos y no ambiguos (bien entendidos
por ámbas partes) ?
– Entendemos / dominamos la arquitectura tecnológica que se
utilizará en el proyecto ?
– El proyecto requiere producto final de “alta confiabilidad” ?
– Cuánto esperamos que crezca el desarrollo en el futuro ?
(volumen / funcionalidad / etc...)
– Cuánta necesidad tenemos de administrar riesgos en el proyecto?
– Tenemos una restricción de tiempo pre-definida ?
– Esperamos cambios importantes o extensiones de funcionalidad
durante el desarrollo del proyecto ?
– Debemos darle visibilidad del avance del proyecto al usuario ?

UNIVERSIDAD TECNOLOGICA NACIONAL INTRODUCCION A LA INGENIERIA DE SOFTWARE


Facultad Regional Buenos Aires 11 Identificación Preliminar de requerimientos – v2.0
4.- Preguntas

Plans are nothing. But planning is everything.


Dwight Eisenhower

UNIVERSIDAD TECNOLOGICA NACIONAL INTRODUCCION A LA INGENIERIA DE SOFTWARE


Facultad Regional Buenos Aires 12 Identificación Preliminar de requerimientos – v2.0
Material

• Lectura Obligatoria
– Rapid Development, Capitulo 7 : Life Cycle Planning
Steve McConnell, Microsoft Press

UNIVERSIDAD TECNOLOGICA NACIONAL INTRODUCCION A LA INGENIERIA DE SOFTWARE


Facultad Regional Buenos Aires 13 Identificación Preliminar de requerimientos – v2.0

Anda mungkin juga menyukai