Anda di halaman 1dari 119

UML.

SISTEMA DE COMERCIALIZACIN

UNIFIED MODELING LANGUAGE

Modelando un
Sistema de Comercializacin

Ing. PERCY TITO RIVERA


rimenri@hotmail.com

ING. PERCY

TITO

RIVERA

SESION

Pgina 1

UML. SISTEMA DE COMERCIALIZACIN

La crisis del Software

Algo ms ...
W. Gibbs, "Software's Chronic Crisis", cientifico americano, Sept. 1994, pp.
86-95:
"[...] a pesar de 50 aos de progreso, la industria del software permanece aos - tal vez dcadas
- atrasada con respecto a las disciplinas de ingeniera necesarias para cumplir las demandas de
una sociedad en la edad de la informacin.
http://www.standishgroup.com/chaos.html :
Las invstigaciones del grupo Standish muestran que 31.1% de los proyectos se cancelarn antes
de que se completen. Otros resultados indican que 52.7% de los proyectos costarn 189% de la
estimacin original. El costo de estas fallas y excesos son slo la punta del iceberg. Los costos de
oportunidades perdidas son inconmensurables, pero podran llegar a los trillones de
dlares.
Basta mirar a la ciudad de Denver para darse cuenta del alcance de este problema. El fracaso en
la produccin de software confiable para manejar equpaje en el nuevo aeropuerto le
est costando a la ciudad US$1.1 millones al da.
Basado en esta investigacin, The Standish Group estiman que en 1995 compaas y agencias de
gobierno de EE.UU. gastarn US$81 billones en proyectos de software cancelados. Y otros US$59
billones en proyectos de software completados, pero que excedern las estimaciones iniciales
En nuestro medio,,,
El grupo GLORIA cuando adquiri un pool de empresas elctricas en el ao
1999 hizo estimaciones de concluir su Software en Setiembre de 1999, con miras al
ao 2000, pas el nuevo siglo y no se termin...."

Qu opinan algunos gerentes de corporaciones nacionales


... Pensamos que cada vez que entregamos dinero a nuestras reas

de
Informtica no obtenemos ningn beneficio, la informacin que deseamos de los sistemas es muy
escasa, y sin
embargo seguimos aprobando presupuesto para que las otras reas no se detengan en
sus
operaciones....
Gerentes Nacionales Extractos curso de Modelamiento de Datos. Maestra
Ingeniera de Sistemas 2002.

ING. PERCY

TITO

RIVERA

SESION

Pgina 2

UML. SISTEMA DE COMERCIALIZACIN

SESION

01

INTRODUCCIN AL UML

ING. PERCY

TITO

RIVERA

SESION

Pgina 3

UML. SISTEMA DE COMERCIALIZACIN

SESION 01: INTRODUCCIN AL UML


Debido a la creciente demanda de la incorporacin del UML como
lenguaje estandar de modelado en los procesos de construccin de los sistema, surge la
necesidad
de conocer, dominar y saber aplicar los distintos diagramas que los
conforman. A continuacin revisaremos algunos conceptos sobre el xito en
un proyecto, sus componentes, RUP y los diagramas que conforman UML

PLANIFICACIN DE LA CLASE
Veremos los tpicos siguientes:
Tringulo del xito
Rational Unified Process
Unified Modeling Language
Breve Descripcin de los diagramas
Conocer un Modelo de Negocio

El Triangulo del xito de un Proyecto

ING. PERCY

TITO

RIVERA

SESION

Pgina 4

UML. SISTEMA DE COMERCIALIZACIN

Rational Unified Process (RUP)


RUP es un proceso de Ingeniera de Software. Proporciona una disciplina
asignando tareas
y
responsabilidades
en
conjunto con el desarrrollo de la
organizacin.
Su
meta
es asegurarnos un software de alta calidad que desarrolle las necesidades de los usuarios finales.
RUP es desarrollado y mantenido por Rational Software (m) y es una parte de una suite
de herramientas de desarrollo. Est disponible desde Rational Software en un CD-ROM o a travs
de Internet.
RUP ha capturado mucha de las mejores practicas modernas de desarrollo de software
de una forma que puede ser usada en distintos proyectos y organizaciones, en particular cubre
las 6 prcticas sgts:

Las Mejores Prcticas de Ingeniera de Software

Unified Modeling Language (UML)


Qu es UML ?
UML es un lenguaje para visualizar, especificar, construir y documentar los
artefactos de un sistema que involucra una gran cantidad de software, desde
una perspectiva Orientada a Objetos.

Por qu Modelar ?
El modelo es una simplificacin de la realidad
El modelo es la parte central que conducen a la produccin de Software de
Calidad
Construimos modelos para comprender mejor el sistema que estamos modelando

ING. PERCY

TITO

RIVERA

SESION

Pgina 5

UML. SISTEMA DE COMERCIALIZACIN


Utilidades del modelo:
o Visualizar cmo es que queremos que sea el sistema
o Especificar la estructura y comportamiento del sistema
o Proporcionan plantillas que guan la construccin del sistema
o Documentar decisiones
o Facilita la comunicacin entre el equipo al existir un lenguaje comn

Utilidad de UML
Permite especificar todas las decisiones de anlisis, diseo e implementacin,
construyndose modelos precisos, no ambiguos y completos.
UML puede conectarse a lenguajes de programacin:Ingeniera directa e inversa
Permite documentar todos los artefactos de un proceso de desarrollo (requisitos,
arquitectura, pruebas, versiones,..)

Entradas a UML

Evolucin de UML

ING. PERCY

TITO

RIVERA

SESION

Pgina 6

UML. SISTEMA DE COMERCIALIZACIN

Diagramas de UML

Diagramas de Casos de Uso


Diagramas de Actividad
Diagramas de Clases
Diagramas de Objetos
Diagramas de Interaccin
Diagrama Secuencia
Diagrama Colaboracin
* Diagramas de Estados
Diagramas de Componentes
Diagramas de Despliegue

Diagramas de Casos de Uso del Negocio


Son usados para representar la funcionalidad de la organizacin como una unidad. Responde a
las preguntas:
Qu hace la organizacin ?
Por qu construir el Sistema ?
Son usados durante las actividades del modelamiento del negocio como contexto del sistema y
formar un fundamento para la creacin de los casos de uso y son graficados desde la perpectiva
de la organizacin, no diferencian entre procesos manuales y automatizados 1 (a diferencia de
los casos de uso que se focalizan en los procesos automatizados).
Cundo necesitamos realizar un Modelamiento del Negocio ?
Cuando el grupo de trabajo es nuevo en la organizacin.
Se han aplicado recientemente proceso de re-ingenieria.
La organizacin est planeando aplicar re-ingeniera.
1

UML with Rational Rose 2002 Wendy Boggs

ING. PERCY

TITO

RIVERA

2002

SESION

Pgina 7

UML. SISTEMA DE COMERCIALIZACIN


Est construyendo un software que ser usado en una parte significativa
de la
organizacin.
Existen flujos complejos y no existe una buena documentacin.

Diagramas de Casos de Uso


Un caso de uso representa la funcionalidad del sistema, los requerimientos del sistema a partir de
la perspectiva del usuario. Muestra las iteraciones entre casos de uso y actores .
Los diagramas de casos de usan centran su atencin en los procesos automatizados,.}

Diagramas de Actividad
Los diagramas de actividad ilustran el flujo de la funcionalidad en un sistema. Ellos podran ser
usados en el modelamiento del negocio para visualizar un flujo de trabajo del negocio, as como
ser usados al obtener los requerimientos que ilustran el flujo de eventos de un caso de uso.
Estos diagramas se caracterizan por definir el inicio, las actividades, el orden en que ocurren y el
final de los flujos de trabajo.
Se recomienda incluir este tipo de diagramas especialmente cuando se tengan
flujos largos y complejos.

Diagramas de Secuencia
Corresponde a la categora de diagramas de Iteracin y muestra el flujo funcional dentro de un
caso de uso. Estos flujos se encuentran ordenados en el tiempo. Permite conocer los objetos
y clases involucrados en un determinado escenario y la secuencia de mensajes
intercambiados entre los objetos necesarios para conocer su funcionalidad.
Por ejemplo, el caso de uso Registrar Liquidaciones tiene una serie de posible secuencias para el
escenario de crear una Hoja de Liquidacin

Diagramas de Colaboracin
Un diagrama de colaboracin es otra alternativa para mostrar un escenario. A diferencia
del
Diagrama de Secuencias, este tipo de diagrama de secuencia muestra las iteraciones organizadas
a travs de los objetos y sus asociaciones con otros.

Diagramas de Estados
Los casos de uso y escenarios proporcionan un modo de describir el comportamiento del sistema,
como es, las interacciones entre los objetos del sistema. Alguna vez es
necesario
mirar el comportamiento interno de un objeto. Un diagrama de estados muestra los estados de
un objeto los eventos y mensajes que causan la transicin desde un estado a otro y las
acciones como resultado de los cambios de estado.

Diagramas de Clases
Muestra interaciones entre las clases en un sistema. Identifica los roles comunes y
las responsabilidades de las entidades que proporcionan el comportamiento del sistema.

ING. PERCY

TITO

RIVERA

SESION

Pgina 8

UML. SISTEMA DE COMERCIALIZACIN

Diagrama de Objetos
Muestra un conjunto de objetos y sus relaciones. Representa instancias de las cosas halladas en
un diagrama de clases. Estos diagramas direccionan la vista esttica del sistema y son
importantes porque muestran la organizacin y modelamiento del comportamiento del sistema.

Diagramas de Componentes
Un diagrama de componentes muestra una vista fsica del modelo, muestra los componentes
del software en el sistema y las relaciones entre ellos.

Diagramas de Despliegue
Los diagramas de despliegue muestran el entorno fsico de una red y donde residirn los distintos
componentes del sistema.

A continuacin veremos en detalle cada uno de los diagramas aplicado a un


Sistema de
Comercializacin

ING. PERCY

TITO

RIVERA

SESION

Pgina 9

UML. SISTEMA DE COMERCIALIZACIN

ING. PERCY

TITO

RIVERA

SESION

Pgina 10

UML. SISTEMA DE COMERCIALIZACIN

El Modelo del Negocio


Si no se tiene una idea cabal de la organizacin en general a implementar, es necesario modelar el
negocio. El modelo de Negocio implica como es que la organizacin ve la que realiza, no importa si los
procesos son manuales o automatizados.
Veamos algunas caractersticas:
El modelo de negocios es estudiar la organizacin.
Consiste en examinar la estcutura de la organizacin y mirar los roles que desmepea y como
ellos se relacionan.
Se examinan los flujos de trabajos, los procesos principales que desarrolla.
Se debe tratar de comprender el negocio dentro y fuera del mismo

Por qu modelar el Negocio?


Comprender la visin de la organizacin
o Comprender que hace la organizacin
o Modelar los procesos de negocios
Posible aplicacin de Re-ingeniera de ciertos procesos
o En tanto que muestra los flujos de trabajo de un proceso de negocios es posible
determinar la conveniencia o no de este flujo.
o Permite delinear nuevos flujos como parte de nuevas propuestas
Muestra un contexto para una solucin del Software
o Puede ser un documento de inicio para comprender el contexto del sistema
Sirve como documento para que nuevos involucradas tengan una idea general del negocio.

Casos en que se necesita preparar un Modelo de Negocios


Ud y su equipo de trabajo son nuevos en la organizacin.
Se han producido recientes proceso de re-ingeniera
La organizacin est planeando realizar proceso de re-ingeniera
Est construyendo software que ser usado por una parte significativa de la organizacin.
Existen flujos complejos dentro de la organizacin y no han sido documentados adecuadamente.

Componentes de un Modelo de Negocios


Business Actors (agentes empresariales)
o
o

ING. PERCY

Es externo a la organizacin
Ejemplo: cliente, proveedor, banco, SUNAT

TITO

RIVERA

SESION

Pgina 11

UML. SISTEMA DE COMERCIALIZACIN


Business Workers (trabajadores de negocios)
o
o

Es un rol que desempea la organizacin.


Por ejemplo: Agente de Ventas,

Business Use Cases (casos de uso del negocio)


o
o
o

Es un flujo de trabajo dentro de la organizacin que proporciona valor a los actores


del negocio
Dicen qu hace la organizacin
Por ejemplo: preparar pedidos, elaborar ordenes de compra, generar cotizaciones.

Business Use Case diagrams (el uso de diagramas de casos de negocio)

Business entities (entidades de negocios)

Pedidos

ING. PERCY

TITO

RIVERA

SESION

Pgina 12

UML. SISTEMA DE COMERCIALIZACIN

Lab 01: Introduccin


Objetivos

Conocer los modos de autenticacin que administra SQL Server


Implementar Roles de Servidor
Implementar Roles de Base de Datos
Administrar Permisos

Ejercicio 01 Conociendo Rational Rose


1.
2.

Cargar Rational Enterprise Editon


Seleccione Rational UnifiedProcess

3.

Veamos una descripcin de la interfaz principal de Rational Rose

ING. PERCY

TITO

RIVERA

SESION

Pgina 13

UML. SISTEMA DE COMERCIALIZACIN

Ejercicio 02. Representacin de las Vistas en Rational Rose

ING. PERCY

TITO

RIVERA

SESION

Pgina 14

UML. SISTEMA DE COMERCIALIZACIN

Ejercicio 03. Preparando el Modelo de Negocios


Creando Actores del Negocio
1.

Desde el Browser ubicarse en la vista de casos de uso (Use Case


View), Ver Fig. 1
2. Hacer cbd (clic botn derecho) New Actor
3. En el Browser se incorporar un nuevo actor: digitar el nombre
del actor.
a. AgenteVentas
b. AsistenteComercializacion
c. Contabilidad
d. SUNAT
e. ClienteEmpresa

Especificando Estereotipo de Actores


Aadir una breve descripcin para cada actor en el modelo. La descripcin debe identificar el rol
que al actor juega cuando interacta con el sistema.
Para realizar la descripcin de cada actor proceda de la siguiente manera:

ESPEFICANDO STEREOTIPO DE LOS ACTORES


