Sie sind auf Seite 1von 30

EL PROCESO UNIFICADO DE DESARROLLO

(1 parte)

Ingeniera del Software

El Proceso Unificado
Caractersticas del Proceso Unificado Iteracin genrica Planificar Evaluar

Ingeniera del Software

El Proceso Unificado
Caractersticas del Proceso Unificado
UML Basado en casos de uso Centrado en la arquitectura Iterativo-Incremental Modelos del proceso

Iteracin genrica Planificar Evaluar

Ingeniera del Software

El Proceso Unificado (UP)


Unificacin de tres metodologas de desarrollo basadas en el paradigma orientado a objetos.
OOSE: Object Oriented Software Engineering (Casos de Uso) Jacobson, I. Booch (Diseo) Booch, G. OMT: Object Modeling Technique (Anlisis) Rumbaugh, J.

Ingeniera del Software

El Proceso Unificado (UP)


Es ms que un proceso de desarrollo software
un marco de trabajo que puede especializarse

Basado en componentes conectados a travs de interfaces Utiliza UML - Unified Modeling Language Dirigido por casos de uso Centrado en la arquitectura Iterativo e incremental

Ingeniera del Software

Dirigido por casos de uso


Usuario: alguien o algo. Una interaccin con el usuario es un caso de uso. Un caso de uso:
Es una funcin del sistema que da al usuario un resultado til. Captura los requisitos funcionales.

Qu debe hacer el sistema para cada usuario? Modelo de casos de uso. Conducen el proceso de desarrollo:
Modelos de diseo e implementacin. Pruebas.

Se desarrollan y evolucionan junto a la arquitectura del sistema.


Ingeniera del Software 6

Centrado en la arquitectura
Edificio: estructura, servicios, electricidad, fontanera,... Agrupa aspectos estructurales y dinmicos significativos Influencias: plataforma (BBDD, SO, protocolo de comunicacin,...), aspectos legales, componentes reusables disponibles, requisitos no funcionales,... Es una vista del diseo completo que hace visibles las caractersticas principales. Cmo se relacionan casos de uso y arquitectura? Funcin y forma

Ingeniera del Software

Centrado en la arquitectura
Tareas:
Crear una arquitectura inicial no especfica de los casos de uso. Trabajar con un conjunto seleccionado de casos de uso que representan las tareas clave del sistema. Caso de uso - subsistemas, clases y componentes. Evolucin.

Ingeniera del Software

Iterativo - Incremental
Divisin del proyecto. Una iteracin produce un incremento. Iteraciones controladas. Factores para la seleccin en una iteracin:
La iteracin trata un grupo de casos que extienden la funcionalidad. La iteracin trata los riesgos ms importantes.

Incremento no siempre es aditivo. Cada iteracin:


casos relevantes-diseo quiado por arquitecturaimplementar-verificar

Beneficios.
Ingeniera del Software 9

Iterativo - Incremental
Varios ciclos que concluyen con un producto. Cdigo fuente, manuales y documentos. Hitos por fases (Milestones)
Entrega

Ciclos

...

Fases Iterac.
Ingeniera del Software

Concepcin Iter. 1 Iter. 2

Elaboracin ... ... ...

Construccin ... ...

Transicin ... Iter. n 10

El proceso
Papeles y actividades
Analista de Sistemas Descubre Actores Estructura Modelo y Casos de Uso de Casos de Uso Planifica Test Disea Test Evalua Test Ingeniero de pruebas

Especifica Casos de Uso

Detalla un Caso de Uso

Integra Sistema

Integrador de Sistemas

Diseador de Interface de Usuario

Prototipo del Interfaz de Usuario

Ejecuta Test de Integracin

Ingeniero de pruebas de integracin

Anlisis de Diseo de Arquitecto Prioriza Casos de Uso Arquitectura Arquitectura

Implementacin de Arquitectura

Ingeniero de Ejecuta test pruebas de del sistema sistema

Ingeniero de Casos de Uso

Analiza un Caso de Uso

Disea un Caso de Uso

Ingeniero de Componentes

Analiza una Clase

Analiza un Paquete

Disea una clase

Disea un Subsistema Implementa Subsistema

Implementa una clase

Implementa Ejecuta Test Test Unitario

Ingeniera del Software

11

El proceso
El producto (salidas)
Modelo de anlisis Modelo de diseo
- Refina los casos de uso otorgndoles ms detalle - Asigna la funcionalidad a un grupo de objetos - Define la estructura esttica del sistema. - Refleja los casos de uso como colaboraciones - Define la configuracin de los nodos de procesamiento y las correspondencias entre ellos. - Incluye los componentes (cdigo fuente) y las relaciones entre los mismos - Define los casos de prueba para validar los casos de uso

Especificado por Realizado por Modelo de casos de uso Distribuido por

Modelo de despliegue Implementado por Modelo de implementacin Verificado por

Modelo de pruebas

Ingeniera del Software

12

El proceso
Fases, iteraciones y actividades
Workflow
Requisitos Anlisis Diseo Implantacin Prueba
Iteracin-es Inicial-es Iter. #1 Iter. #2 Iter. #3 Iter. #4 Iter. #5 Iter. #6 Iter. #7 Planificacin Anl. Riesgos Preparacin

FASES
Elaboracin Construccin Verificacin Transicin

Iteracin en Fase de Elaboracin

(Adaptado de Jacobson, 1999)


Ingeniera del Software 13

