UML - General

download UML - General

of 107

Transcript of UML - General

  • 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.html
  • 7/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.

    [email protected]

    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:[email protected]:[email protected]:[email protected]
  • 7/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