Sei sulla pagina 1di 50

UP

Proceso Unificado de Desarrollo


de Software

Que es UP

Requisitos del usuario

Proceso de desarrollo
de software

Sistema de software

Un proceso define quin est haciendo qu, cundo y cmo para


lograr un cierto objetivo
UP es un proceso de desarrollo de software:
Propuesto por OMG para diseo de software orientado a objetos
Proceso que permita asegurar la produccin de software de calidad
dentro de plazos y presupuestos predecibles

Permite utilizar UML de manera natural

Orgenes

Modelo original
Objectory
definido por
Ivan Jacobson
(1987)

Rational
Software
compra la
empresa de
Objectory
(1995)

Surge la
primera versin
de UML (1997)

Se publica la
primera versin
del Proceso
Unificado de
Rational - RUP
(junio 1998)

Rational Unified Process (RUP)

Rational Unified Process


1998

Rational Objectory Process

Pruebas funcionales
Pruebas de desempeo
Gestin de requisitos
Gestin de cambios y
configuracin
Ingeniera de Negocio
Ingeniera de datos
Diseo de interfaces

1996-1997

Objectory Process
1987-1995

Enfoque Ericsson

UML

Caractersticas Esenciales de UP

Proceso
Dirigido por
los Casos
de Uso

UP

Proceso
Iterativo e
Incremental

Proceso
Centrado
en la
Arquitectura

Dirigido por los casos de uso


Se centra en la funcionalidad que el sistema debe
poseer para satisfacer las necesidades de un usuario
(persona, sistema externo, dispositivo) que interacta
con l
Casos de uso como el hilo conductor que orienta las
actividades de desarrollo

Dirigido por Casos de Uso

Modelo de
Casos de
Uso
especificado por

verificado por

realizado por

Modelo de
Anlisis

Modelo de
Prueba

distribuido por

Modelo de
Diseo

implementado por

Modelo de
Despliegue

Modelo de
Implementacin

Proceso Iterativo e Incremental

El software moderno es
complejo y novedoso.

UP sigue un modelo
iterativo en incremental
que aborda las tareas
ms riesgosas primero.

Se divide todo el trabajo


en mini-proyectos.

No es realista usar un
modelo lineal de
desarrollo como el de
cascada.

Un requerimientos a la
vez que se va haciendo
crecer el sistema.

Cada mini-proyecto es
una iteracin (flujo de
trabajo) que resulta en
un incremento (crece el
producto).

Con esto se logra


reducir los riesgos del
proyecto y tener un
subsistema ejecutable
tempranamente.

Cada iteracin tiene


una serie de flujos de
trabajo: requisitos,
anlisis, diseo,
implementacin y
prueba

... Proceso Iterativo e Incremental


Las actividades se encadenan en una
mini-cascada con un alcance limitado por
los objetivos de la iteracin
Anlisis

Diseo

Construccin

Pruebas e
Integracin

n veces

Esfuerzo de trabajo
en un proyecto que
recorre varias
etapas de desarrollo
(no necesariamente
todas), y al final del
cual se ha
incrementado el
material disponible
sobre el sistema

Incremento:

Iteracin :

Iteracin e Incremento

Un avance
significativo en el
grado de
especificacin,
diseo,
implementacin, o
prueba del sistema
que tenga lugar
durante una
iteracin

Centrado en la arquitectura
Concepto similar a la
arquitectura de un
edificio
Varios planos con diferentes
aspectos del edificio
Tener una imagen completa del
edificio antes que comience la
construccin

Arquitectura en
software
Diferentes vistas del sistema:
estructural, funcional,
dinmico, etc.
plataforma en la que va a
operar
Determina la forma del sistema

La arquitectura es
una vista del diseo
completo .

Con las
caractersticas ms
importantes
resaltadas.

Dejando los detalles


de lado.

Arquitectura y Casos de uso


Casos de uso: determinan
la funcin del sistema QUE

Arquitectura: determina la
forma del sistema COMO

Evolucin tpica
Se crea esquema de la arquitectura
Se trabaja con un conjunto de casos de uso, se reparte en subsistemas,
clases, y componentes
Al madurar los casos de uso se desarrolla ms la arquitectura
Por consiguiente se logra madurar ms casos de uso
Este proceso continua hasta que la arquitectura es estable