El proceso
Fases, iteraciones y actividades
Una Fase es un intervalo de tiempo entre dos hitos importantes del proceso donde: Se cumple un conjunto definido de objetivos Se completan artefactos Se toman decisiones de continuar o no Iniciacin, Elaboracin, Construccin, Transicin Dentro de cada fase hay varias iteraciones Una iteracin representa un ciclo de desarrollo completo. El nfasis en cada flujo de trabajo es diferente dependiendo de la fase

Ingeniera del Software

14

El proceso
Fases, iteraciones y actividades

Ingeniera del Software

15

Un ejemplo: el Proceso Unificado


Caractersticas del Proceso Unificado Iteracin genrica
Divisin del trabajo en fases

Planificar Evaluar

Ingeniera del Software

16

Iteracin genrica
Incluye:
Planificacin Flujos de trabajo fundamentales
Requisitos Anlisis Diseo Implementacin Pruebas

Evaluacin

El contenido vara para adaptarse al objetivo de cada fase.

Ingeniera del Software

17

Divisin del trabajo en fases


Fase de inicio: establecer viabilidad
Objetivo:
Anlisis del negocio: casos de uso fundamentales para el negocio

Actividades:
1. Delimitar el mbito (interfaces con otros sistemas) 2. Proponer una arquitectura especialmente en lo nuevo, arriesgado o difcil (expresada en funcin de algunos modelos) 3. Identificar riesgos crticos (los que afecten a la viabilidad) 4. Demostrar a usuarios y clientes un prototipo (exploratorio)

Ingeniera del Software

18

Divisin del trabajo en fases


Fase de elaboracin: factibilidad
Objetivo
Arquitectura estable para guiar el sistema Estimacin de de costes para fases sisguientes con precisin

Actividades:
1. Lnea base de la arquitectura. Consiste en: modelos, descripcin de la arquitectura e implementacin ejecutable de la arquitectura. 2. Identificacin 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 construccin. 5. Planificacin: personal, coste.

Ingeniera del Software

19

Divisin del trabajo en fases


Fase de construccin
Objetivo
Versin beta

Actividades:
1. Terminar la identificacin, descripcin y realizacin de todos los casos de uso. 2. Finalizar el anlisis, el diseo la implementacin y pruebas. 3. Mantener la integridad de la arquitectura. 4. Monitorizar los riesgos crticos.

Ingeniera del Software

20

Divisin del trabajo en fases


Fase de transicin: en el entorno del usuario
Objetivo
Producto final

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 versin beta. Lecciones aprendidas Asuntos tiles para la versin siguiente

Ingeniera del Software

21

Un ejemplo: el Proceso Unificado


Caractersticas del Proceso Unificado Iteracin genrica Planificar
Las fases Las iteraciones Los criterios de evaluacin

Evaluar

Ingeniera del Software

22

Planificar
Varias iteraciones en cuatro fases Plan de proyecto Informacin sobre el sistema propuesto Informacin del dominio Experiencia pasada Planificar

Plan de iteracin

Ingeniera del Software

23

Planificar las fases


Establecer:
Asignaciones de tiempo y fecha de entrega por cada fase (inestable hasta fin de elaboracin) Hitos principales y criterios de aceptacin Iteraciones por fase y qu se realiza en ellas. Depende de la complejidad del sistema. Plan de proyecto: fechas y criterios de objetivos principales y divisin de fases en iteraciones

Pensar a largo plazo

Ingeniera del Software

24

Planificar las iteraciones


Definimos:
Planificacin de la Iteracin: cuanto tiempo, fecha de terminacin. Contenido de la Iteracin: Contenido. Ya est esbozado en el plan del proyecto pero al comenzar cada iteracin se debe detallar:
Casos de uso Riesgos tcnicos que se deben identificar en forma de casos de uso Cambios que han sufrido los requisitos o defectos encontrados Subsistemas que se deben implementar Personal

El plan de la iteracin siguiente se va detallando. El nmero de iteraciones de cada fase esta determinado por la complejidad del sistema.

Ingeniera del Software

25

Planificar las iteraciones


La 1 iteracin suele ser ms difcil
Ajustar el PU al proyecto y seleccionar herramientas Seleccionar personal y crear equipo. Familiarizarlo con el proyecto y las herramientas Entender el dominio Lista de riesgos

Ingeniera del Software

26

Planificar los criterios de evaluacin


Criterios para establecer la satisfaccin de los objetivos de cada iteracin (medidos u observados):
Requisitos funcionales en casos de uso Requisitos no funcionales de esos requisitos funcionales Requisitos no funcionales sueltos

Requisitos verificables (pruebas) Requisitos generales (prototipo) Productos intermedios para determinar el progreso del trabajo

Ingeniera del Software

27

Un ejemplo: el Proceso Unificado


Caractersticas del Proceso Unificado Iteracin genrica Planificar Evaluar
Las fases Las iteraciones

Ingeniera del Software

28

Evaluar iteraciones y fases


Jefe de proyecto (documento) Objetivos:
evaluar iteraciones segn criterios: presupuesto, tiempo, requisitos de calidad, resultados de las pruebas reconsiderar el plan de la siguiente iteracin modificar el proceso evaluar y modificar criterios

Es frecuente no alcanzar los criterios. Prolongar el trabajo a la iteracin 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
29

Ingeniera del Software

La siguiente iteracin
A partir de la evaluacin anterior, el jefe de proyecto:
Determina si se puede pasar a la siguiente iteracin Si hay que rehacer, cundo Planificar en detalle siguiente iteracin Actualizar el plan de las iteraciones posteriores a la siguiente Actualizar riesgos y plan del proyecto

Evolucin del conjunto de modelos

Ingeniera del Software

30

Das könnte Ihnen auch gefallen