1. En el Browser, seleccionar el actor respectivo y haga doble clic
2. En StereoType elija:
a. AgenteVentas : Business Worker
b. AsistenteComercializacin: Business Worker
c. Contabilidad
: Business Worker
d. SUNAT
: Business Actor
e. ClienteEmpresa: Business Actor

ING. PERCY

TITO

RIVERA

SESION

Pgina 15

UML. SISTEMA DE COMERCIALIZACIN

Creando Casos de Uso del Negocio en Rational


A continuacin mostramos una lista de casos de uso a incorporar en el modelo
CREANDO CASOS DE USO EN RATIONAL ROSE
1. Desde el Browser ubicarse en la vista de casos de uso (Use Case
View), Ver Fig. 1
2. Hacer cbd (clic botn derecho) New Use Case
3. En el Browser se incorporar un nuevo Caso de Uso: digitar el
nombre de los casos de Uso detallados a continuacin
a. CapturarPedidos
b. RegistrarPedidosClientes
c. GenerarDocumentosVenta
4. Especificar para los casos de uso definidos el Estereotipo:
Business Use Case

Preparando el Diagrama de Casos de Uso


CREANDO EL DIAGRAMA DE CASOS DE USO DE NEGOCIO PARA PEDIDOS
1. Ubicarse en la vista de casos de uso
2. Haga cbd elija : New Use Case Diagram
3. Digite: Modelo de Negocio de Pedidos
4. Incluya los casos de uso sgtes:
a. CaptarPedidosCampo
b. RegistrarPedidosCliente
c. GenerarDocumentosVenta
5.

Incluya los BusinessWorkers y Actores del Negocio


a. AgenteVentas : Business Worker
b. AsistenteComercializacin: Business Worker
c. Contabilidad
: Business Worker
d. SUNAT
: Business Actor
e. ClienteEmpresa: Business Actor

Para incluir las asociaciones lo haremos con el cono Asociacin Unidireccional, que lo podemos
ver a continuacin,

ING. PERCY

TITO

RIVERA

SESION

Pgina 16

UML. SISTEMA DE COMERCIALIZACIN

Creando Asociaciones
CREANDO ASOCIACIONES <<comunicate>>
1. Ubicarse en el Diagrama de Casos de Uso:Modelo de Negocios de Pedidos.
2. Haga clic en el cono de Asociacin Unidireccional
3. Haga clic en al Actor del Negocio Cliente y arrastre hasta el caso de uso
CaptarPedidoCampo
4. Realice las sgts asociaciones repitiendo el paso 2 y el paso 3 para las
siguientes actores y casos de uso
ACTOR
Agente Ventas
AgenteVentas
AsistenteComercializacion
AsistenteComercializacion
Contabilidad
SUNAT
ClienteEmpresa

CASO DE USO
CaptarPedidoCampo
RegistrarPedidoCliente
RegistrarPedidoCliente
GenerarDocumentosVentas
GenerarDocumentosVentas
GenerarDocumentosVentas
CaptarPedidoCampo

Esquema final del Modelo de Negocio de Pedidos

ING. PERCY

TITO

RIVERA

SESION

Pgina 17

UML. SISTEMA DE COMERCIALIZACIN

SESION

02

COMPORTAMIENTO DEL SISTEMA

ING. PERCY

TITO

RIVERA

SESION

Pgina 18

UML. SISTEMA DE COMERCIALIZACIN

SESION 02: COMPORTAMIENTO DEL SISTEMA


Uno de las primeras etapas en la construccin del Software
constituye en determinar el comportamiento del sistema, e identificar los
requerimientos funcionales del sistema a desarrollar. Para ello utilizaremos los
diagramas de casos de uso y diagramas de actividad

PLANIFICACIN DE LA CLASE
Veremos los tpicos siguientes:
Comportamiento del Sistema
Casos de Uso
Diagramas de Casos de Uso

Comportamiento del Sistema


El comportamiento de un Sistema es cmo acta y reacciona. Constituye la funcionalidad del
sistema.
El comportamiento del sistema es capturado mediante los casos de uso.
Un caso de Uso describe:
El Sistema
(funciones que debe cumplir )
El Ambiente
(actores)
La relacin entre el sistema y su ambiente
(diagrama de casos de uso)

Conceptos Importantes al Modelar el Caso de Uso

ING. PERCY

TITO

RIVERA

SESION

Pgina 19

UML. SISTEMA DE COMERCIALIZACIN

Actor: representan cualquier cosa que


interacta con el sistema.

secuencia de acciones
que un sistema realiza y que produce un
resultado observable de valor.

Caso de Uso:

Qu es un modelo de casos de Uso ?


Un modelo de caso de uso es un modelo de las funciones previstas del sistema (casos
de uso) y su entorno (actores)
El mismo modelo de caso de uso es usado en anlisis de requisitos, diseo y prueba.
Especifica una secuencia de acciones, incluyendo variantes, que el sistema puede incluir,
y que produce un resultado observable de valor para un actor.

El propsito principal del modelo de caso de uso es comunicar las funciones


y el comportamiento del sistema al cliente o al usuario final

Beneficios del Modelo de Casos de Uso


Es usado para comunicarse con el usuario final y el experto del dominio
Proporciona credibilidad en una etapa inicial del desarrollo del sistema
Asegura una comprensin mutua de los requisitos
Es usado para identificar
Quin interactuar con el sistema y qu deber hacer el sistema
Qu interfaz deber tener el sistema
Es usado para verificar que:
Se capturan todos los requisitos
Que los desarrolladores hayan entendido los requisitos

ING. PERCY

TITO

RIVERA

SESION

Pgina 20

UML. SISTEMA DE COMERCIALIZACIN

Actor

Los actores no son parte del


sistema, ellos representan roles que un
usuario del sistema puede desempear

Un actor puede intercambiar


activamente la informacin con el
sistema

Un actor puede ser un


recipiente pasivo de la informacin

Un actor puede representar a un


humano, una mquina u otro sistema

Encontrando Actores Qu constituye un buen Actor ?


Esta identificacin debe realizarse de una manera iterativa. Proponer una lista inicial, en
base a las siguientes preguntas

Quin est interesado en cierto requisito?


El Supervisor de Comercializacin deseaba obtener un conocimiento de los niveles de
morosidad de los clientes por zona y por vendedor
El Asistente Comercial quera tener un control de los Pedidos que los cliente hacan y
que el sistema le permita generar los documentos de venta (facturas, boletas de
venta, notas de crdito, etc)

Dnde en la organizacin se utilizar el sistema?


El Gerente de la Empresa desea ingresar al sistema para conocer estadsticas de
Ventas y Compras y definir las polticas de cambios de precios.

Quin proveer, utilizar y eliminar esta informacin del sistema?


Los clientes definen los productos que desean a comprar a los vendedores, quines
diariamente los visitan, Los vendedores envan la informacin de los pedidos y las
cobranzas realizadas al Departamento comercial para el control respectivo.

Quin utilizar esta funcin?


Quin realizar la funcin de cobranzas a los clientes? ->Vendedor
Quin registrar en el sistema la informacin de pedidos? -> Asistente Comercial
Quines preparan la mercaderas en funcin a los pedidos efectuados por los clientes? > Almacenero

Quin le dar soporte y


Mantenimiento al sistema? Quines harn las
instalaciones del producto.
Quines harn el afinamiento a la BD
Quines administrarn la Seguridad

Usa el sistema un recurso externo?


Se necesita conocer ciertos datos de las empresas, por lo que habr necesidad de
recurrir a la SUNAT

Qu actores necesita el caso de uso?

Un actor desempea varios roles?


Los trabajadores pueden adquirir productos, en ese caso se consideran clientes
especiales (Rol Trabajador, Cliente)

Un usuario puede actuar como varios Actores (Roles)

ING. PERCY

TITO

RIVERA

SESION

Pgina 21

UML. SISTEMA DE COMERCIALIZACIN

Algunos Actores encontrados para el Sistema Comercial


Agentes Comerciales
Clientes realizan
Supervisor Comercial
Proveedores
SUNAT
Asistente Comercial
Gerencia General
Comerciales
Almacenero
Contabilidad
sistema.

:
:
:
:
:
:
:

informan sobre los pedidos y liquidaciones de los clientes


pedidos, realizan gestin para crditos
necesita informacin de morosidad
proveen de productos a empresa
brinda informacin tributaria del cliente
controla y registra pedidos, emite documentos de pago
actualiza polticas de precios, comisiones a los Agentes

: prepara mercadera a fin de ser distribuda.


: necesita informacin de Registro de Ventas y Compras del

Caso de Uso
Un caso de uso modela un dilogo entre los
actores y el sistema
Un caso de uso puede ser iniciado por un actor
para invocar una cierta funcionalidad en el
sistema
Un caso de uso es un flujo de eventos completos
y significativos
Tomados al mismo tiempo, todos los casos de
uso constituyen todas las formas posibles de
utilizar el sistema
Debe generar un valor para el actor

ING. PERCY

TITO

RIVERA

SESION

Pgina 22

UML. SISTEMA DE COMERCIALIZACIN


Por ejemplo el Caso de Uso Registrar Pedidos
Permitir conocer al Almacenero los pedidos que la empresa debe entregar a sus clientes.
As mismo a los Agentes Comerciales conocer que cobranzas realizar en caso de que los pedidos
hallan sido ejecutados al crdito.
Al Asistente Comercial controlar adecuadamente los estados de cuenta de los clientes y las
operaciones de los Agentes Comerciales.

Encontrando Casos de Uso

Cules son las tareas de este actor?


El actor, crear, guardar, cambiar, eliminar o leer la informacin en el sistema?
Cul caso de uso crear, guardar, cambiar, eliminar o leer esta informacin?
Necesitar el actor informar al sistema sobre cambios externos e imprevistos?
Es necesario que el actor est informado sobre ciertas ocurrencias en el sistema?
Le proporciona una correcta secuencia el sistema a las tareas?
Cules casos de uso le darn soporte y mantenimiento al sistema?
Pueden todos los requerimientos funcionales ser realizados por los casos de uso?

Fuentes de Informacin para los Casos de Uso

Especificaciones del sistema / Manifestacin del problema - entrevistas


Literatura relevante del dominio
Entrevistas con expertos del dominio
Conocimiento personal del dominio
Sistema heredados
Manual de funciones
Documentacin de entrada y salida

Algunos Casos de Uso encontrados para el Sistema Comercial


Preparar Pedido
Registrar Pedido
ConsultarDocumentos
Verificar Datos del Cliente
Actualizar Datos del Producto
Generar Documentos de Venta
Reportar Pedidos
Actualizar Precios de Productos
Actualizar tipos de clientes
Actualizar datos de proveedores
Actualizar comisiones por lnea de producto

Flujo de Eventos para un Caso de Uso