Buenas Prcticas
UP implementa las mejores prcticas
actuales en ingeniera de software:

Desarrollo iterativo del software


Administracin de requerimientos
Uso de arquitecturas basadas en componentes
Modelamiento visual del software
Verificacin de la calidad del software
Control de cambios

Desarrollar en Iteraciones

Un proceso iterativo permite una comprensin


creciente de los requerimientos a la vez que se va
haciendo crecer el sistema.
UP sigue un modelo iterativo que aborda las
tareas ms riesgosas primero.
Con esto se logra reducir los riesgos del proyecto
y tener un subsistema ejecutable tempranamente.

Administracin de requerimientos
La administracin de
requerimientos definida
por UP considera:
Los casos de uso y los
escenarios indicados por
el proceso han probado
ser una buena forma de
captar requerimientos y
guiar el diseo, la
implementacin y las
pruebas.

Obtener los
requerimientos

Organizarlos

Rastrear y
documentar
decisiones

Documentar
requerimientos
de funcionalidad
y restricciones

Captar y
comunicar
requerimientos
del negocio

Arquitecturas basadas en
componentes
El proceso se basa en
disear tempranamente
una arquitectura base
ejecutable.

UP apoya el desarrollo
basado en componentes,
tanto nuevos como
preexistentes.

La arquitectura debe ser:

Flexible

Fcil de
modificar

Intuitivamente
comprensible

Promueve la
reutilizacin
de
componentes

Modelamiento visual
UP promueve el modelamiento visual de la
estructura y el comportamiento de la arquitectura
y los componentes.

Bloques de construccin:
Ocultan detalles
Permiten la comunicacin en el equipo de desarrollo
Permiten analizar la consistencia:
entre las componentes
entre diseo e implementacin

UML es la base del modelamiento visual de UP.

Verificacin de calidad
No slo la funcionalidad es esencial, tambin
el rendimiento y la confiabilidad.

UP ayuda a planificar, disear, implementar,


ejecutar y evaluar pruebas que verifiquen
estas cualidades.
El aseguramiento de la calidad es parte del
proceso de desarrollo y no la responsabilidad
de un grupo independiente.

Control de cambios
Los cambios son inevitables, pero es
necesario evaluar si stos son necesarios
y rastrear su impacto.
UP indica como controlar, rastrear y
monitorear los cambios dentro del proceso
iterativo de desarrollo.

Definiciones
Trabajador
Un trabajador define el comportamiento y las
responsabilidades de un individuo.
Es como un sombrero que la persona usa
durante el proyecto:
Una persona puede tener varios sombreros
Es el rol que desempea en un momento dado

Responsabilidades:
Hacer una serie de actividades
Ser el responsable de una serie de artefactos

Definiciones
Actividades
Una actividad es una unidad de trabajo que se asigna a un
trabajador. Ej.:
Crear o modificar un artefacto

Una actividad lleva entre un par de horas y un par de das, involucra


un solo trabajador y un nmero pequeo de artefactos.
Las actividades se consideran en la planificacin y evaluacin del
progreso del proyecto.
Ejemplos:

Planificar una iteracin - Administrador de proyecto


Encontrar actores y casos de uso - Analista
Revisar el diseo - Revisor de diseo
Ejecutar pruebas de performance - Ing. de pruebas de performance

Asignacin de actividades

Recurso

Trabajador

Actividad

Pablo

Diseador

Diseo de Objetos

Mara

Autor de Casos de Uso

Detallar un Caso de Uso

Jos

Diseador de Casos de Uso

Disear un Caso de Uso

Silvia

Revisor de Diseo

Revisar el Diseo

Arquitecto

Anlisis de Arquitectura
Diseo de Arquitectura

Eduardo

Artefactos
Elementos de informacin producidos,
modificados o usados por el proceso.
Son los productos tangibles del proyecto.
Son usados por los trabajadores para realizar nuevas
actividades y son el resultado de esas actividades.
Ejemplos:
Un modelo, como el modelo de casos de uso o el modelo de
diseo.
Un elemento del modelo, como una clase o un caso de uso.
Un documento tal como el Caso del Negocio o la
Arquitectura del Software.
Cdigo fuente.
Cdigo ejecutable.

