Está en la página 1de 51

de Si s tem a s II

22 An l is is
INF 3

Tema #1 Proceso Unificado


de Desarrollo

Ar an c i bia M.
Deysi u c c i Aguirr
e
o S
Gustav

1
Objetivos
Tema #1. Proceso Unificado de Desarrollo

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
Desarrollo de Software. Las 4 P
Tema #1. Proceso Unificado de Desarrollo

Unified Process (UP)


Procesos
Rational Unified (Process)
RUP

Plantilla OPEN
OOSP Automatizacin
...
Participantes
Personas Proyecto Herramientas
Modelado Visual UML
Rational Rose, Visual UML, Objecteering
Integrated Development Environment (IDE)
Visual Studio .NET, NetBeans...
Gestin de la Configuracin
CVS, ClearCase
Resultado
Gestin de Requisitos
RequiistPro,..
Producto Automatizacin documentacin
SoDa
Modelos ....
Codigo fuente
Ejecutables
Documentacin

3
Proceso de Ingeniera de Software
Tema #1. Proceso Unificado de Desarrollo

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.

Requisitos Proceso de Sistema Software


Desarrollo
Software

4
LESE-1 Introduccin al Modelado Visual

5
El Proceso Unificado de Desarrollo
Tema #1. 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
Tiempo
Contenido

6
Proceso Unificado 6 Best Practices
Tema #1. Proceso Unificado de Desarrollo

Desarrollar Iterativamente
Gestionar Requisitos
Usar Arquitecturas de Componentes
Modelar Visualmente (UML)
Continuamente verificar Calidad del
Software
Controlar Cambios en el Software

7
Proceso Unificado - Caractersticas
Tema #1. Proceso Unificado de Desarrollo

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

8
Modelos de Sistema Software en RUP
Tema #1. Proceso Unificado de Desarrollo

realizado por

Bussiness Use Case Model Bussines Object Model automatizado por

Use Case Model

especificado por

realizado por

Analysis Model implementado por

Design Model distrbuido por

Modelos en el Proceso
verificado por

Implementation Model
Unificado de Desarrollo Deployment Model
de Software Test Model
9
Metodologa Cobertura del Curso
Tema #1. Proceso Unificado de Desarrollo

10
Disciplinas-Modelos-Artefactos
Tema #1. Proceso Unificado de Desarrollo

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

11
Metodologa (requerimientos)
Tema #1. Proceso Unificado de Desarrollo

Dominio
conceptos
reglas dominio

Customer

Payment
ammount : Double
Pays-for
1
Sale
described-by ProductSpecification
Restricciones OCL
n
Captured-on cotains
1
ProductCatalog
Register Store

Glosario Modelo Conceptual

Process Sale Payment


Authorization Service

System
: Payment
Cashier : Cashier
Authorization Service add file

makeNewSale()
Process Rental
enterItem(id,quantity)
Accounting add file [ numberOffile==MAX ] /
flag OFF
Writing

System
Openning

endSale()
close file
Cash In
makePayment(amount) close file
Closing
Reading

HR System validatePayment()
ok
Manage Users
performed

System

Requisitos Administrator

Mangage Accounts
Modelo Comportamiento
Automatizacin
... Descripciones c.u. Secuencia Eventos Diagramas Estados
Modelo Casos de Uso (actores-sistema) (objetos dominio /
Sistema) 12
Metodologa - (Anlisis y Diseo)
Tema #1. Proceso Unificado de Desarrollo
Customer

Payment described-by ProductSpecification


Pays-for Sale
ammount : Double 1

n
Captured-on cotains
1
ProductCatalog
Register Store

Glosario Modelo Conceptual


(atributos-relaciones)

Process Sale Payment


Authorization Service

System
: Payment
Cashier : Cashier
Authorization Service add file

makeNewSale()
Process Rental
enterItem(id,quantity)
Accounting add file [ numberOffile==MAX ] /
flag OFF
Writing

System
Openning

endSale()

Cash In
close file

makePayment(amount) close file


Closing
Reading

HR System validatePayment()
ok
Manage Users
performed

System
Administrator

Requisitos Mangage Accounts

Descripciones c.u. Diagramas Estados


Automatizacin ... Secuencia Eventos (objetos dominio
Casos de Uso Sistema)

1: makeNewSale() 2: create()
reg : sale :
POSRegister POSRegister POSSale

makePayment() : Cashier
createPayment()
3: create(amount)
POSPayment
POSSale amount : Money
p:

Arquitectura makePayment() getTotal() POSPayment

Diseo Clases Diseo Colaboraciones Clases para evento


(atributos/operaciones-relaciones) (secuencia de llamadas a mtodos) 13
Fases de RUP: Inicio

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

Productos:

Un documento de visin Caso de negocio:


general: Contexto
Requerimientos generales del Criterios de xito
proyecto Pronstico financiero
Caractersticas principales Identificacin inicial de riesgos.
Restricciones
Plan de proyecto.
Modelo inicial de casos de uso
Uno o ms prototipos.
(10% a 20 % listos).
Glosario.
Fases de RUP: Inicio

Hito:
Objetivos del
Ciclo de Vida

Inicio Elaboracin Construccin Transicin

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: Elaboracin

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

