4. Modelo de Cascada
Definición de
requerimientos
Diseño de sistemas y
software
Implementación y
prueba de unidades
Integración y prueba
de sistema
Operación y
mantenimiento
Inconveniente: dificultad para incorporar cambios después de
que el proceso parte.
5. Empleo de prototipos
Desarrollo de versiones simplificadas
◦ Para ser analizadas antes de continuar el
desarrollo
◦ Facilitan el aprendizaje frente a situaciones
nuevas o desconocidas
◦ Elimina la necesidad de un desarrollo en
cascada o secuencial, permite un desarrollo
iterativo o en espiral
◦ El prototipo puede ser desechable o evolutivo
6. Desarrollo evolutivo
Desarrollo exploratorio
◦ El objetivo es trabajar con los clientes y
evolucionar hacia un sistema final desde una
especificación inicial. Debería partir con
requerimientos bien conocidos.
Prototipos desechables
◦ El objetivo es entender los requerimientos del
sistema. Debería comenzar con requerimientos
pobremente conocidos.
7. Desarrollo evolutivo
Actividades
concurrentes
Especificación Versión inicial
Bosquejo de la Desarrollo Versiones
descripción intermedias
Validación Versión final
8. Desarrollo evolutivo
Problemas
◦ Los sistemas a menudo resultan pobremente
estructurados.
◦ Puede ser necesario contar con habilidades especiales
(por ejemplo, lenguajes para prototipos rápidos).
Aplicabilidad
◦ Para sistemas interactivos pequeños o de mediano
tamaño.
◦ Para partes de sistemas grandes (por ejemplo, la interfaz
del usuario).
◦ Para sistemas de corta vida útil.
9. Diseño descendente o top-down
Refinamiento por pasos sucesivos
Sistema jerárquico de refinamientos
Como resultado puede tenerse
directamente una estructura de módulos
10. Estructura de un sistema de sueldos
simplificado
Procesar
Sueldos
Calcular Calcular Calcular Procesar
ingresos descuentos impuestos Sueldos
Descuentos Otros
legales descuentos
11. Diseño ascendente o bottom-up
Identifica las tareas individuales
Utiliza las tareas individuales como
herramientas abstractas para resolver
problemas mas complejos.
Estos bloques o módulos individuales
podrían ser reutilizados en otras
aplicaciones
Ej.: filtros de Sistemas operativos familia Unix (Linux)
12. Modelo en espiral del proceso
de Software
Determinar Evaluar alternativas e
objetivos, alternativas y identificar y resolver riesgos
restricciones Análisis de
riesgos
Análisis de
riesgos
Análisis de Prototipo
riesgos Prototipo 3 operacional
Análisis Prototipo 2
REVISIÓN de Proto-
riesgos tipo 1
Simulaciones, modelos, pruebas
Plan de requerimientos Concepto de comparativas
Plan de ciclo de vida operación
Requerimientos de
software
Diseño del Diseño
producto detallado
Validación de
Plan de requerimientos Código
desarrollo
Prueba de
Diseño de unidades
Integración y plan Prueba de
de prueba V&V
integración
Planear la siguiente fase Prueba de
Desarrollo, verificar producto
aceptación
del siguiente nivel
Servicio
13. Sectores del modelo en espiral
Fijación de Objetivo
◦ Se identifican objetivos específicos para la fase.
Identificación de riesgo y reducción
◦ Riesgos son identificados y se realizan actividades para
reducir los riesgos clave.
Desarrollo y validación
◦ Se escoge un modelo de desarrollo para el sistema que
puede ser cualquiera de los modelos genéricos.
Planificación
◦ Se revisa el proyecto y se planifica la siguiente fase de la
espiral.
14. Diagramas de flujo de datos
Representación gráfica de las trayectorias
de los datos en un sistema.
ia
te nc
a sis Calcular Calcular
e ingresos
sd descuentos
Hoja
se
utos
ba
………………………
do
s br
el
su
eso
a
bl
Ta
Ingr
Base de datos de empleados
15. Diagramas entidad-relación
Representación gráfica de los elementos
de información o entidades manipulados
por el sistema, y de sus relaciones
Profesor 1 n n n
imparte clase Asiste a alumno
16. Validación de Software
Verificación es mostrar que un sistema adhiere
a las especificaciones.
Validación: alcanza los requerimientos del
cliente del sistema.
Involucra los procesos de chequeo y revisión, y
las pruebas del sistema.
Las pruebas del sistema consideran la ejecución
del mismo con casos de prueba que se derivan
desde la especificación de datos reales para ser
procesados por el sistema.
17. Documentación
La documentación se requiere para los
siguientes fines:
◦ Aprender a utilizar el sistema
Documentación del usuario
◦ Realizar modificaciones o mantención
Documentación técnica