Ejemplo:
Disciplina Anlisis & Diseo
Roles Y Actividades

Flujos de trabajo
Una lista de actividades, trabajadores y
artefactos constituye un proceso.

Un flujo de trabajo es una secuencia de


actividades que produce un resultado
valioso.
No siempre es posible representar flujos
de trabajo.

Flujos de trabajo
Existen habitualmente problemas de
comunicacin entre ingenieros de software e
ingenieros de negocios.
UP proporciona un lenguaje y proceso comn
para estos dos mbitos.

Para el modelamiento del negocio se usan


business use cases (casos de uso del negocio):
La forma en que el software dar apoyo al negocio.

Flujos de trabajo esenciales

Profundidad

Flujos de Trabajo
de Ingeniera

Flujos de Trabajo
de Apoyo

Tiempo

Disciplinas del Proceso

Los flujos de
trabajo de
desarrollo.

Los flujos de
trabajo de
soporte.

Modelado de Negocio.
Requerimientos.
Anlisis y Diseo.
Implementacin.
Prueba.
Despliegue.

Administracin del proyecto.


Administracin de Configuracin y Administracin de Cambios.
Ambiente.
Operaciones y Soporte.

Disciplinas y Modelos

Ciclos y fases
UP divide el proceso de desarrollo en ciclos,
teniendo un producto al final de cada ciclo.
Cada ciclo se divide en cuatro Fases:
Inicio

Elaboracin

Construccin

Transicin

Cada fase concluye con un hito bien definido


donde deben tomarse ciertas decisiones.

Fases

Las fases de UP

Inicio
Se establece la
planificacin del
proyecto y se
delimita su
alcance

Tiempo

Elaboracin

Construccin

Transicin

Se analiza el
dominio del
problema, se
establece una
base
arquitectnica
slida, se
desarrolla el plan
del proyecto y se
eliminan los
elementos de ms
alto riesgo del
proyecto

Se desarrolla de
forma iterativa e
incremental un
producto
completo que est
preparado para la
transicin hacia la
comunidad de
usuarios

El software se
despliega en la
comunidad de
usuarios Instalar
un Producto en su
Ambiente de
Produccin

Fase de UP: Inicio


El propsito de esta fase es analizar la factibilidad
del proyecto.
Para esto se debe:

Cerrar el alcance del software a construir


Estimar costos, riesgos y cronograma
Identificar los requerimientos del mismo
Tener preparado el ambiente del proyecto.

Los artefactos principales son:

Documento de Visin,
Plan de Proyecto,
Matriz de Requerimientos,
Repositorio.

Fase de UP: Elaboracin


El propsito de esta fase es llevar a cabo la
realizacin de los artefactos construidos en la
Incepcin, minimizando riesgos y armando
un plan consistente para la Construccin.
Los artefactos principales son:

Documento de Arquitectura
Modelo y Especificaciones de CUS
Casos de Prueba
Diagramas de Diseo

Fase de UP: Construccin


El propsito de esta fase es realizar la
implementacin y el testing de los
componentes definidos durante la
Elaboracin.
Los artefactos principales son:

Componentes construidos,
Plan de Deployment,
Pruebas de Aceptacin,
Plan de Migracin Integracin Implantacin.

Fase de UP: Transicin


El propsito de esta fase es llevar a cabo la entrega de
versiones para ser instaladas en un ambiente productivo.
En particular el nfasis est en la disciplina de despliegue en
la que se lleva a cabo la preparacin del empaquetado de
deploy, la migracin de datos, la capacitacin al usuario, y la
entrega formal del producto.
Los artefactos principales son:
Versin en Produccin
Manuales de Capacitacin
Material de Soporte

Disciplinas del UP

Disciplinas del Proceso