Productos:

Es la parte ms crtica del Ya hay menos riesgos y se


proceso: puede planificar el resto del
Al final toda la ingeniera proyecto con menor
dura est hecha incertidumbre.
Se puede decidir si vale la Se construye una arquitectura
pena seguir adelante ejecutable que contemple:
A partir de aqu la arquitectura, Los casos de uso crticos
los requerimientos y los planes Los riesgos identificados
de desarrollo son estables.
Fases de RUP: Elaboracin

Productos:

Modelo de casos de uso (80% Un prototipo ejecutable de la


completo) con descripciones arquitectura.
detalladas. Lista revisada de riesgos y del
Otros requerimientos no funcio- caso de negocio.
nales o no asociados a casos de Plan de desarrollo para el resto
uso. del proyecto.
Descripcin de la Arquitectura del Un manual de usuario
Software. preliminar.
Fases de RUP: Elaboracin

Hito: Arquitectura de
Ciclo de Vida

Concepcin Elaboracin Construccin Transicin

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?
Fases de RUP: Construccin

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

Productos:

El producto de software integrado y corriendo en la plataforma


adecuada.

Manuales de usuario.

Una descripcin del release actual.


Fases de RUP: Construccin

Hito:
Capacidad
Operacional

Concepcin Elaboracin Construccin Transicin

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?
Fases de RUP: Transicin

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

Objetivos:

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
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 Las actividades se consideran en la
trabajo que se asigna a un planificacin y evaluacin del progreso
trabajador. Ej.: del proyecto.
Crear o modificar un artefacto Ejemplos:
Planificar una iteracin - Administrador
Una actividad lleva entre un par de proyecto
de horas y un par de das, Encontrar actores y casos de uso -
involucra un solo trabajador y Analista
un nmero pequeo de Revisar el diseo - Revisor de diseo
artefactos. 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

J os 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
Artefactos

Elementos de informacin Ejemplos:


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

Anlisis de Diseo de Describir Describir


Una lista de actividades, Arquitectura Arquitectura Concurrencia Distribucin

trabajadores y artefactos Arquitecto


constituye un proceso.
Anlisis de Diseo de
Casos de Uso Casos de Uso
Un flujo de trabajo es una Diseador de
secuencia de actividades que Casos de Uso

produce un resultado valioso. Anlisis de


Objetos Diseo de
Objetos

Diseador
No siempre es posible
representar flujos de trabajo.

Revisor de Revisar el Revisar el Revisar la


Diseo Anlisis Diseo Arquitectura
Flujos de trabajo esenciales

Flujos de Trabajo
de Ingeniera

Flujos de Trabajo
de Apoyo
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.
Requerimientos

Imprimir Informe
Los desarrolladores y
Reciclar Operador
clientes deben acordar qu Cliente

es lo que el sistema debe Administrar Depsito

hacer:
Relevar requerimientos Los casos de uso describen
Documentar funcionalidad la funcionalidad.
y restricciones Los requerimientos no
Documentar decisiones funcionales se incluyen en
Identificar actores una especificacin
Identificar casos de uso complementaria.
Anlisis y diseo

Descripcin de cmo se Disear y validar la arquitectura


implementar el sistema: un plano es una tarea esencial.

Debe: El modelo de diseo consta de


Ejecutar las tareas y funciones Clases estructuradas en paquetes
descritas en los casos de uso Diseos de subsistemas con
Satisfacer todos los requerimientos interfaces definidas
Flexible a cambios (componentes)
Forma de colaboracin entre las
El diseo se centra en la nocin de clases.
arquitectura.
Implementacin

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
Pruebas

Propsito:
RUP propone probar las componentes
Verificar la interaccin entre los
desde el principio:
objetos
Confiabilidad, funcionalidad y
Verificar la integracin apropiada
performance
de componentes
Verificar que se satisfacen los Las pruebas de regresin son
requerimientos
importantes en desarrollos iterativos.
Identificar los defectos y
corregirlos antes de la instalacin Rational tiene herramientas para
automatizar algunas pruebas.
RUP describe como planear y
ejecutar estas pruebas.
Distribucin

Producir un producto y hacerlo A veces tambin incluye:


llegar a sus usuarios finales. Realizar pruebas beta
Migracin de datos
Incluye varias actividades: Aceptacin formal
Producir un release
Empaquetar el software La mayor parte de la distribucin
Distribuir el software ocurre durante la transicin.
Instalar el software
Apoyar a los usuarios Este es uno de los flujos de
trabajo menos documentados en
RUP.
Administracin de proyectos

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 configuracin y cambios

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
Ambiente

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.
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
Estereotipos en Herramienta CASE

<<business use case>> NewUseCase3


NewUseCase2
NewUseCase

<<business actor>>
NewClass <Actor Name>
(f rom Actors)
<Actor Name>
(f rom Actors)
<<business use case>> NewUseCase3
NewUseCase2
NewUseCase
Estereotipos en Herramienta CASE
<<business actor>>
NewClass <Actor Name>
(f rom Actors)
<Actor Name>
(f rom Actors)
Modelo de Casos de Uso del Negocio
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 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.
Ejercicio Prctico

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
50
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

51

También podría gustarte