Tema 2: Introducción al proceso unificado de desarrollo de software

1

El proceso unificado de desarrollo de software
‡ Es un proceso ORIENTADO A OBJETOS ‡ El proceso es: ‡ Guiado por casos de uso ‡ Centrado en la arquitectura ‡ Con un ciclo de vida iterativo e incremental
PARTE DINÁMICA

CICLO DE VIDA

Debe ofrecer un marco de trabajo genérico

INTERFAZ

PARTE ESTÁTICA

2

El proceso unificado de desarrollo de software
‡ El Proceso Unificado de Desarrollo usa UML
UML

Notación Herramientas Proceso
PROCESO UNIFICADO DE DESARROLLO DE RATIONAL
3

‡ RATIONAL ROSE ‡ VISIO

1. Guiado por casos de uso
‡ Los sistemas se crean para dar servicio a los usuarios.
² Qué REQUISITOS se necesitan ² Un CASO de USO es una pieza de FUNCIONALIDAD de un sistema que le proporciona a algún USUARIO un RESULTADO o VALOR.
4

Casos de uso ‡ Todos juntos constituyen el modelo de casos de uso (MCU)
² FUNCIONALIDAD COMPLETA ² PARA TODOS LOS USUARIOS
5

EJEMPLO DE MODELO DE CASOS DE USO
Consultar Catálogo <<includes>> Actualizar Catálogo

Persona

Reservar Libro

EncargadoBiblio
<<extends>>

Tomar Préstamo Copia Libro
- No disponible

<<extends>>

Tomar Préstamo Revista

Extender Préstamo
- No reservado

Socio
Devolver Copia Libro

Devolver Revista

TrabajadorBiblio
6

Desarrollo guiado por casos de uso (CU) LOS CASOS DE USO: ‡ CAPTURAN REQUISITOS ‡ SE ESPECIFICAN (ANALIZAN) ‡ SE DISEÑAN ‡ SE IMPLEMENTAN ‡ Y SE PRUEBAN

7

Tomar Préstamo

1.- CASO DE USO

Desarrollo guiado por CASOS DE USO

Persona

2.- ANÁLISIS DEL CASO DE USO

: IU-1 1: Introdu r
¤ £  ¢

: GestorL ro

: L ro

elL ro:L ro

natura y NumeroDeSocio Se repite hasta que se encuentre un libro con la signatura que estamos buscando

2: Aceptar

3.- DISEÑO DEL CASO DE USO

3: obtenerLibro(signaturaLibro:String)

4: getSignatura() elLibro 5: getCopias() 6: isCopiaPrestada()

4.- IMPLEMENTACIÓN DEL CASO DE USO 5.- PRUEBA DEL CASO DE USO

¡ 

¡ 

¡ 

¡ 

8

2. Centrado en la arquitectura ‡ La arquitectura de un sistema software es un extracto de los modelos del sistema
² Extracto: VISTA DE CADA MODELO

‡ que da una idea de qué forma que tiene el sistema completo
9

Centrado en la ARQUITECTURA
1

VISTA DEL MODELO DE CASOS DE USO

VISTA DEL MODELO DEL DOMINIO / VISTA DEL DIAGRAMA DE CLASES

: IU-1 : 2: 1: 3: G

: 4 ()

: 2: 1:

: : G 3: 4 ()
¦ ¥

VISTA DEL MODELO DEL ANÁLISIS

VISTA DEL MODELO DEL DISEÑO

+ VISTAS DEL MODELO DE IMPLEMENTACIÓN Y PRUEBAS

SON VISTAS DE LOS MODELOS (NO MODELOS COMPLETOS). SÓLO APARECEN LOS QUE CORRESPONDEN A CASOS DE USOS CRÍTICOS
10

¦

¥

3. Ciclo de vida iterativo e incremental ‡ ITERATIVO
² Se repiten VARIOS MINIPROYECTOS

‡ INCREMENTAL
² Cada miniproyecto AMPLIA EL PRODUCTO
11

El CV del proceso unificado
‡ UN CICLO DE VIDA SE REPITE A LO LARGO DEL TIEMPO ‡ TRAS CADA CICLO DE VIDA VERSIÓN NUEVA DEL PRODUCTO ‡ UN CICLO DE VIDA SE DIVIDE EN FASES ‡ CADA FASE SE DIVIDE EN ITERACIONES ‡ EN CADA ITERACIÓN SE REALIZAN FLUJOS DE TRABAJO
12

El CV del proceso unificado
Flujos de trabajo: Actividades
Requisitos

Fases
Inicio Elaboración Construcción Transición

Análisis

Diseño

Implementación

Prueba

Iteraciones:

ite r. #1

ite r. #2

ite r. #n

ite r. # n+ 1

ite r. # n+2

ite r. #m

ite r. 13 #m +1

El CV del proceso unificado
Versiones del producto EN CONSTRUCCIÓN

Iniciación iteración #1

Iniciación iteración #2

Elaboración iteración #3

construcción  iteración #n-1

Prdct fnll

transición iteración #n-1

Producto final

Iniciación

Elaboración

Construcción

Transición 14

NUEVA VERSIÓN DEL PRODUCTO (en este CV)

El producto
(del proceso unificado)

‡ NO ES SÓLO CÓDIGO EJECUTABLE ‡ SON LOS MODELOS O REPRESENTACIÓN DEL SOFTWARE ‡ DEBE AJUSTARSE A TODAS LAS PERSONAS IMPLICADAS
15

