Proceso Unificado de Desarrollo de Software
Proceso Unificado
El Proceso Unificado es un proceso de desarrollo de software. Un proceso de desarrollo de software es un conjunto de actividades necesarias para transformar los requerimientos del usuario en un sistema de software.
El Proceso Unificado
Est basado en componentes e interfaces bien definidas Utiliza el Lenguaje Unificado de Modelado (UML) Aspectos caractersticos:
Dirigido por casos de uso Centrado en la arquitectura Iterativo e incremental
El Proceso Unificado Dirigido por casos de uso
Caso de uso: Fragmento de funcionalidad que proporciona al usuario un resultado importante Modelo de casos de uso: Funcionalidad total del sistema Qu debe hacer el sistema para cada usuario? Guan el proceso de desarrollo
El Proceso Unificado Centrado en la arquitectura
Describe diferentes vistas del sistema Incluye los aspectos estticos y dinmicos ms significativos Es la forma del software La arquitectura y los casos de uso evolucionan en paralelo Responsable: el arquitecto:
Empieza por la parte que no es especfica de los casos de uso Trabaja con casos de uso claves Progresa con la especificacin de ms casos de uso
El Proceso Unificado Iterativo e incremental
Se divide el trabajo en mini-proyectos Cada mini-proyecto es una iteracin que resulta en un incremento La iteracin
Trata un conjunto de casos de uso Trata los riesgos ms importantes
En cada iteracin se persiguen unos objetivos concretos
El Proceso Unificado Iterativo e incremental
Beneficios de un proceso iterativo controlado:
Coste del riesgo a un solo incremento Reduce el riesgo de no sacar el producto en el calendario previsto Acelera el ritmo de desarrollo Se adapta mejor a las necesidades del cliente
El Proceso Unificado Iterativo e incremental
Flujos de trabajo / Fases Gestacin Elaboracin Construccin Transicin
Requisitos Anlisis Diseo Implementac. Test Iter #1 Iter #2 ------------Iter #n-1 Iter #n
Un proceso iterativo e incremental
Iteracin genrica:
Planificacin Requisitos Anlisis Diseo Implementacin Prueba Evaluacin de la iteracin
Un proceso iterativo e incremental
Fases del proceso:
Inicio: Objetivos del ciclo de vida
Establecer mbito del sistema Reducir peores riesgos Preparar el anlisis del negocio
Elaboracin: Arquitectura del ciclo de vida
Obtener lnea base de la arquitectura Capturar mayora de requisitos Reducir siguientes riesgos
Un proceso iterativo e incremental
Fases del proceso
Construccin: Funcionalidad operativa inicial
Desarrollo del sistema entero
Transicin: Versin del producto
Producto preparado para su entrega al usuario Se ensea a los usuarios a utilizarlo
Personas, Proyecto, Producto y Proceso
Personas
Arquitectos, desarrolladores, ingenieros de prueba, personal de gestin, usuarios, clientes El proceso de desarrollo afecta a las personas (viabilidad, gestin del riesgo, estructura de los equipos, planificacin, comprensin, cumplimiento) Formacin, entrenamiento y experiencia De recurso a trabajador (puestos que asumen las personas) Cada trabajador tiene un conjunto de responsabilidades y lleva a cabo un conjunto de actividades
Personas, Proyecto, Producto y Proceso
Proyecto
Elemento organizativo de gestin El proyecto construye el producto Secuencia de cambio. El sistema evoluciona Serie de iteraciones. Cada iteracin implementa un conjunto de casos de uso o atena algunos riesgos. Mini-proyecto Patrn organizativo. Tipos de trabajadores y artefactos a conseguir
Personas, Proyecto, Producto y Proceso
Producto
Artefactos que se crean durante la vida del proyecto Artefactos: Modelos, cdigo, ejecutables, documentacin, diagramas UML, bocetos de la interfaz de usuario, prototipos, componentes, planes de prueba Artefactos de ingeniera y de gestin Coleccin de modelos
traza traza traza
Modelo de casos de uso
Modelo de anlisis
Modelo de diseo
Modelo de despliegue
Modelo de implementacin
Modelo de prueba
Personas, Proyecto, Producto y Proceso
Proceso
Conjunto de actividades para crear el producto Es una plantilla para crear proyectos (Instancia del proceso) Se define en trminos de flujos de trabajo (conjunto de actividades) Se identifican trabajadores y artefactos Adaptacin o especializacin del proceso Se utilizan diagramas de actividad de UML para describir los flujos de trabajo
Ejemplo: Captura de requisitos
Analista Encontrar actores y casos de uso Estructurar el modelo de casos de uso
Arquitecto
Priorizar los casos de uso
Especificador
Detallar un caso de uso
Diseador
Prototipar la interfaz de usuario
Personas, Proyecto, Producto y Proceso
Herramientas
Automatizan las actividades definidas en el proceso Mantienen las cosas estructuradas, gestionan gran cantidad de informacin y nos guan Gracias a ellas se obtiene un proceso ms formal y preciso El proceso dirige las herramientas Deben ser fciles de utilizar y permitir reutilizar