TEMA V: El Proceso Unificado de Desarrollo: … · Índice " Introducción ! El proceso unificado #...

60
TEMA V: El Proceso Unificado de Desarrollo: Introducción Profesor: David Granada 1

Transcript of TEMA V: El Proceso Unificado de Desarrollo: … · Índice " Introducción ! El proceso unificado #...

Page 1: TEMA V: El Proceso Unificado de Desarrollo: … · Índice " Introducción ! El proceso unificado # Principios básicos # Las 4 “p” " Estructura del proceso unificado " Flujos

TEMA V: El Proceso Unificado de Desarrollo: Introducción

Profesor: David Granada

1

Page 2: TEMA V: El Proceso Unificado de Desarrollo: … · Índice " Introducción ! El proceso unificado # Principios básicos # Las 4 “p” " Estructura del proceso unificado " Flujos

Índice

Ø  Introducción n  El proceso Unificado

¨ Principios básicos ¨ Las 4 «P»

n  Estructura del proceso unificado n  Flujos de trabajo principales n  Fases del desarrollo n  Otros aspectos

¨ Iteración genérica ¨ Planificación y evaluación

Page 3: TEMA V: El Proceso Unificado de Desarrollo: … · Índice " Introducción ! El proceso unificado # Principios básicos # Las 4 “p” " Estructura del proceso unificado " Flujos

Introducción n  Situación Actual: Sistemas más complejos y más

grandes. n  Objetivo:

Desarrollo más rápido y software de calidad. n  Es necesario un proceso que integre todas las facetas

de un desarrollo software: ¨ Proporcione una guía para ordenar las actividades

del equipo. ¨ Dirija las tareas individuales y del equipo. ¨ Especifique los productos que hay que desarrollar. ¨ Ofrezca criterios para monitorizar y medir los

productos y actividades. 3

Page 4: TEMA V: El Proceso Unificado de Desarrollo: … · Índice " Introducción ! El proceso unificado # Principios básicos # Las 4 “p” " Estructura del proceso unificado " Flujos

Índice

n  Introducción Ø  El proceso unificado

¨ Principios básicos ¨ Las 4 “p”

n  Estructura del proceso unificado n  Flujos de trabajo principales n  Fases del desarrollo n  Otros aspectos

¨ Iteración genérica ¨ Planificación y evaluación

Page 5: TEMA V: El Proceso Unificado de Desarrollo: … · Índice " Introducción ! El proceso unificado # Principios básicos # Las 4 “p” " Estructura del proceso unificado " Flujos

El Proceso Unificado (PU)

n  Unificación de tres metodologías de desarrollo basadas en el paradigma orientado a objetos.

¨ OOSE: Object Oriented Software Engineering (Casos de Uso) Jacobson, I.

¨ Booch (Diseño) Booch, G.

¨ OMT: Object Modeling Technique (Análisis) Rumbaugh, J.

5

Page 6: TEMA V: El Proceso Unificado de Desarrollo: … · Índice " Introducción ! El proceso unificado # Principios básicos # Las 4 “p” " Estructura del proceso unificado " Flujos

El Proceso Unificado (PU) n  Es un proceso de desarrollo software. n  Es un conjunto de actividades para

transformar los requisitos de usuario en un sistema software.

n  Construcción temprana de prototipos con la funcionalidad fundamental.

n  Afronta en primer lugar los mayores riesgos del diseño.

n  Basado en componentes interconectados a través de interfaces.

n  Usa UML - Unified Modeling Language. 6

Page 7: TEMA V: El Proceso Unificado de Desarrollo: … · Índice " Introducción ! El proceso unificado # Principios básicos # Las 4 “p” " Estructura del proceso unificado " Flujos

Características Principales

7

n Dirigido por casos de uso.

n Centrado en la arquitectura.

n Iterativo e incremental.

Page 8: TEMA V: El Proceso Unificado de Desarrollo: … · Índice " Introducción ! El proceso unificado # Principios básicos # Las 4 “p” " Estructura del proceso unificado " Flujos

Principios del PU - Dirigido por casos de uso

n  Ideas: ¨ Cualquier interacción del sistema con el usuario es un

caso de uso ¨ Actor: alguien o algo

n  Def.: caso de uso ¨ Es una función del sistema que da al usuario un

resultado útil ¨ Captura los requisitos funcionales

n  ¿Qué debe hacer el sistema para cada actor? ¨ Modelo de casos de uso

Page 9: TEMA V: El Proceso Unificado de Desarrollo: … · Índice " Introducción ! El proceso unificado # Principios básicos # Las 4 “p” " Estructura del proceso unificado " Flujos

n  Conducen el proceso de desarrollo: ¨ Los desarrolladores crean modelos de diseño e

implementación que realizan los casos de uso ¨ Los encargados de pruebas aseguran que los

componentes implementan los casos de uso

n  Los casos de uso se especifican, se diseñan y sirven de base para construir los casos de prueba

n  Se desarrollan junto a la arquitectura del sistema ¨ Ambos evolucionan en paralelo

Principios del PU - Dirigido por casos de uso

Page 10: TEMA V: El Proceso Unificado de Desarrollo: … · Índice " Introducción ! El proceso unificado # Principios básicos # Las 4 “p” " Estructura del proceso unificado " Flujos