MODELAMIENTO DE NEGOCIO
Objetivos.
Identificar, comprender, y documentar la
estructura y la dinmica de la organizacin en
la que el sistema ser desplegado.
Asegurar que todos los stakeholders tienen
un entendimiento comn de la organizacin.
Custodiar el modelo de negocio durante el
desarrollo del proyecto.

Disciplinas del Proceso


REQUERIMIENTOS
Objetivos
Establecer la propuesta inicial de los requerimientos del sistema
que sern necesarios para dar soporte a la organizacin.
Establecer y mantener un acuerdo con los stakeholders sobre la
funcionalidad del sistema a construir.
Establecer y mantener un acuerdo con los stakeholders sobre
las condiciones de operacin (requerimientos no funcionales)
del sistema a construir.
Profundizar la comprensin de los requerimientos por parte de
las disciplinas involucradas en la validacin de los mismos.
Ayudar a la disciplina de Administracin de Proyectos en el
armado de los planes, costos y estimaciones del proyecto.

Disciplinas del Proceso


ANLISIS Y DISEO
Objetivos.
Realizar la propuesta inicial de la interfaz de usuario
del sistema, focalizndose en las metas y
necesidades de la solucin.
Especificar los requerimientos en Casos de Uso de
Sistema.
Realizar los casos de uso en diseo mediante los
distintos diagramas.
Identificar las restricciones impuestas por los
requerimientos tanto funcionales como no funcionales
y definir las soluciones tcnicas.

Disciplinas del Proceso


IMPLEMENTACIN
Objetivos.
Implementar las clases y los objetos en trminos
de componentes.
Probar los componentes individualmente.
Integrar los componentes en ejecutables
Distribuir el sistema asignando componentes
ejecutables a nodos en el diagrama de
despliegue.

Disciplinas del Proceso


TESTING
Objetivos.
Especificar los escenarios de los casos de uso necesarios
para validar los flujos.
Verificar la interaccin de los componentes.
Verificar la correcta implementacin de los requerimientos.
Identificar defectos de las piezas de software construidas.
Realizar observaciones en pos de mejorar la calidad sobre
todos los artefactos crticos del proceso.
Realizar las Pruebas de Aceptacin en conjunto con el
cliente.

Disciplinas del Proceso


DESPLIEGUE
Objetivos.
Entregar el software a sus usuarios finales.
Involucra las siguientes actividades:

Probar el SW en su ambiente operativo.


Empaquetarlo para su entrega.
Distribuirlo.
Instalarlo.
Entrenar a los usuarios y a los vendedores.
Migrar el SW existente o convertir las bases de datos.

Disciplinas del Proceso


ADMINISTRACIN DE PROYECTO
Objetivos.
La disciplina involucra:
Proveer un framework para administrar los proyectos de software.
Proveer guas prcticas para planificar, alocar recursos, ejecutar, y
monitorear proyectos.
Proveer un framework para administrar el riesgo.

Su foco es:
Administracin de Riesgos.
Planeamiento de un proyecto iterativo.
Monitoreo del progreso y Mtricas.

Disciplinas del Proceso


ADMINISTRACIN DE LA
CONFIGURACIN Y DEL CAMBIO
Objetivos.
La disciplina involucra:

Identificar tems de configuracin.


Administrar los cambios a esos tems.
Auditar los cambios hechos a esos tems.
Definir y administrar la configuracin de esos
tems.

Disciplinas del Proceso


AMBIENTE

Objetivos.
Se enfoca en las actividades necesarias para
configurar el proceso para un proyecto.
Desarrolla guas prcticas que den soporte a un
proyecto.
Provee a la organizacin con el ambiente del
sistema tanto herramientas como proceso para
dar soporte al equipo de desarrollo.

Fases, Release, Base Line,


Generacin
ciclo de desarrollo

ciclo de evolucin

release

base line

generacin

(producto al final de
una iteracin)

(release asociada
a un hito)

(release final de
un ciclo de desarrollo)

Esfuerzo y dedicacin por


Fases en UP

Inicio

Elaboracin

Construccin

Transicin

Esfuerzo

5%

20 %

65 %

10%

Tiempo
Dedicado

10 %

30 %

50 %

10%

Distribucin de Recursos por


Fases en RUP

FIN

Potrebbero piacerti anche