INTRODUCCIN A LA INGENIERIA DE SOFTWAREINGENIERIA DE SOFTWARE
Proceso Unificado de Desarrollo de Software
1
El Proceso Unificado
Es un proceso ORIENTADO A OBJETOS
Est basado en componentes e interfacesbien definidas
Utiliza el Lenguaje Unificado de Modelado Utiliza el Lenguaje Unificado de Modelado (UML)
Aspectos caractersticos del proceso: Dirigido por casos de uso
Centrado en la arquitectura
Iterativo e incremental
2
El Proceso Unificado de Desarrollo apliaca UML
UML Notacin
El Proceso Unificado
3
Proceso Unificado de Desarrollo de Rational
Herramientas Proceso
Rational Rose
Visio
El Proceso UnificadoDirigido por Casos de Uso
Los sistemas se crean para dar servicio a los usuarios. Qu REQUISITOS se necesitan
CASO de USO: es una pieza de funcionalidad de un sistema que le proporciona a algn usuario un sistema que le proporciona a algn usuario un resultado o valor.
Modelo de casos de uso: Funcionalidad total del sistema
Qu debe hacer el sistema para cada usuario?
Guan el proceso de desarrollo
4
El Proceso UnificadoDirigido por Casos de Uso
Los casos de uso:
Capturan requisitos
Se especifican (analizan)
Se disean Se disean
Se implementan
Se prueban
5
PersonaEncargadoBiblio
Consultar Catlogo
Tomar Prstamo Copia
Reservar Libro
Actualizar Catlogo
EJEMPLO DE MODELO DE CASOS DE USO
6
SocioTrabajadorBiblio
Tomar PrstamoRevista
Devolver Revista
Tomar Prstamo Copia Libro
Extender Prstamo
Devolver Copia Libro
- No disponible
- No reservado
Persona
Tomar Prstamo
2. Anlisis del Caso de Uso
1. Caso de Uso
El Proceso UnificadoDirigido por Casos de Uso
7
: IU-1 : GestorLibro : Libro elLibro:Libro
1: Introducir Signatura y NumeroDeSocio
2: Aceptar
3: obtenerLibro(signaturaLibro:String)4: getSignatura()
Se repite hasta que seencuentre un libro
con la signatura queestamos buscando
elLibro
5: getCopias()6: isCopiaPrestada()
3. Diseo del Caso de Uso
4. Implementacin del Caso de Uso
5. Prueba del Caso de Uso
El Proceso UnificadoCentrado 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
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 tiene el sistema completo
8
1Vista del modelo de casos de uso Vista del modelo del dominio /
Vista del diagrama de clases
El Proceso UnificadoCentrado en la Arquitectura
9
: IU-1 : Gro
:1:2: 3: 4()
: : Gro
:1:2: 3: 4()
Vista del modelo del anlisisVista del modelo del diseo
+ Vistas del modelo de implementacin y pruebas
Son vistas de los modelos (no modelos completos)
Slo aparecen los que corresponden
A casos de usos crticos
El Proceso UnificadoIterativo e Incremental
Se divide el trabajo en mini-proyectos
Cada mini-proyecto es una iteracin que resulta en un incremento del producto.
La iteracin La iteracin
Trata un conjunto de casos de uso
Trata los riesgos ms importantes
En cada iteracin se persiguen unos objetivos concretos
10
El Proceso UnificadoIterativo 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 previstocalendario previsto
Acelera el ritmo de desarrollo
Se adapta mejor a las necesidades del cliente
11
El Ciclo de Vida del Proceso Unificado
Un ciclo de vida se repite a lo largo del tiempo
Luego de cada ciclo de vida versin nueva del producto
Un ciclo de vida se divide en fases Un ciclo de vida se divide en fases
Cada fase se divide en iteraciones
En cada iteracin se realizan flujos de trabajo
12
El Ciclo de Vida del Proceso Unificado
Requisitos
Anlisis
FasesFlujos de trabajo: Actividades
Inicio Elaboracin Construccin Transicin
13
Diseo
Implementacin
Prueba
Anlisis
ite r.# 1
ite r.# 2
ite r.# n
ite r.#n+ 1
ite r.# n+2
ite r.# m
ite r.#m +1Iteraciones:
El Ciclo de Vida del proceso unificado
Versiones del productoEN CONSTRUCCIN
Productofinal
Iniciaciniteracin #1
Iniciaciniteracin #2
Elaboraciniteracin #3
construcciniteracin #n-1
transiciniteracin #n-1
Prdctfnll
Iniciacin Elaboracin Construccin Transicin
Nueva Versin Del Producto (en este CV)14
El Producto(del proceso unificado)
No es slo cdigo ejecutable
Son los modelos o representacin del software
Debe ajustarse a todas las personas implicadas
15
Debe ajustarse a todas las personas implicadas
Fases dentro del Ciclo de Vidadel Proceso Unificado
Fase: Parte de un ciclo de vida Cada fase termina en un hito
Hay artefactos disponibles (segn lo planificado) Los resultados en los hitos permiten gestionar
16
Los resultados en los hitos permiten gestionar
Fase: IniciacinEstablecer la planificacin del proyecto
Describir producto final / anlisis del negocio Identificar riesgos ms importantes Establecer planificacin inicial del proyecto Decidir si se contina
Qu va a hacer el sistema para cada uno de sus usuarios principales?
17
Qu va a hacer el sistema para cada uno de sus usuarios principales? Un MCU simplificado con los CU ms crticos
Cmo sera la arquitectura para un sistema como ese? Borrador con los subsistemas principales
Cul es el plan y cunto va a costar desarrollar el producto? Identificar los riesgos principales y priorizarlos, planificar elaboracin y
presupuesto aproximado
Fase: ElaboracinEstablecer un plan para el proyecto y una arquitectura correcta
Especificar en detalle los CU + crticos
Disear la arquitectura Mediante vistas de todos los modelos del SI
Vista arquitectnica de MCU, M. Anlisis, M. Diseo, M.
18
Vista arquitectnica de MCU, M. Anlisis, M. Diseo, M. Implementacin (con los componentes que demuestran que la arquitectura es ejecutable) y M. Distribucin.
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 control suficiente para firmar un
contrato para terminar el trabajo de desarrollo?
Fase: ConstruccinDesarrollar el producto/sistema
Se construye el producto. En esta fase: La arquitectura se completa para construir un sistema bien
cimentado La visin evoluciona hasta convertirse en un producto
preparado para los usuarios
19
preparado para los usuarios Es donde se gastan la mayora de los recursos La arquitectura del sistema es estable. Sin embargo, se
pueden realizar cambios mnimos a la misma. El producto se ajusta suficientemente a las necesidades
de los usuarios de algunos usuarios como para enviarseloya?
Fase: TransicinProporcionar 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 versin para un
20
algunas de las mejoras propuestas en una versin para un grupo de usuarios mayor.
En esta fase se encuentran actividades como la venta, formacin de los usuarios, ofrecimiento de ayuda en lnea y correccin de defectos descubiertos tras la implantacin. Los defectos: (1) los que justifican la aparicin de una nueva versin del sistema, (2) los que se pueden dejar para la siguiente versin que se cree.
Iteraciones
Cada fase se divide en iteraciones Cada iteracin
Miniproyecto (en cascada) que ejecuta flujos de trabajo
Produce un incremento en producto
21
Produce un incremento en producto Tal y como estaba
Se reduce el riesgo Se puede perder slo lo realizado en esa iteracin
Iteraciones
ITERACIN
Como se puede ver, el Proceso Unificado de Desarrollo incluye actividades correspondientes a un Proceso de Gestin de Proyectos
REQUISITOS ANLISIS DISEO IMPLEMENTACIN PRUEBAS
PLANIFICACIN DE LA ITERACIN
EVALUACIN DE LA ITERACIN
ACTIVIDADES DE LOS FLUJOS DE TRABAJO FUNDAMENTALES 22
Flujos de Trabajo
Captura de requisitos:
Identificar requisitos del sistema
Construir un modelo del mismo
Modelo de casos de uso
23
Modelo del dominio (o Negocio)
Anlisis:
Especificar requisitos
Construir modelo del anlisis
Flujos de trabajo
Diseo:
Encontrar La Forma Del Sistema (Solucin)
Construir Modelo Del Diseo
Implementacin:
Codificar El Diseo (Solucin)
24
Codificar El Diseo (Solucin)
Construir Modelo De Implementacin
Pruebas:
Verificar La Implementacin
Construir Modelo De Pruebas