Argentesting 2017 - Pruebas de software basadas en riesgos
Unidad 4
1. UNIDAD 4:
MODELOS DE
PROCESO DE SOFTWARE
Apolinar Flores Pérez Joel E. Rostro Gómez
Luis Carlos Vázquez Vázquez Silverio I. González Paz
EQUIPO 4 // I.S.C.
2. Son representaciones formales o simplificadas de
procesos de software.
Podemos considerar 3 modelos genéricos:
Modelo de Cascada
Separa en distintas fases la especificación y el desarrollo.
Modelo en Espiral
La especificación y el desarrollo están intercalados.
Modelo Incremental
Un modelo base sirve de prototipo para la construcción
del sistema final, valiéndose de mejoras evolutivas.
3. Definición de
Requerimientos
Diseño del
Software
y del Sistema
Implementación
y Prueba
de unidades
Integración y
Prueba
del Sistema
Operación y
Mantenimiento
4. Análisis de requerimientos y definición.
1)
Diseño del sistema y del software.
2)
Implementación y prueba de unidades
3)
Integración y prueba del sistema.
4)
Operación y mantenimiento.
5)
La dificultad en este modelo está en la
dificultad de hacer cambios entre
etapas.
5. EVALUACIÓN DE
ALTERNATIVAS Y RIESGOS
Análisis de
Riesgos
Análisis de
DETERMINACIÓN DE OBJETIVOS,
Riesgos
ALTERNATIVAS Y RESTRICCIONES
Análisis de
Riesgos
Prototipo
Operacional
Prototipo
Análisis
de Proto- Prototipo 3
REVISIÓN Riesgos tipo 1 2
SIMULACIONES, MODELOS
Plan de requerimientos Y PRUEBAS
Concepto de
Plan del ciclo de vida Operación Requeri
Diseño Diseño
mientos de
PLANEACIÓN DE FASE del Detallado
SW
Plan de
Validación de Producto Codificación
Desarrollo
Requerimientos
Prueba de
Plan de Integración Unidades
Diseño
Prueba de
y Prueba
V &V
Integración
Prueba de
DESARROLLO Y
Aceptación
VERIFICACIÓN
Servicio
6. Planteamiento de Objetivos
Se identifican los objetivos específicos para cada fase del
proyecto.
Identificación y reducción de riesgos.
Los riesgos clave se identifican y analizan, y la información
sirve para minimizar los riesgos.
Desarrollo y Validación.
Se elige un modelo apropiado para la siguiente fase del
desarrollo.
Planeación.
Se revisa el proyecto y se trazan planes para la siguiente
ronda del espiral.
Objetivos. Resolución de riesgos.
Restricciones. Resultados.
ELEMENTOS
Alternativas. Planes.
CLAVE:
Riesgos. Garantías.
7. VENTAJAS
Centra su atención en la reutilización de componentes
y eliminación de errores en información descubierta en
fases iniciales.
Los objetivos de calidad son el primer objetivo.
Integra desarrollo con mantenimiento.
Provee un marco de desarrollo de hardware/software.
DESVENTAJAS
El desarrollo es mediante contrato, por lo cual se
especifica por adelantado el modelo del proceso y los
resultados a entregar.
Requiere de experiencia en la identificación de riesgos.
Requiere refinamiento para uso generalizado.
8. ACTIVIDADES
CONCURRENTES
Versión
Especificación Inicial
Descripción Versiones
Desarrollo
del sistema Intermedias
Versión
Validación
Final
9. Problemas
Poca visibilidad en el proceso
Los sistemas están pobremente especificados
Se requieren habilidades especiales.
Aplicabilidad
Para sistemas interactivos pequeños o medianos.
Para partes de sistemas grandes (p.ej. la interfaz de
usuario).
Para sistemas de corta vida.
10. Para sistemas conocidos y entendidos se emplea el
Modelo de Cascada. La fase de análisis de riesgos es
sencilla en él.
Con requerimientos estables y sistemas de
seguridad críticos, es recomendable utilizar modelos
formales .
Con especificaciones incompletas, es mejor modelos
basados en prototipos, donde los procesos pueden
ajustarse con menor riesgo de colapso posterior.
Pueden utilizarse modelos híbridos en distintas
partes del desarrollo.
11. Proceso de desarrollo de software con las siguientes
características:
Manejado por casos de uso (un modelo-una función)
Centrado en la arquitectura (y ésta se desarrola junto a
los casos de uso)
Iterativo e incremental (se hacen milestones o puntos de
revisión periódicos para evaluar el avance)
12.
13. Proporciona una serie de principios al ingeniero para
•
llevar a cabo un proceso personal disciplinado.
Asiste a los ingenieros en la realización de planes
•
precisos.
Determina los pasos que los ingenieros deben seguir
•
para mejorar la calidad del producto.
Establece bancos de pruebas para medir la mejora
•
del proceso personal.
Determina el impacto que los cambios del proceso
•
tienen sobre el rendimiento del ingeniero.