Fases dentro del CV del proceso unificado
‡ FASE: PARTE DE UN CV ‡ CADA FASE TERMINA EN UN HITO
² HAY ARTEFACTOS DISPONIBLES (SEGÚN LO PLANIFICADO) ² LOS RESULTADOS EN LOS HITOS PERMITEN GESTIONAR
16

Fases dentro del CV del proceso unificado
‡ INICIACIÓN: ² DESCRIBIR PRODUCTO FINAL / ANÁLISIS DEL NEGOCIO ² IDENTIFICAR RIESGOS MÁS IMPORTANTES ² ESTABLECER PLANIFICACIÓN INICIAL DEL PROYECTO ² DECIDIR SI SE CONTINÚA ‡ ELABORACIÓN:

² ESTABLECER PLAN Y ARQUITECTURA ESTABLE ‡ CONSTRUCCIÓN: DESARROLLAR EL PRODUCTO ‡ TRANSICION: PROPORCIONAR SISTEMA A USUARIOS 17

Iteraciones
‡ CADA FASE SE DIVIDE EN ITERACIONES ‡ CADA ITERACIÓN
² MINIPROYECTO (EN CASCADA) QUE EJECUTA FLUJOS DE TRABAJO ² PRODUCE UN INCREMENTO EN PRODUCTO
‡ TAL Y COMO ESTABA

‡ SE REDUCE EL RIESGO
² SE PUEDE PERDER SÓLO LO REALIZADO EN ESA ITERACIÓN
18

Iteraciones
ITERACIÓN

Como se puede ver, el Proceso Unificado de Desarrollo incluye actividades correspondientes a un Proceso de Gestión de Proyectos

PLANIFICACIÓN DE LA ITERACIÓN

EVALUACIÓN DE LA ITERACIÓN

REQUISITOS

ANÁLISIS

DISEÑO

IMPLEMENTACIÓN

PRUEBAS

19 ACTIVIDADES DE LOS FLUJOS DE TRABAJO FUNDAMENTALES

Flujos de trabajo
‡ CAPTURA DE REQUISITOS:
² IDENTIFICAR REQUISITOS DEL SISTEMA ² CONSTRUIR UN MODELO DEL MISMO
‡ MODELO DE CASOS DE USO ‡ MODELO DEL DOMINIO (o NEGOCIO)

‡ ANÁLISIS:
² ESPECIFICAR REQUISITOS ² CONSTRUIR MODELO DEL ANÁLISIS
20

Flujos de trabajo
‡ DISEÑO:
² ENCONTRAR LA FORMA DEL SISTEMA (SOLUCIÓN) ² CONSTRUIR MODELO DEL DISEÑO

‡ IMPLEMENTACIÓN:
² CODIFICAR EL DISEÑO (SOLUCIÓN) ² CONSTRUIR MODELO DE IMPLEMENTACIÓN

‡ PRUEBAS:
² VERIFICAR LA IMPLEMENTACIÓN ² CONSTRUIR MODELO DE PRUEBAS
21

ANEXO

Fases: Iniciación
Establecer la planificación del proyecto

‡ ¿Qué va a hacer el sistema para cada uno de sus usuarios principales?
² Un MCU simplificado con los CU más críticos

‡ ¿Cómo sería la arquitectura para un sistema como ese?
² Borrador con los subsistemas principales

‡ ¿Cuál es el plan y cuánto va a costar desarrollar el producto?
² Identificar los riesgos principales y priorizarlos, planificar elaboración y presupuesto aproximado
22

ANEXO

Fases: Elaboración
Establecer un plan para el proyecto y una arquitectura correcta

‡ Especificar en detalle los CU + críticos ‡ Diseñar la arquitectura
² Mediante vistas de todos los modelos del SI ² Vista arquitectónica de MCU, M. Análisis, M. Diseño, M. Implementación (con los componentes que demuestran que la arquitectura es ejecutable) y M. Distribución.

‡ Al final de esta fase se debe poder planificar las actividades y estimar los recursos para poder completar el proyecto. ¿Son los CU, arquitectura y planes lo suficientemente estables y los riesgos bajo control23 suficiente para firmar un contrato para terminar el

ANEXO

Fases: Construcción
Desarrollar el sistema

‡ Se construye el producto. En esta fase:
² La arquitectura se completa para construir un sistema bien cimentado ² La visión evoluciona hasta convertirse en un producto preparado para los usuarios ² Es donde se gastan la mayoría de los recursos ² La arquitectura del sistema es estable. Sin embargo, se pueden realizar cambios mínimos a la misma. ² ¿El producto se ajusta suficientemente a las 24 necesidades de los usuarios de algunos usuarios como para enviarselo ya?

ANEXO

Fases: Transición
Proporcionar el sistema a los usuarios finales

‡ El producto se encuentra en fase beta
² Un grupo reducido de usuarios experimentados prueba el producto e informa de los defectos y deficiencias y sugieren mejoras. ² Los desarrolladores corrigen las deficiencias e incorporan algunas de las mejoras propuestas en una versión para un grupo de usuarios mayor. ² En esta fase se encuentran actividades como la venta, formación de los usuarios, ofrecimiento de ayuda en línea y corrección de defectos descubiertos tras la implantación. Los defectos: (1) los que justifican la aparición de una nueva versión del sistema, (2) los que 25 se pueden dejar para la siguiente versión que se cree.