Diagrama de Clases Diagrama de Objetos Diagramas de Comportamiento Diagrama de Estados Diagrama de Actividad Diagramas de Interaccin Claves en Desarrollo de SI Herramientas Proceso Notacin Qu es UM! 1 En esta seccin se presenta en "orma resumida lo #ue signi"ica e inclu$e UM% Qu es UM! UM & Uni"ied Modeling anguage Un lenguaje de propsito general para el modelado orientado a objetos' Impulsado por el Object Management (roup )OM(* +++'omg'org, Documento -OM( Uni"ied Modeling anguage .peci"ication/ UM combina notaciones provenientes desde% Modelado Orientado a Objetos Modelado de Datos Modelado de Componentes Modelado de 0lujos de 1rabajo )2or3"lo+s, ... Diagramas de UML Use Case Diagrams Use Case Diagrams Diagramas de Casos de Uso Scenario Diagrams Scenario Diagrams Diagramas de Colaboracin State Diagrams State Diagrams Diagramas de Componentes Component Diagrams Component Diagrams Diagramas de Distribucin State Diagrams State Diagrams Diagramas de Objetos Scenario Diagrams Scenario Diagrams Diagramas de Estados Use Case Diagrams Use Case Diagrams Diagramas de Secuencia State Diagrams State Diagrams Diagramas de Clases Diagramas de Actividad Modelos Los diagramas expresan gricamente partes de un modelo 2 Modelos y Diagramas Un modelo captura una vista de un sistema del mundo real' Es una abstraccin de dic4o sistema* considerando un cierto propsito' As5* el modelo describe completa6mente a#uellos aspectos del sistema #ue son relevantes al propsito del modelo* $ a un apropiado nivel de detalle' Diagrama % una representacin gr7"ica de una coleccin de elementos de modelado* a menudo dibujada como un gra"o con vrtices conectados por arcos UML Introduccin: El enguaje de Modelamiento Uni"icado )UM 6 Uni"ied Modeling anguage, es un lenguaje gr7"ico para visuali8ar* especi"icar $ documentar cada una de las partes #ue comprende el desarrollo de so"t+are' UM entrega una "orma de modelar cosas conceptuales como lo son procesos de negocio $ "unciones de sistema* adem7s de cosas concretas como lo son escribir clases en un lenguaje determinado* es#uemas de base de datos $ componentes de so"t+are reusables' En este repaso terico prctico estudiaremos tres diagramas% Modelamiento de Clases Casos de Uso Diagrama de Interaccin Modelo de Clases Introduccin Un diagrama de clases sirve para visuali8ar las relaciones entre las clases #ue involucran el sistema* las cuales pueden ser asociativas* de 4erencia* de uso $ de contenimiento' Un diagrama de clases esta compuesto por los siguientes elementos% Clase % atributos* mtodos $ visibilidad' 9elaciones % :erencia* Composicin* Agregacin* Asociacin $ Uso' Elementos Clase Es la unidad b7sica #ue encapsula toda la in"ormacin de un Objeto )un objeto es una instancia de una clase,' A travs de ella podemos modelar el entorno en estudio )una Casa* un Auto* una Cuenta Corriente* etc',' En UM* una clase es representada por un rect7ngulo #ue posee tres divisiones% En donde% o Superior% Contiene el nombre de la Clase o Intermedio% Contiene los atributos )o variables de instancia, #ue caracteri8an a la Clase )pueden ser private* protected o public,' 3 o Inferior% Contiene los mtodos u operaciones* los cuales son la "orma como interact;a el objeto con su entorno )dependiendo de la visibilidad% private* protected o public,' Ejemplo% Una Cuenta Corriente #ue posee como caracter5stica% o <alance =uede reali8ar las operaciones de% o Depositar o (irar o $ <alance El dise>o asociado es% Atributos $ Mtodos% o Atributos: os atributos o caracter5sticas de una Clase pueden ser de tres tipos* los #ue de"inen el grado de comunicacin $ visibilidad de ellos con el entorno* estos son% public )?* ,% Indica #ue el atributo ser7 visible tanto dentro como "uera de la clase* es decir* es accsesible desde todos lados' private )6* ,% Indica #ue el atributo slo ser7 accesible desde dentro de la clase )slo sus mtodos lo pueden accesar,' protected )@* ,% Indica #ue el atributo no ser7 accesible desde "uera de la clase* pero si podr7 ser accesado por mtodos de la clase adem7s de las subclases #ue se deriven )ver 4erencia,' o !todos: os mtodos u operaciones de una clase son la "orma en como sta interact;a con su entorno* stos pueden tener las caracter5sticas% public )?* ,% Indica #ue el mtodo ser7 visible tanto dentro como "uera de la clase* es decir* es accsesible desde todos lados' private )6* ,% Indica #ue el mtodo slo ser7 accesible desde dentro de la clase )slo otros mtodos de la clase lo pueden accesar,' 4 protected )@* ,% Indica #ue el mtodo no ser7 accesible desde "uera de la clase* pero si podr7 ser accesado por mtodos de la clase adem7s de mtodos de las subclases #ue se deriven )ver 4erencia,' "elaciones entre Clases: A4ora $a de"inido el concepto de Clase* es necesario eAplicar como se pueden interrelacionar dos o m7s clases )cada uno con caracter5sticas $ objetivos di"erentes,' Antes es necesario eAplicar el concepto de cardinalidad de relaciones% En UM* la cardinalidad de las relaciones indica el grado $ nivel de dependencia* se anotan en cada eAtremo de la relacin $ stas pueden ser% o uno o muc#os% B''C )B''n, o $ o muc#os% D''C )D''n, o n%mero fi&o% m )m denota el n;mero,' '() Herencia *Especiali+acin,-enerali+acin(% Indica #ue una subclase 4ereda los mtodos $ atributos especi"icados por una .uper Clase* por ende la .ubclase adem7s de poseer sus propios mtodos $ atributos* poseer7 las caracter5sticas $ atributos visibles de la .uper Clase )public $ protected,* ejemplo% En la "igura se especi"ica #ue Auto $ Camin 4eredan de Ee45culo* es decir* Auto posee las Caracter5sticas de Ee45culo )=recio* EelMaA* etc, adem7s posee algo particular #ue es Descapotable* en cambio Camin tambin 4ereda las caracter5sticas de Ee4iculo )=recio* EelMaA* etc, pero posee como particularidad propia Acoplado* 1ara $ Carga' Cabe destacar #ue "uera de este entorno* lo ;nico FvisibleF es el mtodo Caracteristicas aplicable a instancias de Ee45culo* Auto $ Camin* pues tiene 5 de"inicin publica* en cambio atributos como Descapotable no son visibles por ser privados' .() Agregacin% =ara modelar objetos complejos* n bastan los tipos de datos b7sicos #ue proveen los lenguajes% enteros* reales $ secuencias de caracteres' Cuando se re#uiere componer objetos #ue son instancias de clases de"inidas por el desarrollador de la aplicacin* tenemos dos posibilidades% Por /alor% Es un tipo de relacin est7tica* en donde el tiempo de vida del objeto incluido esta condicionado por el tiempo de vida del #ue lo inclu$e' Este tipo de relacin es comunmente llamada Composicin )el Objeto base se constru$e a partir del objeto incluido* es decir* es FparteGtodoF,' Por "eferencia% Es un tipo de relacin din7mica* en donde el tiempo de vida del objeto incluido es independiente del #ue lo inclu$e' Este tipo de relacin es comunmente llamada Agregacin )el objeto base utili8a al incluido para su "uncionamiento,' Un Ejemplo es el siguiente% En donde se destaca #ue% Un Almacn posee Clientes $ Cuentas )los rombos van en el objeto #ue posee las re"erencias,' Cuando se destru$e el Objeto Almacn tambin son destruidos los objetos Cuenta asociados* en cambio no son a"ectados los objetos Cliente asociados' a composicin )por Ealor, se destaca por un rombo relleno' a agregacin )por 9e"erencia, se destaca por un rombo transparente' a "lec4a en este tipo de relacin indica la navegabilidad del objeto re"erenciado' Cuando no eAiste este tipo de particularidad la "lec4a se elimina' 0() Asociacin% a relacin entre clases conocida como Asociacin* permite asociar objetos #ue colaboran entre si' Cabe destacar #ue no es una relacin "uerte* es decir* el tiempo de vida de un objeto no depende del otro' Ejemplo% 6 Un cliente puede tener asociadas muc4as Ordenes de Compra* en cambio una orden de compra solo puede tener asociado un cliente' 1() Dependencia o Instanciacin *uso(% 9epresenta un tipo de relacin mu$ particular* en la #ue una clase es instanciada )su instanciacin es dependiente de otro objetoGclase,' .e denota por una "lec4a punteada' El uso m7s particular de este tipo de relacin es para denotar la dependencia #ue tiene una clase de otra* como por ejemplo una aplicacin gra"ica #ue instancia una ventana )la creacin del Objeto Eentana esta condicionado a la instanciacin proveniente desde el objeto Aplicacion,% Cabe destacar #ue el objeto creado )en este caso la Eentana gr7"ica, no se almacena dentro del objeto #ue lo crea )en este caso la Aplicacin,' Casos Particulares% o Clase Abstracta% Una clase abstracta se denota con el nombre de la clase $ de los mtodos con letra Fit7licaF' Esto indica #ue la clase de"inida no puede ser instanciada pues posee mtodos abstractos )a;n no 4an sido de"inidos* es decir* sin implementacin,' a ;nica "orma de utili8arla es de"iniendo subclases* #ue implementan los mtodos abstractos de"inidos' o Clase parametri+ada% 7 Una clase parametri8ada se denota con un subcuadro en el eAtremo superior de la clase* en donde se especi"ican los par7metros #ue deben ser pasados a la clase para #ue esta pueda ser instanciada' El ejemplo m7s t5pico es el caso de un Diccionario en donde una llave o palabra tiene asociado un signi"icado* pero en este caso las llaves $ elementos pueden ser genricos' a genericidad puede venir dada de un 1emplate )como en el caso de C??, o bien de alguna estructura prede"inida )especiali8acin a travs de clases,' En el ejemplo no se especi"icaron los atributos del Diccionario* pues ellos depender7n eAclusivamente de la implementacin #ue se le #uiera dar' E&emplo% .upongamos #ue tenemos tenemos el caso del Diccionario implementado mediante un 7rbol binario* en donde cada nodo posee% 3e$% Eariable por la cual se reali8a la b;s#ueda* puede ser genrica' item% Contenido a almacenar en el diccionario asociado a F3e$F* cu$o tipo tambin puede ser genrico' =ara este caso particular 4emos de"inido un Diccionario para almacenar .tring $ =ersonas* las cuales pueden "uncionar como llaves o como item* solo se mostrar7n las relaciones para la implementacin del Diccionario% 8 9 Casos de Uso (Use Case) Introduccin El diagrama de casos de uso representa la "orma en como un Cliente )Actor, opera con el sistema en desarrollo* adem7s de la "orma* tipo $ orden en como los elementos interact;an )operaciones o casos de uso,' Un diagrama de casos de uso consta de los siguientes elementos% Actor ' Casos de Uso ' 9elaciones de Uso* :erencia $ Comunicacin ' Elementos Actor% Una de"inicin previa* es #ue un Actor es un rol #ue un usuario juega con respecto al sistema' Es importante destacar el uso de la palabra rol* pues con esto se especi"ica #ue un Actor no necesariamente representa a una persona en particular* sino m7s bien la labor #ue reali8a "rente al sistema' Como ejemplo a la de"inicin anterior* tenemos el caso de un sistema de ventas en #ue el rol de Eendedor con respecto al sistema puede ser reali8ado por un Eendedor o bien por el He"e de ocal' Caso de 2so% Es una operacinGtarea espec5"ica #ue se reali8a tras una orden de alg;n agente eAterno* sea desde una peticin de un actor o bien desde la invocacin desde otro caso de uso' "elaciones% o Asociacin Es el tipo de relacin m7s b7sica #ue indica la invocacin desde un actor o caso de uso a otra operacin )caso de uso,' Dic4a relacin se denota con una "lec4a simple' o Dependencia o Instanciacin 10 Es una "orma mu$ particular de relacin entre clases* en la cual una clase depende de otra* es decir* se instancia )se crea,' Dic4a relacin se denota con una "lec4a punteada' o -enerali+acin Este tipo de relacin es uno de los m7s utili8ados* cumple una doble "uncin dependiendo de su estereotipo* #ue puede ser de 2so )IIusesJJ, o de Herencia )IIeAtendsJJ,' Este tipo de relacin esta orientado eAclusivamente para casos de uso )$ no para actores,' e3tends% .e recomienda utili8ar cuando un caso de uso es similar a otro )caracter5sticas,' uses% .e recomienda utili8ar cuando se tiene un conjunto de caracter5sticas #ue son similares en m7s de un caso de uso $ no se desea mantener copiada la descripcin de la caracter5stica' De lo anterior cabe mencionar #ue tiene el mismo paradigma en dise>o $ modelamiento de clases* en donde esta la duda cl7sica de usar o #eredar' E&emplo: Como ejemplo esta el caso de una Mquina Recicladora% Obe!ivo" .istema #ue controla una m7#uina de reciclamiento de botellas* tarros $ jabas' El sistema debe controlar $Go aceptar% 9egistrar el n;mero de 5tems ingresados' Imprimir un recibo cuando el usuario lo solicita% a' Describe lo depositado b' El valor de cada item c' 1otal El usuarioGcliente presiona el botn de comien8o EAiste un operador #ue desea saber lo siguiente% a' Cuantos 5tems 4an sido retornados en el d5a' b' Al "inal de cada d5a el operador solicita un resumen de todo lo depositado en el d5a' El operador debe adem7s poder cambiar% a' In"ormacin asociada a 5tems' b' Dar una alarma en el caso de #ue% i' Item se atora' ii' Ko 4a$ m7s papel' Como una primera aproAimacin identi"icamos a los actores #ue interact;an con el sistema% 11 uego* tenemos #ue un Cliente puede Depositar Items $ un Operador puede cambiar la in"ormacin de un Item o bien puede Imprimir un in"orme% Adem7s podemos notar #ue un 5tem puede ser una <otella* un 1arro o una Haba' Otro aspecto es la impresin de comprobantes* #ue puede ser reali8ada despus de depositar alg;n item por un cliente o bien puede ser reali8ada a peticin de un operador' 12 Entonces* el dise>o completo del diagrama Use Case es% Diagrama de Interaccin Introduccin El diagrama de interaccin* representa la "orma en como un Cliente )Actor, u Objetos )Clases, se comunican entre si en peticin a un evento' Esto implica recorrer toda la secuencia de llamadas* de donde se obtienen las responsabilidades claramente' Dic4o diagrama puede ser obtenido de dos partes* desde el Diagrama Est7tico de Clases o el de Casos de Uso )son di"erentes,' os componentes de un diagrama de interaccin son% Un Objeto o Actor ' Mensaje de un objeto a otro objeto ' Mensaje de un objeto a si mismo ' Elementos 4b&eto,Actor% 13 El rect7ngulo representa una instancia de un Objeto en particular* $ la l5nea punteada representa las llamadas a mtodos del objeto' ensa&e a 4tro 4b&eto% .e representa por una "lec4a entre un objeto $ otro* representa la llamada de un mtodo )operacin, de un objeto en particular' ensa&e al ismo 4b&eto% Ko solo llamadas a mtodos de objetos eAternos pueden reali8arse* tambin es posible visuali8ar llamadas a mtodos desde el mismo objeto en estudio' E&emplo En el presente ejemplo* tenemos el diagrama de interaccin proveniente del siguiente modelo est7tico% A#u5 se representa una aplicacin #ue posee una Eentana gr7"ica* $ sta a su ve8 posee internamente un botn' Entonces el diagrama de interaccin para dic4o modelo es% 14 En donde se 4acen notar las sucesivas llamadas a Dra+), )entre objetos, $ la llamada a =aint), por el objeto <otn' #em$lo%" Caso de un &'o!el& El due>o de un 4otel le pide a usted desarrollar un $rograma $ara consul!ar sobre las $ie(as dis$onibles y reservar $ie(as de su )o!el' El 4otel posee tres tipos de pie8as% simple* doble $ matrimonial* $ dos tipos de clientes% 4abituales $ espor7dicos' Una reservacin almacena datos del cliente* de la pie8a reservada* la "ec4a de comien8o $ el n;mero de d5as #ue ser7 ocupada la pie8a' El recepcionista del 4otel debe poder 4acer las siguientes operaciones% Obtener un listado de las pie8as disponible de acuerdo a su tipo =reguntar por el precio de una pie8a de acuerdo a su tipo =reguntar por el descuento o"recido a los clientes 4abituales =reguntar por el precio total para un cliente dado* especi"icando su numero de 9UC* tipo de pie8a $ n;mero de noc4es' Dibujar en pantalla la "oto de un pie8a de acuerdo a su tipo 9eservar una pie8a especi"icando el n;mero de la pie8a* ruc $ nombre del cliente' Eliminar una reserva especi"icando el n;mero de la pie8a El administrador puede usar el programa para% Cambiar el precio de una pie8a de acuerdo a su tipo Cambiar el valor del descuento o"recido a los clientes 4abituales Calcular las ganancias #ue tendr7n en un mes especi"icado )considere #ue todos los meses tienen treinta d5as,' El 4otel posee in"ormacin sobre cuales clientes son 4abituales' Esta estructura puede manejarla con un diccionario* cu$a clave sea el n;mero de 9UC $ como signi"icado tenga los datos personales del cliente' 15 El dise>o a desarrollar debe "acilitar la eAtensibilidad de nuevos tipos de pie8a o clientes $ a su ve8 permitir agregar nuevas consultas' 16 Casos de USO 17 Diagrama de Clases 18 Diagrama de In!eracci*n 19 #em$lo+" Sis!ema de Regis!ro de ,acimien!os Elaboracin de los Diagramas de Casos de 2so) CAS4 DE 2S4 DE5 SIS6EA "eali+ar7us8ueda ProcesarConsulta 99include:: ProcesarDuplicadoDePart ida 99include:: "egistarPersona /alidarPass;ord <efe"egistroCivil 99include:: Autentificar2suario 99e3tend:: /alidarCodigo PersonaInteresada 99e3tend:: 99include:: Sistema ParaIdentidad ImprimirPartida 99e3tend:: PersonaInteresada 99e3tend:: CAS4 DE 2S4: "E-IS6"A" PA"6IDA IngresarCodigo De=adres DelKacido IngresarDatos IIeAtendJJ IIeAtendJJ Usuario .olicitarDuplicado Consultar=artida IIeAtendJJ 20 CAS4 DE 2S4: ADINIS6"A" SIS6EA =roporcionar=ass+ord Ealidar=ass+ord IIincludeJJ Mensuales Anuales (enerar9eportes IIeAtendJJ IIeAtendJJ He"eDe9egistroCiv il Descri$ci*n de los casos de Uso y #scenarios CAS4 DE 2S4 = C2$$$' A26EN6I>ICA" 2S2A"I4 /E"SI?N Eersin B'D A264" (rupo De 1rabajo >2EN6ES .istema 47<E6I/4S AS4CIAD4S Describir los pasos de iniciar una sesin en el sistema DESC"IPCI?N El usuario o je"e de registro ingresa al sistema ingresando el cdigo u pass+ord' P"EC4NDICI?N Ninguna SEC2ENCIA N4"A5 Paso Accin B El sistema pide el nombre del usuario $ la contrase>a' L El sistema valido los datos ingresados por el usuario' M .i la autenticacin es correcta el sistema 4abilita al usuario para trabajar en el sistema* muestra un mensaje de Aito* da la bienvenida al sistema de =artidas' N El sistema controla los permisos del usuario $ presenta un men; de opciones apropiado $ termina el caso de uso P4S6C4NDICI4NES El sistema 4abilita al usuario a trabajar en el sistema con los permisos apropiados' E@CEPCI4NES Paso Accin B El usuario puede borrar su nombre $Go contrase>a antes de validar los datos' L .i no se validan los datos no se permite ingresar al sistema pudiendo en usuario volver a digitar los datos 4asta por tres veces* despus se blo#uear7 el sistema por MD segundos' "ENDIIEN64 >"EC2ENCIA ESPE"ADA M ve8 por d5a IP4"6ANCIA Eital 2"-ENCIA =uede esperar C4EN6A"I4S Kinguno 21 CAS4 DE 2S4 = C2$$$. "E-IS6"A" PA"6IDA /E"SI?N Eersin B'D A264" (rupo De 1rabajo >2EN6ES .istema 47<E6I/4S AS4CIAD4S Describir los pasos para registrar una partida de nacimiento DESC"IPCI?N 9egistrar una persona P"EC4NDICI?N Ninguna SEC2ENCIA N4"A5 Paso Accin B El sistema pide el cdigo proporcionado en el certi"icado #ue emite el 4ospital donde naci el ni>o' L El sistema valido el cdigo ingresados por el usuario' M .i el cdigo ingresado es correcto el sistema 4abilita al usuario para trabajar en el sistema* muestra un mensaje de Aito* da la bienvenida al sistema de =artidas' N El sistema controla los permisos del usuario $ presenta un men; de opciones apropiado $ termina el caso de uso' O El usuario ingresa la in"ormacion necesaria re#uerida por el sistema' P El sistema valida la in"ormacion ingresada por el sistema Q El sistema imprime la "irma del je"e de registros en la partida' R El .istema almacena los datos de la persona en la base de datos e imprime la partida si el usuario lo desea' P4S6C4NDICI4NES :aber ingresado correctamente en sistema E@CEPCI4NES Paso Accin
"ENDIIEN64 >"EC2ENCIA ESPE"ADA M ve8 por d5a IP4"6ANCIA Eital 2"-ENCIA =uede esperar C4EN6A"I4S Kinguno Escenario #1 del Caso de Uso: Registrar Persona 9osa $ Hos van a una cabina p;blica de Internet m7s cercana a su domicilio a registrar a su 4ijo de #uince d5as de nacido' 9osa o Hos proceden a ingresar el cdigo #ue "igura en la constancia entregada por el 4ospital donde naci su pe#ue>o 4ijo' El sistema valida el cdigo ingresado por este $ si es correcto ingresa al sistema de registro de partidas proporcionando 22 los datos re#ueridos por el sistema $ se veri"ica #ue los datos estn completos $ #ue est en la "ec4a re#uerida para ser registrado' Ingresar la "irma de los padres por cual#uier medio electrnico l7pi8 ptico o "irmas escaneadas proporcionadas al sistema por cual#uier medio de almacenamiento magntico )CD.* Dis3ettes, u electrnico )Memorias U.<,' uego el .istema valida las "irmas de los padres reali8ando una b;s#ueda en la base de datos de la 9EKIEC' .i las "irmas son correctas el sistema procede a imprimir la "irma del je"e de registro civil' El sistema imprime la =artida de Kacimiento previa orden de 9osa o Hos' #laboraci*n de los diagramas de secuencia y colaboraci*n. Diagrama de Secuencia: Administrar sistema : <efeDe"egistr :Ain Principal :<efeB"egistro Ingresar Pass;ord /ereficar Pass;ord 7uscar Pass;ord Si E3iste Pass;ord Habilitar >unciones De Administrador -enerar "eportes /isuali+ar "eportes Salir Del Sistema 23 Diagrama de Colaboracin: Administrar Sistema : <efeDe"egistro :Ain Principal :<efeB"egistro 0: 7uscar Pass;ord ': Ingresar Pass;ord C: -enerar "eportes D: Salir Del Sistema E: Habilitar >unciones De Administrador F: /isuali+ar "eportes .: /ereficar Pass;ord 1: Si E3iste Pass;ord 24 Diagrama de Secuencia" Regis!rar -ar!ida : 2suario :Ain Principal 7aseBHospital 7aseB"eniec Padre adre Partida Ingresar Codigo del Nacido /erificar Codigo 7uscar Codigo Si E3iste Codigo Habilitar 2suario Ingresar DNI de Padre /erificar DNI de Padre 7uscar DNI De Padre Si E3iste DNI de Padre Ingresar Datos de Padre "egistrar Datos Del Padre Ingresar DNI de adre /erificar DNI de adre 7uscar DNI de adre Si E3iste DNI de adre Ingresar Datos De adre "egistrar Datos De adre Ingresar Datos Del Nacido "egistrar Datos De Partida Imprimir Partida Enviar Partida Salir Del Sistema 25 Diagrama de Colaboraci*n" Regis!rar Sis!ema : 2suario :Ain Principal 7aseBHospital 7aseB"eniec Padre adre Partida 0: 7uscar Codigo D: 7uscar DNI De Padre '1: 7uscar DNI de adre ': Ingresar Codigo del Nacido C: Ingresar DNI de Padre '$: Ingresar Datos de Padre '.: Ingresar DNI de adre 'C: Ingresar Datos De adre 'D: Ingresar Datos Del Nacido .$: Imprimir Partida ..: Salir Del Sistema E: Habilitar 2suario .': Enviar Partida .: /erificar Codigo 1: Si E3iste Codigo F: /erificar DNI de Padre '0: /erificar DNI de adre G: Si E3iste DNI de Padre 'E: Si E3iste DNI de adre '': "egistrar Datos Del Padre 'F: "egistrar Datos De adre 'G: "egistrar Datos De Partida 26 Diagrama de Secuencia" Consul!ar -ar!ida : 2suario :Ain Sistema :7aseB"eniec Ingresar Codigo Nacido /erificarCodigo 7uscar Codigo Si E3iste Codigo Habilitar >unciones De 2suario Solicitar Consulta /isuali+ar Partida Imprimir Partida Enviar Partida Salir Del Sistema 27 Diagrama de Colaboraci*n" Consul!ar -ar!ida : 2suario :Ain Sistema :7aseB" eniec 0: 7uscar Codigo ': Ingresar Codigo Nacido C: Solicitar Consulta D: Imprimir Partida '$: Salir Del Sistema E: Habilitar >unciones De 2suario F: /isuali+ar Partida G: Enviar Partida .: /erificarCodigo 1: Si E3iste Codigo #laboraci*n de los Diagramas de #s!ado y .c!ividad. Ingresar Codigo H No E3iste Codigo I Habilitar 2suario "egistra Partida Consulta r Partida Solicitar Duplicado Ingresar BDatos Ingresar Parametros Procesar Informacion "egistrar Informacion H E3iste Codigo I Enviar Partida 28 #laboraci*n de los Diagramas de clase. 7aseBHospital <efeB"egistro Partida IdS=artida KombreSKacido .eAoSKacido 0ec4aSInscripcion '))J ' '))J ' '))J ' '))J ' 7aseB"eniec Padre IdSpadre ApS=aterno ApSmaterno KombreS=adre 0ec4aSKacimientoS=adre EdadS=adre KacionalidadS=adre DniS=adre CiudadS=adre '))J ' '))J ' ' '))J ' '))J adre '))J ' '))J ' ' '))J ' '))J Departamento IdSDepartamento DescripcionSDepa ' '))J ' '))J '))J '))J 29 #em$lo /" Desarrollo de O!ro #em$lo en 0orma de!allada Diagramas de UML con Racional Rose Actividad B a, Cree un nuevo pro$ecto' b, En el nodo ra58 del navegador presione el botn derec4o del ratn $ seleccione Create PacKage para crear un pa#uete denominado Actividad '' c, Estando sobre el pa#uete recin creado 4aga clic con el botn derec4o $ cree nuevos pa#uetes #ue se llaman Editor* Controlador* Elementos de Diagrama* Elementos de Dominio* N%cleo -rfico* N%cleo otif* S Aindo;s* otif $ Sistema de /entanas' d, Con el botn derec4o sobre el pa#uete Actividad ' seleccione Diagrama de Clases $ cree el diagrama Actividad '' e, Arrastre desde el navegador al diagrama todos los pa#uetes' Estable8ca relaciones de generali8acin ) , entre pa#uetes* tal como lo muestra la 0igura B'B' =ara representar #ue un pa#uete est7 contenido en otro se puede re"lejar dic4a relacin en el diagrama o modi"icando la propiedad Espacio de Nombres' Observe cmo se re"leja en el navegador cuando un pa#uete est7 contenido en otro' 0igura B'B% 9elaciones de composicin $ generali8acin entre pa#uetes 4bservacin: Constate #ue al seleccionar un elemento )$a sea en el navegador o en el diagrama, $ presionar la tecla Suprimir dic4o elemento es borrado del modeloGpro$ecto' Esto es e#uivalente a elegir la opcin 7orrar del odelo del men; de edicin o del men; del elemento' =ara eliminar un elemento slo de un diagrama debe seleccionarse $ presionar CtrlLSuprimir o seleccionar la opcin "emove from Diagram' Adem7s* presionando Ctrl en un elemento seleccionado del diagrama aparecen ambas opciones de borrado' ", Estable8ca relaciones de dependencia ) , entre pa#uetes completando el diagrama 4asta obtener el resultado mostrado en la 0igura B'L' 4bservacin% 4aga clic en el s5mbolo de dependencia para establecer el nombre del estereotipo' 30 0igura B'L% Diagrama resultante de la Actividad B g, Imprimir el diagrama' En la versin =oseidn "or UM Communit$ Edition las "unciones de impresin est7n des4abilitadas' .in embargo* esto puede suplirse de la siguiente manera% 4pcin A: Con la opcin de men; >ic#erosM-uardar grficos puede guardarse el diagrama en alg;n "ormato gr7"icos de los o"recidos )entre ellos +m"* gi"* jpg, $ luego imprimirlo o insertarlo* por ejemplo* en un "ic4ero M. 2ord' .in embargo en este caso se a>ade el logotipo de =oseidn como "ondo del diagrama' El resultado en nuestro ejempo ser5a el #ue se muestra en la 0igura B'M' 4pcin 7: Eisuali8ar completamente el diagrama' =ara esto* si es necesario* se pueden reducir otros paneles $Go ajustar el 8oom' A continuacin* presionar la tecla ImprLPetSis )tecla de impresin, para capturar la imagen' Abrir el programa =aint u otro editor gr7"ico compatible' =egar la pantalla capturada $ cortar slo el 7rea del diagrama' 0inalmente* pegar el 7rea del diagrama en el "ic4ero destino* por ejemplo* un documento M. 2ord' Est7 es la opcin #ue se 4a utili8ado para elaborar esta gu5a' Editor Controlador Elementos de Dominio K;cleo (r7"ico K;cleo 2indo+s Elementos de Diagrama IIimport JJ
IIimport JJ IIaccessJJ
IIimport JJ IIaccess JJ K;cleo Moti" .istema de Eentanas Moti" M. 2indo+s II import JJ
II import JJ
II import JJ
0igura B'M% 0ic4ero gr7"ico generado 31 Actividad L a, En el mismo pro$ecto cree un nuevo pa#uete bajo el nodo ra58* denominado Actividad .' b, .eleccione el pa#uete recin creado $ con el botn derec4o elija la opcin Diagrama de caso de uso para crear el diagrama Actividad .' c, .eleccione el diagrama Actividad . $ dibuje lo mostrado en la "igura L'B' 0igura L'B% Diagrama Actividad L 32 Actividad M a) En el mismo pro$ecto cree un nuevo pa#uete bajo el nodo ra58* denominado Actividad 0' b) .eleccione el pa#uete recin creado $ con el botn derec4o elija la opcin Diagrama de caso de uso para crear el diagrama Actividad 0' 4bservacin% =uede arrastrar el actor Cliente desde el pa#uete Actividad .' 0igura M'B% Diagrama Actividad M c) .eleccione en el navegador el pa#uete Actividad 0 $ cree un diagrama de secuencia )desde el men; diagramas o desde la barra de men;' .e insertar7 un nodo de tipo colaboracin* denom5nelo "eintegro' Al nuevo diagrama ll7melo "eintegro con saldo insuficiente' d) .eleccione el diagrama "eintegro con saldo insuficiente e introdu8ca el diagrama mostrado en la 0igura M'L 0igura M'L% Diagrama 9eintegro con saldo insu"iciente 33 e) .eleccione el pa#uete Actividad 0 $ cree un diagrama de colaboracin llamado "eintegro con saldo insuficiente' Introdu8ca el diagrama #ue se muestra en la 0igura M'M' Uno a uno* seleccione en el navegador los objetos $a creados $ con botn derec4o elija la opcin ANadir al diagrama' 4bservacin% aun#ue se esperar5a #ue eAistiera una "uncin para elaborar un diagrama de colaboracin a partir de un diagrama de secuencia o viceversa* en =oseidn dic4a "uncionalidad no se proporciona' Adem7s* los diagramas de colaboracin en =oseidn no o"recen toda la notacin #ue especi"ica UM' 34 Actividad N a, En el mismo pro$ecto cree un nuevo pa#uete bajo el nodo ra58* denominado Actividad 1' b, .eleccione el pa#uete Actividad 1 $ cree un diagrama de clases' Introdu8ca el diagrama de la 0igura N'B' 4bservacin% =ara dibujar varios s5mbolos del mismo tipo )clases* asociaciones o generali8aciones en este ejemplo, 4aga doble clic en el icono correspondiente en la barra de 4erramientas del diagrama' 0igura N'B% Diagrama Actividad N 35 Actividad O a, En el mismo pro$ecto cree un pa#uete bajo el nodo ra58* denominado Actividad E' b, .eleccione el pa#uete Actividad E $ cree un diagrama de clases' Introdu8ca la clase Socio con los detalles #ue aparecen en la 0igura O'B' c, .eleccione la clase Socio en el navegador $ cree un Diagrama de Estados conteniendo el diagrama mostrado en la 0igura O'L' 0igura O'B% Diagrama Actividad O 0igura O'L% Diagrama de Estados para la clase .ocio 36 Actividad P a, En el mismo pro$ecto cree un pa#uete bajo el nodo ra58* denominado Actividad C' b, .eleccione el pa#uete Actividad C $ cree un diagrama de despliegue denominado Actividad C)'' Introdu8ca el diagrama de componentes #ue se muestra en la 0igura P'B' 4bservacin% en =oseidn el diagrama de despliegue inclu$e tambin la notacin para el diagrama de componentes* con lo cual en l se pueden elaborar ambos tipos de diagramas* posibilitando la me8cla de elementos' c, .eleccione el pa#uete Actividad C $ cree un diagrama de despliegue denominado Actividad C).' Introdu8ca el diagrama de despliegue #ue se muestra en la 0igura P'L' 0igura P'B Diagrama de componentes 0igura P'L Diagrama de despliegue 37 Actividad Q a, Cree un nuevo pro$ecto' En l reproduciremos parte de una especi"icacin de re#uisitos para el pro$ecto denominado ACE' b, Cree un pa#uete denominado odelo de re8uisitos' A continuacin* agruparemos los Casos de Uso seg;n el departamento involucrado* creando pa#uetes para cada uno de ellosT Contabilidad* Inventario* Publicidad $ /entas' c, Dentro del pa#uete /entas agruparemos los re#uisitos seg;n actor* mediante los pa#uetes "e8uisitos administrativo $ "e8uisitos vendedor' Cada uno de estos pa#uetes tendr7 un diagrama de Casos de Uso con el mismo nombre del pa#uete' a 0igura Q'B muestra el estado del navegador al "inal de esta actividad' 4bservacin% de momento slo estable8ca la estructura de pa#uetes' 0igura Q'B% Diagrama ACME d, En el diagrama "e8uisitos vendedor introdu8ca el diagrama #ue muestra la 0igura Q'L' 0igura Q'L% Diagrama 9e#uisitos vendedor e, En el diagrama "e8uisitos administrativo introdu8ca el diagrama #ue muestra la 0igura Q'M' 38 0igura Q'B% Diagrama ACME ", Utili8ando las especi"icaciones proporcionadas a continuacin* complete el apartado Documentacin de los Casos de Uso del diagrama "e8uisitos vendedor) Caso de 2so: Eenta a cliente de tienda Precondicin: El cliente se identi"ica mostrando su tarjeta $ el DKI Pasos: B' El vendedor introduce el cdigo del cliente L' El sistema veri"ica si se trata de un cliente moroso M' IKCUI9 9eali8ar venta Caso de 2so: Eenta a no cliente Precondicin: El cliente debe pagar en e"ectivo o con tarjeta de crdito )mostrando su identi"icacin, Pasos: B' IKCUI9 9eali8ar venta Caso de 2so: 9eali8ar venta Pasos: B' El vendedor introduce su cdigo de vendedor L' El sistema muestra la pantalla para introducir los datos de la venta M' El vendedor introduce los art5culos mediante un lector de cdigo de barras o directamente por teclado' =ueden ser incluidos varios art5culos en una misma venta' =ara cada art5culo% a' El sistema con"irma #ue el art5culo tiene su"iciente stoc3 para satis"acer la venta b' El sistema calcula el pla8o estimado de entrega c' El vendedor con"irma con el cliente el pla8o de entrega N' El vendedor registra el pago en e"ectivo o a crdito seg;n el tipo de venta O' El sistema emite el recibo de compra Caso de 2so: Solicitar autori+acin Pasos: B' El vendedor introduce solicita un cdigo de autori8acin por tel"ono $ lo introduce en el sistema L' El sistema muestra las condiciones de recargo o de advertencia al cliente M' El vendedor introduce la con"irmacin por parte del cliente Actividad R 39 a, Elabore una lista de posibles escenarios para el caso de uso "eali+ar venta de la Actividad F) b, Cree un diagrama de secuencia para cada escenario describiendo gr7"icamente la interaccin entre el actor $ un objeto denominado sistema' Denomine "eali+ar venta al nodo colaboracin #ue se crear7 autom7ticamente con el primer diagrama de secuencia $ cree el resto de diagramas bajo dic4o nodo' c, <ajo el nodo ra58 cree un pa#uete #ue se denomine odelo de anlisis,diseNo' .eleccione un par de escenarios entre los especi"icados en el punto a, $ realice su an7lisis para establecer posibles objetosGclases #ue colaborar5an para o"recer el comportamiento esperado del sistema' <ajo el pa#uete odelo de anlisis,diseNo elabore diagramas de secuencia adicionales con los correspondientes nombres de los escenarios de los cuales provienen' As5* en estos nuevos diagramas en lugar de aparecer el objeto sistema* ste ser5a reempla8ado por objetos #ue colaboran mediante mensajes' 40 Actividad U a, Cree un nuevo pro$ecto $ denom5nelo Actividades GL'.' Cree el pa#uete Actividad G $ a>ada bajo este pa#uete un diagrama de clases con el mismo nombre' b, Introdu8ca el diagrama #ue se muestra en la 0igura U'B' 4bservacin% intente obtener la misma visuali8acin de la "igura* consulte al pro"esor si no lo consigue' c, .eleccione la clase Alumno $ 4aga clic en la pesta>a Previsuali+acin del cdigo en el panel de propiedades del elemento' Analice las correspondencias entre la clase UM $ el cdigo' Compruebe las modi"icaciones posibles de reali8ar en el cdigo $ cmo se re"lejan en el cdigo los cambios del diagrama' 0igura U'B% Diagrama Actividad U 41 Actividad BD a, A>ada el pa#uete Actividad '$ $ cree bajo este pa#uete un diagrama de clases con el mismo nombre' b, Introdu8ca el diagrama #ue se muestra en la 0igura BD'B' c, .eleccione una clase $ 4aga clic en la pesta>a Previsuali+acin del cdigo en el panel de propiedades del elemento' Analice las correspondencias entre el diagrama UM $ el cdigo' 0igura BD'B% Diagrama Actividad BD 42 Actividad BB a, Cree el pa#uete Actividad '' $ a>ada bajo este pa#uete un diagrama de clases con el mismo nombre' b, Introdu8ca el diagrama #ue se muestra en la 0igura BB'B' c, .eleccione una clase $ 4aga clic en la pesta>a Previsuali+acin del cdigo en el panel de propiedades del elemento' Analice las correspondencias entre el diagrama UM $ el cdigo' 0igura BB'B% Diagrama Actividad BB 43 Actividad BL a, Cree el pa#uete Actividad '. $ a>ada bajo este pa#uete los diagramas de clases Actividad '.)'* Actividad '.). $ Actividad '.)0' b, Introdu8ca los diagramas #ue se muestra en la 0iguras BL'B* BL'L $ BL'M* cada uno en su respectivo diagrama de clases' c, .eleccione clases en los di"erentes diagramas* 4aciendo clic en la pesta>a Previsuali+acin del cdigo para anali8ar las correspondencias entre el diagrama UM $ el cdigo' 0igura BL'B% Diagrama Actividad BL'B 0igura BL'L% Diagrama Actividad BL'L 44 0igura BL'M% Diagrama Actividad BL'M 45