Está en la página 1de 51

1

Tema #1 Proceso Unificado


de Desarrollo
Objetivos
Proporcionar una perspectiva general de
RUP y la Ingeniera del Software
Caracterizar las fases y flujos de trabajo
principales en el Proceso Unificado de
Desarrollo
Contextualizar el uso de los Modelos del
Negocio como paso inicial del Desarrollo del
Software
Aprender la diferencia entre fase y disciplina
2
Tema #1. Proceso Unificado de Desarrollo
3
Tema #1. Proceso Unificado de Desarrollo
Desarrollo de Software. Las 4 P
Proyecto
Procesos
Producto
Personas Herramientas
Automatizacin
Resultado
Participantes
Plantilla
Modelos
Codigo fuente
Ejecutables
Documentacin
Modelado Visual UML
Rational Rose, Visual UML, Objecteering
Integrated Development Environment (IDE)
Visual Studio .NET, NetBeans...
Gestin de la Configuracin
CVS, ClearCase
Gestin de Requisitos
RequiistPro,..
Automatizacin documentacin
SoDa
....
Unified Process (UP)
Rational Unified (Process)
RUP
OPEN
OOSP
...
4
Tema #1. Proceso Unificado de Desarrollo
Proceso de Ingeniera de Software
Conjunto de actividades que permiten trans-
formar los requisitos de un cliente/usuario en
un sistema software.
Conjunto de procedimientos, tcnicas, herra-
mientas y soporte documental que ayuda a
los desarrolladores a realizar nuevo software.
Proceso de
Desarrollo
Software
Requisitos Sistema Software
5
LESE-1 Introduccin al Modelado Visual
6
Tema #1. Proceso Unificado de Desarrollo
El Proceso Unificado de Desarrollo
Es un proceso de ingeniera del software que agrupa
las 6 mejores prcticas de desarrollo software que
existen en el mercado
C
o
n
t
e
n
i
d
o

Tiempo
7
Tema #1. Proceso Unificado de Desarrollo
Proceso Unificado 6 Best Practices
Desarrollar Iterativamente
Gestionar Requisitos
Usar Arquitecturas de Componentes
Modelar Visualmente (UML)
Continuamente verificar Calidad del
Software
Controlar Cambios en el Software
8
Tema #1. Proceso Unificado de Desarrollo
Proceso Unificado - Caractersticas
Dirigido por Casos de Uso
Funcionalidad de valor para los usuarios
Centrado en la Arquitectura
Descripcin de aspectos estticos y dinmicos del
software que son mas significativos
Iterativo e Incremental
Divide el trabajo en mini-proyectos que
incrementalmente crean el producto software