n  Def.: D. Garlan and D. Perry (guest editorial to the IEEE Transactions on Software Engineering, April 1995): ¨  Software architecture is "the structure of the components of a program/system, their

interrelationships, and principles and guidelines governing their design and evolution over time”

¨  Es una vista del diseño completo que hace visibles las características principales ¨  Más definiciones: http://www.bredemeyer.com/definiti.htm

n  Influencias: ¨  Plataforma, aspectos legales, componentes reusables disponibles...

n  El proceso ayuda a centrarse en los objetivos correctos: legibilidad, adaptabilidad, reutilización.

n  Relación entre casos de uso y arquitectura ¨  Casos de uso à Funcionalidad del sistema ¨  Arquitectura à Forma

Principios del PU - Centrado en la Arquitectura

Page 11: TEMA V: El Proceso Unificado de Desarrollo: … · Índice " Introducción ! El proceso unificado # Principios básicos # Las 4 “p” " Estructura del proceso unificado " Flujos

n  Tareas relacionadas: ¨ Crear una arquitectura inicial no específica de los

casos de uso

¨ Trabajar con un conjunto seleccionado de casos de uso que representan las tareas clave del sistema. n  Caso de uso à subsistemas, clases y componentes

¨ Evolución a lo largo del proceso de desarrollo à concepto de “vista arquitectónica”

Principios del PU - Centrado en la Arquitectura

Page 12: TEMA V: El Proceso Unificado de Desarrollo: … · Índice " Introducción ! El proceso unificado # Principios básicos # Las 4 “p” " Estructura del proceso unificado " Flujos

n  División del proyecto en “hitos” obtenidos como consecuencia de la repetición de iteraciones de trabajo ¨  Una iteración produce un incremento ¨  Cada fase e iteración se centra en disminuir algún riesgo y concluye con un hito bien

definido

n  Todas las iteraciones son planificadas y controladas

n  Factores para la selección en una iteración: ¨  La iteración trata un grupo de casos que extienden la funcionalidad ¨  La iteración trata los riesgos más importantes

n  Importante: un incremento no siempre es aditivo

n  Elementos contemplados en cada iteración: ¨  Casos de uso relevantes ¨  Diseño guiado por arquitectura ¨  Actividades de implementación y verificación

n  Beneficios

Principios del PU - Iterativo e incremental

Page 13: TEMA V: El Proceso Unificado de Desarrollo: … · Índice " Introducción ! El proceso unificado # Principios básicos # Las 4 “p” " Estructura del proceso unificado " Flujos

n  Desarrollo iterativo distribuido en grupos de trabajo:

Análisis Diseño  e  Implantación GeneralizaciónPrueba

Análisis Diseño  e  Implantación GeneralizaciónPrueba

Análisis Diseño  e  Implantación GeneralizaciónPrueba

Grupo  1

Grupo  2

Grupo  n

Tiempo  

Tiempo  T

Principios del PU - Iterativo e incremental

Page 14: TEMA V: El Proceso Unificado de Desarrollo: … · Índice " Introducción ! El proceso unificado # Principios básicos # Las 4 “p” " Estructura del proceso unificado " Flujos

n  Ciclo de vida del software: ¨  Varios ciclos de desarrollo que concluyen con un producto

evolucionado ¨  El paso a través de las 4 fases principales constituye un ciclo de

desarrollo à produce una generación del software n  Primera pasada à desarrollo inicial n  Siguientes à ciclos de evolución del sistema

¨  Entregas: código fuente, ejecutables, manuales y documentos ¨  Hitos por fases (milestones)

... Entrega

Ciclos

Concepción Elaboración Transición Construcción Iter. 1

Iter. 2 ... ... ... ... ... ... Iter.

n

Fases

Iterac.

Principios del PU - Iterativo e incremental

Page 15: TEMA V: El Proceso Unificado de Desarrollo: … · Índice " Introducción ! El proceso unificado # Principios básicos # Las 4 “p” " Estructura del proceso unificado " Flujos

n  Soporta las técnicas orientadas a objetos: ¨  Los modelos definidos como artefactos del proceso son orientados a objetos ¨  Los modelos se basan en la definición de clases, objetos y las relaciones entre

ellos ¨  Se utiliza UML como notación común

n  Enfocado a riesgos: ¨  La gestión del riesgo está incluida en el proceso ¨  Los riesgos se identifican y se acometen al principio del proceso de desarrollo (a

tiempo)

n  Impulsa un control de la calidad: ¨  La evaluación de la calidad está contenida en el proceso (trazabilidad) ¨  Implica a todos los participantes mediante medidas y criterios objetivos ¨  No se trata como algo a posteriori o una actividad separada

n  Es un proceso configurable: ¨  Puede adaptarse a proyectos de diferente envergadura (medianos-grandes) ¨  Se adapta a las necesidades de desarrollo de la organización

Principios del PU - Otras características

Page 16: TEMA V: El Proceso Unificado de Desarrollo: … · Índice " Introducción ! El proceso unificado # Principios básicos # Las 4 “p” " Estructura del proceso unificado " Flujos

Principios del PU - Las 4 “P” n  Proyecto:

¨  Elemento organizativo a través del cual se gestiona el desarrollo de software. ¨  El resultado de un proyecto es una versión de un producto

n  Proceso: ¨  Un proceso de ingeniería de software es una definición del conjunto de actividades

