View
227
Download
0
Category
Preview:
Citation preview
7/31/2019 UML - General
1/107
7/31/2019 UML - General
2/107
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 deuna 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 antesde que se completen. Otros resultados indican que 52.7% de los proyectos costarn 189% de laestimacin original. El costo de estas fallas y excesos son slo la punta del iceberg. Los costos deoportunidades 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 enla produccin de software confiable para manejar equpaje en el nuevo aeropuerto le estcostando a la ciudad US$1.1 millones al da.Basado en esta investigacin, The Standish Group estiman que en 1995 compaas y agencias degobierno de EE.UU. gastarn US$81 billones en proyectos de software cancelados. Y otros US$59billones 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 hizoestimaciones 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 noobtenemos 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 susoperaciones.... Gerentes Nacionales
.
ING. RICARDO MENDOZA RIVERA SESION Pgina 2
http://www.standishgroup.com/chaos.htmlhttp://www.standishgroup.com/chaos.html7/31/2019 UML - General
3/107
UML. SISTEMA DE COMERCIALIZACIN
SESI ON 0 1
I NTRODUCCI N AL UML
ING. RICARDO MENDOZA RIVERA SESION Pgina 3
7/31/2019 UML - General
4/107
UML. SISTEMA DE COMERCIALIZACIN
SESI ON 01 : I NTRODUCCI N AL UML
Debido a la creciente demanda de la incorporacin del UML como lenguajeestandar de modelado en los procesos de construccin de los sistema, surge la necesidadde conocer, dominar y saber aplicar los distintos diagramas que los conforman. Acontinuacin revisaremos algunos conceptos sobre el xito en un proyecto, suscomponentes, RUP y los diagramas que conforman UML
PLANIFICACIN DE LA CLASE
Veremos los tpicos siguientes:Tringulo del xito
Rational Unified ProcessUnified Modeling LanguageBreve Descripcin de los diagramas
El Triangulo del xito de un Proyecto
ING. RICARDO MENDOZA RIVERA SESION Pgina 4
7/31/2019 UML - General
5/107
UML. SISTEMA DE COMERCIALIZACIN
Rational Unified Process (RUP)
RUP es un proceso de Ingeniera de Software. Proporciona una disciplina asignandotareas 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 travsde Internet.
RUP ha capturado mucha de las mejores practicas modernas de desarrollo de softwarede una forma que puede ser usada en distintos proyectos y organizaciones, en particular cubrelas 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 losartefactos de un sistema que involucra una gran cantidad de software, desdeuna perspectiva Orientada a Objetos.
Por qu Modelar ?
El modelo es una simplificacin de la realidadEl modelo es la parte central que conducen a la produccin de Software deCalidad
Construimos modelos para comprender mejor el sistema que estamos modelando
ING. RICARDO MENDOZA RIVERA SESION Pgina 5
7/31/2019 UML - General
6/107
UML. SISTEMA DE COMERCIALIZACIN
Utilidades del modelo:o Visualizar cmo es que queremos que sea el sistemao Especificar la estructura y comportamiento del sistemao Proporcionan plantillas que guan la construccin del sistemao Documentar decisioneso Facilita la comunicacin entre el equipo al existir un lenguaje comn
Utilidad de UMLPermite 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 inversaPermite documentar todos los artefactos de un proceso de desarrollo (requisitos,
arquitectura, pruebas, versiones,..)
Entradas a UML
Evolucin de UML
ING. RICARDO MENDOZA RIVERA SESION Pgina 6
7/31/2019 UML - General
7/107
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 SecuenciaDiagrama Colaboracin* Diagramas de Estados Diagramas de Componentes Diagramas de Despliegue
Diagramas de Casos de Uso del NegocioSon usados para representar la funcionalidad de la organizacin como una unidad. Responde alas preguntas:
Qu hace la organizacin ?Por qu construir el Sistema ?
Son usados durante las actividades del modelamiento del negocio como contexto del sistema yformar un fundamento para la creacin de los casos de uso y son graficados desde la perpectivade la organizacin, no diferencian entre procesos manuales y automatizados 1 (a diferencia delos 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 2002
ING. RICARDO MENDOZA RIVERA SESION Pgina 7
7/31/2019 UML - General
8/107
UML. SISTEMA DE COMERCIALIZACIN
Est construyendo un software que ser usado en una parte significativa de laorganizacin.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 dela 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 ActividadLos diagramas de actividad ilustran el flujo de la funcionalidad en un sistema. Ellos podran serusados en el modelamiento del negocio para visualizar un flujo de trabajo del negocio, as comoser 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 flujoslargos y complejos.
Diagramas de SecuenciaCorresponde a la categora de diagramas de Iteracin y muestra el flujo funcional dentro de uncaso de uso. Estos flujos se encuentran ordenados en el tiempo. Permite conocer los objetos yclases involucrados en un determinado escenario y la secuencia de mensajes intercambiadosentre los objetos necesarios para conocer su funcionalidad.Por ejemplo, el caso de uso Registrar Liquidaciones tiene una serie de posible secuencias para elescenario de crear una Hoja de Liquidacin
Diagramas de ColaboracinUn diagrama de colaboracin es otra alternativa para mostrar un escenario. A diferencia delDiagrama de Secuencias, este tipo de diagrama de secuencia muestra las iteraciones organizadasa travs de los objetos y sus asociaciones con otros.
Diagramas de EstadosLos 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 elcomportamiento interno de un objeto. Un diagrama de estados muestra los estados de un objetolos eventos y mensajes que causan la transicin desde un estado a otro y las acciones comoresultado de los cambios de estado.
Diagramas de ClasesMuestra interaciones entre las clases en un sistema. Identifica los roles comunes y lasresponsabilidades de las entidades que proporcionan el comportamiento del sistema.
ING. RICARDO MENDOZA RIVERA SESION Pgina 8
7/31/2019 UML - General
9/107
UML. SISTEMA DE COMERCIALIZACIN
Diagrama de ObjetosMuestra un conjunto de objetos y sus relaciones. Representa instancias de las cosas halladas enun diagrama de clases. Estos diagramas direccionan la vista esttica del sistema y sonimportantes porque muestran la organizacin y modelamiento del comportamiento del sistema.
Diagramas de ComponentesUn diagrama de componentes muestra una vista fsica del modelo, muestra los componentesdel software en el sistema y las relaciones entre ellos.
Diagramas de DespliegueLos diagramas de despliegue muestran el entorno fsico de una red y donde residirn los distintoscomponentes del sistema.
A continuacin veremos en detalle cada uno de los diagramas aplicado a un Sistema deComercializacin
ING. RICARDO MENDOZA RIVERA SESION Pgina 9
7/31/2019 UML - General
10/107
UML. SISTEMA DE COMERCIALIZACIN
Lab 01: Introduccin
Objetivos
Conocer los modos de autenticacin que administra SQL ServerImplementar Roles de ServidorImplementar Roles de Base de DatosAdministrar Permisos
Ejercicio 01 Conociendo RUP
1. Cargar Rational Enterprise Editon2. Seleccione Rational UnifiedProcess
3. Veamos una descripcin de la interfaz principal de Rational Rose
ING. RICARDO MENDOZA RIVERA SESION Pgina 10
7/31/2019 UML - General
11/107
UML. SISTEMA DE COMERCIALIZACIN
Ejercicio 02. Representacin de las Vistas en Rational Rose
ING. RICARDO MENDOZA RIVERA SESION Pgina 11
7/31/2019 UML - General
12/107
UML. SISTEMA DE COMERCIALIZACIN
SESI ON 0 2
COMPORTAMI ENTO DEL SI STEMA
ING. RICARDO MENDOZA RIVERA SESION Pgina 12
7/31/2019 UML - General
13/107
UML. SISTEMA DE COMERCIALIZACIN
SESI ON 0 2 : COMPORTAMI ENTO DEL SI STEMA
Uno de las primeras etapas en la construccin del Software constituye endeterminar el comportamiento del sistema, e identificar los requerimientos funcionalesdel sistema a desarrollar. Para ello utilizaremos los diagramas de casos de uso ydiagramas de actividad
Veremos los tpicos siguientes:Comportamiento del Sistema
Casos de UsoDiagramas de Casos de Uso
Comportamiento del Sistema
El comportamiento de un Sistema es cmo acta y reacciona. Constituye la funcionalidad delsistema.
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. RICARDO MENDOZA RIVERA SESION Pgina 13
7/31/2019 UML - General
14/107
UML. SISTEMA DE COMERCIALIZACIN
Actor: representan cualquier cosa queinteracta con el sistema.
Caso de Uso: secuencia de accionesque un sistema realiza y que produce unresultado observable de valor.
Qu es un modelo de casos de Uso ?
Un modelo de caso de uso es un modelo de las funciones previstas del sistema (casosde 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 funcionesy 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 dominioProporciona credibilidad en una etapa inicial del desarrollo del sistema
Asegura una comprensin mutua de los requisitosEs usado para identificar
Quin interactuar con el sistema y qu deber hacer el sistemaQu interfaz deber tener el sistema
Es usado para verificar que:Se capturan todos los requisitos
Que los desarrolladores hayan entendido los requisitos
ING. RICARDO MENDOZA RIVERA SESION Pgina 14
7/31/2019 UML - General
15/107
UML. SISTEMA DE COMERCIALIZACIN
Actor
Los actores no son parte del sistema,
ellos representan roles que un usuariodel sistema puede desempearUn actor puede intercambiar
activamente la informacin con elsistema
Un actor puede ser un recipientepasivo de la informacin
Un actor puede representar a unhumano una m uina u otro sistema
Encontrando Actores Qu constituye un buen Actor ?Esta identificacin debe realizarse de una manera iterativa. Proponer una lista inicial, en base alas siguientes preguntas
Quin est interesado en cierto requisito?El Supervisor de Comercializacin deseaba obtener un conocimiento de los niveles de morosidad de losclientes por zona y por vendedorEl Asistente Comercial quera tener un control de los Pedidos que los cliente hacan y que el sistema lepermita 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 ydefinir 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 ylas cobranzas realizadas al Departamento comercialpara el control respectivo.
Quin utilizar esta funcin?Quin realizar la funcin de cobranzas a los clientes? ->VendedorQuin registrar en el sistema la informacin de pedidos? ->Asistente ComercialQuines 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 BDQuines 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. RICARDO MENDOZA RIVERA SESION Pgina 15
7/31/2019 UML - General
16/107
UML. SISTEMA DE COMERCIALIZACIN
Algunos Actores encontrados para el Sistema Comercial
Agentes Comerciales : informan sobre los pedidos y liquidaciones de los clientesClientes realizan : pedidos, realizan gestin para crditosSupervisor Comercial : necesita informacin de morosidadProveedores : proveen de productos a empresaSUNAT : brinda informacin tributaria del cliente
Asistente Comercial : controla y registra pedidos, emite documentos de pagoGerencia General : actualiza polticas de precios, comisiones a los AgentesComerciales
Almacenero : prepara mercadera a fin de ser distribuda.Contabilidad : necesita informacin de Registro de Ventas y Compras delsistema.
Caso de Uso
Un caso de uso modela un dilogo entre losactores y el sistemaUn caso de uso puede ser iniciado por un actorpara invocar una cierta funcionalidad en elsistemaUn caso de uso es un flujo de eventos completosy significativosTomados al mismo tiempo, todos los casos de
uso constituyen todas las formas posibles deutilizar el sistemaDebe generar un valor para el actor
ING. RICARDO MENDOZA RIVERA SESION Pgina 16
7/31/2019 UML - General
17/107
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 pedidoshallan sido ejecutados al crdito.
Al AsistenteComercial controlar adecuadamente los estados de cuenta de los clientes y lasoperaciones de los AgentesComerciales.
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 - entrevistasLiteratura relevante del dominioEntrevistas con expertos del dominioConocimiento personal del dominioSistema heredadosManual de funcionesDocumentacin de entrada y salida
Algunos Casos de Uso encontrados para el Sistema Comercial
Preparar PedidoRegistrar PedidoConsultarDocumentos
Verificar Datos del ClienteActualizar Datos del ProductoGenerar Documentos de VentaReportar Pedidos
Actualizar Precios de ProductosActualizar tipos de clientesActualizar datos de proveedoresActualizar comisiones por lnea de producto
Flujo de Eventos para un Caso de UsoConstituye una descripcin de los eventos necesarios para cumplir el comportamiento requeridodel 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. RICARDO MENDOZA RIVERA SESION Pgina 17
7/31/2019 UML - General
18/107
UML. SISTEMA DE COMERCIALIZACIN
La secuencia normal de eventosLa 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 Caso UsoX.1 PrecondicionesX.2 Flujo principalX.3 Sub-Flujos (opcionales)X.4 Flujos AlternativosX.5 Postcondiciones
Diagrama de Casos de Uso
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 aspectosdinmicos del sistema (Adems de los diagramas de actividad, diagramas de estado, diagramasde secuencia y diagramas de colaboracin)2
:Casos de uso.
Actores.Relaciones de dependencia, generalizacin y asociacin.
Veamos un diagrama de Casos de uso
2 [Booch, Rambaugh, Jacobson 94] The Unified Modeling Language User Guide
ING. RICARDO MENDOZA RIVERA SESION Pgina 18
7/31/2019 UML - General
19/107
UML. SISTEMA DE COMERCIALIZACIN
Modelar el Contexto del Sistema:Identificar los actores del ambiente del sistemaOrganizar actores que son similares a otros usando generalizacin.Proporcionar, de ser necesario, esterotipos3 para cada actor.
Modelar los requerimientos del sistema
La relacin normal entre un Actor y un caso de uso est definida por una asociacin delesterotipo el cual se acostumbra a no incluirlo, ya que constituye unarelacin natural, veamos el grfico sgte
RegistrarPedidoAsistenteCom ercia
Equivalente
RegistrarPedidoAsistenteComercial
Cmo debe ser el sentido de las flechasUna asociacin puede navegar en 2 direcciones (actor hacia caso de uso y caso de uso haciaactor) o podra navegar en una sola direccin (actor hacia caso de uso o caso de uso haciaactor). 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 casosde 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 relacininclude es dibujado como una dependencia desde el caso de uso base hacia el caso de usousado. Esta relacin implica obligatoriedad.
Por ejemplo: imaginemos el caso de uso Registrar Pedido (caso de uso base) incorpora elcomportamiento del caso de uso Generar Documento.
3 EstereoTipo: extienden el vocabulario de UML, representa la subclasificacin de un elemento del modelo. Puedencrearse otros. Se denotan con 4Visual Modeling with Rational Rose 2000 and UML. Terry Quatrani- 2001
ING. RICARDO MENDOZA RIVERA SESION Pgina 19
7/31/2019 UML - General
20/107
UML. SISTEMA DE COMERCIALIZACIN
Cada vez que registra un Pedido en el sistema este deber de generar documentos sobre loscuales se manejarn las factura o boletas de pago, a partir de los mismos se harn seguimientode los pagos. Este caso de uso implica una relacin ya que Registrar Pedidoadquiere todo el comportamiento de GenerarDocumentos.
Una relacin Extend entre casos de uso significa que el caso de uso base incorpora elimplcitamente el comportamiento de otro caso de uso en una instancia especfica. Es usadapara mostrar:
Comportamiento opcionalComportamiento que es ejecutado bajo ciertas condiciones como un disparador o alarmaDiferentes flujos que pueden ejecutarse bajo una eleccin del actor.
Presentamos un resumen de las relaciones en los casos de uso
Se pueden elegir una clase genrica de actores como Cliente y especializarlas como: ClienteFijoy ClienteTemporal. Esto se denomina Generalizacin.Para el caso ha desarrollar los clientesFijos son aquellos que estn sujetos de crdito y tienenprecios preferenciales. Un cliente normalmente cuando compra por primera vez es un ClienteTemporal, luego bajo ciertas requisitos el SupervisorComercial puede cambiarle de tipo.
ING. RICARDO MENDOZA RIVERA SESION Pgina 20
7/31/2019 UML - General
21/107
UML. SISTEMA DE COMERCIALIZACIN
Lab 02: Creando Diagramas de Casos
de Uso.
Objetivos
Conocer los modos de autenticacin que administra SQL ServerImplementar Roles de ServidorImplementar Roles de Base de DatosAdministrar Permisos
Ejercicio 01.
Identificando Posibles ActoresDe acuerdo al caso planteado se pueden distinguir los siguientes actores:
1. AgentComercial2. Asistente Comercial3. SupervisorComercial4. Almacenero5. AuxiliarContable6. Clientes7. Gerente
Ejercicio 02.
Identificando Posibles Casos de Uso
1. RegistrarPedido2. AdministrarCliente3. AdministrarCreditos4. ConsultarDocumentos5. GenerarDocumentos6. AdministrarDatosProducto7. ReportarKardexProducto
8. RealizarTomaInventario9. ActualizarPrecios10. RegistrarCobranzas11. EmitirEstadoCuentaCliente12. GenerarDevolucionesNC13. GenerarRegistroCompraVenta14. ImprimirDocumento
ING. RICARDO MENDOZA RIVERA SESION Pgina 21
7/31/2019 UML - General
22/107
UML. SISTEMA DE COMERCIALIZACIN
Ejercicio 03.
Creando Actores en Rational
1. Cargar el archivo de la prcticaanterior.
2. Desde el Browser ubicarse en la vista de casos de uso (Use CaseView), Ver Fig. 1
3. Hacer cbd (clic botn derecho) New Actor4. En el Browser se incorporar un nuevo actor: digitar el nombre
del actor.
Aadir una breve descripcin para cada actor en el modelo. La descripcin debe identificar el rolque al actor juega cuando interacta con el sistema.
Para realizar la descripcin de cada actor proceda de la siguiente manera:
DOCUMENTANDO ACTORES EN RATIONAL ROSE1. En el Browser, seleccionar el actor respectivo2. Ubicarse en la ventana de documentacin, ver Fig. 2. Si esta
ventana no aparece activa ubicar en el men View , activarDocumentation
ING. RICARDO MENDOZA RIVERA SESION Pgina 22
7/31/2019 UML - General
23/107
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 ROSE1. En el archivo .2. Desde el Browser ubicarse en la vista de casos de uso (Use Case
View), Ver Fig. 13. Hacer cbd (clic botn derecho) New Use Case4. 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 usoEs recomendable que cada caso de uso se documente al momento de su creacin. Una brevedescripcin que explique brevemente lo que realiza el caso de uso puede servir comodocumentacin. Por ejemplo para el caso de uso RegistrarPedidos
El caso de uso es iniciado por el Asistente Comercial cuando desea realizartransacciones 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 respectivo2. Ubicarse en la ventana de documentacin, ver Fig. 2. Si estaventana no aparece activa ubicar en el men View , activarDocumentation
ING. RICARDO MENDOZA RIVERA SESION Pgina 23
7/31/2019 UML - General
24/107
UML. SISTEMA DE COMERCIALIZACIN
Una muestra quedara de esta manera:
Ejercicio 05.
Estableciendo Flujo de Eventos para el caso de uso RegistrarPedidos
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
ING. RICARDO MENDOZA RIVERA SESION Pgina 24
LIGANDO EL DOCUMENTO DE FLUJO DE EVENTOS AL RATIONAL ROSE1. Ubicarse en el caso de Uso RegistarPedido2. cbd: New - File3. Ubique el archivo deseado. Clic Open
7/31/2019 UML - General
25/107
UML. SISTEMA DE COMERCIALIZACIN
Ejercicio 07
Preparando el Diagrama de Casos de Usoa. Administracin de Pedidos
CREANDO EL DIAGRAMA DE CASOS DE USO PARA REGISTRO DE PEDIDOS1. Ubicarse en la vista de casos de uso2. Haga cbd elija : New Use Case Diagram3. Digite: Administrar Pedidos4. Incluya los casos de uso sgtes:
a. AdministrarClienteb. ConsultarPedidosc. ReportarPedidos
d. GenerarDocumentose. RegistrarPedidosf. AdministrarDatosProducto
5. Incluya los Actoresa. AgenteComercialb. AsistenteComercialc. Almacenerod. SupervisorComercial
Para incluir las asociaciones lo haremos con el cono Asociacin Unidireccional, que lo podemos
ver a continuacin,
ING. RICARDO MENDOZA RIVERA SESION Pgina 25
7/31/2019 UML - General
26/107
UML. SISTEMA DE COMERCIALIZACIN
CREANDO ASOCIACIONES 1. Ubicarse en el Diagrama de Casos de Uso Administrar Pedidos.2. Haga clic en el cono de Asociacin Unidireccional3. Haga clic en al Actor Cliente y arrastre hasta el caso de uso Preparar
Pedido4. Realice las sgts asociaciones repitiendo el paso 2 y el paso 3 para las
siguientes actores y casos de uso
ACTOR CASO DE USOAgente Comercial RegistrarPedidoSupervisorComercial ConsultarPedidos
AsistenteComercial ConsultarPedidosAsistenteComercial GenerarDocumentosAlmacenero AdministrarProductos
CREANDO RELACIONES 1. Ubicarse en el Diagrama de Casos de Uso Administrar Pedidos.2. Haga clic en el cono de Asociacin Unidireccional3. Haga clic en el caso de uso RegistrarPedidos y arrastre hacia el caso de
uso GenerarDocumentos4. Haga doble clic sobre la lnea de asociacin unidireccional creada, con lo
que aparecer la sgte interfaz
5. En StereoType elija : include6. Clic ok
CREANDO RELACIONES
1. Ubicarse en el Diagrama de Casos de Uso Administrar Pedidos.2. Haga clic en el cono de Asociacin Unidireccional3. Haga clic en el caso de uso RegistrarPedidos y arrastre hacia el caso de
uso ConsultarDocumento4. Haga doble clic sobre la lnea de asociacin unidireccional creada,5. En StereoType elija : extend5. Clic ok6. Realice un entre RegistrarPedido y AdministrarProducto
ING. RICARDO MENDOZA RIVERA SESION Pgina 26
7/31/2019 UML - General
27/107
UML. SISTEMA DE COMERCIALIZACIN
b. Contine con el resto de los diagramas de caso propuestos.
Diagrama: Administrar Productos
Diagrama: Administrar Liquidaciones
ING. RICARDO MENDOZA RIVERA SESION Pgina 27
7/31/2019 UML - General
28/107
UML. SISTEMA DE COMERCIALIZACIN
Diagrama: Administrar Documentos
ING. RICARDO MENDOZA RIVERA SESION Pgina 28
7/31/2019 UML - General
29/107
UML. SISTEMA DE COMERCIALIZACIN
Diag. Administrar Clientes
ING. RICARDO MENDOZA RIVERA SESION Pgina 29
7/31/2019 UML - General
30/107
UML. SISTEMA DE COMERCIALIZACIN
SESI ON 0 3
DI AGRAMAS DE ACTI VI DAD
ING. RICARDO MENDOZA RIVERA SESION Pgina 30
7/31/2019 UML - General
31/107
UML. SISTEMA DE COMERCIALIZACIN
SESI ON 03 : DI AGRAMAS DE ACTI VI DAD
Cada que se necesite modelar el flujo de trabajo de las actividades de unadeterminada funcin podemos recurrir a los diagramas de actividad. Estos permitevisualizar el flujo de uno o ms casos de uso.
Veremos los tpicos siguientes:Diagramas de ActividadContenido de un Diagrama de ActividadEjemplos de un diagrama de actividad
Diagrama de Actividad
Un diagrama de actividad permite modelar la parte dinmica del sistema. Son flujos querepresentan el flujo de trabajo del sistema, esto es: ellos muestran el flujo de control desde unaactividad a otra actividad en el sistema, qu actividades pueden ser hechas en paralelo, ycualquier ruta alternativa a travs del flujo. As como el flujo de un objeto que se mueve de unestado 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 usoen particular.
Veamos los smbolos utilizados en UML:
Estados Actividad y Estados AccinTransicionesObjetos
ING. RICARDO MENDOZA RIVERA SESION Pgina 31
7/31/2019 UML - General
32/107
UML. SISTEMA DE COMERCIALIZACIN
Swimlines
Estados Actividad y Estados Accin
Un Estado de Actividad permite la representacin de una o varias operaciones que originan uncambio en el sistema. Se dice que no son atmicas por lo que pueden ser descompuestas ynormalmente pueden demandar un tiempo para ser completadas.
Un Estado Accin constituye una actividad que no puede descomponerse ms. Se dice que sonatmicas y por lo que trabajo de un estado accin no puede ser interrumpido.
TransicionesSon usados para pasar al flujo de control al siguiente estado o actividad una vez completados Lastransiciones muestran la ruta desde una accin o actividad a la siguiente accin o actividad
Efectuar Pedido
Registrar
Pedido
Transicin
DecisionesRepresentan rutas alternativas basadas en una condicin o expresin Booleana. Se recomiendaincluir la palabra 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:
As si un cliente solicita comprar al crdito y tuviera capacidad de crdito con la empresa, seprocede a: Anotar Pedido,Sino (else) el pedido finaliza o se replantea las items pedidos en Efectuar Pedido
Of receProducto Ef ectuar Pedido
Evaluar
Condiciones
Reune c ondic iones
para venta ?
Anotar Pedido
ING. RICARDO MENDOZA RIVERA SESION Pgina 32
7/31/2019 UML - General
33/107
UML. SISTEMA DE COMERCIALIZACIN
Barras SincronizadasEn un flujo de trabajo normalmente existen algunas actividades que pueden ejecutarseparalelamente. Las barras de sincronizacin le permiten especificar que actividadespueden hacerse concurrentemente.
Las barras de sincronizacin son usadas tambin para mostrar uniones entere flujo detrabajos, esto es, que actividades deben completarse antes de realizar procesossiguientes.
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
RecepcionarPedido
Entregar Copiade Pedido
ING. RICARDO MENDOZA RIVERA SESION Pgina 33
7/31/2019 UML - General
34/107
UML. SISTEMA DE COMERCIALIZACIN
SwimlinesSon usados para particionar un diagrama de actividades.Normalmente se usan para mostrar qu persona o unidad organizativa es responsable delas actividades contenidas en el Swimline.
Veamos el sgte ejemplo de un Diagrama de Actividades para Capturar Pedidos, donde sedividen las actividades en 3 swimlines
ING. RICARDO MENDOZA RIVERA SESION Pgina 34
7/31/2019 UML - General
35/107
UML. SISTEMA DE COMERCIALIZACIN
Lab 03: Creando Diagramas de
Actividad
Objetivos
Conocer los modos de autenticacin que administra SQL ServerImplementar Roles de ServidorImplementar Roles de Base de DatosAdministrar Permisos
Ejercicio 01.
a. Reconociendo la Barra de Herramienta para Crear Un DiagActividad
ING. RICARDO MENDOZA RIVERA SESION Pgina 35
7/31/2019 UML - General
36/107
UML. SISTEMA DE COMERCIALIZACIN
b. Creando el Diagrama de Actividad
CREANDO EL DIAGRAMA DE ACTIVIDAD PARA REGISTRO DE PEDIDOS1. Ubicarse en la vista de casos de uso del Browser
2. Haga cbd elija : New Activity Diagram3. Digite: Atender Pedidos
CREANDO SWIMLINES1. En el Diagrama RegistrarPedido2. Haga clic en SwimLine, clic en el Diagrama y escriba: AreaComercial3. Haga clic en SwimLine, clic en el Diagrama y escriba: AgenteComercial4. Haga clic en SwimLine, clic en el Diagrama y escriba: Almacen-Reparto5. Haga clic en SwimLine, clic en el Diagrama y escriba: Cliente
CREANDO ACTIVIDADES1. Haga clic en Activity de la Barra de Herramientas, luego clic dentro
de AreaComercial, digite Recepcionar Docum Pedido2. Repita paso 1, e incluya las sgts actividades
a. Digitar Condiciones Ventab. Digiter Itemsc. Grabar Pedidod. Generar Docum Ventae. Imprimir Docum Venta
3. Haga clic en Activity de la Barra de Herramientas, luego clic dentrode AgenteComercial digite: Dar Conformidad Pedido
4. Repita paso 3, e incluya las sgts actividadesa. Rechazar Pedido
5. Haga clic en Activity de la Barra de Herramientas, luego clic dentro
de Almacn-Reparto, digite: ActualizarStock6. Repita paso 5, e incluya las sgts actividadesa. Preparar Items Pedidob. Transportar Pedido y Docum
7. Haga clic en Activity de la Barra de Herramientas, luego clic dentrode Cliente, digite: Recepcionar Pedido-Docum
ING. RICARDO MENDOZA RIVERA SESION Pgina 36
CREANDO TRANSICIONES1. De la barra de herramientas seleccione: State Transiction2. Clic en la actividad origen, luego arrastre hacia la actividad deseada3. Trate de llegar al sgte diagrama
7/31/2019 UML - General
37/107
UML. SISTEMA DE COMERCIALIZACIN
ING. RICARDO MENDOZA RIVERA SESION Pgina 37
7/31/2019 UML - General
38/107
UML. SISTEMA DE COMERCIALIZACIN
CREANDO PUNTOS DE DECISION1. De la barra de herramientas seleccione: Decision2. Clic en el swimline deseado y digite el texto respectivo3. Trate de llegar al sgte diagrama:
4. Para la palabra [No] inclyalo con un TextBox desde la barra deherramientas
ING. RICARDO MENDOZA RIVERA SESION Pgina 38
7/31/2019 UML - General
39/107
UML. SISTEMA DE COMERCIALIZACIN
CREANDO BARRAS DE SINCRONIZACION1. De la barra de herramientas seleccione: Horizontal Sincronization2. Clic en el swimline deseado3. Trate de llegar al sgte diagrama incluyendo las transiciones respectivas4. Para lograr una barra ms amplia ubicarse sobre la barra y arrastre
hasta el tamao deseado.
ING. RICARDO MENDOZA RIVERA SESION Pgina 39
7/31/2019 UML - General
40/107
UML. SISTEMA DE COMERCIALIZACIN
CREANDO ACTIVIDADES DE INICIO Y FIN1. De la barra de herramientas seleccione: Start State o EndState, segn
necesite2. Clic en el swimline deseado3. Trate de llegar al sgte diagrama incluyendo las transiciones respectivas
ING. RICARDO MENDOZA RIVERA SESION Pgina 40
7/31/2019 UML - General
41/107
UML. SISTEMA DE COMERCIALIZACIN
SESI ON 0 4
OBJETOS Y CLASES
ING. RICARDO MENDOZA RIVERA SESION Pgina 41
7/31/2019 UML - General
42/107
UML. SISTEMA DE COMERCIALIZACIN
SESI ON 0 4 : OBJETOS Y CLASES
Una de las etapas ms importantes y posiblemente ms trabajosas es determinarlas clases que soportarn el comportamiento del sistema. Para ello existen una serie deformas de poder identificar las clases, como veremos ms adelante. En esta sesinconoceremos los estereotipos ms comunes de las clases que permitirn ser usados enlos diagrama de iteracin y de clases respectivos
Veremos los tpicos siguientes:Definicin de objeto y clase
Abstraccin y ejemplos de claseNombrando a una claseClases en UML
Stereotipos de clases.
OBJETOS Y CLASES
Qu es un ObjetoUn objeto es una representacin de una entidad del mundo real o conceptual. Un objeto puederepresentar algo concreto como:
El carro de Jorge
Una comptadoraUn concepto como un proceso qumicoUna transaccin bancariaUna orden de pedidoUna tasa de intersUna cuenta corriente de una determinado cliente
Estado, Comportamiento e Identidad
ING. RICARDO MENDOZA RIVERA SESION Pgina 42
7/31/2019 UML - General
43/107
UML. SISTEMA DE COMERCIALIZACIN
Estado de un ObjetoEl Estado de un objeto es uno de las posibles condiciones en que el objeto puede existirEl estado normalmente cambia en el transcurso del tiempoEl estado es implementado por un conjunto de propiedades, llamadas atributos -que
normalmente son estticos-, con los valores de las propiedades que normalmente sondinmicos- , adems de las conexiones que deben tener con otros objetosPor ejemplo el objeto cliente puede manejar 2 estados: Activo o Inactivo. Cuando deseamosrealizar una transaccin de venta slo lo podremos hacer con los clientes que tienen estadoactivo.
ING. RICARDO MENDOZA RIVERA SESION Pgina 43
7/31/2019 UML - General
44/107
UML. SISTEMA DE COMERCIALIZACIN
Comportamiento de un ObjetoEl comportamiento de un objeto determina cmo ste acta y reacciona frente a laspeticiones de otros objetosEl 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 sedesea registrar un pedido, este puede tener un comportamiento para crearlo, modificarlo oeliminarlo
Identidad de un Objeto
Cada objeto tiene una identidad nica, incluso si su estado es idntico al de otro objetoPor ejemplo el pedido 000900 corresponde al AgenteComercial J.Clark, el pedido 000901 al
AgenteComercial J.Clark y el pedido 000999 al AgenteComercial J.ClarkEn UML, los objetos son representados por rectngulos y el nombre del objeto es subrayado,como se muestra a continuacin.
Qu es una Clase ?
ING. RICARDO MENDOZA RIVERA SESION Pgina 44
7/31/2019 UML - General
45/107
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 yagregados) 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 complejasLa abstraccin est en funcin de la perspectiva del usuario y de lo que se desea modelarfundamentalmente. Veamos el sgte. Grfico:
5 [Booch, Rambaugh, Jacobson 94] The Unified Modeling Language User Guide
ING. RICARDO MENDOZA RIVERA SESION Pgina 45
7/31/2019 UML - General
46/107
UML. SISTEMA DE COMERCIALIZACIN
Ejemplos de Clase
El Agente Comercial J.Clark ha efectuado el pedido 000900 , y el Agente Comercial J.Clarck haefectuado el pedido 000901. Cada objeto debe tener un valor para los atributos y acceder a lasoperaciones especificadas por la clase Pedidos.
Una buena clase captura una y slo una abstraccin. Por ejemplo, una clase debe tener lacapacidad de mantener informacin acerca del Agente Comercial (tal como su nombre, direccin,
ING. RICARDO MENDOZA RIVERA SESION Pgina 46
7/31/2019 UML - General
47/107
UML. SISTEMA DE COMERCIALIZACIN
telfono, etc. y no debe incluir la informacin del pedido (NroPedido, Fecha del Pedido, etc). Estaclase 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 dosclases: animales y artefactos, segn el diagrama siguiente. Puede identificar otras clases?
Una clase es una definicin abstracta de un objetoDefine la estructura y el comportamiento compartidos por los objetos.Sirve como modelo para crear objetosLos objetos pueden ser agrupados en clasesUn objeto no es una clase 6
Objetos
Cliente:Roca
Cliente: Rojas
Cliente: Lpez
ING. RICARDO MENDOZA RIVERA SESION Pgina 47
6 [Booch 94] Anlisis y Diseo Orientado a Objetos
7/31/2019 UML - General
48/107
UML. SISTEMA DE COMERCIALIZACIN
Nombrando Una ClaseUna 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 claseUna clase est formada por 3 compartimientos
La primera seccin contiene el nombre de la claseLa segunda seccin muestra la estructura (atributos)La tercera seccin muestra el comportamiento (operaciones)
Formas de representar una clase
ING. RICARDO MENDOZA RIVERA SESION Pgina 48
7/31/2019 UML - General
49/107
UML. SISTEMA DE COMERCIALIZACIN
Estereotipos y ClasesRecordemos que un Estereotipo proporciona la capacidad de crear una nueva clase deelementos a modelar.Un estereotipo es un nuevo tipo de elemento de modelado que extiende la semntica delmetamodeloLos 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 realo
Tambin puede ser necesitada por la tarea interna del sistemao Los valores de estos atributos normalmente son entregados por un actoro El comportamiento es independiente del entornoLas clases entidades en el caso de uso Registrar Pedidos:o Clienteo Productoo Pedidoo 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. RICARDO MENDOZA RIVERA SESION Pgina 49
7/31/2019 UML - General
50/107
UML. SISTEMA DE COMERCIALIZACIN
Clase Control
Una clase control modela el comportamiento especifico de uno o ms casos de usosLa clase controlo 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 controladoso Controla la secuencia o coordina la ejecucin de los objetos controladoso Controla asuntos concurrentes para las clases controladaso Es usualmente la implementacin de un objeto intangibleEn el escenario del Registrar Pedidos, la clase AdministradorDePedido controla los procesosde registro.
ING. RICARDO MENDOZA RIVERA SESION Pgina 50
7/31/2019 UML - General
51/107
UML. SISTEMA DE COMERCIALIZACIN
SESI ON 0 5
I NTERACCI N ENTRE OBJETOS
ING. RICARDO MENDOZA RIVERA SESION Pgina 51
7/31/2019 UML - General
52/107
UML. SISTEMA DE COMERCIALIZACIN
SESI ON 0 5 : I NTERACCI N ENTRE OBJETOS
En esta sesin veremos como se produce la interaccin entre objetos en elsistema. Mostraremos paso a paso los flujos de un escenario a travs de un caso deuso: qu objetos son necesarios para el flujo , qu mensajes los objetos se mandan entreellos , qu actor inicia el flujo. Para ello UML proporciona los Diagramas de Iteracin: losdiagramas de secuencia y los diagramas de colaboracin , como paso previo a laelaboracin de los diagramas de clase.
Veremos los tpicos siguientes:Escenarios de un caso de usoDiagramas de InteraccinDiagramas de Secuencia
Diagramas de ColaboracinMensajes 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 elactor interacta con los objetos que pueden identificarse en l.
Cada caso de uso tendr una red de escenarios, es decir diferentes posibilidades que vandesde flujos
Primarios : que significa la forma normal que debe sigue un caso de usoSecundarios: que muestra las excepciones posibles en los casos de uso primarios
Ejemplo de un Caso de USo
ING. RICARDO MENDOZA RIVERA SESION Pgina 52
7/31/2019 UML - General
53/107
UML. SISTEMA DE COMERCIALIZACIN
OOAD usandoUML.
rimenri@hotmail.com
Interaccin entreobjetos,hoja 4
Un Escenario para el Caso de UsoRegistrar 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......
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 existeNo hay stock suficiente de la cantidad seleccionada para ese productoEl 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 delsistema.Regla del pulgar:
o Escenarios primariosElabore aproximadamente el 80% de estos escenarios
o Escenarios secundariosElabore unos pocos de los escenarios secundarios interesantes y de altoriesgo.
Diagramas de InteraccinEl flujo de escenarios que es capturado en texto son capturados mediante diagramas llamadosdiagramas de interaccin, los mismos que pretenden mostrar paso a paso los flujos de un
ING. RICARDO MENDOZA RIVERA SESION Pgina 53
mailto:rimenri@hotmail.commailto:rimenri@hotmail.commailto:rimenri@hotmail.com7/31/2019 UML - General
54/107
UML. SISTEMA DE COMERCIALIZACIN
escenario a travs de un caso de uso: qu objetos son necesarios para el flujo, qu mensajeslos objetos se mandan entre ellos , qu actor inicia el flujo.
Un diagrama de interaccin es una representacin grfica de interacciones entre objetosExisten dos tipos de diagramas de interaccin
o Diagramas de secuenciao Diagramas de colaboracin
Cada uno entrega un punto de vista distinto de la misma interaccino Los diagramas de secuencia son ordenados en el tiempoo Los diagramas de colaboracin pueden incluir flujo de datos
Un diagrama de interaccin contiene:
Objetos : Un diagrama de interaccin puede usar nombres de objetos, nombresde clases o mbos
Mensajes : A travs de un mensaje un objeto puede requerir alguna funcin deotro objeto.
Diagramas de SecuenciaUn diagrama de secuencia muestra las interacciones de objetos ordenadas en unasecuencia de tiempo
El diagrama muestrao Los objetos participando en la interaccino La secuencia de mensajes intercambiados
Un diagrama de secuencia contiene:o Objetos con sus lneas de vidao Mensajes intercambiados entre objetos en una secuencia ordenadao Linea de Vida Activa (opcional)
Nombrando Objetos en un Diagrama de Secuecias
Los objetos son dibujados como rectngulos con nombres subrayadosLas lneas de vida de los objetos estn representadas por lneas rayadas en descenso
Ejemplo de un caso de uso
ING. RICARDO MENDOZA RIVERA SESION Pgina 54
7/31/2019 UML - General
55/107
UML. SISTEMA DE COMERCIALIZACIN
La interaccin de objetos est indicada por flechas horizontales las cuales son dirigidasdesde la lnea vertical representada por el objeto cliente a la lnea representada por elobjeto 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 laposicin vertical
ING. RICARDO MENDOZA RIVERA SESION Pgina 55
7/31/2019 UML - General
56/107
UML. SISTEMA DE COMERCIALIZACIN
Diagramas de Colaboracin
Un diagrama de colaboracin es una manera alternativa de representar mensajesintercambiados por un conjunto de objetos
El diagrama muestra interacciones organizadas alrededor de los objetos y lasconexiones entre ellos
Un diagrama de colaboracin contiene:o Objetoso Conexiones entre objetoso Mensajes intercambiados entre objetoso Datos fluyendo entre objetos, si los hubiera
Ejemplo de un Diagrama de Colaboracin
Representacin de ObjetosEs similar como en los diagramas de secuencia.
ING. RICARDO MENDOZA RIVERA SESION Pgina 56
7/31/2019 UML - General
57/107
UML. SISTEMA DE COMERCIALIZACIN
SE PUEDE OBTENER UN DIAGRAMA DE COLABORACIN PRESIONANDOF5
Representando Conexiones
Una conexin en un diagrama de colaboracin se representa como una lnea que uneconos de objetosUna conexin indica que existe un camino para establecer una comunicacin entre losobjetos 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 proveedoro 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 losmensajes son enviados
Mensa es
ING. RICARDO MENDOZA RIVERA SESION Pgina 57
7/31/2019 UML - General
58/107
UML. SISTEMA DE COMERCIALIZACIN
Lab 05: Elaborando Diagramas de
Interaccin
Objetivos
Conocer la forma en que son ingresadas las clasesIdentificar 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 Actualizacinde Precios
ING. RICARDO MENDOZA RIVERA SESION Pgina 58
7/31/2019 UML - General
59/107
UML. SISTEMA DE COMERCIALIZACIN
b. Preparando el Diagrama de Secuencia
Ubicarse en el diagrama de Secuecia respectivo y Pulse F5
ING. RICARDO MENDOZA RIVERA SESION Pgina 59
7/31/2019 UML - General
60/107
UML. SISTEMA DE COMERCIALIZACIN
SESI ON 0 6
ENCONTRAN DO CLASES
ING. RICARDO MENDOZA RIVERA SESION Pgina 60
7/31/2019 UML - General
61/107
UML. SISTEMA DE COMERCIALIZACIN
SESI ON 0 6 : ENCONTRAN DO CLASES
Luego de haber visto una serie de conceptos asociados a las clases y losdiagramas que nos servirn para modelar las interacciones entre ellas vamos a tratar deencontrar clases analizando los casos de uso. As mismo una vez identificadas las clasespodremos incluirlas dentro de paquetes de datos, de control y de interfaz.
Veremos los tpicos siguientes:Anlisis de casos de usoEncontrando Objetos entidadEncontrando clases entidadEncontrando clases fronteraEncontrando 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 yclases, para el sistema que est siendo desarrollado
Los escenarios son detallados y mostrados grficamente en diagramas de interaccino Se crean las entidades, las interfaces y las clases de controlo Las clases son agrupadas en paquetes
Son creados los diagramas de clases
Los objetos entidad son identificados examinando los nombres y las frases delescenario analizadoLos nombres encontrados pueden ser:
o Objetoso Descripciones del estado de un objetoo Entidades externas y/o actoreso Nada de lo anterior
Filtrando Nombres
Cuando est identificando nombres, tenga cuidado que:o Varios trminos pueden referirse al mismo objetoo Un trmino puede referirse a ms de un objeto
ING. RICARDO MENDOZA RIVERA SESION Pgina 61
7/31/2019 UML - General
62/107
UML. SISTEMA DE COMERCIALIZACIN
o El lenguaje natural es bastante ambiguoEste acercamiento puede identificar varios objetos sin importancia
o La lista de nombres debe ser filtradaUna palabra de atencin
o Cada nombre puede ser tratado como verbo; cada verbo puede ser tratado como
nombreEl resultado depende fuertemente de la habilidad para escribir de losautores
Un Escenario para el Caso de UsoRegistrar Pedidos. Crear Pedido
Csar al elegir la opcin crear pedido, e ingresa el Nro de Pedido 040001, el sistemavalida 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 clienteCL200 , el mismo que se valida. El sistema le ofrece la posibilidad de buscarlo tambinpor su razn social Los Cocos, en caso de que el cdigo ingresado sea errneo. Acontinuacin el sistema le indica que registre la fecha del pedido que corresponde al09/09/2002. Csar debe elegir la forma de pago al crdito de la lista que le ofrece elsistema con lo cual el sistema valida la seleccin.
A continuacin el sistema le da la posibilidad a Csar de ingresar los 2 items delpedido 040001, para ello elige el botn Agregar producto a continuacin ingresa elcdigo del producto 050100 el cual es validado en el sistema, si el cdigo no existe leofrece seleccionarlo de una lista de productos. En cualquier caso le muestra el nombredel producto Ace de 1kg, la unidad de medida Bolsa y el precio unitario 30.12 asmismo el sistema le indica que registre la cantidad, Csar ingresa 20 la misma que esvalidada en el sistema. Luego Csar procede a registrar el siguiente item con cdigo deproducto 060200......
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 permiteingresar el cdigo del cliente CL200 , el mismo que se valida. El sistema le ofrece laposibilidad de buscarlo tambin por su razn social Los Cocos, en caso de que elcdigo ingresado sea errneo. A continuacin el sistema le indica que registre la fechadel pedid ue corresponde al 09/09/2002. Csar debe elegir la forma de pao q
e la lista que le ofrece el sistema con lo cual el sistema vago al
crdito d lida laseleccin.
A continuacin el sistema le da la posibilidad a Csar de ingresar los 2 items delpedido 040001, para ello elige el botn Agregar producto a continuacin ingresa el
cdigo d p n el sistema, si el cdiel roducto 050100 el cual es validado ese ccionarlo de una lista dde producto Ace de 1kg, la unidad
lid da en el s a. Luego Csar proced
go no existele ofrece le e productos. En cualquier caso le muestra elnombre l de medida Bolsa y el precio unitario30.12 as mismo el sistema le indica que registre la cantidad, Csar ingresa 20 la mismaque es va a istem e a registrar el siguiente item concdigo de producto 060200......
ING. RICARDO MENDOZA RIVERA SESION Pgina 62
7/31/2019 UML - General
63/107
UML. SISTEMA DE COMERCIALIZACIN
Qu nombres deben ser filtrados?
CsarCdigo producto 060200SistemaLista de productosPedido
Ace de 1kgNmero de pedido 040001Unidad de medida BolsaLista de Agentes ComercialesPrPaCantidad 20Cdigo del cliente CL200
Razn Social LOS COCOSCdigo ingresadoFecha de pedido 09-09-2002Forma de Pago al crditoDos items del pedidoCdigo producto 050100
Decisiones de Filtrado
Csar -- filtrado (actor)
dad de un pedido)
Panchito Lpez -- filtrado (lo mismo que agente comercial)Cliente -- candidato a objeto
Fecha del pedido -- filtrado (propiedad del pedido)FormaPago -- candidato a objetoForm dCdCdigo del produto 060200 -- candidato a objeto
Ace de 1 kg filtrado (propiedad del producto)BolsPrec UCan a
Pedido candidato a objetoNmero de pedido 040001 -- filtrado (propieSistema -- filtrado (lo que est siendo construido)
Agente Comercial candidato a objeto-- filtrado
a e pago al crdito-- filtrado (propiedad de la forma de pago)igo del produto 050100 -- candidato a objeto
a filtrado (propiedad del producto)io nitario -- filtrado (propiedad del producto)tid d 20 -- filtrado (propiedad del pedido)
Cdigo del cliente CL200l -- filtrado (propiedad del cliente)Razn social LOS COCOS -- filtrado (propiedad del cliente)
ecio Unitario 30.12nchito Lpez
Candidatos a Objeto en el Escenario
ING. RICARDO MENDOZA RIVERA SESION Pgina 63
7/31/2019 UML - General
64/107
UML. SISTEMA DE COMERCIALIZACIN
uras y/o comportamientos similares
o
ms escenarios son examinados
Candidatos a Clase en el Escenario CreandoPedido
Pedido lista de las condiciones del pedidoItems de Pedido detalle de los productos requeridos
AgenteComercial lista de los agentes que realizan las ventas
go ofrecidas por la empresa
Los objetos encontrados son agrupados en claseso
Este es un intento inicialBasados en estruct
Las clases pueden cambiar mientras
Cliente -- lista de clientesFormaPago lista de las formas de paProducto lista de los productos ofrecidos
Encontrando Clases FronteraExamine cada par actor/escenario y cree clases de frontera obvias
o Durante el diseo, la clase ser definida basada en los mecanismos de la interfazde 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 AsistenteComercial administrar pedidos
Prototipo de la clase frontera: FormularioPedido
Pedido lista de los cursos de un alumno en un semestresos
un semestre
Forma de Pago -- una oferta para el semestreCdigo del Producto 050100 -- una oferta del productoCdigo del Producto 060200 -- una oferta del producto
Lista de Agentes Comerciales l ista de todos los curimpartidos en
Cliente una oferta para el semestre
ING. RICARDO MENDOZA RIVERA SESION Pgina 64
7/31/2019 UML - General
65/107
UML. SISTEMA DE COMERCIALIZACIN
Encontrando Clases Control
Las clases de control tpicamente contienen informacin de secuenciao Atencin: las clases de control NO deben asumir las responsabilidades que
tpicamente corresponden a las clases de interfaz o de entidad
ING. RICARDO MENDOZA RIVERA SESION Pgina 65
7/31/2019 UML - General
66/107
UML. SISTEMA DE COMERCIALIZACIN
A este nivel de anlisis, una clase de control es tpicamente creada para cada caso deuso
o Responsable por el flujo de los eventos en el caso de usoEsto 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 creadao Recibe informacin de la clase frontera FormularioPedidoo Para cada uno de los pedidos registradoso Pregunta la forma de pago
Revisa objeto cliente si est sujeto de crdito en caso de que elAsistente Comercial haya elegido forma pago crdito
Muestra la lista de productos activosPregunta la cantidad ingresada
Verifica si existe stock suficienteAl grabar
o Verifica el objeto Cliente y determina lnea de crditodisponible 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 engruposEl nmero de clases crece a medida que ms casos de uso y escenarios son analizados
o Las clases pueden ser agrupadas en paquetesProveen la habilidad de organizar el modelo en desarrollo
Un paquete es representado como una carpeta
Paquetes en RegistrarPedidosLas clases del Sistema de Registros pueden ser agrupadas en tres paquetes
o Artefactos del Pedido, Reglas de negocios e InterfacesArtefactos del Pedido
ING. RICARDO MENDOZA RIVERA SESION Pgina 66
7/31/2019 UML - General
67/107
UML. SISTEMA DE COMERCIALIZACIN
o Producto, Pedido, FormaPago, ItemsPedido, Cliente, AgenteComercialReglas de negocio
o AdministradorRegistroInterfaces
o FormularioPedido, FormularioConsulta
Qu son los Diagramas de Clases?
La vista lgica esta conformada de muchos paquetes y clasesUn diagrama de clases es la vista de unos pocos (o todos) los paquetes y clases de lavista lgica
o Generalmente hay varios diagramas de clasesEl diagrama de clases principal es tpicamente una vista de los paquetes de alto nivel dela vista lgicaTpicamente cada paquete tiene su propio diagrama de clases principalSe agregan diagramas de clases adicionales si son necesarios
o La vista de las clases participantes de un escenarioo La vista de las clases privadas de un paqueteo La vista de una clase y sus atributos y operacioneso La vista de la jerarqua de herencia
ING. RICARDO MENDOZA RIVERA SESION Pgina 67
7/31/2019 UML - General
68/107
UML. SISTEMA DE COMERCIALIZACIN
Lab 06: Encontrando Clases
Objetivos
Identificar clases a partir del anlisis de un caso de usoPreparar los paquetes respectivosEntidades.Control.Interfaces.
Parte A: Encontrando Clases del Caso de Uso Registrar Pedidos
Ejercicio 01. Preparando los Paquetes respectivosEn el archivo: comercial.mdl del laboratorio 03, proceda de la sgte manera:
Ubicarse sobre la vista LgicaClic botn derecho, New PackageIngrese el nombre de : Interfaz
Proceda de la misma manera para crear los paquetes:ControlEntidades
Ejercicio 02 . Incoporando clases:
Clases Interfaz (asegurarse del estereotipo respectivo)o FormularioPedidoso FormularioConsulta
Clases Interfaz (asegurarse del estereotipo respectivo)o AdministradorPedidos
Clases Entidad (asegurarse del estereotipo respectivo)o Pedidoo DetaPedidoo Productoo FormaPagoo Cliente
ING. RICARDO MENDOZA RIVERA SESION Pgina 68
7/31/2019 UML - General
69/107
UML. SISTEMA DE COMERCIALIZACIN
o AgenteComercial
Ejercicio 03. Proceda a la elaboracin de los Diagramas de
Interaccin de:SecuenciaColaboracin
Parte B: Encontrando Clases del Caso de Uso Realizar
Liquidaciones
Lea la descripcin del Caso de Uso Registrar Liquidaciones, que se presenta alfinal 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 claseCree paquetes para el modelo
Acomode las clases descubiertas en paquetes
Cree el diagrama de clases inicial
DESCRIPCIN DEL CASO DE USO REGISTRARLIQUIDACIONES
ING. RICARDO MENDOZA RIVERA SESION Pgina 69
7/31/2019 UML - General
70/107
UML. SISTEMA DE COMERCIALIZACIN
1. CASO DE USO: Registrar Liquidaciones
1.1 Descripcin BreveEl 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. Leproporciona la capacidad de crear, modificar, grabar, revertir y consultar pedidos;adems de finalizar.
2. Flujo de Eventos
2.1 Pre-condicionesEl Asistente Comercial debe haber generado en el sistema los documentos de pago respectivoSe debe tener la informacin de los Agentes Comerciales.
2.2 Flujo Bsico1. El sistema muestra las actividades que se pueden seleccionar: Agregar, Modificar, Grabar,
Revertir, Consultar, Eliminar, Imprimir, Grabar y Salir.2. El Asistente Comercial selecciona la actividad que desea realizar.3. Si la actividad seleccionada es registrar, el flujo alternativo A-1: Crear Liquidacin es
ejecutado.4. Si la actividad seleccionada es modificar, el flujo alternativo A-2: Modificar Liquidacin es
ejecutado.5. Si la actividad seleccionada es grabar, el flujo alternativo A-4: Grabar Liquidacin es
ejecutado.6. Si la actividad seleccionada es revertir, el flujo alternativo A-5: Revertir Liquidacin es
ejecutado.
7. Si la actividad seleccionada es consultar, el flujo alternativo A-6:Consultar Liquidacin
esejecutado.
8. Si la actividad seleccionada es imprimir, el flujo alternativo A-7: Imprimir Liquidacin esejecutado.
9. Si la actividad seleccionada es Salir, el caso de uso finaliza.
2.3 Sub- Flujos
A-1 Crear Liquidacin1. El sistema permite ingresar el Nro de Liquidacin2. El sistema verifica si existe el numero de Liquidacin (E-1)
3. El usuario selecciona el vendedor respectivo4. El usuario confirma o cambia la fecha del pedido y selecciona la forma de pago queel sistema valida.
5. Por cada documento el usuario ingresaa. Tipo de Documentob. Numero de Documento con (E-4)c. El sistema muestra la razn social del cliente y el saldo del documentod. El usuario ingresa el monto respectivo ha amortizar para el documento (E-5)
ING. RICARDO MENDOZA RIVERA SESION Pgina 70
7/31/2019 UML - General
71/107
UML. SISTEMA DE COMERCIALIZACIN
e. El usuario ingresa Tipo de Pago (Cheque, Efectivo, Letra) respectivo (E-6).
6. El sistema le da la posibilidad de Eliminar alguna lnea en el detalle.7. El sistema muestra total de la liquidacin de todo el documento ingresado.8. Terminado el ingreso, si el Asistente Comercial elige
a. La actividad Grabar se ejecuta el flujo alternativo A-4: Grabar pedidob. La actividad Revertir se ejecuta el flujo alternativo A-5: Revertir pedido
9. El caso de uso comienza nuevamente.
A-2 Modificar Liquidacin1. Puede modificar el documento editado o el Asistente Comercial selecciona el pedido a
modificar a partir del caso de uso: Consultar Documento2. El sistema muestra el contenido de la liquidacin seleccionado.3. El usuario elige la opcin de modificar.4. Por cada documento el usuario ingresa
a. Tipo de Documentob. Numero de Documento con (E-4)
c. El sistema muestra la razn social del cliente y el saldo del documentod. 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).
5. El sistema le da la posibilidad de Eliminar alguna lnea en el detalle.6. El sistema muestra total de la liquidacin de todo el documento ingresado.7. Terminado el ingreso, si el Asistente Comercial elige
a. La actividad Grabar se ejecuta el flujo alternativo A-4: Grabar pedido8. La actividad Revertir se ejecuta el flujo alternativo A-5: Revertir pedido9. El caso de uso comienza nuevamente.
A-.4 Grabar Liquidacin1. El sistema guarda la informacin ingresada (E-6).
A-.5 Revertir Liquidacin1. El sistema deshecha los cambios efectuados2. El caso de uso comienza nuevamente.
A-6 Consultar Liquidacin1. 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 Liquidacin1. 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 Liquidacin4. El sistema muestra la interfaz de impresin de Windows .5. El caso de uso comienza nuevamente.
2.4 Flujos Alternativos o de Excepcin
ING. RICARDO MENDOZA RIVERA SESION Pgina 71
7/31/2019 UML - General
72/107
UML. SISTEMA DE COMERCIALIZACIN
E-1 : Verifica la existencia de la liquidacion, si existe un mensaje es mostrado y sepermite 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-condicionesActualizar saldos de cliente.
3. Puntos de Extensin
3.1 Consultar LiquidacinSi el Asistente Comercial desea buscar un pedido previamente ingresado, puede elegir laopcin Buscar, que le permite buscar la Liquidacin por su nro o por fechas.
4. Prototipo de Interfaz de usuario
ING. RICARDO MENDOZA RIVERA SESION Pgina 72
7/31/2019 UML - General
73/107
UML. SISTEMA DE COMERCIALIZACIN
SESI ON 0 7
RELACI ONES
ING. RICARDO MENDOZA RIVERA SESION Pgina 73
7/31/2019 UML - General
74/107
UML. SISTEMA DE COMERCIALIZACIN
SESI ON 0 7 .RELACI ONES
Una vez establecidas las clases nos damos cuentan de que ellas intercambian mensajesentre si, para que estos mensajes puedan ser intercambiados es necesario de que existanrelaciones entre las clases. La relacin permitir conocer a una clase conocer acerca de losatributos, operaciones y relaciones de otra clase. Existen 2 tipos de relaciones como veremos acontinuacin.
Veremos los tpicos siguientes:Necesidad de las RelacionesTipos de RelacionesNombrando RelacionesRoles
Relaciones ReflexivasHallando RelacionesRelaciones entre paquetes
La necesidad de las RelacionesDado a que los sistemas abarcan muchas clases y objetos debe existir una colaboracin entreellos mismos para contribuir en el comportamiento del sistema. Existen 2 tipos de relaciones:
AsociacionesAgregaciones
Relaciones de Asociacin
Una asociacin es una relacin semntica bidireccional entre clases.
Esto implica que existe una conexin entre objetos en las clases asociadasPor ejemplo una asociacin entre la clase Cliente y la clase Pedido, significar que objetos en laclase Cliente estn conectados a objetos en la clase Pedido.
El nmero de objetos conectados depende de la multiplicidad de una asociacin, comoveremos ms adelante
Los datos pueden fluir en una o ms direcciones a lo largo de la asociacin
Navegacin
ING. RICARDO MENDOZA RIVERA SESION Pgina 74
7/31/2019 UML - General
75/107
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 asociacinen 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 unainstancia de otra clase
o Para cada asociacin, hay dos decisiones de multiplicidad por hacer: una paracada final de la asociacin
Por ejemplo, en la conexin que existe entre las instancias que cumplen el rol de cliente
y pedidoo Para cada instancia de cliente, muchos (ej. cero o mas) pedidos sern realizadoso Para cada instancia de pedido, exactamente una persona es el cliente
Los indicadores de multiplicidad se indican a continuacin
ING. RICARDO MENDOZA RIVERA SESION Pgina 75
7/31/2019 UML - General
76/107
UML. SISTEMA DE COMERCIALIZACIN
Las decisiones de multiplicidad exponen muchas suposiciones ocultas acerca delproblema 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 preguntaso 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 suspartes
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 suclase denotando el agregado.La multiplicidad se representa de la misma manera que en las otras asociaciones.
ING. RICARDO MENDOZA RIVERA SESION Pgina 76
7/31/2019 UML - General
77/107
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 parteso solo a algunas en particular?
o El Automvil es azul, la Puerta es AzulExiste 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 unaPuerta
Si dos objetos estn unidos firmemente por una relacin todo-parteo La relacin es una agregacin
Si dos objetos son usualmente considerados como independientes, aun cuandocomnmente estn unidos
o La relacin es una asociacin
Asociacin Reflexiva
En una asociacin reflexiva, los objetos de una misma clase estn relacionadosIndica que mltiples objetos en la misma clase colaboran en conjunto del mismo modo
Agregacin Reflexiva
Las agregaciones tambin pueden ser reflexivasEsto indica una asociacin recursiva
ING. RICARDO MENDOZA RIVERA SESION Pgina 77
7/31/2019 UML - General
78/107
UML. SISTEMA DE COMERCIALIZACIN
Clase Asociacin
Deseamos llevar un historial de las zonas que administra cada trabajador en el tiempoLa relacin entre Trabajador y zona es una relacin de muchos a muchosDonde situamos los atributos de las fechas asignadas?
El atributo de fecha de asignacin no puede ser situado en la clase Zona porqueexisten (potencialmente) muchas relaciones a muchos objetos de TrabajadorPor lo tanto, el atributo pertenece realmente a la relacin individual Zona-TrabajadorUna clase asociacin es usada para almacenar informacin sobre la relacin
Denotando una Clase Asociacin
Una clase asociacin se representa usando el icono de claseLa clase asociacin se conecta con la asociacin usando la lnea entrecortadaLa clase de asociacin puede incluir mltiples propiedades de dicha asociacinSolamente 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 entredos clases
o Dos objetos se pueden comunicar si y solo si se conocen entre siAsociaciones y/o agregaciones proveen un va de comunicacin
ING. RICARDO MENDOZA RIVERA SESION Pgina 78
7/31/2019 UML - General
79/107
UML. SISTEMA DE COMERCIALIZACIN
Relaciones entre Paquetes
Los paquetes se relacionan entre si usando una relacin de dependenciaSi una clase en un paquete se comunica con otra clase contenida en otro paqueteentonces su relacin de dependencia es adicionada a nivel de paquetesLos diagramas de escenario y diagramas de clase son evaluados para determinar lasrelaciones 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 unaimplementacin especfica
o Hacer una estimacin inicial de multiplicidad de manera de exponer suposicionesocultas
Los diagramas de clase son actualizados para mostrar sus relaciones agregadasDurante el diseo:
o Las estimaciones de multiplicidad son refinadas y actualizadaso Asociaciones y agregaciones son evaluadas y refinadaso Las relaciones de paquetes son evaluadas y refinadaso Los diagramas de clases maduran
ING. RICARDO MENDOZA RIVERA SESION Pgina 79
7/31/2019 UML - General
80/107
UML. SISTEMA DE COMERCIALIZACIN
Lab 07: Relaciones
Objetivos
Conocer los tipos de relaciones existentesRelacionar los objetos encontrados en el anlisis de casos de usoAplicar multiplicidad.
Ejercicio 01
a. Conociendo la Barra de Herramientas del Diagrama deClases
b. Incorporando Nuevas Clases:Incorpore las sgts clases al Paquete de Entidades, si no se encuentran presentes:
LiquidacionDetaliquidacion
ING. RICARDO MENDOZA RIVERA SESION Pgina 80
7/31/2019 UML - General
81/107
UML. SISTEMA DE COMERCIALIZACIN
MarcaLineaDocumentoDetadocZona
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 RespectivasIncluya todas las clases del Paquete de Entidades
e. Creando Asociaciones
CREANDO RELACIONES DE ASOCIACIN : Cliente - Pedido3. Ubicarse en el paquete Artefactos (entidades)4. Doble clic en el diagrama creado5. Elija el icono de Asociacin Bidireccional6. Clic en la clase deseada: Cliente7. Arrastre hacia la clase deseada: Pedido
Proceda de la misma manera y cree las siguientes Asociaciones entre
FormaPago y ClienteAgenteComercial y PedidoPedido y Documento
AgenteComercial y Liquidacin
f. Nombrando Relaciones
NOMBRANDO RELACIONES: Cliente - Pedido8. Seleccione la lnea de relacin9. Doble clic10. Ingrese el nombre de la relacin: Requiere
ING. RICARDO MENDOZA RIVERA SESION Pgina 81
7/31/2019 UML - General
82/107
UML. SISTEMA DE COMERCIALIZACIN
g. Roles
ROLES1. Doble Clic sobre relaci: Cliente-Pedido2. Al activarse la pantalla indique los roles respectivos, tal como se
muestra a continuacin
Defina algunos roles para las relaciones establecidas
ING. RICARDO MENDOZA RIVERA SESION Pgina 82
7/31/2019 UML - General
83/107
UML. SISTEMA DE COMERCIALIZACIN
h. Agregacin
AGREGACION1. Seleccione de la barra de herramientas el cono de Agregacin
2. Haga clic sobre Pedido y arrastre hacia DetaPedido3. Proceda igual con Liquidacin y DetaLiquidacion
i. Clase Asociacin
CLASE ASOCIACION1. Seleccione de la barra de herramientas el icono Clase Asociacin2. Haga clic en Detadoc y arrastre hacia la relacin entre
Documento y producto.
j. Multiplicidad
Contine realizando la multiplicidad de acuerdo al diagrama mostrado a continuacin.
MULTIPLIDAD1. Entre Cliente-Pedido2. Ubicarse en la relacin en la parte ms cercana a cliente y haga
clic botn derecho.3. Elija Multiplicity - 14. Ubicarse en la relacin en la parte ms cercana a pedido y haga
clic botn derecho.5. Elija Multiplicity Zero - n
ING. RICARDO MENDOZA RIVERA SESION Pgina 83
7/31/2019 UML - General
84/107
UML. SISTEMA DE COMERCIALIZACIN
Ejercicio: Prepare el sgte diagrama
ING. RICARDO MENDOZA RIVERA SESION Pgina 84
7/31/2019 UML - General
85/107
UML. SISTEMA DE COMERCIALIZACIN
SESI ON 0 8
OPERACI ONES Y ATRI BUTOS
ING. RICARDO MENDOZA RIVERA SESION Pgina 85
7/31/2019 UML - General
86/107
UML. SISTEMA DE COMERCIALIZACIN
SESI ON 0 8 . OPERACI ONES Y ATRI BUTOS
Una clase contiene una serie de responsabilidades que definen el comportamiento de losobjetos en una clase. Las responsabilidades son definidas por las operaciones. Por ejemplo laclase pedido ser capaz de ingresar un Nuevo Pedido o de Anularlo. La estructura de un objetoest definida por los atributos que la conforma. Cada atributos es una definicin del dato que laconforma.
En esta sesin revisaremos el comportamiento y estructura de una clase.
Veremos los tpicos siguientes:Definir operaciones para clasesDefinir atributos para clasesDefinir 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 delos 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 unoResponsabilidad de la clase producto: mantener el precio de proveedorOperaciones para esta responsabilidad
Buscar la informacin en la base de datosActualizar el precio
Una operacin es un servicio que puede ser solicitado desde un objeto para solicitar undeterminado comportamiento
Las operaciones son dependientes del dominioListar todas las operaciones relevantes al dominio
o Las operaciones de la clase producto sern distintas dependiendo de laperspectiva 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. RICARDO MENDOZA RIVERA SESION Pgina 86
7/31/2019 UML - General
87/107
UML. SISTEMA DE COMERCIALIZACIN
Pobremente nombradaIndica que el balance debe ser calculado - esto es una decisinimplementacin/optimizacin
o ObtenerEstadoDeuda()Bien nombrada
Indica solamente la salida
Las operaciones debera ser nombradas desde la perspectiva del proveedor, no delclienteEn una estacin de gas, el gas es recibido desde la bomba:
o Una operacin para la bomba que tiene esta responsabilidad - como debera serllamada?
o Nombres buenos: entregarGas(),dispensar()o Nombre malo : recibirGas()
La bomba da el gas, no lo recibe
Una operacin primitiva es una operacin que puede ser implementada solamenteusando las cualidades internas de la clase
o Todas las operaciones de una clase son tpicamente primitivasEjemplo:
o Agregar un tem al conjunto - operacin primitivao Agregar cuatro tems al conjunto - no primitiva
Puede ser implementada con mltiples llamadas a la operacin anteriorde 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 sonusualmente operaciones de las clases receptoras
o Los mensajes son traducidos a operaciones y agregados al diagrama de clases
ING. RICARDO MENDOZA RIVERA SESION Pgina 87
7/31/2019 UML - General
88/107
UML. SISTEMA DE COMERCIALIZACIN
Los argumentos de las operaciones y las clases de retorno denotan una relacin entre laclase y los argumentos y/o la clase de retornoEjemplo
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 modeloo Estas son mostradas en los diagramas de clases
Qu es un atributo ?
Un atributo es una definicin de datos mantenido por instancias de una claseLos atributos no tienen comportamiento -- no son objetosLos nombres de los atributos son sustantivos simples o frases simples
o Los nombres deben ser nicos dentro de una claseCada atributo debe tener una definicin clara y concisaBuenos atributos para la clase Cliente
o RazonSocial nombre de la empresao Zona zona a la que pertenece
Un atributo malo para la clase Cliente -- obtenerZonaso 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 clasePor ejemplo, para un objeto de la clase AgenteComercial:
ING. RICARDO MENDOZA RIVERA SESION Pgina 88
7/31/2019 UML - General
89/107
UML. SISTEMA DE COMERCIALIZACIN
Atributos dependientes del Dominio
Lista de todos los atributos relevantes al dominio del problemao Los atributos de la clase Cliente sern distintos dependiendo dea quien le
preguntemos
Visualizando AtributosSe incluyen en el segundo compartimiento
Recommended