9
Tema #1. Proceso Unificado de Desarrollo
Use Case Model
Analysis Model
Design Model
Implementation Model
Deployment Model
Bussiness Use Case Model
Bussines Object Model
Modelos de Sistema Software en RUP
Test Model
especificado por
realizado por
implementado por
distrbuido por
verificado por
automatizado por
realizado por
Modelos en el Proceso
Unificado de Desarrollo
de Software
10
Tema #1. Proceso Unificado de Desarrollo
Metodologa Cobertura del Curso
11
Tema #1. Proceso Unificado de Desarrollo
Disciplinas-Modelos-Artefactos
Bussiness Modeling
Modelo Conceptual
Casos de Uso del Negocio
Modelo de Objetos del Negocio
Requirements/Analysis
Modelo de Casos de Uso
Diagramas UML de Casos de Uso
Especificacin de Casos de Uso
Modelo de Comportamiento
Diagramas UML de Secuencia/Colaboracin
Diagramas UML de Estados/Actividades
12
Tema #1. Proceso Unificado de Desarrollo
Metodologa (requerimientos)
Dominio
Glosario Modelo Conceptual
Accounting
System
HR System
Process Sale
Cash In
Payment
Authorization Service
Cashier
Process Rental
Manage Users
System
Administrator
Mangage Accounts
...
: Cashier
System
: Payment
Authorization Service
makeNewSale()
enterItem(id,quantity)
endSale()
makePayment(amount)
validatePayment()
ok
performed
Secuencia Eventos
(actores-sistema)
Modelo Casos de Uso
Openning
Writing
Reading Closing
add file [ numberOffile==MAX ] /
flag OFF
add file
close file
close file
Diagramas Estados
(objetos dominio /
Sistema)
Requisitos
Automatizacin
conceptos
reglas dominio
Restricciones OCL
Descripciones c.u.
Modelo Comportamiento
13
Tema #1. Proceso Unificado de Desarrollo
Metodologa - (Anlisis y Diseo)
Glosario Modelo Conceptual
(atributos-relaciones)
Accounting
System
HR System
Process Sale
Cash In
Payment
Authorization Service
Cashier
Process Rental
Manage Users
System
Administrator
Mangage Accounts
...
: Cashier
System
: Payment
Authorization Service
makeNewSale()
enterItem(id,quantity)
endSale()
makePayment(amount)
validatePayment()
ok
performed
Secuencia Eventos
Casos de Uso
Openning
Writing
Reading Closing
add file [ numberOffile==MAX ] /
flag OFF
add file
close file
close file
Diagramas Estados
(objetos dominio
Sistema)
Requisitos
Automatizacin
reg :
POSRegister
p :
POSPayment
sale :
POSSale
: Cashier
1: makeNewSale()
2: create()
3: create(amount)
Diseo Clases
(atributos/operaciones-relaciones)
Arquitectura
Diseo Colaboraciones Clases para evento
(secuencia de llamadas a mtodos)
Descripciones c.u.
Se establece la oportunidad y alcance el proyecto.

Se identifican todas las entidades externas con las que se
trata (actores) y se define la interaccin a un alto nivel de
abstraccin:
Identificar todos los casos de uso
Describir algunos en detalle

La oportunidad del negocio incluye:
Criterios de xito
Identificacin de riesgos
Estimacin de recursos necesarios
Plan de las fases incluyendo hitos
Fases de RUP: Inicio
Un documento de visin
general:
Requerimientos generales del
proyecto
Caractersticas principales
Restricciones
Modelo inicial de casos de uso
(10% a 20 % listos).
Glosario.
Caso de negocio:
Contexto
Criterios de xito
Pronstico financiero
Identificacin inicial de riesgos.
Plan de proyecto.
Uno o ms prototipos.

Fases de RUP: Inicio
Productos:
Inicio Elaboracin Construccin Transicin
Objetivos del
Ciclo de Vida
Las partes interesadas deben acordar el alcance y la
estimacin de tiempo y costo.

Comprensin de los requerimientos plasmados en casos
de uso.
Fases de RUP: Inicio
Hito:
Objetivos:
Analizar el dominio del problema
Establecer una arquitectura base slida
Desarrollar un plan de proyecto
Eliminar los elementos de mayor riesgo para el desarrollo
exitoso del proyecto

Visin de una milla de amplitud y una pulgada de
profundidad porque las decisiones de arquitectura
requieren una visin global del sistema.
Fases de RUP: Elaboracin
Es la parte ms crtica del
proceso:
Al final toda la ingeniera
dura est hecha
Se puede decidir si vale la pena
seguir adelante
A partir de aqu la arquitectura,
los requerimientos y los planes
de desarrollo son estables.