necesarias para transformar los requisitos de usuario en un producto ¨  Un proceso es una plantilla para crear proyectos

n  Producto: ¨  Artefactos que se crean durante la vida del proyecto, como los modelos, código

fuente, ejecutables, y documentación ¨  El resultado de llevar a cabo un proceso software dentro de un proyecto concreto

n  Personas: ¨  Los principales autores de un proyecto de software son loas arquitectos,

desarrolladores, ingenieros de prueba y el personal de gestión que les da soporte, además de los usuarios, clientes, y otros interesados

¨  Las personas son realmente seres humanos, a diferencia del termino abstracto “trabajadores”

Page 17: TEMA V: El Proceso Unificado de Desarrollo: … · Índice " Introducción ! El proceso unificado # Principios básicos # Las 4 “p” " Estructura del proceso unificado " Flujos

Principios del PU - Proyecto

Page 18: TEMA V: El Proceso Unificado de Desarrollo: … · Índice " Introducción ! El proceso unificado # Principios básicos # Las 4 “p” " Estructura del proceso unificado " Flujos

Requisitos

Diseño

Implementación

Prueba

Análisis

Planificación Anál. Riesgos Preparación

Elaboración Construcción Verificación

Transición

FASES Workflow

Iteración(es) Inicial(es)

Iter. #1

Iter. #2

Iter. #3

Iter. #4

Iter. #5

Iter. #6

Iter. #7

(Adaptado de Jacobson, 1999)

Iteración en Fase de Elaboración

Principios del PU - Proceso

Page 19: TEMA V: El Proceso Unificado de Desarrollo: … · Índice " Introducción ! El proceso unificado # Principios básicos # Las 4 “p” " Estructura del proceso unificado " Flujos

Modelo de análisis

Modelo de diseño

Modelo de despliegue

Modelo de implementación

Modelo de pruebas

Modelo de casos de uso

Especificado por

Soportado por

Distribuido por

Implementado por

Verificado por

Principios del PU - Producto

Page 20: TEMA V: El Proceso Unificado de Desarrollo: … · Índice " Introducción ! El proceso unificado # Principios básicos # Las 4 “p” " Estructura del proceso unificado " Flujos

Principios del PU - Personas

Diseño de Arquitectura Implementación

de Arquitectura

Estructura Modelo de Casos de Uso Descubre Actores

y Casos de Uso Analista de Sistemas

Detalla un Caso de Uso

Especificador Casos de Uso

Prototipo del Interfaz de Usuario

Diseñador de Interfaces de Usuario

Análisis de Arquitectura Prioriza

Casos de Uso Arquitecto

Diseña un Caso de Uso Analiza un

Caso de Uso Ingeniero de Casos de Uso

Ingeniero de Componentes

Diseña una clase Analiza

un Paquete

Analiza una Clase Diseña un

Subsistema

Implementa una clase

Implementa Subsistema Ejecuta Test

Unitario Implementa Test

Evalua Test

Diseña Test Ingeniero de

pruebas Planifica Test

Integrador de Sistemas

Integra Sistema

Ejecuta Test de Integración

Ejecuta test del sistema

Ingeniero de pruebas de integración

Ingeniero de pruebas de

sistema

Page 21: TEMA V: El Proceso Unificado de Desarrollo: … · Índice " Introducción ! El proceso unificado # Principios básicos # Las 4 “p” " Estructura del proceso unificado " Flujos

Índice

n  Introducción n  El proceso unificado

¨ Principios básicos ¨ Las 4 “p”

Ø  Estructura del proceso unificado n  Flujos de trabajo principales n  Fases del desarrollo n  Otros aspectos

¨ Iteración genérica ¨ Planificación y evaluación

Page 22: TEMA V: El Proceso Unificado de Desarrollo: … · Índice " Introducción ! El proceso unificado # Principios básicos # Las 4 “p” " Estructura del proceso unificado " Flujos

n  Fase: intervalo de tiempo entre dos hitos importantes del proceso durante el cual se cumple un conjunto bien definido de objetivos, se completan artefactos y se toman decisiones sobre si pasar a la siguiente fase.

n  4 fases: ¨  Iniciación (inception): Establecer la visión, el alcance y el plan

inicial del proyecto.

¨  Elaboración (elaboration): Diseñar, implementar y probar una arquitectura correcta, y completar el plan del proyecto.

¨  Construcción (construction): Desarrollar el sistema (construir la primera versión operativa).

¨  Transición (transition): Proporcionar el sistema a sus usuarios finales.

Estructura del PU - Fases e iteraciones

Page 23: TEMA V: El Proceso Unificado de Desarrollo: … · Índice " Introducción ! El proceso unificado # Principios básicos # Las 4 “p” " Estructura del proceso unificado " Flujos

n  Iteración: representa un ciclo de desarrollo completo, desde la captura de requisitos en el análisis hasta la implementación y pruebas, que produce una versión (interna o externa) de un producto ejecutable, que constituye un subconjunto del producto final en desarrollo.

n  Iteración genérica (similar al modelo en cascada): ¨  Planificación ¨  Flujos de trabajo fundamentales: requisitos, análisis, diseño,

implementación y pruebas ¨  Evaluación

n  Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, el énfasis se pone más en unos u otros flujos de trabajo

