deben incluir
deben incluir
se representan con

PROCESOS DE SOFTWARE

ACTIVIDADES DE UN PROCESO

Especificación del Software

Estudio de factibilidad

Obtención y Análisis de Requerimientos

Especificación de Requerimientos

Validación de Requerimientos

Diseño e Implementación del Software

Diseño Arquitectónico

Diseño de Interfaz

Diseño de Componentes

Diseño de Base de Datos

Validación del Software

Prueba de desarrollo

Pruebas del Sistema

Pruebas de Aceptación

Evolución del Software

Mantenimiento de Software

DESCRIPCIONES DE LOS PROCESOS

Productos

Roles

Precondiciones y Postcondiciones

CLASIFICACIÓN

Dirigidos por un plan

Procesos Ágiles

ENFRENTAR EL CAMBIO

ENFOQUES

Evitar el cambio

Prototipo del Sistema

Etapas

Establecer objetivos

Definir la funcionalidad

Desarrollo

Evaluación

Tolerancia al cambio

Entrega Incremental

Etapas

Asignación de requerimeintos

Diseño de Arquitectura

Desarrollo de incremento

Validar incremento

Integrar incremento

Validar sistema

Implementar incremento

RUP

Perspectivas

Dinámica

Estática

Práctica

Fases

Concepción

Identificar entidades externas que interactuarán con el sistema y definirán interacciones

Elaboración

Desarrollar la comprensión del problema de dominio

Establecer un marco conceptual arquitectónico para el sistema

Identificar los riesgos clave del proyecto

Diseñar el plan del proyecto

Construcción

Diseño, programación y pruebas del sistema

Transición

Cambio del sistema hacia la comunidad de usuarios y que funcione en un ambiente real

Buenas Prácticas

Desarrollo de software de manera iterativa

Gestión de requerimientos

Usar arquitecturas basadas en componentes

Software modelado visualmente

Verificar la calidad del software

Controlar los cambios al software

MODELOS

CASCADA

Etapas

Análisis y Definición de Requerimientos

Diseño del Sistema y del Software

Implementación y Prueba de Unidad

Integración y Prueba de Sistema

Operación y Mantenimiento

INCREMENTAL

Fundamental en Enfoques Ágiles

Etapas

Desarrollo

Validación

Especificación

Beneficios

Reduce costo de adaptar requerimientos cambiantes del cliente

Retroalimentación del cliente

Mas rápida entrega e implementación de software útil

Problemas

Proceso no es visible

Estructura se degrada en cada incremento

REUTILIZACIÓN

Etapas

Análisis de Componentes

Modificación de Requerimientos

Diseño de Sistema con Reutilización

Desarrollo e Integración

Componentes de Software

Servicios Web

Colecciones de Objetos

Sistemas de Software Independientes

Ventajas

Reducir cantidad de software a desarrollar

Disminuir costos y riesgos

Entregas más rápidas

Desventajas

Compromisos de requerimientos

Sistema no cubre necesidades reales de clientes

Se pierde control sobre la evolución del sistema

Entrelazadas

Modelo en Espiral de Bohem

Sectores de cada ciclo:

Establecimiento de Objetivos

Valoración y Reducción del Riesgo

Desarrollo y Validación

Planeación