Ya hay menos riesgos y se
puede planificar el resto del
proyecto con menor
incertidumbre.
Se construye una arquitectura
ejecutable que contemple:
Los casos de uso crticos
Los riesgos identificados
Fases de RUP: Elaboracin
Productos:
Fases de RUP: Elaboracin
Modelo de casos de uso (80%
completo) con descripciones
detalladas.
Otros requerimientos no funcio-
nales o no asociados a casos de uso.
Descripcin de la Arquitectura del
Software.
Un prototipo ejecutable de la
arquitectura.
Lista revisada de riesgos y del
caso de negocio.
Plan de desarrollo para el resto
del proyecto.
Un manual de usuario
preliminar.
Productos:
Condiciones de xito de la elaboracin:
Es estable la visin del producto?
Es estable la arquitectura?
Las pruebas de ejecucin demuestran que los riesgos han sido
abordados y resueltos?
Es el plan del proyecto algo realista?
Estn de acuerdo con el plan todas las personas involucradas?
Concepcin Elaboracin Construccin Transicin
Arquitectura de
Ciclo de Vida
Fases de RUP: Elaboracin
Hito:
En esta fase todas las componentes restantes se desarrollan
e incorporan al producto.

Todo es probado en profundidad.

El nfasis est en la produccin eficiente y no ya en la
creacin intelectual.

Puede hacerse construccin en paralelo, pero esto exige
una planificacin detallada y una arquitectura muy estable.
Fases de RUP: Construccin
El producto de software integrado y corriendo en la plataforma
adecuada.

Manuales de usuario.

Una descripcin del release actual.
Fases de RUP: Construccin
Productos:
Fases de RUP: Construccin
Se obtiene un producto Beta que debe decidirse si puede
ponerse en ejecucin sin mayores riesgos.
Condiciones de xito:
El producto est maduro y estable para instalarlo en el ambiente
del cliente?
Estn los interesados listos para recibirlo?
Concepcin Elaboracin Construccin Transicin
Capacidad
Operacional
Hito:
El objetivo es traspasar el software desarrollado a la
comunidad de usuarios.
Una vez instalado surgirn nuevos elementos que
implicarn nuevos desarrollos (ciclos).
Incluye:
Pruebas Beta para validar el producto con las expectativas del
cliente
Ejecucin paralela con sistemas antiguos
Conversin de datos
Entrenamiento de usuarios
Distribuir el producto
Fases de RUP: Transicin
Obtener autosuficiencia de parte de los usuarios.
Concordancia en los logros del producto de parte de las
personas involucradas.
Lograr el concenso cuanto antes para liberar el producto al
mercado.
Concepcin Elaboracin Construccin Transicin
Producto
Fases de RUP: Transicin
Objetivos:
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
Definiciones
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
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
Eduardo Arquitecto Anlisis de Arquitectura
Diseo de Arquitectura


Asignacin de actividades
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.
Artefactos
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.
Anlisis de
Arquitectura
Diseo de
Arquitectura
Describir
Concurrencia
Describir
Distribucin
Anlisis de
Casos de Uso
Diseo de
Casos de Uso
Anlisis de
Objetos
Diseo de
Objetos
Revisar el
Anlisis
Revisar el
Diseo
Revisar la
Arquitectura
Revisor de
Diseo
Diseador
Diseador de
Casos de Uso
Arquitecto
Flujos de trabajo
Flujos de Trabajo
de Ingeniera
Flujos de Trabajo
de Apoyo
Flujos de trabajo esenciales
Flujos de trabajo
Existen habitualmente problemas de comunicacin entre
ingenieros de software e ingenieros de negocios.

RUP 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.
Cl i ente
Reci cl ar
Impri mi r Informe
Operador
Admi ni strar Depsi to
Los desarrolladores y
clientes deben acordar qu
es lo que el sistema debe
hacer:
Relevar requerimientos
Documentar funcionalidad
y restricciones
Documentar decisiones
Identificar actores
Identificar casos de uso
Los casos de uso describen
la funcionalidad.
Los requerimientos no
funcionales se incluyen en
una especificacin
complementaria.
Requerimientos
Descripcin de cmo se
implementar el sistema: un plano

Debe:
Ejecutar las tareas y funciones
descritas en los casos de uso
Satisfacer todos los requerimientos
Flexible a cambios

El diseo se centra en la nocin de
arquitectura.