n  El contenido varía para adaptarse al objetivo de cada fase

Estructura del PU - Fases e iteraciones

Page 24: TEMA V: El Proceso Unificado de Desarrollo: … · Índice " Introducción ! El proceso unificado # Principios básicos # Las 4 “p” " Estructura del proceso unificado " Flujos

n  Flujos de trabajo fundamentales: ¨  Modelado del negocio: describe la estructura y la dinámica de la organización del cliente ¨  Requisitos: extrae los requisitos del sistema a desarrollar utilizando diferentes métodos ¨  Análisis y diseño: describe las diferentes vistas arquitectónicas del sistema ¨  Implementación: tiene en cuenta el desarrollo del software, las pruebas unitarias y la

integración ¨  Pruebas: describe los casos de pruebas, los procedimientos y las métricas para la

evaluación y rastreo de defectos ¨  Despliegue: cubre la configuración del sistema entregable (materiales, notas de edición,

formación, etc.)

n  Flujos de trabajo auxiliares: ¨  Gestión de configuraciones: controla los cambios y mantiene la integridad de los artefactos

de un proyecto y de las actividades de gestión ¨  Gestión del proyecto: describe varias estrategias de trabajo en un proceso iterativo ¨  Entorno: cubre la infraestructura necesaria para desarrollar un sistema

Estructura del PU - Flujos de trabajo (RUP)

Page 25: TEMA V: El Proceso Unificado de Desarrollo: … · Índice " Introducción ! El proceso unificado # Principios básicos # Las 4 “p” " Estructura del proceso unificado " Flujos

Estructura del PU - Flujos de trabajo (RUP)

Page 26: TEMA V: El Proceso Unificado de Desarrollo: … · Índice " Introducción ! El proceso unificado # Principios básicos # Las 4 “p” " Estructura del proceso unificado " Flujos

Elementos del PU - Artefactos y Modelos n  Las actividades del proceso unificado destacan en la creación y

mantenimiento de modelos más que de documentos en papel

n  Modelo: representación abstracta y simplificada de la realidad, creada para comprender mejor el sistema que se está desarrollando

n  Vista: proyección de un modelo ¨  RUP: diseño, procesos, implementación, despliegue y casos de uso ¨  Kruchten (4+1): lógica, procesos, realización, distribución y casos de

uso

n  Artefacto: Resultado parcial o final que es producido y usado durante el proyecto. ¨  Son las entradas y salidas de las actividades ¨  Un artefacto puede ser un documento, un modelo o un elemento de

modelo

Page 27: TEMA V: El Proceso Unificado de Desarrollo: … · Índice " Introducción ! El proceso unificado # Principios básicos # Las 4 “p” " Estructura del proceso unificado " Flujos

Elementos del PU - Artefactos y Modelos n  Modelos

¨  Del negocio ¨  Del dominio ¨  De casos de uso ¨  De análisis ¨  De diseño ¨  Del proceso ¨  De despliegue ¨  De implementación ¨  De pruebas

n  Otros artefactos ¨  Conjunto de requisitos: qué debe hacer el sistema ¨  Conjunto de diseño: cómo se va a construir el sistema ¨  Conjunto de implementación: ensamblado de los componentes software ¨  Conjunto de despliegue: datos para la configuración del entregable

Page 28: TEMA V: El Proceso Unificado de Desarrollo: … · Índice " Introducción ! El proceso unificado # Principios básicos # Las 4 “p” " Estructura del proceso unificado " Flujos

Elementos del PU - Artefactos y Modelos n  Artefactos en RUP:

¨  Fase de Inicio: n  Documento Visión n  Especificación de Requerimientos

¨  Elaboración: n  Diagramas de caso de uso

¨  Construcción: n  Documento con la descripción de la Arquitectura. Vistas:

¨  Vista Lógica: §  Diagrama de clases §  Modelo E-R (si el sistema así lo requiere)

¨  Vista de Implementación: §  Diagrama de Secuencia §  Diagrama de estados §  Diagrama de Colaboración

¨  Vista Conceptual: §  Modelo de dominio

¨  Vista Física: §  Mapa de comportamiento a nivel de hardware.

Page 29: TEMA V: El Proceso Unificado de Desarrollo: … · Índice " Introducción ! El proceso unificado # Principios básicos # Las 4 “p” " Estructura del proceso unificado " Flujos

Índice

n  Introducción n  El proceso unificado

¨ Principios básicos ¨ Las 4 “p”

n  Estructura del proceso unificado Ø  Flujos de trabajo principales n  Fases del desarrollo n  Otros aspectos

¨ Iteración genérica ¨ Planificación y evaluación

Page 30: TEMA V: El Proceso Unificado de Desarrollo: … · Índice " Introducción ! El proceso unificado # Principios básicos # Las 4 “p” " Estructura del proceso unificado " Flujos

Flujos de trabajo principales (Workflows)

Requisitos

Diseño

Implementación

Prueba

Análisis

Planificación Anál. Riesgos Preparación

Elaboración Construcción Verificación

Transición

FASES Workflow

Iteración(es) Inicial(es)

Iter. #1

Iter. #2

Iter. #3

Iter. #4

Iter. #5

Iter. #6

Iter. #7

(Adaptado de Jacobson, 1999)