Constituye una descripcin de los eventos necesarios para cumplir el comportamiento requerido
del caso de uso. Este flujo de eventos es escrito en trminos de qu debe hacer el sistema
(lenguaje del dominio) y no de cmo lo va ha hacer(trminos de implementacin. El flujo incluye:
Cundo y cmo empieza y termina el caso de uso.
Qu interaccin tiene el caso de uso con los actores.
Qu datos son necesarios en el caso de uso

ING. PERCY

TITO

RIVERA

SESION

Pgina 23

UML. SISTEMA DE COMERCIALIZACIN


La secuencia normal de eventos
La descripcin de cualquier flujo alternativo o de excepcin
El flujo de excepcin es aadido e indica, qu hacer si...
A continuacin proponemos un esquema del flujo de eventos:
X Flujo de eventos del <nombre> Caso Uso
X.1 Precondiciones
X.2 Flujo principal
X.3 Sub-Flujos (opcionales)
X.4 Flujos Alternativos
X.5 Postcondiciones

Diagrama de Casos de Uso


Definicin
Un diagrama de Casos de Uso muestra un conjunto de casos de uso, actores y sus relaciones.
Constituye uno de los diagramas que forman parte de UML y permiten conocer los aspectos
dinmicos del sistema (Adems de los diagramas de actividad, diagramas de estado, diagramas
de secuencia y diagramas de colaboracin)2

Contiene:

Casos de uso.
Actores.
Relaciones de dependencia, generalizacin y asociacin.

Veamos un diagrama de Casos de uso

[Booch, Rambaugh, Jacobson 94]

ING. PERCY

TITO

The Unified Modeling Language User Guide

RIVERA

SESION

Pgina 24

UML. SISTEMA DE COMERCIALIZACIN

Usos Comunes

Modelar el Contexto del Sistema:


Identificar los actores del ambiente del sistema
Organizar actores que son similares a otros usando generalizacin.
Proporcionar, de ser necesario, esterotipos3 para cada actor.
Modelar los requerimientos del sistema

Relaciones entre los Casos de Uso


La relacin normal entre un Actor y un caso de uso est definida por una asociacin del
esterotipo <<comunicate>> el cual se acostumbra a no incluirlo, ya que constituye una
relacin natural, veamos el grfico sgte
< <com muni cate>>

Equivalente
Regis trarPedido

As is tenteCom ercia

Regis trarPedido

As is tenteCom ercial

Cmo debe ser el sentido de las flechas


Una asociacin puede navegar en 2 direcciones (actor hacia caso de uso y caso de uso
hacia actor) o podra navegar en una sola direccin (actor hacia caso de uso o caso de
uso hacia actor). La direccin de una asociacin representa quien inicia la comunicacin 4.

RELACIONES
Hay 2 tipos de relaciones que podran existir entre casos de uso: include y extend. Muchos casos
de uso podran combinar la funcionalidad de otros casos de uso
Una relacin Include entre casos de uso significa que el caso de uso base
incorpora explcitamente el comportamiento de otro caso de uso en una instancia especfica.
Una relacin include es dibujado como una dependencia desde el caso de uso base
hacia el caso de uso usado. Esta relacin implica obligatoriedad.
Por ejemplo: imaginemos el caso de uso Registrar Pedido (caso de uso base)
incorpora el comportamiento del caso de uso Generar Documento.

EstereoTipo: extienden el vocabulario de UML, representa la subclasificacin de un elemento del modelo. Pueden
crearse otros. Se denotan con <<stereotype>>
4
Visual Modeling with Rational Rose 2000 and UML. Terry Quatrani- 2001

ING. PERCY

TITO

RIVERA

SESION

Pgina 25

UML. SISTEMA DE COMERCIALIZACIN

Cada vez que registra un Pedido en el sistema este deber de generar documentos sobre los
cuales se manejarn las factura o boletas de pago, a partir de los mismos se harn seguimiento
de los pagos. Este caso de uso implica una relacin <<include>> ya que Registrar
Pedido adquiere todo el comportamiento de GenerarDocumentos.
Una relacin Extend entre casos de uso significa que el caso de uso base
incorpora el implcitamente el comportamiento de otro caso de uso en una instancia
especfica. Es usada para mostrar:
Comportamiento opcional
Comportamiento que es ejecutado bajo ciertas condiciones como un disparador o alarma
Diferentes flujos que pueden ejecutarse bajo una eleccin del actor.

Presentamos un resumen de las relaciones en los casos de uso

Generalizacin
Se pueden elegir una clase genrica de actores como Cliente y especializarlas como: ClienteFijo
y ClienteTemporal. Esto se denomina Generalizacin.
Para el caso ha desarrollar los clientesFijos son aquellos que estn sujetos de crdito y tienen
precios preferenciales. Un cliente normalmente cuando compra por primera vez es un
Cliente Temporal, luego bajo ciertas requisitos el SupervisorComercial puede cambiarle de tipo.

ING. PERCY

TITO

RIVERA

SESION

Pgina 26

UML. SISTEMA DE COMERCIALIZACIN

Lab 02: Creando Diagramas de Casos


de Uso.
Objetivos

Conocer los modos de autenticacin que administra SQL Server


Implementar Roles de Servidor
Implementar Roles de Base de Datos
Administrar Permisos

Ejercicio 01.
Identificando Posibles Actores
De acuerdo al caso planteado se pueden distinguir los siguientes actores:
1. AgentComercial
2. Asistente Comercial
3. SupervisorComercial
4. Almacenero
5. AuxiliarContable
6. Clientes
7. Gerente

Ejercicio 02.
Identificando Posibles Casos de Uso
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.

RegistrarPedido
AdministrarCliente
AdministrarCreditos
ConsultarDocumentos
GenerarDocumentos
AdministrarDatosProducto
ReportarKardexProducto
RealizarTomaInventario
ActualizarPrecios
RegistrarCobranzas
EmitirEstadoCuentaCliente
GenerarDevolucionesNC
GenerarRegistroCompraVenta
ImprimirDocumento

ING. PERCY

TITO

RIVERA

SESION

Pgina 27

UML. SISTEMA DE COMERCIALIZACIN

Ejercicio 03.
Creando Actores en Rational
Cargar el archivo SistemaComercial.mdl de la prctica
anterior.
2. Desde el Browser ubicarse en la vista de casos de uso (Use Case
View), Ver Fig. 1
3. Hacer cbd (clic botn derecho) New Actor
4. En el Browser se incorporar un nuevo actor: digitar el nombre
del actor.
1.

Documentacin de los Actores

Aadir una breve descripcin para cada actor en el modelo. La descripcin debe identificar el rol
que al actor juega cuando interacta con el sistema.
Para realizar la descripcin de cada actor proceda de la siguiente manera:

DOCUMENTANDO ACTORES EN RATIONAL ROSE


1. En el Browser, seleccionar el actor respectivo
2. Ubicarse en la ventana de documentacin, ver Fig. 2. Si esta
ventana no aparece activa ubicar en el men View , activar
Documentation

ING. PERCY

TITO

RIVERA

SESION

Pgina 28

UML. SISTEMA DE COMERCIALIZACIN

Ejercicio 04.
Creando Casos de Uso en Rational
A continuacin mostramos una lista de casos de uso a incorporar en el modelo
CREANDO CASOS DE USO EN RATIONAL ROSE
1. En el archivo SistemaComercial.mdl.
2. Desde el Browser ubicarse en la vista de casos de uso (Use Case
View), Ver Fig. 1
3. Hacer cbd (clic botn derecho) New Use Case
4. En el Browser se incorporar un nuevo Caso de Uso: digitar el
nombre de los casos de Uso definidos en la lista.

Breve descripcin de un caso de uso


Es recomendable que cada caso de uso se documente al momento de su creacin. Una breve
descripcin que explique brevemente lo que realiza el caso de uso puede
servir como documentacin. Por ejemplo para el caso de uso RegistrarPedidos
El caso de uso es iniciado por el Asistente Comercial cuando desea
realizar transacciones con los pedidos histricos o desea registrar los pedidos efectuados
por los Agentes Comerciales a los Clientes. Le proporciona la capacidad de
crear, modificar, eliminar y consultar pedidos
Para realizar la documentacin proceda de la sgte. Manera:
DOCUMENTANDO CASOS DE USO RATIONAL ROSE
1. En el Browser, seleccionar el caso de uso respectivo
2. Ubicarse en la ventana de documentacin, ver Fig. 2. Si esta
ventana no aparece activa ubicar en el men View , activar
Documentation

ING. PERCY

TITO

RIVERA

SESION

Pgina 29

UML. SISTEMA DE COMERCIALIZACIN

Una muestra quedara de esta manera:

Ejercicio 05.
Estableciendo Flujo de Eventos para el caso de uso Registrar
Pedidos
Cargar el Word y documentar el Flujo de Eventos de acuerdo al formato del archivo :
[Modelo para documentar un Caso de Uso.doc]
El texto es el sgte.
Una vez concluido grabarlo con el nombre: [Caso de Uso Registrar Pedidos.doc]

Ejercicio 06.
Ligando el documento de Flujo de Eventos al Rational
LIGANDO EL DOCUMENTO DE FLUJO DE EVENTOS AL RATIONAL ROSE
1. Ubicarse en el caso de Uso RegistarPedido
2. cbd: New - File
3. Ubique el archivo deseado. Clic Open
ING. PERCY

TITO

RIVERA

SESION

Pgina 30

UML. SISTEMA DE COMERCIALIZACIN

Ejercicio 07
Preparando el Diagrama de Casos de Uso
a. Administracin de Pedidos
CREANDO EL DIAGRAMA DE CASOS DE USO PARA REGISTRO DE PEDIDOS
1. Ubicarse en la vista de casos de uso
2. Haga cbd elija : New Use Case Diagram
3. Digite: Administrar Pedidos
4. Incluya los casos de uso sgtes:
a. AdministrarCliente
b.
ConsultarPedidos
c. ReportarPedidos
d. GenerarDocumentos
e. RegistrarPedidos
f. AdministrarDatosProducto
5. Incluya los Actores
a. AgenteComercial
b. AsistenteComercial
c.Almacenero
d. SupervisorComercial

Para incluir las asociaciones lo haremos con el cono Asociacin Unidireccional, que lo podemos
ver a continuacin,

ING. PERCY

TITO

RIVERA

SESION

Pgina 31

UML. SISTEMA DE COMERCIALIZACIN

CREANDO ASOCIACIONES <<comunicate>>


1. Ubicarse en el Diagrama de Casos de Uso Administrar Pedidos.
2. Haga clic en el cono de Asociacin Unidireccional
3. Haga clic en al Actor Cliente y arrastre hasta el caso de uso Preparar
Pedido
4. Realice las sgts asociaciones repitiendo el paso 2 y el paso 3 para las
siguientes actores y casos de uso
ACTOR
Agente Comercial
SupervisorComercial
AsistenteComercial
AsistenteComercial
Almacenero

CASO DE USO
RegistrarPedido
ConsultarPedidos
ConsultarPedidos
GenerarDocumentos
AdministrarProductos

CREANDO RELACIONES <<include>>


1. Ubicarse en el Diagrama de Casos de Uso Administrar Pedidos.
2. Haga clic en el cono de Asociacin Unidireccional
3. Haga clic en el caso de uso RegistrarPedidos y arrastre hacia el caso de
uso GenerarDocumentos
4. Haga doble clic sobre la lnea de asociacin unidireccional creada, con lo
que aparecer la sgte interfaz

5. En StereoType elija :
6. Clic ok

include

CREANDO RELACIONES <<extend >>


1. Ubicarse en el Diagrama de Casos de Uso Administrar Pedidos.
2. Haga clic en el cono de Asociacin Unidireccional
3. Haga clic en el caso de uso RegistrarPedidos y arrastre hacia el caso de
uso ConsultarDocumento
4. Haga doble clic sobre la lnea de asociacin unidireccional creada,
5. En StereoType elija : extend
5. Clic ok
6. Realice un <<extend>> entre RegistrarPedido y AdministrarProducto

ING. PERCY

TITO

RIVERA

SESION

Pgina 32

UML. SISTEMA DE COMERCIALIZACIN

b. Contine con el resto de los diagramas de caso propuestos.


Diagrama: Administrar Productos

Diagrama: Administrar Liquidaciones

ING. PERCY

TITO

RIVERA

SESION

Pgina 33

UML. SISTEMA DE COMERCIALIZACIN

Diagrama: Administrar Documentos

ING. PERCY

TITO

RIVERA

SESION

Pgina 34

UML. SISTEMA DE COMERCIALIZACIN

Diag. Administrar Clientes

ING. PERCY

TITO

RIVERA

SESION

Pgina 35

UML. SISTEMA DE COMERCIALIZACIN

SESION

03

DIAGRAMAS DE ACTIVIDAD

ING. PERCY

TITO

RIVERA

SESION

Pgina 36

UML. SISTEMA DE COMERCIALIZACIN

SESION 03: DIAGRAMAS DE ACTIVIDAD


Cada que se necesite modelar el flujo de trabajo de las actividades
de una determinada funcin podemos recurrir a los diagramas de actividad.
Estos permite visualizar el flujo de uno o ms casos de uso.

PLANIFICACIN DE LA CLASE
Veremos los tpicos siguientes:
Diagramas de Actividad
Contenido de un Diagrama de Actividad
Ejemplos de un diagrama de actividad

Diagrama de Actividad
Definicin
Un diagrama de actividad permite modelar la parte dinmica del sistema. Son
flujos que representan el flujo de trabajo del sistema, esto es: ellos muestran el flujo de
control desde una actividad a otra actividad en el sistema, qu actividades pueden ser
hechas en paralelo, y cualquier ruta alternativa a travs del flujo. As como el flujo de un
objeto que se mueve de un estado a otro entre los diferentes puntos del flujo de control.
Puede utilizarse para representar el flujo a travs los diferentes casos de uso o de un caso de uso
en particular.
Veamos los smbolos utilizados en UML:

Contiene:

Estados Actividad y Estados Accin


Transiciones
Objetos

ING. PERCY

TITO

RIVERA

SESION

Pgina 37

UML. SISTEMA DE COMERCIALIZACIN


Swimlines

Estados Actividad y Estados Accin


Un Estado de Actividad permite la representacin de una o varias operaciones que originan un
cambio en el sistema. Se dice que no son atmicas por lo que pueden ser
descompuestas y normalmente pueden demandar un tiempo para ser completadas.

Un Estado Accin constituye una actividad que no puede descomponerse ms. Se dice que son
atmicas y por lo que trabajo de un estado accin no puede ser interrumpido.
Transiciones
Son usados para pasar al flujo de control al siguiente estado o actividad una vez completados Las
transiciones muestran la ruta desde una accin o actividad a la siguiente accin o actividad

Efectuar Pedido

Transicin

Re gis trar
Pedido

Decisiones
Representan rutas alternativas basadas en una condicin o expresin Booleana. Se recomienda
incluir la palabra else para determinar la ruta en caso de que la condicin a evaluar sea falsa.
Veamos el sgte ejemplo que muestra la decisin de poder atender un pedido dependiendo de:

Rene condiciones para venta ?

As si un cliente solicita comprar al crdito y tuviera capacidad de crdito con la empresa,


se procede a: Anotar Pedido,
Sino (else) el pedido finaliza o se replantea las items pedidos en Efectuar Pedido
Of receProducto

Ef ectuar Pe di do

Ev aluar
Condiciones
Reune c ond icion es
pa ra ve nta ?

Anotar Pedido

ING. PERCY

TITO

RIVERA

SESION

Pgina 38

UML. SISTEMA DE COMERCIALIZACIN

Barras Sincronizadas
En un flujo de trabajo normalmente existen
algunas actividades que pueden
ejecutarse paralelamente. Las barras de sincronizacin le permiten especificar
que actividades pueden hacerse concurrentemente.
Las barras de sincronizacin son usadas tambin para mostrar uniones entere flujo de
trabajos, esto es, que actividades deben completarse antes de realizar
procesos
siguientes.
Observe el ejemplo: una vez que se Anota Pedido se procede a :
Entregar Copia de Pedido al Cliente
El asistenteComercial recepciona el Pedido

Anotar Pedido

Recepcionar
Pedido

ING. PERCY

TITO

Entregar Copia
de Pedido

RIVERA

SESION

Pgina 39

UML. SISTEMA DE COMERCIALIZACIN

Swimlines
Son usados para particionar un diagrama de actividades.
Normalmente se usan para mostrar qu persona o unidad organizativa es responsable de
las actividades contenidas en el Swimline.
Veamos el sgte ejemplo de un Diagrama de Actividades para Capturar Pedidos, donde se
dividen las actividades en 3 swimlines

ING. PERCY

TITO

RIVERA

SESION

Pgina 40

UML. SISTEMA DE COMERCIALIZACIN

Lab 03: Creando Diagramas de


Actividad
Objetivos

Conocer los modos de autenticacin que administra SQL Server


Implementar Roles de Servidor
Implementar Roles de Base de Datos
Administrar Permisos

Ejercicio 01.
a. Reconociendo la Barra de Herramienta para Crear Un Diag
Actividad

ING. PERCY

TITO

RIVERA

SESION

Pgina 41

UML. SISTEMA DE COMERCIALIZACIN

b. Creando el Diagrama de Actividad


CREANDO EL DIAGRAMA DE ACTIVIDAD PARA REGISTRO DE PEDIDOS
1. Ubicarse en la vista de casos de uso del Browser
2. Haga cbd elija : New Activity Diagram
3. Digite: Atender Pedidos

CREANDO SWIMLINES
1. En el Diagrama RegistrarPedido
2. Haga clic en SwimLine, clic en el Diagrama
3. Haga clic en SwimLine, clic en el Diagrama
4. Haga clic en SwimLine, clic en el Diagrama
5. Haga clic en SwimLine, clic en el Diagrama

y
y
y
y

escriba:
escriba:
escriba:
escriba:

AreaComercial
AgenteComercial
Almacen-Reparto
Cliente

CREANDO ACTIVIDADES
1. Haga clic en Activity de la Barra de Herramientas, luego
de AreaComercial, digite Recepcionar Docum Pedido
2. Repita paso 1, e incluya las sgts actividades
a. Digitar Condiciones Venta
b. Digiter Items
c. Grabar Pedido
d. Generar Docum Venta
e. Imprimir Docum Venta
3. Haga clic en Activity de la Barra de Herramientas, luego
de AgenteComercial digite: Dar Conformidad Pedido
4. Repita paso 3, e incluya las sgts actividades
a. Rechazar Pedido
5. Haga clic en Activity de la Barra de Herramientas, luego
de Almacn-Reparto, digite: ActualizarStock
6. Repita paso 5, e incluya las sgts actividades
a. Preparar Items Pedido
b. Transportar Pedido y Docum
7. Haga clic en Activity de la Barra de Herramientas, luego
de Cliente, digite: Recepcionar Pedido-Docum

clic dentro

clic dentro

clic dentro

clic dentro

CREANDO TRANSICIONES
1. De la barra de herramientas seleccione: State Transiction
2. Clic en la actividad origen, luego arrastre hacia la actividad deseada
3. Trate
de llegar al sgte diagrama
ING. RICARD O MENDOZA
RIVERA
SESION Pgina 42

UML. SISTEMA DE COMERCIALIZACIN

ING. PERCY

TITO

RIVERA

SESION

Pgina 43

UML. SISTEMA DE COMERCIALIZACIN

CREANDO PUNTOS DE DECISION


1. De la barra de herramientas seleccione: Decision
2. Clic en el swimline deseado y digite el texto respectivo
3. Trate de llegar al sgte diagrama:
4. Para la palabra [No] inclyalo con un TextBox desde la barra de
herramientas

ING. PERCY

TITO

RIVERA

SESION

Pgina 44

UML. SISTEMA DE COMERCIALIZACIN

CREANDO BARRAS DE SINCRONIZACION


1. De la barra de herramientas seleccione: Horizontal Sincronization
2. Clic en el swimline deseado
3. Trate de llegar al sgte diagrama incluyendo las transiciones respectivas
4. Para lograr una barra ms amplia ubicarse sobre la barra y arrastre
hasta el tamao deseado.

ING. PERCY

TITO

RIVERA

SESION

Pgina 45

UML. SISTEMA DE COMERCIALIZACIN

CREANDO ACTIVIDADES DE INICIO Y FIN


1. De la barra de herramientas seleccione: Start State o EndState, segn
necesite
2. Clic en el swimline deseado
3. Trate de llegar al sgte diagrama incluyendo las transiciones respectivas

ING. PERCY

TITO

RIVERA

SESION

Pgina 46

UML. SISTEMA DE COMERCIALIZACIN

SESION

04

OBJETOS Y CLASES

ING. PERCY

TITO

RIVERA

SESION

Pgina 47

UML. SISTEMA DE COMERCIALIZACIN

SESION 04: OBJETOS Y CLASES


Una de las etapas ms importantes y posiblemente ms trabajosas es determinar
las clases que soportarn el comportamiento del sistema. Para ello existen una serie de
formas de poder identificar las clases, como veremos ms adelante. En esta
sesin conoceremos los estereotipos ms comunes de las clases que permitirn ser
usados en los diagrama de iteracin y de clases respectivos

PLANIFICACIN DE LA CLASE
Veremos los tpicos siguientes:
Definicin de objeto y clase
Abstraccin y ejemplos de clase
Nombrando a una clase
Clases en UML
Stereotipos de clases.

OBJETOS Y CLASES
Qu es un Objeto
Un objeto es una representacin de una entidad del mundo real o conceptual. Un objeto puede
representar algo concreto como:
El carro de Jorge
Una comptadora
Un concepto como un proceso qumico
Una transaccin bancaria
Una orden de pedido
Una tasa de inters
Una cuenta corriente de una determinado cliente

Estado, Comportamiento e Identidad

ING. PERCY

TITO

RIVERA

SESION

Pgina 48

UML. SISTEMA DE COMERCIALIZACIN

Estado de un Objeto
El Estado de un objeto es uno de las posibles condiciones en que el objeto puede existir
El estado normalmente cambia en el transcurso del tiempo
El estado es implementado por un conjunto de propiedades, llamadas atributos
-que normalmente son estticos-, con los valores de las propiedades que
normalmente son
dinmicos- , adems de las conexiones que deben tener con otros objetos
Por ejemplo el objeto cliente puede manejar 2 estados: Activo o Inactivo. Cuando deseamos
realizar una transaccin de venta slo lo podremos hacer con los clientes que tienen estado
activo.

ING. PERCY

TITO

RIVERA

SESION

Pgina 49

UML. SISTEMA DE COMERCIALIZACIN


Comportamiento de un Objeto
El comportamiento de un objeto determina cmo ste acta y reacciona frente
a las peticiones de otros objetos
El comportamiento de un objeto es modelado por un conjunto de mensajes a los que puede
responder (las operaciones que el objeto puede realizar)
El comportamiento es implementado por una serie de operaciones para un objeto. Cuando se
desea registrar un pedido, este puede tener un comportamiento para crearlo, modificarlo o
eliminarlo

Identidad de un Objeto
Cada objeto tiene una identidad nica, incluso si su estado es idntico al de otro objeto
Por ejemplo el pedido 000900 corresponde al AgenteComercial J.Clark, el pedido 000901 al
AgenteComercial J.Clark y el pedido 000999 al AgenteComercial J.Clark
En UML, los objetos son representados por rectngulos y el nombre del objeto es subrayado,
como se muestra a continuacin.

Qu es una Clase ?

ING. PERCY

TITO

RIVERA

SESION

Pgina 50

UML. SISTEMA DE COMERCIALIZACIN

Una clase es una descripcin de un grupo de objetos con propiedades comunes


(atributos), comportamiento comn (operaciones), relaciones comunes con otros objetos
(asociaciones y agregados) y semntica comn 5.
Una clase es un molde para crear objetos.
Se dice que un objeto es una instancia de una clase.
Una clase es una abstraccin en donde:
Se enfatizan las caractersticas relevantes.
Se suprimen las que no nos sirven.
La abstraccin nos ayuda a trabajar con cosas complejas
La abstraccin est en funcin de la perspectiva del usuario y de lo que se desea modelar
fundamentalmente. Veamos el sgte. Grfico:

[Booch, Rambaugh, Jacobson 94] The Unified Modeling Language User Guide

ING. PERCY

TITO

RIVERA

SESION

Pgina 51

UML. SISTEMA DE COMERCIALIZACIN

Ejemplos de Clase
El Agente Comercial J.Clark ha efectuado el pedido 000900 , y el Agente Comercial J.Clarck
ha efectuado el pedido 000901. Cada objeto debe tener un valor para los atributos y acceder a
las operaciones especificadas por la clase Pedidos.

Una buena clase captura una y slo una abstraccin. Por ejemplo, una clase debe
tener la capacidad de mantener informacin acerca del Agente Comercial (tal como su nombre,
direccin,
ING. PERCY

TITO

RIVERA

SESION

Pgina 52

UML. SISTEMA DE COMERCIALIZACIN


telfono, etc. y no debe incluir la informacin del pedido (NroPedido, Fecha del Pedido, etc). Esta
clase debe ser dividida en 2 relacionadas: AgenteComercial y Pedidos.
Relacin entre Clases y Objetos
De acuerdo a la definicin dada, y desde la perspectiva de vida o no, se pueden identificar dos
clases: animales y artefactos, segn el diagrama siguiente. Puede identificar otras clases?

Una clase es una definicin abstracta de un objeto


Define la estructura y el comportamiento compartidos por los objetos.
Sirve como modelo para crear objetos
Los objetos pueden ser agrupados en clases
Un objeto no es una clase 6

Objetos

Cliente: Lpez

Cliente:Roca

Cliente: Rojas

[Booch 94] Anlisis y Diseo Orientado a Objetos

ING. PERCY

TITO

RIVERA

SESION

Pgina 53

UML. SISTEMA DE COMERCIALIZACIN

Nombrando Una Clase


Una clase debe ser nombrada como un sustantivo que mejora caracterice a la
abstraccin. Pueden ser usados acrnimos que tengan el mismo significado para todos los
involucrados.
Si al nombrar una clase encontramos un problema es seal de que la abstraccin realizada no ha
sido la adecuada.
Ejemplos: Cliente, FormaPago, Zona, Pedido, Proveedor
Representando Clases

Nombre Clase

Atributos

Operaciones

Compartimientos de una clase


Una clase est formada por 3 compartimientos
La primera seccin contiene el nombre de la clase
La segunda seccin muestra la estructura (atributos)
La tercera seccin muestra el comportamiento (operaciones)
Formas de representar una clase

ING. PERCY

TITO

RIVERA

SESION

Pgina 54

UML. SISTEMA DE COMERCIALIZACIN

Estereotipos y Clases
Recordemos que un Estereotipo proporciona la capacidad de crear una nueva clase
de elementos a modelar.
Un estereotipo es un nuevo tipo de elemento de modelado que extiende la
semntica del metamodelo
Los estereotipos son mostrados en el compartimiento del nombre de la clase encerrados entre
<< >>
Algunos estereotipos comunes para una clase son:
Entidad (entity)
Frontera (boundary)
Control (control)
Utilidad (utility)
Excepcin (exception)
Veamos algunos estereotipos manejados por Rational Rose

Cada clase debe tener por lo menos un estereotipo.


Clase Entidad
Modela informacin y asocia comportamientos que generalmente son de larga duracin
(persistentes)
o Puede reflejar un fenmeno de la vida real
o Tambin puede ser necesitada por la tarea interna del sistema
o Los valores de estos atributos normalmente son entregados por un actor
o El comportamiento es independiente del entorno
Las clases entidades en el caso de uso Registrar Pedidos:
o Cliente
o Producto
o Pedido
o Forma de Pago
Clase Frontera
Modela la comunicacin entre el entorno del sistema y su funcionamiento interno.
Ejemplo tpicos:
Interfaces de usuario (windows)
Protocolos de comunicacin (interfaces con otros sistemas)
Para nuestro caso sera un Formulario de Pedido, otro para Registrar Liquidaciones, etc.

ING. PERCY

TITO

RIVERA

SESION

Pgina 55

UML. SISTEMA DE COMERCIALIZACIN


Clase Control
Una clase control modela el comportamiento especifico de uno o ms casos de usos
La clase control
o Normalmente controla las operaciones que pueden darse en las clases tipo entidad.
o Constituye el cumplimiento de las reglas de negocio o polticas que una empresa pueda
incluir a sus procesos.
o Crea, inicializa y borra objetos controlados
o Controla la secuencia o coordina la ejecucin de los objetos controlados
o Controla asuntos concurrentes para las clases controladas
o Es usualmente la implementacin de un objeto intangible
En el escenario del Registrar Pedidos, la clase AdministradorDePedido controla los procesos
de registro.

ING. PERCY

TITO

RIVERA

SESION

Pgina 56

UML. SISTEMA DE COMERCIALIZACIN

SESION

05

INTERACCIN ENTRE OBJETOS

ING. PERCY

TITO

RIVERA

SESION

Pgina 57

UML. SISTEMA DE COMERCIALIZACIN

SESION 05: INTERACCIN ENTRE OBJETOS


En esta sesin veremos como se produce la interaccin entre objetos
en el sistema. Mostraremos paso a paso los flujos de un escenario a travs de un
caso de uso: qu objetos son necesarios para el flujo , qu mensajes los objetos se
mandan entre ellos , qu actor inicia el flujo. Para ello UML proporciona los Diagramas
de Iteracin: los diagramas de secuencia y los diagramas de colaboracin ,
como paso previo a la elaboracin de los diagramas de clase.

PLANIFICACIN DE LA CLASE
Veremos los tpicos siguientes:

Escenarios de un caso de uso


Diagramas de Interaccin
Diagramas de Secuencia
Diagramas de Colaboracin
Mensajes entre Objetos

INTERACCIN ENTRE OBJETOS


Escenarios de un Caso de Uso
Qu es un Escenario ?
Un escenario es una instancia de un caso de uso, es una representacin de un caso de
uso de acuerdo a ciertas condiciones que puedan presentarse a travs del caso de uso cuando el
actor interacta con los objetos que pueden identificarse en l.
Cada caso de uso tendr una red de escenarios, es decir diferentes posibilidades que van
desde flujos
Primarios : que significa la forma normal que debe sigue un caso de uso
Secundarios: que muestra las excepciones posibles en los casos de uso primarios

Ejemplo de un Caso de USo

ING. PERCY

TITO

RIVERA

SESION

Pgina 58

UML. SISTEMA DE COMERCIALIZACIN

Un Escenario para el Caso de Uso


Registrar Pedidos. Crear Pedido
Csar al elegir la opcin de creacin de pedidos, e ingresa el Nro de Pedido
040001, el sistema valida el nro, a continuacin el sistema le presenta la
lista de Agentes Comerciales, Csar selecciona a Panchito Lpez. El
sistema le permite ingresar el cdigo del cliente CL200 , el mismo que se valida.
El sistema le ofrece la posibilidad de buscarlo tambin por su razn social Los
Cocos, en caso de que el cdigo ingresado sea errneo. A continuacin el
sistema le indica que registre la fecha del pedido que corresponde al
09/09/2002. Csar debe elegir la forma de pago al crdito de la lista que le ofrece el
sistema con lo cual el sistema valida la seleccin.
A continuacin el sistema le da la posibilidad a Csar de ingresar los 2 items del
pedido 040001, para ello elige el botn Agregar a continuacin ingresa el cdigo del
producto 050100 el cual es validado en el sistema, si el cdigo no existe le
ofrece seleccionarlo de una lista. En cualquier caso le muestra el nombre del
producto Ace de 1kg, la unidad de medida Bolsa y el precio unitario 30.12 as
mismo el sistema le indica que registre la cantidad, Csar ingresa 20 la
misma que es validada en el sistema. Luego Csar procede a registrar el
siguiente item......

OOAD usando UML.


rimenri@hotmail.com
Interaccin entre objetos, hoja 4

Algunos Escenarios Secundarios a considerar


Si el sujeto no est sujeto de crdito y Csar eligi forma de pago al crdito?
El cdigo del cliente ingresado no existe
No hay stock suficiente de la cantidad seleccionada para ese producto
El monto de crdito es superior a la capacidad de crdito del cliente

Algunos Escenarios Secundarios a considerar ?


Respuesta simple: tantos como sea necesario para entender el funcionamiento del
sistema.
Regla del pulgar:
o
Escenarios primarios
Elabore aproximadamente el 80% de estos escenarios
o Escenarios secundarios
Elabore unos pocos de los escenarios secundarios interesantes y de alto
riesgo.

Diagramas de Interaccin
El flujo de escenarios que es capturado en texto son capturados mediante diagramas llamados
diagramas de interaccin, los mismos que pretenden mostrar paso a paso
los flujos
de un

ING. PERCY

TITO

RIVERA

SESION

Pgina 59

UML. SISTEMA DE COMERCIALIZACIN

escenario a travs de un caso de uso: qu objetos son necesarios para el flujo, qu mensajes
los objetos se mandan entre ellos , qu actor inicia el flujo.
Un diagrama de interaccin es una representacin grfica de interacciones entre objetos
Existen dos tipos de diagramas de interaccin
o Diagramas de secuencia
o Diagramas de colaboracin
Cada uno entrega un punto de vista distinto de la misma interaccin
o Los diagramas de secuencia son ordenados en el tiempo
o Los diagramas de colaboracin pueden incluir flujo de datos
Un diagrama de interaccin contiene:
Objetos
: Un diagrama de interaccin puede usar nombres de objetos, nombres
de clases o mbos
Mensajes
: A travs de un mensaje un objeto puede requerir alguna funcin de
otro objeto.

Diagramas de Secuencia
Un diagrama de secuencia muestra las interacciones de objetos ordenadas en
una secuencia de tiempo
El diagrama muestra
o
Los objetos participando en la interaccin
o La secuencia de mensajes intercambiados
Un diagrama de secuencia contiene:
o Objetos con sus lneas de vida
o Mensajes intercambiados entre objetos en una secuencia ordenada
o Linea de Vida Activa (opcional)

Nombrando Objetos en un Diagrama de Secuecias


Los objetos son dibujados como rectngulos con nombres subrayados
Las lneas de vida de los objetos estn representadas por lneas rayadas en descenso

Ejemplo de un caso de uso

ING. PERCY

TITO

RIVERA

SESION

Pgina 60

UML. SISTEMA DE COMERCIALIZACIN

Mostrando la Interaccin entre objetos


La interaccin de objetos est indicada por flechas horizontales las cuales son dirigidas
desde la lnea vertical representada por el objeto cliente a la lnea representada por el
objeto proveedor
Las flechas horizontales estn etiquetadas con mensajes
El orden de los mensajes con respecto al tiempo, est indicado por la posicin vertical.
Enumerar las flechas horizontales es opcional ya que el orden est basado
en la posicin vertical

ING. PERCY

TITO

RIVERA

SESION

Pgina 61

UML. SISTEMA DE COMERCIALIZACIN

Diagramas de Colaboracin
Un diagrama de colaboracin es una manera alternativa de representar
mensajes intercambiados por un conjunto de objetos
El diagrama muestra interacciones organizadas alrededor de los objetos
y las conexiones entre ellos
Un diagrama de colaboracin contiene:
o Objetos
o Conexiones entre objetos
o Mensajes intercambiados entre objetos
o Datos fluyendo entre objetos, si los hubiera
Ejemplo de un Diagrama de Colaboracin

Representacin de Objetos
Es similar como en los diagramas de secuencia.

ING. PERCY

TITO

RIVERA

SESION

Pgina 62

UML. SISTEMA DE COMERCIALIZACIN

SE PUEDE OBTENER UN DIAGRAMA DE COLABORACIN PRESIONANDO F5

Representando Conexiones

Una conexin en un diagrama de colaboracin se representa como una lnea que une
conos de objetos
Una conexin indica que existe un camino para establecer una comunicacin entre los
objetos conectados

Mensajes entre Objetos


Una de conexin en un diagrama de colaboracin puede mostrar los mensajes enviados
entre los objetos.
o Un mensaje se representa con una flecha apuntando desde el objeto cliente a el
objeto proveedor
o El nombre del mensaje con una lista opcional de parmetros y/o un
valor de retorno
o Un nmero de secuencia opcional que muestra el orden relativo en el cual los
mensajes son enviados

Mensajes

ING. PERCY

TITO

RIVERA

SESION

Pgina 63

UML. SISTEMA DE COMERCIALIZACIN

Lab 05: Elaborando Diagramas de


Interaccin
Objetivos

Conocer la forma en que son ingresadas las clases


Identificar los esteretipos de las clases para un determinada caso de uso.
Iniciar el trabajo en la vista lgica.

Ejercicio 01
a. Preparando el Diagrama de Secuencia para Actualizacin
de Precios

ING. PERCY

TITO

RIVERA

SESION

Pgina 64

UML. SISTEMA DE COMERCIALIZACIN

b. Preparando el Diagrama de Secuencia


Ubicarse en el diagrama de Secuecia respectivo y Pulse F5

ING. PERCY

TITO

RIVERA

SESION

Pgina 65

UML. SISTEMA DE COMERCIALIZACIN

SESION

06

ENCONTRANDO CLASES

ING. PERCY

TITO

RIVERA

SESION

Pgina 66

UML. SISTEMA DE COMERCIALIZACIN

SESION 06: ENCONTRANDO CLASES


Luego de haber visto una serie de conceptos asociados a las clases
y los diagramas que nos servirn para modelar las interacciones entre ellas vamos a
tratar de encontrar clases analizando los casos de uso. As mismo una vez identificadas
las clases podremos incluirlas dentro de paquetes de datos, de control y de interfaz.

PLANIFICACIN DE LA CLASE
Veremos los tpicos siguientes:

Anlisis de casos de uso


Encontrando Objetos entidad
Encontrando clases entidad
Encontrando clases frontera
Encontrando clases entidad
Diseo de prototipos

OBJETOS Y CLASES
Qu es el Anlisis de Casos de Uso ?
El anlisis de casos de uso es el proceso de examinar los casos de uso para descubrir objetos y
clases, para el sistema que est siendo desarrollado
Los escenarios son detallados y mostrados grficamente en diagramas de interaccin
o Se crean las entidades, las interfaces y las clases de control
o Las clases son agrupadas en paquetes
Son creados los diagramas de clases

Los objetos entidad son identificados examinando los nombres y las frases del
escenario analizado
Los nombres encontrados pueden ser:
o Objetos
o Descripciones del estado de un objeto
o Entidades externas y/o actores
o Nada de lo anterior

Filtrando Nombres
Cuando est identificando nombres, tenga cuidado que:
o Varios trminos pueden referirse al mismo objeto
o Un trmino puede referirse a ms de un objeto
ING. PERCY

TITO

RIVERA

SESION

Pgina 67

UML. SISTEMA DE COMERCIALIZACIN


o El lenguaje natural es bastante ambiguo
Este acercamiento puede identificar varios objetos sin importancia
o La lista de nombres debe ser filtrada
Una palabra de atencin
o Cada nombre puede ser tratado como verbo; cada verbo puede ser tratado como
nombre
El resultado depende fuertemente de la habilidad para escribir de los
autores

Un Escenario para el Caso de Uso


Registrar Pedidos. Crear Pedido
Csar al elegir la opcin crear pedido, e ingresa el Nro de Pedido 040001, el sistema
valida el nmero, a continuacin el sistema le presenta la lista de Agentes Comerciales,
Csar selecciona a Panchito Lpez. El sistema le permite ingresar el cdigo del
cliente CL200 , el mismo que se valida. El sistema le ofrece la posibilidad de buscarlo
tambin por su razn social Los Cocos, en caso de que el cdigo ingresado
sea errneo. A
continuacin el sistema le indica que registre la fecha del pedido que corresponde al
09/09/2002. Csar debe elegir la forma de pago al crdito de la lista que le ofrece el
sistema con lo cual el sistema valida la seleccin.
A continuacin el sistema le da la posibilidad a Csar de ingresar los 2 items del
pedido 040001, para ello elige el botn Agregar producto a continuacin
ingresa el cdigo del producto 050100 el cual es validado en el sistema, si el cdigo
no existe le
ofrece seleccionarlo de una lista de productos. En cualquier caso le muestra el nombre
del producto Ace de 1kg, la unidad de medida Bolsa y el precio unitario
30.12 as mismo el sistema le indica que registre la cantidad, Csar ingresa 20 la
misma que es validada en el sistema. Luego Csar procede a registrar el siguiente item
con cdigo de producto 060200......

Identificando Nombres
Csar al elegir la opcin de crear pedido, e ingresa el Nro de Pedido 040001,
el sistema valida el nmero, a continuacin el sistema le presenta la lista de
Agentes Comerciales, Csar selecciona a Panchito Lpez. El sistema le
permite ingresar el cdigo del cliente CL200 , el mismo que se valida. El sistema le
ofrece la
posibilidad de buscarlo tambin por su razn social Los Cocos, en caso de que
el cdigo ingresado sea errneo. A continuacin el sistema le indica que registre la
fecha del pedido que corresponde al 09/09/2002. Csar debe elegir la forma de
pago al crdito de la lista que le ofrece el sistema con lo cual
el sistema valida la seleccin.
A continuacin el sistema le da la posibilidad a Csar de ingresar los 2 items del
pedido 040001, para ello elige el botn Agregar producto a continuacin ingresa el
cdigo del producto 050100 el cual es validado en el sistema, si el cdigo no existe
le ofrece seleccionarlo de una lista de productos. En cualquier caso le muestra el
nombre del producto Ace de 1kg, la unidad de medida Bolsa y el precio unitario
30.12 as mismo el sistema le indica que registre la cantidad, Csar ingresa 20 la misma
que es validada en el sistema. Luego Csar procede a registrar el siguiente item con
cdigo de producto 060200......

ING. PERCY

TITO

RIVERA

SESION

Pgina 68

UML. SISTEMA DE COMERCIALIZACIN

Qu nombres deben ser filtrados?


Csar
Cdigo producto 060200
Sistema
Lista de productos
Pedido
Ace de 1kg
Nmero de pedido 040001
Unidad de medida Bolsa
Lista de Agentes Comerciales
Precio Unitario 30.12
Panchito Lpez
Cantidad 20
Cdigo del cliente CL200
Razn Social LOS COCOS
Cdigo ingresado
Fecha de pedido 09-09-2002
Forma de Pago al crdito
Dos items del pedido
Cdigo producto 050100

Decisiones de Filtrado
Csar -- filtrado (actor)
Pedido candidato a objeto
Nmero de pedido 040001 -- filtrado (propiedad de un pedido)
Sistema -- filtrado (lo que est siendo construido)
Agente Comercial candidato a objeto-- filtrado
Panchito Lpez -- filtrado (lo mismo que agente comercial)
Cliente -- candidato a objeto
Cdigo del cliente CL200l -- filtrado (propiedad del cliente)
Razn social LOS COCOS -- filtrado (propiedad del cliente)
Fecha del pedido -- filtrado (propiedad del pedido)
FormaPago
-- candidato a objeto
Forma de pago al crdito-- filtrado (propiedad de la forma de pago)
Cdigo del produto 050100 -- candidato a objeto
Cdigo del produto 060200 -- candidato a objeto
Ace de 1 kg filtrado (propiedad del producto)
Bolsa filtrado (propiedad del producto)
Precio Unitario -- filtrado (propiedad del producto)
Cantidad 20 -- filtrado (propiedad del pedido)

Candidatos a Objeto en el Escenario


ING. PERCY

TITO

RIVERA

SESION

Pgina 69

UML. SISTEMA DE COMERCIALIZACIN

Pedido lista de los cursos de un alumno en un semestre


Lista de Agentes Comerciales lista de todos los cursos
impartidos en un semestre
Cliente una oferta para el semestre
Forma de Pago -- una oferta para el semestre
Cdigo del Producto 050100 -- una oferta del producto
Cdigo del Producto 060200 -- una oferta del producto

Creando Clases
Los objetos encontrados son agrupados en clases
o Basados en estructuras y/o comportamientos similares
Este es un intento inicial
o Las clases pueden cambiar mientras ms escenarios son examinados

Candidatos a Clase en el Escenario CreandoPedido


Pedido lista de las condiciones del pedido
Items de Pedido detalle de los productos requeridos
AgenteComercial lista de los agentes que realizan las ventas
Cliente -- lista de clientes
FormaPago lista de las formas de pago ofrecidas por la empresa
Producto lista de los productos ofrecidos

Encontrando Clases Frontera


Examine cada par actor/escenario y cree clases de frontera obvias
o Durante el diseo, la clase ser definida basada en los mecanismos de la interfaz
de usuario elegida
Ejemplo:
o El estudiante se presenta con diferentes opciones en el caso Registrar Pedidos
Una clase de frontera llamada FormularioPedido se crea para permitir al Asistente
Comercial administrar pedidos
Prototipo de la clase frontera: FormularioPedido

ING. PERCY

TITO

RIVERA

SESION

Pgina 70

UML. SISTEMA DE COMERCIALIZACIN

Encontrando Clases Control


Las clases de control tpicamente contienen informacin de secuencia
o Atencin: las clases de control NO deben asumir las responsabilidades que
tpicamente corresponden a las clases de interfaz o de entidad

ING. PERCY

TITO

RIVERA

SESION

Pgina 71

UML. SISTEMA DE COMERCIALIZACIN


A este nivel de anlisis, una clase de control es tpicamente creada para cada caso de
uso
o Responsable por el flujo de los eventos en el caso de uso
Esto es solo el primer corte
o Mientras ms casos y escenarios son desarrollados, las clases de control pueden
ser eliminadas, divididas o combinadas

Ejemplo

Una clase de control llamada AdministradorRegistro es creada


o Recibe informacin de la clase frontera FormularioPedido
o Para cada uno de los pedidos registrados
o Pregunta la forma de pago
Revisa objeto cliente si est sujeto de crdito en caso de que el
Asistente Comercial haya elegido forma pago crdito
Muestra la lista de productos activos
Pregunta la cantidad ingresada
Verifica si existe stock suficiente
Al grabar
o Verifica el objeto Cliente y determina lnea de crdito
disponible si a elegido el objeto formapago al crdito
o Crea el objeto DocumentoVenta

Qu es un Paquete ?
Un paquete es un mecanismo de propsito general utilizado para organizar elementos en
grupos
El nmero de clases crece a medida que ms casos de uso y escenarios son analizados
o Las clases pueden ser agrupadas en paquetes
Proveen la habilidad de organizar el modelo en desarrollo
Un paquete es representado como una carpeta

Paquetes en RegistrarPedidos
Las clases del Sistema de Registros pueden ser agrupadas en tres paquetes
o Artefactos del Pedido, Reglas de negocios e Interfaces
Artefactos del Pedido

ING. PERCY

TITO

RIVERA

SESION

Pgina 72

UML. SISTEMA DE COMERCIALIZACIN


o Producto, Pedido, FormaPago, ItemsPedido, Cliente, AgenteComercial
Reglas de negocio
o AdministradorRegistro
Interfaces
o FormularioPedido, FormularioConsulta

Qu son los Diagramas de Clases?


La vista lgica esta conformada de muchos paquetes y clases
Un diagrama de clases es la vista de unos pocos (o todos) los paquetes y clases de la
vista lgica
o Generalmente hay varios diagramas de clases
El diagrama de clases principal es tpicamente una vista de los paquetes de alto nivel de
la vista lgica
Tpicamente cada paquete tiene su propio diagrama de clases principal
Se agregan diagramas de clases adicionales si son necesarios
o La vista de las clases participantes de un escenario
o La vista de las clases privadas de un paquete
o La vista de una clase y sus atributos y operaciones
o
La vista de la jerarqua de herencia

ING. PERCY

TITO

RIVERA

SESION

Pgina 73

UML. SISTEMA DE COMERCIALIZACIN

Lab 06: Encontrando Clases


Objetivos

Identificar clases a partir del anlisis de un caso de uso


Preparar los paquetes respectivos
Entidades.
Control.
Interfaces.

Parte A: Encontrando Clases del Caso de Uso Registrar Pedidos

Ejercicio 01. Preparando los Paquetes respectivos


En el archivo: comercial.mdl del laboratorio 03, proceda de la sgte manera:
Ubicarse sobre la vista Lgica
Clic botn derecho, New Package
Ingrese el nombre de : Interfaz
Proceda de la misma manera para crear los paquetes:
Control
Entidades

Ejercicio 02 . Incoporando clases:


Clases Interfaz (asegurarse del estereotipo respectivo)
o FormularioPedidos
o FormularioConsulta
Clases Interfaz (asegurarse del estereotipo respectivo)
o AdministradorPedidos
Clases Entidad (asegurarse del estereotipo respectivo)
o Pedido
o DetaPedido
o Producto
o FormaPago
o Cliente

ING. PERCY

TITO

RIVERA

SESION

Pgina 74

UML. SISTEMA DE COMERCIALIZACIN

AgenteComercial

Ejercicio 03. Proceda a la elaboracin de los Diagramas de


Interaccin de:
Secuencia
Colaboracin

Parte B: Encontrando Clases del Caso de Uso Realizar


Liquidaciones

Lea la descripcin del Caso de Uso Registrar Liquidaciones, que se presenta al


final del ejercicio.

Elija un caso de uso desarrollado en la leccin anterior

Diagrame al menos un escenario en un diagrama de interaccin


+ Cree todas las clases de entidad, interfaz y/o control necesarias
+ Cree una definicin para cada clase

Cree paquetes para el modelo

Acomode las clases descubiertas en paquetes

Cree el diagrama de clases inicial

DESCRIPCIN DEL CASO DE USO REGISTRAR


LIQUIDACIONES

ING. PERCY

TITO

RIVERA

SESION

Pgina 75

UML. SISTEMA DE COMERCIALIZACIN

1.

CASO DE USO: Registrar Liquidaciones

1.1

Descripcin Breve
El caso de uso es iniciado por el Asistente Comercial cuando desea registra los pagos que
los cliente realizan en el sistema ha medida que van cancelando sus
documentos. Le proporciona la capacidad de crear, modificar, grabar, revertir
y consultar pedidos; adems de finalizar.

2.

Flujo de Eventos

2.1

Pre-condiciones
El Asistente Comercial debe haber generado en el sistema los documentos de pago respectivo
Se debe tener la informacin de los Agentes Comerciales.

2.2

Flujo Bsico
1.
2.
3.
4.
5.
6.
7.
8.

9.

El sistema muestra las actividades que se pueden seleccionar: Agregar, Modificar, Grabar,
Revertir, Consultar, Eliminar, Imprimir, Grabar y Salir.
El Asistente Comercial selecciona la actividad que desea realizar.
Si la actividad seleccionada es registrar, el flujo alternativo A-1: Crear Liquidacin es
ejecutado.
Si la actividad seleccionada es modificar, el flujo alternativo A-2: Modificar Liquidacin es
ejecutado.
Si la actividad seleccionada es grabar, el flujo alternativo
A-4: Grabar Liquidacin es
ejecutado.
Si la actividad seleccionada es revertir, el flujo alternativo
A-5: Revertir Liquidacin es
ejecutado.
Si la actividad seleccionada es consultar, el flujo alternativo A-6: Consultar Liquidacin es
ejecutado.
Si la actividad seleccionada es imprimir, el flujo alternativo A-7: Imprimir Liquidacin es
ejecutado.
Si la actividad seleccionada es Salir, el caso de uso finaliza.

2.3

Sub- Flujos

A-1

Crear Liquidacin
1.
2.
3.
4.

El sistema permite ingresar el Nro de Liquidacin


El sistema verifica si existe el numero de Liquidacin (E-1)
El usuario selecciona el vendedor respectivo
El usuario confirma o cambia la fecha del pedido y selecciona la forma de pago que
el sistema valida.
5. Por cada documento el usuario ingresa
a. Tipo de Documento
b. Numero de Documento con (E-4)
c. El sistema muestra la razn social del cliente y el saldo del documento
d. El usuario ingresa el monto respectivo ha amortizar para el documento (E-5)

ING. PERCY

TITO

RIVERA

SESION

Pgina 76

UML. SISTEMA DE COMERCIALIZACIN


e.
6.
7.
8.
9.

A-2

El usuario ingresa Tipo de Pago (Cheque, Efectivo, Letra) respectivo (E-6).

El sistema le da la posibilidad de Eliminar alguna lnea en el detalle.


El sistema muestra total de la liquidacin de todo el documento ingresado.
Terminado el ingreso, si el Asistente Comercial elige
a. La actividad Grabar se ejecuta el flujo alternativo A-4: Grabar pedido
b. La actividad Revertir se ejecuta el flujo alternativo A-5: Revertir pedido
El caso de uso comienza nuevamente.

Modificar Liquidacin
1.
2.
3.
4.

5.
6.
7.
8.
9.

Puede modificar el documento editado o el Asistente Comercial selecciona el pedido a


modificar a partir del caso de uso: Consultar Documento
El sistema muestra el contenido de la liquidacin seleccionado.
El usuario elige la opcin de modificar.
Por cada documento el usuario ingresa
a. Tipo de Documento
b. Numero de Documento con (E-4)
c. El sistema muestra la razn social del cliente y el saldo del documento
d. El usuario ingresa el monto respectivo ha amortizar para el documento (E-5)
e. El usuario ingresa Tipo de Pago (Cheque, Efectivo, Letra) respectivo (E-6).
El sistema le da la posibilidad de Eliminar alguna lnea en el detalle.
El sistema muestra total de la liquidacin de todo el documento ingresado.
Terminado el ingreso, si el Asistente Comercial elige
a. La actividad Grabar se ejecuta el flujo alternativo A-4: Grabar pedido
La actividad Revertir se ejecuta el flujo alternativo A-5: Revertir pedido
El caso de uso comienza nuevamente.

A-.4

Grabar Liquidacin
1. El sistema guarda la informacin ingresada (E-6).

A-.5

Revertir Liquidacin
1. El sistema deshecha los cambios efectuados
2. El caso de uso comienza nuevamente.

A-6

Consultar Liquidacin
1.

El Asistente Comercial selecciona el pedido a modificar a partir del caso de uso:


Consultar Liquidacin.
2. Mostrar datos de la Liquidacin Seleccionado
E-7

Imprimir Liquidacin
1. Puede imprimir el documento editado o el Asistente Comercial selecciona el pedido a
imprimir a partir del caso de uso: Consultar Liquidacin.
2. El sistema muestra contenido de la Liquidacin.
3. El usuario elige imprimir la Liquidacin
4. El sistema muestra la interfaz de impresin de Windows .
5. El caso de uso comienza nuevamente.

2.4

Flujos Alternativos o de Excepcin

ING. PERCY

TITO

RIVERA

SESION

Pgina 77

UML. SISTEMA DE COMERCIALIZACIN


E-1 : Verifica la existencia de la liquidacion, si existe un mensaje es mostrado y
se
permite el reingreso del nro del liquidacin
E-4 : Se verifica si el documento ingresado existe en el sistema, caso contrario emite
mensaje y no deja avanzar hasta que se ingrese el Documento correcto.
E-5 : Al momento de grabar se procede a la actualizacin de los saldos de
cliente respectivo.
.

2.5 Post-condiciones
Actualizar saldos de cliente.

3.

Puntos de Extensin

3.1

Consultar Liquidacin
Si el Asistente Comercial desea buscar un pedido previamente ingresado, puede elegir la
opcin Buscar, que le permite buscar la Liquidacin por su nro o por fechas.

4.

Prototipo de Interfaz de usuario

ING. PERCY

TITO

RIVERA

SESION

Pgina 78

UML. SISTEMA DE COMERCIALIZACIN

SESION

07

RELACIONES

ING. PERCY

TITO

RIVERA

SESION

Pgina 79

UML. SISTEMA DE COMERCIALIZACIN

SESION 07.RELACIONES
Una vez establecidas las clases nos damos cuentan de que ellas intercambian mensajes
entre si, para que estos mensajes puedan ser intercambiados es necesario de que
existan relaciones entre las clases. La relacin permitir conocer a una clase conocer
acerca de los atributos, operaciones y relaciones de otra clase. Existen 2 tipos de relaciones
como veremos a continuacin.

PLANIFICACIN DE LA CLASE
Veremos los tpicos siguientes:
Necesidad de las Relaciones
Tipos de Relaciones
Nombrando Relaciones
Roles
Relaciones Reflexivas
Hallando Relaciones
Relaciones entre paquetes

La necesidad de las Relaciones


Dado a que los sistemas abarcan muchas clases y objetos debe existir una colaboracin entre
ellos mismos para contribuir en el comportamiento del sistema. Existen 2 tipos de relaciones:
Asociaciones
Agregaciones

Relaciones de Asociacin
Una asociacin es una relacin semntica bidireccional entre clases.
Esto implica que existe una conexin entre objetos en las clases asociadas
Por ejemplo una asociacin entre la clase Cliente y la clase Pedido, significar que objetos en la
clase Cliente estn conectados a objetos en la clase Pedido.
El nmero de objetos conectados depende de la multiplicidad de una asociacin, como
veremos ms adelante
Los datos pueden fluir en una o ms direcciones a lo largo de la asociacin

Navegacin

ING. PERCY

TITO

RIVERA

SESION

Pgina 80

UML. SISTEMA DE COMERCIALIZACIN

Una asociacin es una relacin bi-direccional


Dada la instancia de AdministradorPedido existe asociado un objeto Pedido
Dada la instancia de Pedido existe asociado un objeto AdministradorPedido

Nombrando Relaciones
Una asociacin podra ser nombrada,
Normalmente el nombre es un verbo que comunica el significado de la relacin.
El nombre se representa como una etiqueta ubicada a lo largo de la lnea de asociacin
en medio de las clases que se estn relacionando.

Definiendo Roles
Un rol denota el propsito por el que se asocia una clase con otra
Los roles son tpicamente sustantivos
Se ubica cercano a la clase que modifica

Multiplicidad para Asociaciones


Multiplicidad es el nmero de instancias de una clase que se relacionan
con una instancia de otra clase
o Para cada asociacin, hay dos decisiones de multiplicidad por hacer: una para
cada final de la asociacin
Por ejemplo, en la conexin que existe entre las instancias que cumplen el rol de cliente
y pedido
o Para cada instancia de cliente, muchos (ej. cero o mas) pedidos sern realizados
o Para cada instancia de pedido, exactamente una persona es el cliente
Los indicadores de multiplicidad se indican a continuacin

ING. PERCY

TITO

RIVERA

SESION

Pgina 81

UML. SISTEMA DE COMERCIALIZACIN

Las decisiones de multiplicidad exponen muchas suposiciones ocultas acerca del


problema que esta siendo modelado
o Puede ser posible que un cliente no tenga ningn pedido?
o Puede un pedido tener dos clientes?

Significado de la Multiplicidad
La multiplicidad responde a dos preguntas
o La asociacin es obligatoria u opcional?
o Cul es el nmero mximo o mnimo de instancias que pueden ser ligadas a una
instancia?

Qu le dice el diagrama anterior?

Multiplicidad para Asociaciones


La agregacin es una forma especial de asociacin donde un todo se relaciona con sus
partes
o Tambin se conoce como una parte de o una relacin de contencin.
Una agregacin est representada como una asociacin con un diamante al lado de su
clase denotando el agregado.
La multiplicidad se representa de la misma manera que en las otras asociaciones.

ING. PERCY

TITO

RIVERA

SESION

Pgina 82

UML. SISTEMA DE COMERCIALIZACIN

Algunas formas de comprobar la Agregacin


Es la frase una parte de usada para describir la relacin?
o Una puerta es una parte de un Automvil.
Son algunas operaciones sobre el todo, automticamente aplicables a todas sus partes?
o Mover el Automvil, Mover la Puerta
Son algunos de los atributos de los valores propagadas del todo hacia todas sus partes
o solo a algunas en particular?
o El Automvil es azul, la Puerta es Azul
Existe una simetra intrnseca en la relacin donde una clase es subordinada de otra?
o Una puerta ES parte de un Automvil, pero un Automvil NO ES parte de una
Puerta

Asociacin o Agregacin ?
Si dos objetos estn unidos firmemente por una relacin todo-parte
o La relacin es una agregacin
Si dos objetos son usualmente considerados como independientes, aun cuando
comnmente estn unidos
o La relacin es una asociacin

Asociacin Reflexiva
En una asociacin reflexiva, los objetos de una misma clase estn relacionados
Indica que mltiples objetos en la misma clase colaboran en conjunto del mismo modo

Agregacin Reflexiva
Las agregaciones tambin pueden ser reflexivas
Esto indica una asociacin recursiva

ING. PERCY

TITO

RIVERA

SESION

Pgina 83

UML. SISTEMA DE COMERCIALIZACIN

Clase Asociacin
Deseamos llevar un historial de las zonas que administra cada trabajador en el tiempo
La relacin entre Trabajador y zona es una relacin de muchos a muchos
Donde situamos los atributos de las fechas asignadas?

El atributo de fecha de asignacin no puede ser situado en la clase Zona porque


existen (potencialmente) muchas relaciones a muchos objetos de Trabajador
Por lo tanto, el atributo pertenece realmente a la relacin individual Zona-Trabajador
Una clase asociacin es usada para almacenar informacin sobre la relacin

Denotando una Clase Asociacin


Una clase asociacin se representa usando el icono de clase
La clase asociacin se conecta con la asociacin usando la lnea entrecortada
La clase de asociacin puede incluir mltiples propiedades de dicha asociacin
Solamente una clase de asociacin est permitida por cada asociacin

Encontrando Asociaciones y Agregaciones


Los escenarios pueden ser examinados para determinar si una relacin debe existir entre
dos clases
o Dos objetos se pueden comunicar si y solo si se conocen entre si
Asociaciones y/o agregaciones proveen un va de comunicacin

ING. PERCY

TITO

RIVERA

SESION

Pgina 84

UML. SISTEMA DE COMERCIALIZACIN

Relaciones entre Paquetes


Los paquetes se relacionan entre si usando una relacin de dependencia
Si una clase en un paquete se comunica con otra clase contenida en otro paquete
entonces su relacin de dependencia es adicionada a nivel de paquetes
Los diagramas de escenario y diagramas de clase son evaluados para determinar las
relaciones entre paquetes

Interfaces
Business Rules

University
Artifacts

Relaciones durante Anlisis y Diseo


Durante el anlisis se deben establecer las conexiones (asociaciones y agregaciones)
entre las clases
o Dichas conexiones existen por la misma naturaleza de las clases, no por una
implementacin especfica
o Hacer una estimacin inicial de multiplicidad de manera de exponer suposiciones
ocultas
Los diagramas de clase son actualizados para mostrar sus relaciones agregadas
Durante el diseo:
o Las estimaciones de multiplicidad son refinadas y actualizadas
o Asociaciones y agregaciones son evaluadas y refinadas
o Las relaciones de paquetes son evaluadas y refinadas
o Los diagramas de clases maduran

ING. PERCY

TITO

RIVERA

SESION

Pgina 85

UML. SISTEMA DE COMERCIALIZACIN

Lab 07: Relaciones


Objetivos

Conocer los tipos de relaciones existentes


Relacionar los objetos encontrados en el anlisis de casos de uso
Aplicar multiplicidad.

Ejercicio 01
a. Conociendo la Barra de Herramientas del Diagrama de
Clases

b. Incorporando Nuevas Clases:


Incorpore las sgts clases al Paquete de Entidades, si no se encuentran presentes:
Liquidacion
Detaliquidacion

ING. PERCY

TITO

RIVERA

SESION

Pgina 86

UML. SISTEMA DE COMERCIALIZACIN


Marca
Linea
Documento
Detadoc
Zona

c. Creando un Nuevo Diagrama de Clases


En la vista lgica ubicarse y proceder a crear un nuevo diagrama de clases, llamado:
DiagramaComercialEntidades

d. Incorporando las Clases Respectivas


Incluya todas las clases del Paquete de Entidades

e. Creando Asociaciones
CREANDO RELACIONES DE ASOCIACIN : Cliente - Pedido
3. Ubicarse en el paquete Artefactos (entidades)
4. Doble clic en el diagrama creado
5. Elija el icono de Asociacin Bidireccional
6. Clic en la clase deseada: Cliente
7. Arrastre hacia la clase deseada: Pedido

Proceda de la misma manera y cree las siguientes Asociaciones entre


FormaPago y Cliente
AgenteComercial y Pedido
Pedido y Documento
AgenteComercial y Liquidacin

f.

Nombrando Relaciones
NOMBRANDO RELACIONES: Cliente - Pedido
8. Seleccione la lnea de relacin
9. Doble clic
10. Ingrese el nombre de la relacin: Requiere

ING. PERCY

TITO

RIVERA

SESION

Pgina 87

UML. SISTEMA DE COMERCIALIZACIN

g. Roles
ROLES
1.
2.

Doble Clic sobre relaci: Cliente-Pedido


Al activarse la pantalla indique los roles respectivos, tal como se
muestra a continuacin

Defina algunos roles para las relaciones establecidas

ING. PERCY

TITO

RIVERA

SESION

Pgina 88

UML. SISTEMA DE COMERCIALIZACIN

h. Agregacin
AGREGACION
1. Seleccione de la barra de herramientas el cono de Agregacin
2. Haga clic sobre Pedido y arrastre hacia DetaPedido
3. Proceda igual con Liquidacin y DetaLiquidacion

i.

Clase Asociacin
CLASE ASOCIACION
1. Seleccione de la barra de herramientas el icono Clase Asociacin
2. Haga clic en Detadoc y arrastre hacia la relacin entre
Documento y producto.

j. Multiplicidad
MULTIPLIDAD
1. Entre Cliente-Pedido
2. Ubicarse en la relacin en la parte ms cercana a cliente y haga
clic botn derecho.
3. Elija Multiplicity - 1
4. Ubicarse en la relacin en la parte ms cercana a pedido y haga
clic botn derecho.
5. Elija Multiplicity Zero - n
Contine realizando la multiplicidad de acuerdo al diagrama mostrado a continuacin.

ING. PERCY

TITO

RIVERA

SESION

Pgina 89

UML. SISTEMA DE COMERCIALIZACIN

Ejercicio: Prepare el sgte diagrama

ING. PERCY

TITO

RIVERA

SESION

Pgina 90

UML. SISTEMA DE COMERCIALIZACIN

SESION

08

OPERACIONES Y ATRIBUTOS

ING. PERCY

TITO

RIVERA

SESION

Pgina 91

UML. SISTEMA DE COMERCIALIZACIN

SESION 08. OPERACIONES Y ATRIBUTOS


Una clase contiene una serie de responsabilidades que definen el comportamiento de los
objetos en una clase. Las responsabilidades son definidas por las operaciones. Por ejemplo la
clase pedido ser capaz de ingresar un Nuevo Pedido o de Anularlo. La estructura de un
objeto est definida por los atributos que la conforma. Cada atributos es una definicin del dato
que la conforma.
En esta sesin revisaremos el comportamiento y estructura de una clase.

PLANIFICACIN DE LA CLASE
Veremos los tpicos siguientes:
Definir operaciones para clases
Definir atributos para clases
Definir encapsulamiento y establecer sus beneficios
Representar atributos y operaciones en diagramas de clases

Qu es una Operacin ?
Una clase contiene un conjunto de responsabilidades que definen el comportamiento de
los objetos que pertenecen a la clase.
Las responsabilidades de una clase son llevadas a cabo por sus operaciones
o Esto no es necesariamente mapeado uno a uno
Responsabilidad de la clase producto: mantener el precio de proveedor
Operaciones para esta responsabilidad
Buscar la informacin en la base de datos
Actualizar el precio
Una operacin es un servicio que puede ser solicitado desde un objeto para solicitar un
determinado comportamiento

Las operaciones son dependientes del dominio


Listar todas las operaciones relevantes al dominio
o Las operaciones de la clase producto sern distintas dependiendo de la
perspectiva solicitada

Nombrando las operaciones


Las operaciones deberan ser nombradas indicando el nombre de su resultado o salida,
no los pasos dentro de la operacin. Ejemplos:
o calcularDeuda()

ING. PERCY

TITO

RIVERA

SESION

Pgina 92

UML. SISTEMA DE COMERCIALIZACIN

Pobremente nombrada
Indica que el balance debe ser calculado - esto es una decisin
implementacin/optimizacin
ObtenerEstadoDeuda()
Bien nombrada
Indica solamente la salida

Las operaciones debera ser nombradas desde la perspectiva del proveedor, no del
cliente
En una estacin de gas, el gas es recibido desde la bomba:
o Una operacin para la bomba que tiene esta responsabilidad - como debera ser
llamada?
o Nombres buenos: entregarGas(),dispensar()
o Nombre malo : recibirGas()
La bomba da el gas, no lo recibe

Operaciones Primitivas
Una operacin primitiva es una operacin que puede ser implementada solamente
usando las cualidades internas de la clase
o Todas las operaciones de una clase son tpicamente primitivas
Ejemplo:
o Agregar un tem al conjunto - operacin primitiva
o Agregar cuatro tems al conjunto - no primitiva
Puede ser implementada con mltiples llamadas a la operacin anterior
de agregar un tem al conjunto

Visualizando Operaciones
Las operaciones son mostradas en el tercer compartimiento

Descubriendo Operaciones desde los Diagramas de Interacin


Los mensajes visualizados en los diagramas de secuencia y/o colaboracin son
usualmente operaciones de las clases receptoras
o Los mensajes son traducidos a operaciones y agregados al diagrama de clases

ING. PERCY

TITO

RIVERA

SESION

Pgina 93

UML. SISTEMA DE COMERCIALIZACIN

Descubriendo Clases y Relaciones Adicionales

Los argumentos de las operaciones y las clases de retorno denotan una relacin entre la
clase y los argumentos y/o la clase de retorno
Ejemplo
o La clase ObtenerEstadoDeuda tiene una operacin agregarPedido(John:
InformacinEstudiante)
o Esto implica que existe una relacin entre Documento y Pedido
Las relaciones descubiertas son agregadas al modelo
o Estas son mostradas en los diagramas de clases

Qu es un atributo ?
Un atributo es una definicin de datos mantenido por instancias de una clase
Los atributos no tienen comportamiento -- no son objetos
Los nombres de los atributos son sustantivos simples o frases simples
o Los nombres deben ser nicos dentro de una clase
Cada atributo debe tener una definicin clara y concisa
Buenos atributos para la clase Cliente
o RazonSocial nombre de la empresa
o Zona zona a la que pertenece
Un atributo malo para la clase Cliente -- obtenerZonas
o Esta es una operacin, no un atributo

Valores de un Atributo
Un valor de atributo es el valor de un atributo para un objeto en particular
Cada objeto tiene un valor para cada atributo definido para su clase
Por ejemplo, para un objeto de la clase AgenteComercial:

ING. PERCY

TITO

RIVERA

SESION

Pgina 94

UML. SISTEMA DE COMERCIALIZACIN

Atributos dependientes del Dominio


Lista de todos los atributos relevantes al dominio del problema
o Los atributos de la clase Cliente sern distintos dependiendo de a quien le
preguntemos

Visualizando Atributos
Se incluyen en el segundo compartimiento

Atributos Derivados
Un atributo derivado es un atributo cuyo valor puede ser calculado en base a el valor de
otros atributos
o Utilizado cuando no existe suficiente tiempo para recalcular el valor cada vez que
sea necesario

ING. PERCY

TITO

RIVERA

SESION

Pgina 95

UML. SISTEMA DE COMERCIALIZACIN

Compensa desempeo en tiempo de ejecucin vs. memoria requerida

Tipos de Datos y Valores Iniciales


Cada atributo posee:
o Tipo de Dato
o Valor inicial opcional
Durante el anlisis NO ES OBLIGATORIO completar la definicin del atributo
o Esta informacin puede ser retrasada hasta el diseo

Cmo son descubiertos los Atributos?


Muchos atributos se descubren en el flujo de eventos de los casos de uso
o Observe los sustantivos que no fueron considerados buenos candidatos para ser
clases
Otros son descubiertos cuando se crea la definicin de la clase
La experiencia en el dominio puede tambin proveer buenos atributos

Slo modele los atributos que sean relevantes para el dominio del problema
Interesa almacenar informacin de la entidad NOMBRE ENTIDAD

Ejemplos
Cada producto tendr una descripcin y una marca
o Un atributo llamado descripcion es agregado a la clase Producto
o Un atributo llamado marca es agregado a la clase Producto

ING. PERCY

TITO

RIVERA

SESION

Pgina 96

UML. SISTEMA DE COMERCIALIZACIN

Mostrando Atributos y Operaciones


Atributos y/u operaciones pueden ser mostradas dentro de la clase
Diagramas de clases adicionales pueden ser creados para mostrar atributos y
operaciones
Las relaciones no son mostradas, tpicamente,en esos diagramas de clases

Encapsulamiento
Una forma para ver una clase es que consiste de dos partes: la interfaz y la
implementacin
o La interfaz puede ser vista y usada por otros objetos
o La implementacin es oculta para los clientes
Ocultar los detalles de implementacin de un objeto se llama encapsulamiento u
ocultamiento de la informacin
El encapsulamiento ofrece dos tipos de proteccin. Protege:
o El estado interno de un objeto, de ser corrompido por sus clientes
o El cdigo del cliente, de cambios en la implementacin del objeto

Ejemplo

Los valores de los atributos pueden


ser cambiados slo por las operaciones
que provee el objeto
Las operaciones son provistas para
mostrar los valores de los atributos
necesarios para los clientes
El estado del objeto no puede ser
modificado por los clientes directamente

Beneficios del Encapsulamiento


El cdigo cliente puede usar la interfaz a una operacin
El cdigo cliente no puede tomar ventaja de la implementacin de la operacin
La implementacin puede cambiar, por ejemplo, para:
o Corregir errores (Bugs)
o Mejorar el Desempeo
o Reflejar cambios en las polticas
El cdigo del cliente no debe ser afectado por cambios en la implementacin, esto reduce
el efecto arrastre en el cual una correccin para una operacin fuerza la
correspondiente correccin en una operacin del cliente la cual causa el cambio en un
cliente del cliente.
La manutencin es fcil y menos cara.

ING. PERCY

TITO

RIVERA

SESION

Pgina 97

UML. SISTEMA DE COMERCIALIZACIN

Lab 08: Operaciones y Atributos


Objetivos

Identificar atributos y operaciones en un Proceso de Negocios


Incorporar atributos y operaciones en una clase

Ejercicio 01
c. Incorporando Atributos en el Paquete
Entidades(Artefactos)
CREANDO ATRIBUTOS: Cliente
1. Ubicarse en el paquete Artefactos (entidades)
2. Haga doble clic sobre el Diagrama de Clases creado
3. Seleccione la clase cliente y haga doble clic
4. Elija la ficha: Attibutes
5. Haga clic botn derecho y digite: Cliente
6. Haga doble clic y en Type elija String
7. Proceda a crear los sgts atributos:
a. RazonSocial
(String)
b. Direccin
(String)
c. Telefono (String)
d. E_mail
(String)
e. SujetoCredito
(boolean)
f. TipoCliente (String)
g.
TopeCredito
(long) h.
Saldo
(long)

Proceda con el resto de clases, de acuerdo al formato dado:


FormaPago
Descripcion (string)
NroDias (Integer)
Pedido
Fecha (datetime)
Observacion (String)
DetaPedido
Cantidad (integer)
PrecUnit (long)
AgenteComercial
Nombre (String)

ING. PERCY

TITO

RIVERA

SESION

Pgina 98

UML. SISTEMA DE COMERCIALIZACIN


Direccion (String)
Telefono (String)
Estado (boolean)
Producto
Descripcion (String)
StockAc (integer)
StockMax (integer)
StockMin (integer)
PrecVenta (long)
PrecCompra (long)
Linea
Descripcion (String)
Especificaciones (String)
Documento
Fecha (datetime)
Estado (string)
Detadoc
Cantidad (integer)
Igv (long)
PrecUnit (long)

b. Incorporando Operaciones en el Paquete


Entidades(Artefactos)
CREANDO OPERACIONES: Cliente
1. Ubicarse en el paquete Artefactos (entidades)
2. Haga doble clic sobre el Diagrama de Clases creado
3. Seleccione la clase cliente y haga doble clic
4. Elija la ficha: Operations
5. Haga clic botn derecho y digite: CrearCliente
6. Haga doble clic y en Type elija String
7. Proceda a crear las sgts operaciones
a. ModificarCliente
b.
AnularCliente
c. ConsultarCliente
d. ListarCliente

Proceda con el resto de clases, de acuerdo al formato dado:


FormaPago
CrearFormaPago
ModicarFormaPago
ListarFormaPago
Pedido
Crear

ING. PERCY

TITO

RIVERA

SESION

Pgina 99

UML. SISTEMA DE COMERCIALIZACIN


Modicar
Listar
Anular
ListarAnulados
DetaPedido
Crear
Modicar
Listar
Anular
ListarAnulados
AgenteComercial
Crear
Modicar
Listar
Anular
ListarAnulados
Producto
Crear
Modicar
Listar
Anular
ActualizarPrecios
Linea
Crear
Modicar
Listar
ListarAnulados
Documento
Crear
Modicar
Listar
Anular
ListarAnulados
Detadoc
Crear
Modicar
Listar
Anular

ING. PERCY

TITO

RIVERA

SESION

Pgina 100

UML. SISTEMA DE COMERCIALIZACIN

SESION

09

COMPORTAMIENTO
DE UN OBJETO

ING. PERCY

TITO

RIVERA

SESION

Pgina 101

UML. SISTEMA DE COMERCIALIZACIN

SESION 09:
COMPORTAMIENTO DE UN OBJETO
Luego de haber visto una serie de conceptos asociados a las clases y los diagramas que
nos servirn para modelar las interacciones entre ellas vamos a tratar de encontrar
clases analizando los casos de uso. As mismo una vez identificadas las clases
podremos incluirlas dentro de paquetes de datos, de control y de interfaz.

PLANIFICACIN DE LA CLASE
Veremos los tpicos siguientes:
Explicar la necesidad de Diagramas de Transicin de Estados (DTE)
Entender como encontrar estados
Desarrollar una muestra simple de un DTE
o Estados y Transiciones
o Eventos
o Condiciones de guarda
o Acciones y Actividades
Entender el concepto de estados anidados
Explicar las relaciones entre diagramas de transicin de
de interaccin entre objetos y diagramas de clases.

estados,

diagramas

OBJETOS Y CLASES
Qu es un Diagrama de Transicin de Estados ?
Un diagrama de transicin de estados sirve para mostrar la historia de la vida de una
determinada clase, los eventos que causan la transicin desde un estado a otro, y las
acciones que resultan debido a un cambio de estado.
El espacio de estados de una determinada clase es la enumeracin de todos los posibles
estados de un objeto.
El estado de un objeto es una de las posibles condiciones en que un objeto puede existir
o Este rene todas las propiedades del objeto
Usualmente esttico
o Adems de los valores de cada una de estas propiedades
Usualmente dinmico

ING. PERCY

TITO

RIVERA

SESION

Pgina 102

UML. SISTEMA DE COMERCIALIZACIN

Dibujando Estados
Un estado es representado como un rectngulo redondeado, en un diagrama de transicin de
estado.

Estados y Atributos
Los estados pueden ser distinguidos por los valores de ciertos atributos

Pensemos en que un documento se manteniene Abierto hasta que no se haya pagado en su


totalidad.

Estados y Conexiones
Los estados pueden tambin ser distinguidos por la existencia de ciertas conexiones
Las instancias de la clase Cliente pueden tener dos estados:
o Sujeto Credito, cuando puede pedir al crdito
o En estado Sin Crdito, cuando no puede pedir crdito

Estados Especiales
El estado inicial es el estado del objeto cuando es creado
o Un estado inicial es obligatorio

ING. PERCY

TITO

RIVERA

SESION

Pgina 103

UML. SISTEMA DE COMERCIALIZACIN


o Slo un estado inicial es permitido
o El estado inicial es representado como un crculo relleno
El estado final indica el fin de la vida para el objeto
o Un estado final es opcional
o Puede existir ms de un estado final
o El estado final es indicado por un ojo de toro

Eventos
Un evento es algo que ocurre en un punto en el tiempo y permite la transicin del objeto
a un estado
o El estado de un objeto determina la respuesta a diferentes eventos
Ejemplo:
o Aadir un alumno a un curso
o Crear un nuevo curso

Transicin
Una transicin es un cambio desde un estado primitivo a un estado sucesor como
resultado de ciertos estmulos
o El estado sucesor puede resultar ser el mismo estado primitivo
Una transicin puede ocurrir como respuesta a un evento
Las transiciones pueden ser relacionadas con los eventos

Condiciones de Guarda
Una condicin de guarda es una expresin booleana que permiten una transicin slo si la
condicin es verdadera

ING. PERCY

TITO

RIVERA

SESION

Pgina 104

UML. SISTEMA DE COMERCIALIZACIN

Acciones
Una accin es una operacin que est asociada con una transicin
o Para ser terminada requiere de una cantidad de tiempo insignificante
o Se considera no-interrumpible
Los nombres de las acciones son mostrados en la flecha de transicin

Enviando Eventos
Un evento puede desencadenar el envo de otro evento
o Mostrado como: Clase.evento

Estados Especiales
Existen 2 tipos especiales
o Iniciar: cada diagrama slo debe tener un estado.
o Finalizar: puede tener mltiples estados.

ING. PERCY

TITO

RIVERA

SESION

Pgina 105

UML. SISTEMA DE COMERCIALIZACIN

Esquema de un DTE de los estados de un documento

Actividades
Una actividad es una operacin que requiere tiempo para ser completada
Las actividades son asociadas con un estado
Una actividad
o Comienza cuando se ingresa al estado
o Puede ser ejecutada hasta ser completada o puede ser interrumpida por una
transicin que este ocurriendo

ING. PERCY

TITO

RIVERA

SESION

Pgina 106

UML. SISTEMA DE COMERCIALIZACIN

Esquema Final del Estado de Documento

ING. PERCY

TITO

RIVERA

SESION

Pgina 107

UML. SISTEMA DE COMERCIALIZACIN

Lab 9:
Objetos

Comportamiento

de

los

Objetivos

Conocer como objeto puede comportarse.


Preparar un Diagrama de Transicin de Estados (DTE)

Ejercicio 01
g. Conociendo la Barra de Herramientas del DTE

h. Creando un DTE
CREANDO UN DIAGRAMA TRANSICIN DE ESTADOS
1. En el Browser seleccione la clase Documento (sino existe crearla)
2. Clic botn derecho: New StateChart Diagram, con lo que se
incorporar un DTD
3. Ponerle el nombre de: EstadosdelDocumento, presione <Enter>
4. Haga doble clic sobre el Diagrama incorporado.

i. Creando Estados
CREANDO ESTADOS: Cliente - Pedido
11. De la barra de herramientas seleccione el cono: Estado
12. Haga clic dentro del diagrama y digite: Creacin
13. Proceda de la misma manera e incorpore los sgts estados:
a.
PendientePago b.
ING. RICARDO MENDOZA RIVERA
SESION Pgina 108
Cancelado

c.
ado

Anul

UML. SISTEMA DE COMERCIALIZACIN

d. Creando Transiciones
CREANDO TRANSICIONES DE ESTADO
3. Seleccione el cono: StateTansition
4. Haga clic en el estado: Creado y arrastre hacia Abierto
5. Digite agregarPago
Proceda a crear los sgtes estados:
Abierto a Cancelado:

DocumentoCancelado

Abierto a Anulado : DocumentoAnulado


Creado a Anulado : DocumentoAnulado
Abierto a Abierto : Seleccione cono AutoTransicin: AgregarPago

j. Incorpore los Estados Inicial y Final


Trate de llega al esquema sgte:

k. Incorporando Condiciones
CREANDO CONDICIONES
1. Seleccione la transicin entre: abierto y cancelado y haga doble
clic
2. Ubicarse en la ficha: Detail
3. Y escriba la sgte expresin. Observe el sgte grfico

ING. PERCY

TITO

RIVERA

SESION

Pgina 109

UML. SISTEMA DE COMERCIALIZACIN

Efecto final del DTE: estados de un documento de venta

ING. PERCY

TITO

RIVERA

SESION

Pgina 110

UML. SISTEMA DE COMERCIALIZACIN

l. Creando Actividades
CREANDO ACTIVIDADES; ENTRY ACTIONS, EVENT
1. Seleccione el Estado Abierto, haga doble clic
2. Elija la ficha Actions
3. Haga clic bot derecho, elija Insert
4. Haga doble clic sobre: Entry
5. En Type: asegurarse de eligir: Action
6. En name digite: Detaliquidacion.AgregarPago
7. Pulse Ok
8. Nuevamente clic botn derecho: Insert
9. Haga doble clic sobre: Entry
10. En When elija: On Event
11. Event digite: ValidarCancelacin
12. En Type: asegurarse de eligir: Action
13. Pulse OK
Incluya las actividades y trate de llegar al sgte esquema:

ING. PERCY

TITO

RIVERA

SESION

Pgina 111

UML. SISTEMA DE COMERCIALIZACIN

Lab 10: Preparando el Diagrama de


Componentes
Objetivos

Identificar componentes de un sistema


Preparar un Diagrama de Componentes

Ejercicio 01. Preparando los Paquetes respectivos


Ubicarse sobre la vista de Componentes
Clic botn derecho, New Package
Ingrese el nombre de : Interfaz
Proceda de la misma manera para crear los paquetes:
Control
Entidades

Ejercicio 02 . Incoporando componentes:


Paquete Interfaz
o Clic botn derecho.
o Clic botn derecho.
o Clic botn derecho.
o Clic botn derecho.

New
New
New
New

Component: cPrincipal
Component: cInterfazPedidos
Component: cInterfazVentas
Diagram Component: Principal

Paquete Control
o Clic botn derecho. New Component: cControlPedidos
o Clic botn derecho. New Component: cControlAlmacen
o Clic botn derecho. New Diagram Component: Principal
Paquete Entidad
o Clic botn derecho. New Component: cDatos
o Clic botn derecho. New Diagram Component: Principal

Ejercicio 03. Definiendo StereoTipos:


Interfaz (EXE)
Control (DLL)
Entidades (Base de Datos)

ING. PERCY

TITO

RIVERA

SESION

Pgina 112

UML. SISTEMA DE COMERCIALIZACIN

Ejercicio 04. Prepare el Diagrama Principal de Componentes


En la vista de Componentes
Clic botn derecho: New Component: Vista de Componentes e incorpore los paquetes
creados

Ejercicio 05. Prepare el Diagrama Componentes del Sistema


Clic botn derecho: New Component: ComponentesSistema
Incorpore todos los componentes del sistema, tal como se muestra a continuacin

ING. PERCY

TITO

RIVERA

SESION

Pgina 113

UML. SISTEMA DE COMERCIALIZACIN

Bibliografa
Booch, Jacobson, Rumbaugh, The Rational Unified Process, ADDISON-WESLEY, 2000
Booch, Jacobson, Rumbaugh, El proceso de desarrollo unificado, ADDISON-WESLEY, 2000
Rational HistaPer. Curso de RUP

UML Enero 2001

Steve McConnel, "Desarrollo y Gestin de Proyectos Informticos", Mc Graw Hill,


1997

Espaa

Terry Quatrani , Visual Modeling with Rational Rose 2000 and UML , ADDISON-WESLEY,
2001
Wendy Boogs, Michael Boggs, Mastering UML with Rational Rose 2002 , SYBEX - 2002

ING. PERCY

TITO

RIVERA

SESION

Pgina 114

Anda mungkin juga menyukai