Está en la página 1de 45

Diagramas de UML

Diagrama de Casos de Uso


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

También podría gustarte