Page 31: TEMA V: El Proceso Unificado de Desarrollo: … · Índice " Introducción ! El proceso unificado # Principios básicos # Las 4 “p” " Estructura del proceso unificado " Flujos

Flujos de Trabajo Principales - Requisitos n  Captura de los requisitos del sistema à Difícil:

¨  Los requisitos cambian ¨  Comprensión: lenguaje utilizado à cliente ¨  El cliente debe ser capaz de leer y comprender el resultado de la captura

n  Objetivo: guiar el desarrollo hacia el sistema correcto

n  El resultado ayuda al jefe de proyecto a planificar las iteraciones y los recursos

n  Pasos a seguir: ¨  Enumerar los requisitos candidatos à lista de características ¨  Comprender el contexto del sistema à modelo de negocio/dominio ¨  Capturar requisitos funcionales à modelo de casos de uso ¨  Capturar requisitos no funcionales à requisitos suplementarios o casos individuales

Page 32: TEMA V: El Proceso Unificado de Desarrollo: … · Índice " Introducción ! El proceso unificado # Principios básicos # Las 4 “p” " Estructura del proceso unificado " Flujos

Flujos de Trabajo Principales - Requisitos n  Artefactos de requisitos

¨  Modelo de casos de uso n  Diagramas de casos de uso:

¨  Flujos de eventos principales ¨  Caminos alternativos

n  Descripciones textuales de los casos de uso n  Diagramas de estado para explicar los casos de uso complejos

¨  Descripción de la arquitectura ¨  Glosario ¨  Prototipo de la interfaz de usuario

n  Actividades ¨  Encontrar actores y casos de uso à Analista de sistemas ¨  Priorizar los casos de uso à Arquitecto ¨  Detallar un caso de uso à Especificador de C.U. ¨  Prototipar la interfaz de usuario à Diseñador de la interfaz ¨  Estructurar el modelo de casos de uso à Arquitecto

Page 33: TEMA V: El Proceso Unificado de Desarrollo: … · Índice " Introducción ! El proceso unificado # Principios básicos # Las 4 “p” " Estructura del proceso unificado " Flujos

Flujos de Trabajo Principales - Análisis

n  Se trabaja con conceptos

n  Especificación más precisa de los requisitos

n  Se utiliza el lenguaje de desarrolladores

n  Facilita comprensión, preparación, modificación y mantenimiento de requisitos

n  Primera aproximación al modelo de diseño

Page 34: TEMA V: El Proceso Unificado de Desarrollo: … · Índice " Introducción ! El proceso unificado # Principios básicos # Las 4 “p” " Estructura del proceso unificado " Flujos

Flujos de Trabajo Principales - Análisis

Modelo de Casos de Uso Modelo de Análisis

Lenguaje del cliente Lenguaje del desarrollador

Vista externa del sistema Vista interna del sistema

Estructurado por casos de uso Estructurado por clases y paquetes

Contrato entre cliente-desarrolladores Usado por desarrolladores para entender el sistema

Redundancias, inconsistencias, etc. entre requisitos

No debería contener redundancias ni inconsistencias de requisitos

Captura la funcionalidad del sistema Captura cómo realizar la funcionalidad del sistema

Define casos de uso Define realizaciones de casos de uso

Page 35: TEMA V: El Proceso Unificado de Desarrollo: … · Índice " Introducción ! El proceso unificado # Principios básicos # Las 4 “p” " Estructura del proceso unificado " Flujos

Flujos de Trabajo Principales - Análisis n  Artefactos de análisis

¨  Modelo de análisis n  Diagramas de colaboración:

¨  Flujos de eventos principales ¨  Caminos alternativos

n  Descripciones textuales de las clases

¨  Descripción de la arquitectura n  Vista de la arquitectura del modelo de análisis n  Descomposición del modelo en paquetes

¨  Realización de los casos de uso en análisis n  Diagramas de clases del análisis n  Diagramas de interacción de objetos del análisis n  Una descripción textual del flujo de sucesos

¨  Clases y paquetes de análisis

Page 36: TEMA V: El Proceso Unificado de Desarrollo: … · Índice " Introducción ! El proceso unificado # Principios básicos # Las 4 “p” " Estructura del proceso unificado " Flujos

Flujos de Trabajo Principales - Análisis n  Actividades

¨  Análisis de la arquitectura à Arquitecto n  Identificar paquetes de análisis n  Identificar clases de entidad n  Requisitos comunes

¨  Analizar (refinar) un caso de uso à Ingeniero de CU n  Identificar clases de análisis n  Describir interacciones entre los objetos del análisis n  Capturar requisitos especiales sobre la realización del CU

¨  Analizar una clase à Ingeniero de Componentes n  Identificar responsabilidades y atributos n  Identificar relaciones: asociación, agregación y generalización n  Capturar requisitos especiales sobre la realización del CU

¨  Analizar un paquete à Ingeniero de Componentes

Page 37: TEMA V: El Proceso Unificado de Desarrollo: … · Índice " Introducción ! El proceso unificado # Principios básicos # Las 4 “p” " Estructura del proceso unificado " Flujos

Flujos de Trabajo Principales - Diseño n  Se modela el sistema para que dé soporte a los

requisitos funcionales y no funcionales.

n  Objetivos: ¨  Profundizar en la requisitos no funcionales y restricciones