Disear y validar la arquitectura
es una tarea esencial.

El modelo de diseo consta de
Clases estructuradas en paquetes
Diseos de subsistemas con
interfaces definidas
(componentes)
Forma de colaboracin entre las
clases.
Anlisis y diseo
Propsito:

Definir la organizacin del cdigo
Implementar clases y objetos en forma de componentes
(fuente, ejecutables, etc.)
Probar las componentes desarrolladas
Integrar las componentes en un sistema ejecutable
Implementacin
Propsito:
Verificar la interaccin entre los
objetos
Verificar la integracin apropiada
de componentes
Verificar que se satisfacen los
requerimientos
Identificar los defectos y
corregirlos antes de la instalacin

RUP describe como planear y
ejecutar estas pruebas.
RUP propone probar las componentes
desde el principio:
Confiabilidad, funcionalidad y
performance

Las pruebas de regresin son
importantes en desarrollos iterativos.

Rational tiene herramientas para
automatizar algunas pruebas.
Pruebas
Producir un producto y hacerlo
llegar a sus usuarios finales.

Incluye varias actividades:
Producir un release
Empaquetar el software
Distribuir el software
Instalar el software
Apoyar a los usuarios
A veces tambin incluye:
Realizar pruebas beta
Migracin de datos
Aceptacin formal

La mayor parte de la distribucin
ocurre durante la transicin.

Este es uno de los flujos de
trabajo menos documentados en
RUP.
Distribucin
Es el arte de balancear objetivos contrarios, manejar
riesgos y producir software que satisface a clientes y
usuarios.

Existen pocos proyectos realmente exitosos.

RUP incluye:
Un framework para manejo de proyectos de software
Guas para planificacin, provisin de personal, ejecucin y
monitoreo de planes
Un framework para manejar riesgos
Administracin de proyectos
Forma de controlar los artefactos producidos por las
personas que trabajan en el proyecto.

Algunos problemas habituales:
Actualizaciones simultneas
Mltiples versiones

RUP da guas para:
Desarrollos en paralelo
Automatizar la construccin
Administrar defectos
Administracin de configuracin y cambios
Ambiente y herramientas de desarrollo que harn
posible llevar a cabo el proyecto.

