7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 1/65
Los diagramas declases y secuencias del
UML
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 2/65
Los diagramas de clases puedenincluir diversos niveles de
detalle
2
Un diagrama de clases describe, porlo menos, los tipos de objetos —clases—
que hay en un sistema y las relacionesentre ellos.
P.ej., la próxima diapositiva muestra un
diagrama de clases que representa unmodelo del dominio de cursos, alumnosy proesores en una universidad.
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 3/65
!
"urso
#lumno
Proesor
Lista#lumnos
Proesor$ull%ime
ProesorPart%ime
&s'dictado'por
&s'supervisado'por
t('compuesta
'por
#dministra
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 4/65
)
"uando usamos un diagrama de clases
para representar planos de diseño desoftware, el diagrama resultante sellama habitualmente diagrama declases del diseño *+"+.
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 5/65
-
P.ej., la próxima diapositiva muestra un+"+ basado en el modelo de dominio
anteriormuestra los atributos de las clases
*tambi/n pueden mostrarse en el modelo
de dominio0muestra las multiplicidades de las
asociaciones *tambi/n pueden mostrarse enel modelo de dominio0muestra la navegabilidad de las
asociaciones0t1picamente, no muestra los nombres de
las asociaciones.
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 6/65
"urso
#lumno
Proesor
Lista#lumnos Proesor
$ull%imeProesorPart%ime
código
vacantescr/ditos
nombre
n3mero
cantidadetapa
nombre
departamento
o4cina
proyectoscomit/s
empresa
5 6..2
7..6
55
6
57..6
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 7/65
8
Los +"+9s m(s detallados incluyen,adem(s, lo siguientelas operaciones *o m/todos de las clases
:sólo los nombres o las 4rmas completas0los nombres de los roles que desempe;an
las clases en un extremo de una asociacióncon respecto a la clase en el otro extremo
*en lugar de los nombres de lasasociaciones.
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 8/65
<
P.ej., la próxima diapositiva muestraestas propiedades para una porción del+"+ anterior
muestra las operaciones agregarAlumno( ),aumentarVacantes( ), ordenarXprioridad( ),ordenarAlafebeticamente( )0muestra que la clase ListaAlumnos
desempe;a el rol de alumnos inscritos conrespecto a la clase Curso.
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 9/65
=
"urso
Lista#lumnos
código >tringvacantes ?nteger
cr/ditos ?nteger
cantidad ?ntegeretapa ?nteger
agregar#lumno* #lumno @ooleanaumentarAacantes* delta ?nteger ?nteger
ordenarBprioridad* #lumnoC5Dordenar#lab/ticamente*
7..66
alumnos?nscritos
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 10/65
Las clases se representanpor rect(ngulos *o cajas
67
"ada clase tiene uno, dos o trescompartimientos
nombre :obligatorio *el de m(s arriba0
atributos :opcional *el que sigue0
operaciones *o métodos :opcional *el dem(s abajo0 si aparece, tambi/n tiene queaparecer el compartimiento de los atributos,aunque puede aparecer vac1o.
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 11/65
#tributos y operaciones puedenincluir inormación adicional al
nombre
66
Los atributos pueden incluir los tipos dedatosp.ej., código !tring , vacantes "nteger .
Las operaciones pueden incluir lo siguientetipo de dato del resultado producido por la
operación0
nombre y tipo de dato de los par(metros de laoperación :si se especi4ca los par(metros, losnombres son, nuevamente, opcionales0p.ej., agregarAlumno( Alumno ) #oolean , o
agregarAlumno( a Alumno ) #oolean
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 12/65
Eotación UML para los atributos
FvisibilidadG FnombreG FtipoGFmultiplicidadG H Fdefault G IF propert%&stringGJ
normalmente, la visibilidad es privada *' amenos que se muestre otra cosa *K, p3blica0el F propert%&stringG m(s com3n es
'readnl%, es decir, sólo para lectura0la multiplicidad se puede usar para indicar lapresencia opcional de un valor, o el n3merode objetos que puede haber en un atributo *si
es una colección de objetos. 62
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 13/65
&l +"+ tambi/n muestra lasrelaciones entre las clases
6!
ay dos grandes tipos de relacionesentre clasesasociaciones :denotadas por l1neas o
echas, sus extremos pueden indicar roles ymultiplicidades0
generali*aciones *o +erencia :denotadaspor un tri(ngulo *∆, en cuyo v/rticesuperior descansa la clase madre.
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 14/65
6)
&n UML, atributos y asociaciones son dosormas de representar las propiedades
cuyos valores est(n almacenados *no sonm/todos en los objetos
*en NN las llamamos simplemente atributos0
los atributos son las propiedades cuyosvalores est(n almacenados mediantesubobjetos :en general, son de tipos
simples "nteger , !tring, etc0las asociaciones son las propiedades cuyos
valores est(n almacenados mediantereerencias :en general, son otros objetos.
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 15/65
6-
"urso
código >tring
vacantes ?ntegercr/ditos ?nteger
Proesor
Lista#lumnos
cantidad ?ntegeretapa ?nteger
nombre >tring
departamento >tring
5 6..2
7..6
6
"urso
código >tringvacantes ?ntegercr/ditos ?ntegerinstructor Proesoralumnos?nscritos
Lista#lumnos
las propiedades de un curs
mostradas como asociacio
las propiedades de un curso
mostradas como atributos
instructor
alumnosinscritos
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 16/65
Las propiedades :atributos yasociaciones: tienen nombres
6
&l nombre de los atributos es obligatorioopcionalmente, se puede mostrar el tipo de
datos *o clase, la multiplicidad, etc.
&l nombre en las asociaciones es opcionalen un +"+, normalmente se indica el rol que
desempe;an las instancias de la clase en unextremo de la asociación con respecto a lasinstancias de la clase en el otro extremo0p.ej., un ,rofesor es el instructor de un Curso,
y una ListaAlumnos contiene los alumnos
inscritos en un Curso.
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 17/65
Las asociaciones puedentener multiplicidades
68
Multiplicidad cu(ntos objetos pueden participar
simult(neamente en la asociación.
P.ej., en el +"+ anterior6 :una lista de alumnos pertenece a un
curso0
6..2 :un curso puede tener uno o dosproesores05 *o 7..5 :un proesor puede dictar cursos, y
no hay un l1mite superior para el n3mero de
cursos dictados *cero o m(s.
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 18/65
Las asociaciones puedenre4narse
6<
Oelación de agregación *Universidad '
Proesoreses un tipo de relación algo vaga del todo
con sus partes0el todo usa los servicios de sus partes0una parte puede ser compartida por varios
todosQ.
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 19/65
6=
Oelación de composición *Universidad '
$acultadestambi/n relaciona al todo con sus partes,
pero de manera m(s estrecha y precisa0las partes no tienen vida independiente
uera del todo0cada parte pertenece a lo m(s a un todo.
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 20/65
27
Universidad Proesor
Agregación una -niversidad es unaagregación de (est.formada por) varios profesores /ue
traba0an para la univer& sidad1 los profesores pueden traba0ar para otrasuniversidades2
proesor
5
Universidad $acultad
Composición una -niversidad es unacomposición de variasfacultades /ue son parte de la
universidad1 las facultades no
acultad
5
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 21/65
Las asociaciones en un +"+ sonhabitualmente unidireccionales
26
>ólo importa el rol que desempe;a laclase en el extremo con la punta deecha con respecto a la clase de
partida, y no vice versa.
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 22/65
22
P.ej., en la próxima diapositivapara un curso es importante el proesor que
lo dicta y la lista de alumnos inscritos :,rofesor y ListaAlumnos son propiedades deCurso0para un proesor, o una lista de alumnos, el
curso no est( representado como unapropiedad :Curso no es una propiedad de,rofesor ni de ListaAlumnos.
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 23/65
2!
"urso
#lumno
Proesor
Lista#lum
nos Proesor$ull%ime
ProesorPart%ime
código
vacantescr/ditos
nombre
n3mero
cantidadetapa
nombre
departamento
o4cinaproyectoscomit/s
empresa
5 6..2
7..6
5
5
6
57..6
L operaciones l
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 24/65
Las operaciones son lasacciones
que una clase sabe llevar a cabo
2)
"orresponden a las responsabilidadesque tiene una claseen NN, las llamamos m/todos.
La especi4cación de una operación enun +"+ incluye lo siguiente *diapositivasR = y 28nombre *obligatorio0lista de par(metros *opcional0tipo de datos del valor de retorno
*opcional.
U generali*ación d
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 25/65
Usamos generali*ación cuandohay dierencias pero tambi/n
similitudes
2-
Propiedades tanto de proesores ull
time como part time *próximadiapositivanombre, departamento, y ormas para
obtener su cali4cación docente y citarlo areunión.
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 26/65
2
Propiedades sólo de proesores parttimela empresa en que trabajan ull time, y una
orma para renovarles el contrato.
Propiedades sólo de proesores ull timeo4cina que ocupan, proyectos y comisiones
en que participan, y una orma paraasignarles alumnos.
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 27/65
28
Proesor
Proesor$ull%ime ProesorPart%ime
nombre >tring
departamento >tring
o4cina >tringproyectos Proyecto C5Dcomit/s >tring C5D
empresa >tring
evaluacion+ocente* ?ntegercitarOeunión *$echa, ora, lugar >tring @oolean
asignar#lumno*#lumno
@oolean
renovar"ontrato*$echa @oolean
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 28/65
?ncluimos las similitudesen una clase general
2<
Propiedades de la *superclase ,rofesor los atributos nombre y departamento0la operaciones evaluacion4ocente y
citar5eunión.
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 29/65
S y de4nimos subclases
2=
Las subclases tienen sus propiaspropiedades, pero también tienen laspropiedades de la superclase
toda instancia de ,rofesor6ulltime estambi/n, por de4nición, una instancia de,rofesor 0un ,rofesor6ulltime es un tipo especial de
,rofesor 0todo lo que es v(lido para ,rofesor :
asociaciones, atributos, m/todos: tambi/n
lo es para ,rofesor6ulltime.
7erencia l i
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 30/65
7erencia es el mecanismo queimple'menta la generaliTación
en sotare
!7
Oecordemos el principio de sustituibilidaddeber1amos poder sustituir un ,rofesor6ulltime, o
un ,rofesor&,arttime, en cualquier ragmento decódigo que requiera un ,rofesor , y todo deber1auncionar bien0si escribimos código suponiendo que tengo un
,rofesor , podemos usar libremente cualquier
subclase de ,rofesor 0el ,rofesor6ulltime puede responder a ciertos
m/todos dieren'temente de otro ,rofesor , porpolimor4smo, pero el que hace la llamada no
deber1a tener que preocuparse por la dierencia.
U diagrama de secuencia
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 31/65
Un diagrama de secuencia describe cómo colaboran grupos
de objetos
!6
+escribe el comportamiento de un
escenario *de un caso de usomuestra los objetos, o las instancias, que
participan en el escenario y los mensajes
que son pasados entre estos objetos0es un diagrama de objetos, no de clases.
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 32/65
!2
Aeamos primero un caso particularlos diagramas de secuencia del sistema
*+>>s muestran la inter'acción entre dosobjetos un actor principal particular :unobjeto: y el >istema :otro objeto.
Luego veremos el caso m(s general.
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 33/65
&l diagrama de secuenciadel sistema del UML
33
Un 4!! muestra lo siguiente, para unescenario particular de un caso de usoel actor principal que interact3a con el
>istema0el >istema *como una caja negra0los eventos generados por los actores, como
mensajes al >istema0el orden de estos eventos, por su posición
relativa0
el ujo del tiempo, que transcurre hacia abajo.
emp o escenar o pr nc pa
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 34/65
emp o escenar o pr nc padel
caso de uso ,rogramar Cursos
34
8l Coordinador 4ocente indica /ue /uiereiniciar la programación de cursos2 8lCoordinador 4ocente especi9ca la información
necesaria para programar un curso (p2e02:código: nombre del profesor: n;mero devacantes)2 8l !istema con9rma /ue el curso/uedó programado2 8l Coordinador 4ocente
repite el paso anterior para cada curso /ue/uiere programar2 8l Coordinador 4ocenteindica /ue terminó2 8l !istema muestra la lista
de cursos programados2
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 35/65
&jemplo +>> para unescenario del caso de
uso ,rogramar Cursos
35
>istema "oordinador+ocente
iniciarProgramaciónde"ursos*
progamar"urso* código, proesor, vacantes, S
con4rmación
terminarProgramaciónde"ursos*
lista de cursos programados
loop Chay m(s cursos que programarD
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 36/65
un+> sobre procesamiento de
órdenes
!
Aeamos ahora el caso m(s general deun diagrama de secuencia *+>, a trav/sde un ejemplo.
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 37/65
!8
%enemos una orden de compra yllamamos a una de sus operaciones :calc,recio: para calcular su precio
primero, la orden necesita determinar elprecio de cada una de sus l1neas :calc,recio#ase: que depende de lacantidad de productos :obtCantidad: y
del precio unitario del producto de cadal1nea :obt,roducto y obt,recio0luego, la orden debe calcular el descuento
total, que depende del cliente :
obt"nfo4escuento.
cto
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 38/65
!<
calcPrecio*
obt"antidad*
obtProducto*
obtPrecio*
calcPrecio@ase*
calc+escuento*
obt?no+escuento*
unProducto
Nrden Lineacto
Producto
"liente
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 39/65
!=
+iagrama de clases correspondienteal diagrama de secuencia
de la diapositiva anterior
"liente
obt?no+escuento*
Nrden
calcPrecio* calcPrecio@ase* calc+escuento
*
Producto
obtPrecio*
L1nea
obt"antidad* obtProducto*
(
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 40/65
Un +> *b(sico casi nonecesita explicación
)7
&l diagrama anterior muestra losiguiente
cada objeto participante, con una l1nea devida vertical :el tiempo avanTa bajandopor la l1nea0las operaciones llamadas :mensajes
enviados de unos objetos a otros0 yel orden de los mensajes :leyendo el
diagrama de arriba a abajo.
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 41/65
)6
Los mensajes enviados a un objetodeben correspon-der a lasoperaciones defnidas en la clase
del objeto.
cto
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 42/65
mensaje
“encon-
trado”
)2
calcPrecio* obt"antidad*
obtProducto*
obtPrecio*
calcPrecio@ase*
calc+escuento*
obt?no+escuento*
unProducto
línea
de vida
barra de
activación
objeto participante
retorno
mensaje a
sí mismo mensaje
Nrden Linea
"lientecto
Producto
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 43/65
)!
&s (cil ver lo siguienteuna instancia de rden env1a los mensajes
obtCantidad y obt,roducto a una instancia
de Linea0la orden llama a un m/todo de s1 misma,
calc4escuento, y /ste env1a el mensajeobt"nfo4escuento a una instancia deCliente.
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 44/65
))
Pero no todo se muestra igualmentebienla secuencia de mensajes obtCantidad,
obt,roducto, obt,recio y calc,recio#ase tiene que ejecutarse para cada l1nea de laorden :esto no puede deducirse deldiagrama anterior0
hay que agregar inormación adicional aldiagrama, a costa de su simplicidad.
L +> t l ti id d
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 45/65
Los +>s muestran la actividadde los objetos participantes
)-
"ada l1nea de vida tiene una barra de
activación *o varias, opcionalmuestra cu(ndo el objeto participante est(
activo0
corresponde a la ejecución de un m/tododel objeto.
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 46/65
S y sus nombres
)
Poner nombres a los objetos permite
correlacionarlosp.ej., la llamada obt,roducto retorna
un,roducto :el mismo nombre, y por lotanto el mismo participante, que el objetoun,roducto al que se env1a la llamadaobt,recio.
L +> d t
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 47/65
Los +>s pueden mostrarvalores de retorno
)8
Los retornos de las llamadas son
opcionalesincluirlos cuando agreguen inormación0p.ej., el diagrama muestra sólo el retorno
de la llamada obt,roducto, para explicitar la
correspondencia entre el productoretornado y el producto al que se le env1a elmensaje obt,recio a continuación.
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 48/65
S y mensajes sin una uente
)<
&l primer mensaje, calc,recio, no tieneun participante que lo haya enviadoproviene de una uente indeterminada0se conoce como un mensa0e encontrado
*found message.
L bj t d 1 l b
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 49/65
Los objetos podr1an colaborarm(s descentraliTadamente
)=
&n la próxima diapositiva, la orden le pidea cada l1nea que calcule su propio precio.
La l1nea, a su veT, le traspasa el
problema del c(lculo al producto mismole pasa como par.metro la cantidad de
unidades.
Para calcular el descuento, la orden llamaa un m/todo del clientecomo el cliente necesita inormación de la
orden, hace una llamada reentrante
*obtValor#ase a la orden.
unaNrd
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 50/65
-7
calcPrecio*
calcPrecio*
obtAalor+escontado* unaNrden
obtPrecio* cantidad
obtAalor@ase*
valor+escontado
mensajes con
parámetros
en Nrden
Linea Producto
"liente
+i d l di t
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 51/65
-6
+iagrama de clases correspondienteal diagrama de secuencia
de la diapositiva anterior
"liente
obtAalor+esccon'
tado* Nrden
Nrden
calcPrecio* obtAalor@ase*
Producto
obtPrecio* ?nteger
L1nea
calcPrecio*
Los +>s muestran claramente
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 52/65
Los +>s muestran claramentecómo interact3an los
participantes
-2
Los diagramas de las diaps. R )2 y R -7muestran dos ormas dierentes deinteracción entre los mismos cuatroobjetos participantes.
Vsta es su ortaleTa m(s importante
las llamadas entre objetos se venclaramente0dan una buena idea de cu(les objetos
hacen qu/.
b
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 53/65
S pero no son muy buenos paramostrar detalles algoritmicos
-!
Los +>s no son tan buenos para mostrardetalles de algoritmos :hay queagregar 4guras adicionalesp.ej., comportamiento condicional o
repetitivo.
Un +> puede mostrar
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 54/65
Un +> puede mostrarcreación de objetos
-)
Las próximas diaps. muestran el *miniescenario de ,agar en eectivo para un
sistema de PdA, en que participaninstancias de Ca0a, Venta y ,ago.
La instancia de ,ago es creada durantela ejecución del escenario —creación de
participantes.
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 55/65
--
pagar* eectivo
crear* eectivo
pagar* eectivo
mensajede creación
"aja Aenta
Pago
y comportamiento
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 56/65
S y comportamientocondicional
-
la creación de un pago se puede hacerdepender de si el eectivo *entregadopor el cliente es mayor o igual al totalde la venta —comportamiento
condicional.
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 57/65
-8
pagar* eectivo
crear* eectivo
pagar* eectivo
alt
C else D
C eectivo W totalAenta D
marco
custodias
operador
separación de fragmentos
"aja Aenta
Pago
Los marcos de interacción son
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 58/65
Los marcos de interacción sonormas de destacar una región
de un +>
-<
La región es dividida en fragmentoscada ragmento tiene un operador y puede
tener una custodia *una condición.
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 59/65
-=
P.ej.,para mostrar comportamiento condicional
*diapositiva R -8, usamos el operador alt con dos o m(s ragmentos, y ponemoscondiciones mutuamente excluyentes encada custodia :sólo una puede serverdadera y sólo el ragmentocorrespondiente se ejecuta0para mostrar repetición *próxima
diapositiva, usamos el operador loop conun ragmento y la custodia es la condiciónde la repetición.
+irector
+irector "oordinad
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 60/65
7
progr"ursos* progr"ursos* cursosEuevos*Sproposicion*p
proposicion*p asignar"odigo*p
revisar*p
corregirProp*p corregirProp*p
proposicion*pproposicion*p
crear*p
cursoEuevo*p
revisar*p
loop Cp no est( aprobadoD
+irectorde
Pregrado
de+ocenci
a
orde
+ocencia
Proesor
+iagrama de clases
+irectorPregra
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 61/65
+iagrama de clasescorrespondiente
al diagrama desecuencia de ladiapositiva anterior
+irectorPregrado
cursoEuevo
* Programa crear* Programa
Proesor
cursosEuevos*
corregirProp
* Programa
Programa
+irector+ocencia
progr"ursos* proposición* Programa revisar* Programa
"oordinador+ocencia
progr"ursos* proposición* Programa asignar"ódigo
* Programa
alt M3ltiples ragmentos
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 62/65
2
alt M3ltiples ragmentosalter'nativos0 sólo aqu/lcuya custodia es verdadera
se ejecutar(.opt Npcional0 elragmento se ejecuta sólosi la custodia es verdadera
:equivale a alt con unaalternativa.
loop "iclo0 el ragmentopuede ejecutarse varias
veces y la custodia indica lacondición de la repetición.
par Paralelismo0 cadaragmento corre en
paralelo.
ref Oeerencia a unrag'mento que apareceen otro diagrama.
strict Los mensajes enel ragmento est(ntotalmente ordenados:sólo hay una traTa deejecución consisten'tecon el ragmento.
criticalRegion &lragmento debe sertratado como atómico yno puede serintercalado con otrasocurrencias de eventos.
a
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 63/65
!
inscribir* a prerrequisitos* a
alt C a satisace prerrequisitos D
C a no satisace prerrequisitos D
vacantes* a
alt C sección tiene vacantes D
C else D consulta* a
alt C proesor autoriTa D
C else D
aceptado*
aceptado*
rechaTado*
rechaTado*
#lumno >ección Proesor
La diapositiva anterior muestra el +> del
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 64/65
La diapositiva anterior muestra el +> delproceso de inscripción de un alumno enuna sección de un cursoel alumno, a, solicita la inscripción a lasección, y /sta veri4ca el cumplimiento de losprerrequisitos0
si el alumno tiene los prerrequisitos, entoncesla sección veri4ca la disponibilidad devacantes0si hay vacantes, el alumno es admitido0 de locontrario, se consulta al proesor, que puedeautoriTar o no0si el alumno no tiene los prerrequisitos, es
rechaTado.)
a
7/21/2019 UML Diagramas de clases y de secuencia
http://slidepdf.com/reader/full/uml-diagramas-de-clases-y-de-secuencia 65/65
inscribir* a prerrequisitos* a
alt C a satisace prerrequisitos D
C a no satisace prerrequisitos D
vacantes* a
alt C sección tiene vacantes D
C else D consulta* a
alt C proesor autoriTa D
C else D
aceptado*
aceptado*
rechaTado*
rechaTado*
#lumno >ección Proesor