dependientes de la plataforma. ¨  Crear una entrada apropiada para la implementación ¨  Descomponer los trabajos de implementación en partes

mas manejables y que permitan concurrencia. ¨  Capturar las interfaces entre los subsistemas.

n  Final de la fase de elaboración e Inicio de la fase de construcción.

Page 38: TEMA V: El Proceso Unificado de Desarrollo: … · Índice " Introducción ! El proceso unificado # Principios básicos # Las 4 “p” " Estructura del proceso unificado " Flujos

Flujos de Trabajo Principales - Diseño n  Artefactos de diseño

¨  Modelo de diseño n  Diagramas de secuencia

¨  Flujos de eventos principales ¨  Caminos alternativos

n  Descripciones textuales de las clases n  Diagramas de transición de estados para el comportamiento interno de cada

clase

¨  Modelo de despliegue n  Diagramas de despliegue: distribución física del sistema en nodos de computo n  Descripciones de los nodos y sus interrelaciones

¨  Descripción de la arquitectura n  Vista de la arquitectura del modelo de diseño n  Descomposición del modelo en subsistemas

¨  Realización de los casos de uso en diseño n  Diagramas de clases de realización en diseño n  Diagramas de interacción (clases, subsistemas, interfaces) n  Flujo de sucesos-diseño n  Requisitos de implementación

Page 39: TEMA V: El Proceso Unificado de Desarrollo: … · Índice " Introducción ! El proceso unificado # Principios básicos # Las 4 “p” " Estructura del proceso unificado " Flujos

Flujos de Trabajo Principales - Diseño n  Actividades

¨  Diseño de la arquitectura à Arquitecto n  Identificar nodos y configuración n  Identificar subsistemas y clases

¨  Diseñar un caso de uso à Ingeniero de CU n  Identificar clases de diseño y subsistemas n  Distribuir comportamiento del caso de uso n  Capturar requisitos de implementación

¨  Diseñar una clase à Ingeniero de Componentes n  Identificar responsabilidades y atributos n  Capturar requisitos especiales sobre la realización del CU

¨  Diseñar un subsistema à Ingeniero de Componentes

Page 40: TEMA V: El Proceso Unificado de Desarrollo: … · Índice " Introducción ! El proceso unificado # Principios básicos # Las 4 “p” " Estructura del proceso unificado " Flujos

Flujos de Trabajo Principales - Implementación n  Se implementa el sistema en términos de

componentes: ¨  Ficheros de código fuente, scripts, ficheros de código

binarios, ejecutables y similares

n  Objetivos: ¨  Planificar las integraciones de sistema necesarias en cada

iteración ¨  Distribuir el sistema asignando componentes ejecutables a

nodos en el diagrama de despliegue ¨  Implementar las clases y subsistemas encontrados

durante el diseño ¨  Probar los componentes individualmente, integrarlos

(compilándolos y enlazándolos en uno o más ejecutables)

Page 41: TEMA V: El Proceso Unificado de Desarrollo: … · Índice " Introducción ! El proceso unificado # Principios básicos # Las 4 “p” " Estructura del proceso unificado " Flujos

n  Artefactos de implementación ¨  Modelo de implementación

n  Diagramas de componentes ¨  Subsistemas de implementación y sus dependencias ¨  Componentes (fichero y ejecutables) y sus dependencias ¨  Interfaces

¨  Modelo de despliegue n  Diagrama de despliegue à Nodos

¨  Descripción de la arquitectura n  Vista de la arquitectura del modelo de implementación n  Asignación de componentes ejecutables a nodos

¨  Plan de integración de construcciones

Flujos de Trabajo Principales - Implementación

Page 42: TEMA V: El Proceso Unificado de Desarrollo: … · Índice " Introducción ! El proceso unificado # Principios básicos # Las 4 “p” " Estructura del proceso unificado " Flujos

n  Actividades ¨  Implementación de la arquitectura

à Arquitecto

¨  Integrar sistemas à Integrador de sistemas

¨  Implementar una clase à Ingeniero de Componentes

¨  Implementar un subsistema à Ingeniero de Componentes

¨  Realizar prueba de unidad à Ingeniero de Componentes

Flujos de Trabajo Principales - Implementación

Page 43: TEMA V: El Proceso Unificado de Desarrollo: … · Índice " Introducción ! El proceso unificado # Principios básicos # Las 4 “p” " Estructura del proceso unificado " Flujos

Flujos de Trabajo Principales - Prueba

n  Verificamos el resultado de la implementación probando cada construcción

n  Objetivos: ¨ Planificar las pruebas necesarias para cada

iteración n  Pruebas de sistema n  Pruebas de integración

¨ Diseñar e implementar las pruebas diseñando los casos de prueba

¨ Realizar las diferentes pruebas

Page 44: TEMA V: El Proceso Unificado de Desarrollo: … · Índice " Introducción ! El proceso unificado # Principios básicos # Las 4 “p” " Estructura del proceso unificado " Flujos

Flujos de Trabajo Principales - Prueba

n Artefactos de prueba ¨ Modelo de pruebas

n  Casos de prueba n  Procedimientos de prueba n  Componentes de prueba

¨ Plan de prueba ¨ Defectos ¨ Evaluación de la prueba