RUP gua en la configuracin de un ambiente de
proceso apropiado a cada proyecto.
Ambiente
Modelado del Negocio
Una empresa organiza su actividad por medio de un con-
junto de procesos de negocio. Cada uno de ellos con
una coleccin de datos que son producidos y manipula-
dos mediante un conjunto de tareas, en las que ciertos
agentes (por ejemplo, trabajadores o departamentos)
participan de acuerdo a un flujo de trabajo determinado.
Adems, estos procesos se hallan sujetos a un conjunto
de reglas de negocio, que determinan las polticas y la
estructura de la informacin de la empresa.
La finalidad del modelado del negocio es describir cada
proceso del negocio, especificando sus datos, activida-
des (o tareas), roles (o agentes) y reglas de negocio.
Modelado del Negocio
La extensin UML para el modelado de Nego-
cios se basa en la adicin de algunos estereo-
tipos.
Todos los conceptos de UML pueden ser usados
para el modelado de negocios, pero los estereo-
tipos que se presentarn proveen una terminolo-
ga ms afn a este propsito.
El modelado del negocio se basa en dos diagra-
mas principales, el modelo de casos de uso del
negocio y los modelos de objetos del negocio.
Adicionalmente se presenta el modelo del domi-
nio
Casos de Uso del Negocio
Son usados para representar la funcionalidad provista por una organi-
zacin.
Preguntas tpicas son:
Qu es lo que el negocio hace?
Por qu construimos el sistema..etc
Estos son representados desde una perspectiva organizacional
No diferencian entre procesos manuales y automatizados (Los diagra-
mas de Casos de Uso, se centran el los procesos automatizados)
Muestran las interacciones entre casos de uso del negocio y actores
del negocio.
Los casos de uso del negocio representan los procesos que un negocio
ejecuta.
Los actores del negocio, representan roles con los cuales el negocio
interacta, tales como cliente o vendedores, etc.
Los actores del negocio representan a cualquiera o cualquier cosa fuera
del negocio que interacte con ste.
No representa roles o trabajadores en el interior de un negocio.
Trabajadores en el interior de un negocio, son representado por
business workers.
Un worker representa la abstrac-
cin de un humano que interactua
con el sistema. Un worker interac-
tua con otros workers y manipula
entidades mientras participa en la
realizacin de un caso de uso.
Un case worker es un worker que
interactua directamente con acto-
res fuera del sistema.
Un internal worker es un worker
que interactua con otros workers y
entidades dentro del sistema.
Una entity es una clase pasiva,
que no inicia interacciones. En el
modelo de negocios representa
objetos que los workers acceden,
inspeccionan, manipulan y/o
producen
NewUseCase
<<business use case>> NewUseCase2
NewUseCase3
<Actor Name>
(f rom Actors)
NewClass
<<business actor>>
<Actor Name>
(f rom Actors)
Estereotipos en Herramienta CASE
NewUseCase
<<business use case>> NewUseCase2
NewUseCase3
<Actor Name>
(f rom Actors)
NewClass
<<business actor>>
<Actor Name>
(f rom Actors)
Estereotipos en Herramienta CASE
La empresa interacta con distin-
tos elementos externos, entre los
que se identifican el cliente externo
(persona o entidad que solicita la
compra de productos a la empre-
sa), el proveedor (persona o enti-
dad que reabastece de productos
a la empresa) y por ltimo la em-
presa de transportes, que es una
subcontratada encargada de servir
los pedidos desde los distintos
almacenes regionales a los clien-
tes de la empresa.
Modelo de Casos de Uso del Negocio
Modelo de Obje-
tos del Negocio
Vender Producto
Seguimiento y Consulta de Productos
Modelo de Dominio del Negocio
Los objetos de informacin que
fluyen entre las actividades de un
caso de uso del negocio repre-
sentan datos del dominio, por lo
que constituyen el modelo del
dominio, que incluir los concep-
tos y sus relaciones, representa-
das en un diagrama de clases
UML.
En esta etapa, identificamos
conceptos y no tanto relaciones
entre ellos, concentrndose en
las asociaciones debe conocer.
Por ej. Un pedido debe conocer
el cliente que los solicita y los
productos que lo componen.
50
Modelacin del Negocio de un Conjunto Federado de Bibliotecas:

Un usuario puede ser:
Socio de una biblioteca (S)
Bibliotecario (B)
Las bibliotecas estn conectadas entre s para permitir el prstamo a socios de
otras bibliotecas

Dos partes claramente diferenciadas del sistema de una de estas bibliotecas:
Operaciones de un usuario en la propia biblioteca
Altas y bajas de socios (B)
Altas y bajas de libros (B)
Consulta de libros disponibles (B,S)
Reservas (S), prstamos y devoluciones de libros (B)
Consulta de reservas realizadas y libros prestados (B,S)
Operaciones que implican una conexin a otra biblioteca
Consulta de los libros de otras bibliotecas (S)
Reserva de un libro de otra biblioteca (S)
Consulta de reservas realizadas y libros prestados en otra biblioteca (S)
Ejercicio Prctico
51
Referencias
Understading UML Shinan Salhir, http://home.earthlink.net/~salhir
The Object Oriented Paradigm Shinan Salhir, http://home.earthlink.net/~salhir
Applying UML and Patterns. An Introduction to Object Oriented
Analysis and Design and the Unified Process Craig Larman. Ed Prentice
Hall
El Proceso Unificado de Desarrollo Software, I. Jacobson, Grady
Booch, J. Rumbaugh, Ed Addison Wesley
es.geocities.com/gustsucc
www.uml.org
www.omg.org

También podría gustarte