Page 45: TEMA V: El Proceso Unificado de Desarrollo: … · Índice " Introducción ! El proceso unificado # Principios básicos # Las 4 “p” " Estructura del proceso unificado " Flujos

Flujos de Trabajo Principales - Prueba n  Actividades

¨  Planificar prueba à Diseñador de pruebas

¨  Diseñar prueba à Diseñador de pruebas n  Describir casos de prueba de cada construcción n  Identificar y estructurar los procedimientos de prueba

¨  Implementar prueba à Ingeniero de componentes

¨  Realizar pruebas de integración à Ingeniero de pruebas de integración

¨  Realizar prueba de sistema à Diseñador de pruebas

¨  Evaluar prueba à Diseñador de pruebas

Page 46: TEMA V: El Proceso Unificado de Desarrollo: … · Índice " Introducción ! El proceso unificado # Principios básicos # Las 4 “p” " Estructura del proceso unificado " Flujos

Índice

n  Introducción n  El proceso unificado

¨ Principios básicos ¨ Las 4 “p”

n  Estructura del proceso unificado n  Flujos de trabajo principales Ø  Fases del desarrollo n  Otros aspectos

¨ Iteración genérica ¨ Planificación y evaluación

Page 47: TEMA V: El Proceso Unificado de Desarrollo: … · Índice " Introducción ! El proceso unificado # Principios básicos # Las 4 “p” " Estructura del proceso unificado " Flujos

Fases del Proceso Unificado

Requisitos

Diseño

Implementación

Prueba

Análisis

Planificación Anál. Riesgos Preparación

Elaboración Construcción Verificación

Transición

FASES Workflow

Iteración(es) Inicial(es)

Iter. #1

Iter. #2

Iter. #3

Iter. #4

Iter. #5

Iter. #6

Iter. #7

(Adaptado de Jacobson, 1999)

Page 48: TEMA V: El Proceso Unificado de Desarrollo: … · Índice " Introducción ! El proceso unificado # Principios básicos # Las 4 “p” " Estructura del proceso unificado " Flujos

Fases del PU - Inicial n  Propósito: establecer viabilidad

n  Objetivo: ¨  Análisis del negocio: casos de uso fundamentales para el

negocio

n  Actividades: 1.  Delimitar el ámbito (interfaces con otros sistemas) 2.  Proponer una arquitectura especialmente en lo nuevo,

arriesgado o difícil (expresada en función de algunos modelos) 3.  Identificar riesgos críticos (los que afecten a la viabilidad) 4.  Mostrar a usuarios y clientes un prototipo (exploratorio)

Page 49: TEMA V: El Proceso Unificado de Desarrollo: … · Índice " Introducción ! El proceso unificado # Principios básicos # Las 4 “p” " Estructura del proceso unificado " Flujos

Fases del PU - Elaboración n  Propósito: factibilidad

n  Objetivo: ¨  Arquitectura estable para guiar el sistema ¨  Estimación de costes para fases siguientes con precisión

n  Actividades: 1.  Línea base de la arquitectura. Consiste en: modelos, descripción de la

arquitectura e implementación ejecutable de la arquitectura. 2.  Identificación de riesgos que pueden perturbar los planes y costes

posteriores. 3.  Especificar niveles para los atributos de calidad: fiabilidad y tiempo de

respuesta. 4.  Recopilar casos de uso para el 80% de los requisitos funcionales para

planificar la fase de construcción. 5.  Planificación: personal, coste.

Page 50: TEMA V: El Proceso Unificado de Desarrollo: … · Índice " Introducción ! El proceso unificado # Principios básicos # Las 4 “p” " Estructura del proceso unificado " Flujos

Fases del PU - Construcción

n  Propósito: desarrollar el sistema

n  Objetivo: ¨ Versión beta

n  Actividades: 1. Terminar la identificación, descripción y realización de

todos los casos de uso. 2. Finalizar el análisis, el diseño la implementación y

pruebas. 3. Mantener la integridad de la arquitectura. 4. Monitorizar los riesgos críticos

Page 51: TEMA V: El Proceso Unificado de Desarrollo: … · Índice " Introducción ! El proceso unificado # Principios básicos # Las 4 “p” " Estructura del proceso unificado " Flujos

Fases del PU - Transición n  Propósito: puesta en funcionamiento del sistema en el entorno

del cliente/usuario

n  Objetivo: ¨  Producto final

n  Actividades: 1.  Preparar las actividades, por ejemplo, el lugar 2.  Aconsejar sobre el entorno de funcionamiento 3.  Manuales y documentos para la entrega 4.  Ajustar el software al entorno del usuario 5.  Corregir los defectos detectados en la versión beta

¨  Lecciones aprendidas ¨  Asuntos útiles para la versión siguiente

Page 52: TEMA V: El Proceso Unificado de Desarrollo: … · Índice " Introducción ! El proceso unificado # Principios básicos # Las 4 “p” " Estructura del proceso unificado " Flujos

Índice

n  Introducción n  El proceso unificado

¨ Principios básicos ¨ Las 4 “p”

n  Estructura del proceso unificado n  Flujos de trabajo principales n  Fases del desarrollo Ø  Otros aspectos

¨ Iteración genérica ¨ Planificación y evaluación

Page 53: TEMA V: El Proceso Unificado de Desarrollo: … · Índice " Introducción ! El proceso unificado # Principios básicos # Las 4 “p” " Estructura del proceso unificado " Flujos

Otros aspectos del PU - Iteración genérica n  Iteración = miniproyecto que obtiene como resultado una

versión interna. ¨  ¿Cómo planificarla? ¨  ¿Cómo organizarla? ¨  ¿Cuál es su resultado?

n  Incluye: ¨  Planificación ¨  Flujos de trabajo fundamentales

n  Requisitos n  Análisis n  Diseño n  Implementación n  Pruebas

¨  Evaluación

n  El contenido varía para adaptarse al objetivo de cada fase

Page 54: TEMA V: El Proceso Unificado de Desarrollo: … · Índice " Introducción ! El proceso unificado # Principios básicos # Las 4 “p” " Estructura del proceso unificado " Flujos

Otros aspectos del PU - Planificación (fases)

n  Establecer: ¨ Asignaciones de tiempo y fecha de entrega por

cada fase (inestable hasta fin de elaboración) ¨ Hitos principales y criterios de aceptación ¨ Iteraciones por fase y qué se realiza en ellas à Depende de la complejidad del sistema

¨ Plan de proyecto: n  Fechas y criterios de objetivos principales n  División de fases en iteraciones

n  Pensar a largo plazo

Page 55: TEMA V: El Proceso Unificado de Desarrollo: … · Índice " Introducción ! El proceso unificado # Principios básicos # Las 4 “p” " Estructura del proceso unificado " Flujos

Otros aspectos del PU - Planificación (iteraciones)

n  Se define: ¨  Planificación de la Iteración: cuánto tiempo, fecha de

terminación, etc. ¨  Contenido de la Iteración: ya está esbozado en el plan del

proyecto pero al comenzar cada iteración se debe detallar: n  Casos de uso n  Riesgos técnicos que se deben identificar en forma de casos de uso n  Cambios que han sufrido los requisitos o defectos encontrados n  Subsistemas que se deben implementar n  Personal

n  El plan de la iteración siguiente se va detallando.

n  El número de iteraciones de cada fase esta determinado por la complejidad del sistema.

Page 56: TEMA V: El Proceso Unificado de Desarrollo: … · Índice " Introducción ! El proceso unificado # Principios básicos # Las 4 “p” " Estructura del proceso unificado " Flujos

Otros aspectos del PU – Planificación/Evaluación n  Antes de cada iteración se han de planificar los criterios de

evaluación para establecer la satisfacción de los objetivos de cada iteración (medidos u observados): ¨  Requisitos funcionales en casos de uso ¨  Requisitos no funcionales de esos requisitos funcionales ¨  Requisitos no funcionales sueltos

n  Requisitos verificables (pruebas)

n  Requisitos generales (prototipo)

n  Productos intermedios para determinar el progreso del trabajo

n  Al final de cada iteración se realiza la evaluación de la misma de acuerdo a los criterios inicialmente establecidos

Page 57: TEMA V: El Proceso Unificado de Desarrollo: … · Índice " Introducción ! El proceso unificado # Principios básicos # Las 4 “p” " Estructura del proceso unificado " Flujos

Otros aspectos del PU - Evaluación n  Jefe de proyecto: ha de crear un documento como resultado de la

evaluación

n  Objetivos: ¨  Evaluar iteraciones según criterios: presupuesto, tiempo, requisitos de calidad,

resultados de las pruebas ¨  Reconsiderar el plan de la siguiente iteración ¨  Modificar el proceso ¨  Evaluar y modificar criterios

n  Es frecuente no alcanzar los criterios à prolongar el trabajo a la iteración siguiente: ¨  Modificar o extender el modelo de casos de uso ¨  Modificar o extender la arquitectura ¨  Modificar o extender los subsistemas desarrollados ¨  Buscar otros riesgos ¨  Incorporar ciertas habilidades al equipo ¨  Puede que solo falte tiempo

Page 58: TEMA V: El Proceso Unificado de Desarrollo: … · Índice " Introducción ! El proceso unificado # Principios básicos # Las 4 “p” " Estructura del proceso unificado " Flujos

Otros aspectos del PU - Evaluación n  A partir de la evaluación anterior, el jefe de

proyecto: ¨ Determina si se puede pasar a la siguiente

iteración ¨ Si hay que rehacer, decide cuándo, quién y cómo ¨ Planifica en detalle siguiente iteración ¨ Actualiza el plan de las iteraciones posteriores a

la siguiente ¨ Actualiza la lista de riesgos y el plan del proyecto

n  Evolución del conjunto de modelos

Page 59: TEMA V: El Proceso Unificado de Desarrollo: … · Índice " Introducción ! El proceso unificado # Principios básicos # Las 4 “p” " Estructura del proceso unificado " Flujos

Bibliografía

59

§  The unified software development process, Ivar Jacobson, Grade Booch, James Rumbaug, Ed. Addison Wesley, 1999

§  El proceso unificado de desarrollo, Ivar Jacobson, Grade Booch, James Rumbaug, Ed. Addison Wesley, 1999

Page 60: TEMA V: El Proceso Unificado de Desarrollo: … · Índice " Introducción ! El proceso unificado # Principios básicos # Las 4 “p” " Estructura del proceso unificado " Flujos

TEMA V: El Proceso Unificado de Desarrollo: Introducción

60

Profesor: David Granada