Upload
nlopezcenteno
View
297
Download
1
Embed Size (px)
Citation preview
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 1/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 2/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 3/425
Resumen de contenidoIntroduccidn
PARTE I PARA INlClAR
Hora 1 Introduccidn a1 UML
2 Orientacidn a objetos
3
4 Us0 de relaciones
5 Agregacidn, composicidn, interfaces
y realizacidn
6 Introduccidn a 10s casos de us0
7 Diagramas de casos de us0
8 Diagramas de estados
9 Diagramas de secuencias
Us0 de la orientacidn a objetos
10 Diagramas de colaboraciones
11 Diagramas de actividades
12 Diagramas de componentes
13 Diagramas de distribucidn
14
15
Nociones de 10s fundamentos del UML
Adaptaci6n del UML en un proceso de desarrollo
PARTE 11 ESTUDIO DE UN CASO
Hora 16
17
18
19
20
21
22
Presentacidn del caso por estudiar
Elaboracidn de un anilisis de dominio
Recopilacidn de las necesidades del sistema
Desarrollo de 10s casos de us0
Orientacidn a las interacciones y cambios de estado
Diseiio del aspecto, sensacidn y distribucidn
Nocidn de 10s patrones de diseiio
i
3
5
19
33
45
57
67
75
91
103
119
133
149
163
173
187
203
205
223
247
267
28 1
293
309
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 4/425
PARTE 111 VISION DEL FUTURO
Hora 23 Modelado de sistemas incrustados
24 El futuro del UML
PARTE IV APENDICES
ApCndice A
ApCndice B
ApCndice C Un resumen grlfico
hdice
Respuestas a 10s cuestionarios
Herramientas de modelado para el UML
321
323
341
355
357
369
377
387
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 5/425
ContenidoINTRODUCCI~N 1
PARTE I PARA INICIAR 3
HORA 1 INTRODUCC16N A1 UML 5
Por qu6 es necesario el UML ................................................................................ 6
La concepci6n del UML ........... ............................................ 7
Diagramas del UML ............................................................................................. .8
Diagrama de clases . ............................................................... 8Diagrama de objetos .......................................................................................... 9
Diagrama de casos de us0 ..... .............................................................. 10
.....................................................
............................................................. 11
Diagrama de actividades .................................................Diagrama de colaboraciones .........
Diagrama de dis t r ibucih ................................................................................ 14
Otras caracten'sticas ................................................................ 14
Paquetes .......................................................................................................... 14
Notas .................................................................................
Diagrama de componentes .............
Para quC tantos diagramas .......................................
Preguntas y respuestas ............................Resumen ..................................................
Taller ................................................................................................................... .17
Cuestionario ..................... 17
Ejercicios ........................................................................................................ 17
HORA 2 ORIENTAC16N A OBJETOS 19
..........20
Algunos conceptos ............................................................................................... .22
Abstracci6n ..................... ........22
Herencia .......................................................................................................... 23
Polimorfkmo
Envfo de mensajes
Asociaciones ................................................................................................... .26
La recompensa ..................................................................................................... .30
Objetos, objetos por doquier ....................
Agregaci6n ..... .......................... 28
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 6/425
1 viAprendiendo UML en 24 horas
Resumen .................. ....................... 30
Taller .....................................
Preguntas y respuestas .......................................................................................... 31
.............................................................................................. 31
Ejercicios ....................................... .......32
HORA 3 US0 DE LA ORlENTACldN A OBJETOS 33
Concepcidn de una clase ...................................................................................... 33
Operaciones ......................................................................................................... .36
Atributos, operaciones y concepci6n ...
Notas adjuntas .......................................QuC es lo que hacen las clases y c6mo encontrarlas ............................................ 40
Preguntas y respuestas ........................................................................................ 43
Atributos ................................
Responsabilidades y restriccio
Resumen ................................................
Taller .....................................................
Ejercicios ........................................
HORA 4 US0 DE RELACIONES 45
Asociaciones .............................................................................. .46
Restricciones en las asociaciones ... .......41
Clases de asociacidn ...................................................................................... ..48
Vinculos ........ .......48.........................................Multiplicidad ....................................................................................................... .49
Resumen ...........................................................................................
Taller ...............................................................................................Cuestionarios
HORA 5 AGREGACl6N. COMPOSlCl6N, INTERFACES Y REALlZACl6N 57
Agregaciones .... ............................................................................... 58
Restricciones en las agregaciones ................. 59
................................................................ 59Contextos 59.........................................................................................
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 7/425
Contenido vii
Interfaces y realizaciones ...................................................................................... 61
Visibilidad ...............
Ambito ...................Resumen ..... .....Preguntas y respuestas ......................................................... ................................. 64
.64
Cuestionario .................................................................................................... 64
.64
HORA6 lNTRODUCC16N A LOS CASOS DE US0 67
QuC son 10s casos de us0 ...................................................................................... 68
Importancia de 10s casos de us0
Un ejemplo: la maquina de gaseosas .................................................................... 69
........................
El caso de us0 “Comprar gaseosa”
Casos de us0 adicionales ..
Inclusi6n de 10s casos de us0 ..Extensidn de 10s casos de us0
Inicio del anfilisis de un caso de us0 ................................................... 73
Resumen ................................................................................................... .............73
Preguntas y respuestas . .............................................74
Taller ............................................................................................... ..................... 74
.......
.....
..........................................................74
.............................................74
HORA7 DIAGRAMASDE CASOSDE us0 75
...
Representaci6n de un modelo de caso de us0 ....Una nueva visita a la mBquina de gaseosas .................................................... 76
Secuencia de pasos en 10s escenarios .................
Inclusi6n ....Extensi6n ........................................................................................................ 79
Generalizaci6n ..................................................................Agrupamiento .................................................................................................. 81
Diagramas de casos de us0 en el proceso de anhlisis .......................................... 81
Aplicacidn de 10s modelos de caso de us0 ..................................... .................... 8 1
Comprensi6n del dominio .............................................................................. 82
Comprensi6n de 10s usuarios .......................................................................... 82
Comprensi6n de 10s casos de us0 . ............................................................82
Profundizaci6n ................................................................................................ 83
D6nde estamos ................... ........................................................................... .85 .Elementos estructurales ........................................................................... .86
Relaciones ............................... ......................................................................... 86Agrupamiento .............................................................................
Concepci6n de las relaciones
........
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 8/425
I viii Aprendiendo UML en 24 horas
HORA 8
HORA 9
.,Anotacion ....................................................................................................... .86
Extensi6n ....... .87
.............................................................................. .87El Panorama .......... .87
Resumen .............................................................................................................. ..88
Preguntas y respuestas .................. ......................................................................................................... 89
Cuestionario ...........................................................................................................................
DIAGRAMASDE ESTADOS 91
QuC es un diagrama de estados ....
Simbologia ..................................................................................................... .92Adici6n de detalles a1 icono de estado ......................Sucesos y acciones ....................................................Condiciones de seguridad ................................................................................ 95
.........................................
................................................ .96
Subestados concurrentes ................................................ .96
................................................ .97
................................ 98Mensajes y seiiales ..Por quC son importantes 10s diagramas de estados .............................................. 99
Adiciones al panorama
Preguntas y respuestas ....................... 101
Cuestionarios .
Ejercicios ...................................................................................................... 102
DIAGRAMASDE SECUENCIAS 103
QuC es un diagrama de secuencias ....................................Objetos .............. ....................................................................... 104
Tiempo ............................................................................................... 105
Mensaje ...................................................................................
La GUI .........................................................................................La secuencia .................... ....................................................................... 106
El diagrama de secuencias .....................................................El caso de us0 ................ .............................................
Instancias y genCricos ........................................................................................ 108
............................................... 108
............................................... 109
112C6mo representar la recursividad ...................................................................... 114
Un diagrama de secuencias de instancias
Un diagrama de secuencias genCrico ........
Creaci6n de un objeto en la secuencia
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 9/425
Contenido IX
Adiciones a1 panorama ............................ ................................................ 115
Preguntas y respuestas ...............................
1 I5
............................ 116116
Cuestionario ............................................ ........................... 1 16
117Ejercicios .... .............................................................
Resumen ... .............................................................
Taller .. .............................................................
HORA 10 DIAGRAMASDE COLABORACIONES 119
QuC es un diagrama de colaboraciones ........................ ........................... 120
La GUI .......................... .................................................................. 121
Cambios de estado .................................................... .................. 122
La miquina de gaseosas ............................................................ 122
Creaci6n de un objeto ................................................... .............. 124Algunos conceptos m is . ........................................................... 125
Varios objetos recepto ........................Representaci6n de 10s .......................................................... 126
Objetos activos .....................................................Sincronizacih ....................... ........................................................ 127
Adiciones a1 panorama ...................................................Resumen ................................ ............................................................. 129
Preguntas y respuestas ................................................................Taller .................................... ........................................................
Cuestionario ......................................................................Ejercicios ......................... .......................................................... 130
HORA 11 DIAGRAMASDE ACTIVIDADES 133
Objetivos .. ..................................................................QuC es un diagrama de actividades .....................................
Decisiones, decisiones, decisiones .................................Rutas concurrentes .............. ................................................................ I3 5
Indicaciones ...........................................................................
Una operaci6n: Fibs ..............................................................Proceso de creaci6n de un documento
Aplicaci6n de 10s diagramas de actividades .......................
....................................... 138
Marcos de responsabilidad ........................................................Diagramas hibridos ................ ........................................................ 142
Resumen ............................................. ................................................... 145
Taller ................................................... ............................................... 146
Ejercicios ........................................ .................................. 147
Adiciones a1 panorama ............................................................
Preguntas y respuestas ........................................................
146Cuestionario ........................................................
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 10/425
X Aprendiendo UML en 24 horas
HORA12 DIAGRAMASDE COMPONENTES 149
........................................................... 150
Componentes e interfaces .I50
Sustitucidn y reutilizacidn ........................................................................... .15 1
.......................................................... 152
QuC es un componente ..........................................................................
Tipos de componentes ................................................QuC es un diagrama de componentes
Representacidn de un componente ....................Cdmo representar las interfaces ....
Aplicacidn de 10s diagramas de componentes ...........
Una pagina Web con controles ActiveX ............Una pigina Web con un subprograma Java ......
.................................................................... 157
....................................................................... 159
Preguntas y respuestas ................................................Taller ..................................................................... 160
Cuestionario ......................... 160
Ejercicios ........... ........................................................................ 160
norama ............
...............................................................................
HORA 13 DIAGRAMASDE DlSTRlBUCl6N 163
QuC es un diagrama de distribucidn ........... ............................. 164
Aplicacidn de 10s diagramas de distribucidnUn equipo domCstico ..................................... ...................................... 166
.................................................................... 166
........................... 16 7
.................................... 169
Los diagramas de distribucidn en el
Resumen ........................................................ ........................... 171
Una red token-ring .
..........................................................Red i n a l h b r i c a Ricochet de Metricom
..........................................................Taller .............................................. ....................................... 172
.......................................................................................................... 172
HOW 14 NOCIONESDE LOS FUNDAMENTOS DEL UML 173
Estructura del UML ...............................................Capa del metamodel ........................................... 175
El paquete de Fundamentos ...............................................El paquete de 10s elementos de comportamiento ...............Administracidn de modelos .................................................
Extensidn del UML ...................... ....................................... 179
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 11/425
I Contenido
Estereotipos ........................................................................................................ 179
.............................................................................. 180
.............................................................. 180............ 181
Generalizacion ............................................................................................. .18 1
Componente .................................................................................................. 182
Algunos otros estereotipos .......
. .I
Restricciones ....
Preguntas y respuestas ........................................................................................ 185
Taller .............................. 185
Cuestionario .................................................................................................. 185
HORA 15 ADAPTACldN DEL UML EN UN PROCESO DE DESARROLLO
Metodologias: antiguas y recientes .....................
187
188
El mCtodo antiguo ........................................................................................ 188
El mttodo reciente ..........................Lo que debe hacer un proceso de desarrollo ...................................................... 190
GRAPPLE ............................................
RAD3: la estructura de GRAPPLE ..Recopilaci6n de necesidades .......................Analisis .......................................................................................................... 195
Diseiio ............................................. 197
Desarrollo ...................................................................................................... 198
Distribuci6n ................................................ ................. 199
Resumen de GRAPPLE ....................... ...................................... 199
Resumen ................................................................................ 200
Preguntas y respuestas ........................................................................................ 201
Taller .................................................................................. 20 1Cuestionario .................................................................................................. 201
PARTE II ESTUDIODE UN CASO
HORA 16 PRESENTACldNDEL CASO POR ESTUDIAR 205I
Aplicaci6n de GRAPPLE a1 problema ................................ 206
Descubrir 10s procesos del negocio .................................................................... 206
Servir a un cliente .............................................Preparaci6n de platillos ...................................
Limpieza de la mesa ................................................................Lecciones aprendidas ..............
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 12/425
1 xi i Aprendiendo UML en 24 horas
Resumen. .............................................................. 220
Preguntasy respuestas ................................ ......................................... 221
Taller .......... 22 1Cuestionario .................................. ........................................... 221
Ejercicios .......................................................................... .222
HORA 17 ELABORACldN DE UN ANALISIS DE DOMlNlO 223
Anilisis de la entrevista del proceso del negocio .............................................. 224
Desarrollo del diagrama de clases inicial 225
Agrupaci6n de las clases ............... .......................................................... 228
Conformaci6n de asociaciones ...............................................Asociaciones con el cliente ... ...................................................... 229
Asociaciones con el Mesero ..................................................Asociaciones con el Chef ............ ................................................ 235
Asociaciones con el Mozo de piso ..............236
Asociaciones con el Gerente . ........................................................ 236
Formaci6n de agregados y objetos compuestos ................................................ 238
Llenado de las clases ................... 239
El Cliente ................ ................................................................ 240
El Empleado ...................................................................La Cuenta ................
Detalles generales de 10s
Diccionario del modelo ....................................................... 242
.....................................................................
..........................
......................................
Una digresi6n ..............................................................
...........................................................
Organizaci6n del diagrama ................................................Lecciones aprendidas ................ ............................................................ 243
Preguntas y respuestas ..............
Cuestionario ................Ejercicios ........................................................ .................................. 245
HORA 18 RECOPlLACldN DE LAS NECESIDADES DEL SISTEMA 247
Desarrollo de la idea .....................................................Preparaci6npara la reco
La sesi6n JAD de necesidades ............................................................... 258
El resultado ...................................................... .............................. 261
LAhora quC? ....................... .............................................................Resumen ............................................................... ................................ 264
Preguntas y respuestas ........ ....................................................Taller .......................................................................... ............................. 265
Ejercicio .......................................................... ................................. ,265
Resumen ........................ ...................244
................................................................. 244
..............................................................
....
....................................................
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 13/425
Contenido xiii I
HORA 19 DESARROLLODE LOS CASOS DE us0 267
............................ 268
........................... ,269
............................ 271
Cuidado y provisidn de 10s casos de us0 ....................
El analisis de 10s casos de us0
El paquete Mesero .............................................................................
Tomar una orden ...............................
Transmitir la orden a la cocina ...................
Cambiar una orden . .........................................Sondeo del progreso ............................ 273
Notificar a1 chef del progreso de 10s clientes en sus alimentos .................... 273
Totalizar una cuenta ..................... ........................... .275
Imprimir una Cuenta ................... ................................................... 275
Llamar a un Asistente ................... .................................................. ,276
Casos de us0 restantes .................
Componentes del sistema .................
Resumen ............................................................................................................. .278
............................ 278
Taller .................................................................................................................. 279
........ ......... ........... 279
...................................................................................... ,279
281
Preguntas y respuestas ....................
HORA 20 ORlENTACldN A LAS INTERACCIONES Y CAMBIOS DE ESTADO
Las partes funcionales del sistema ................
El paquete Mesero ........................................................................................ 282
............................ 283
El paquete Asistente Mesero
El paquete Asistente Chef ............................................................................ 283
El paquete Encargado Del Guardarropa ........................................................ 284
Colaboracidn en el sistema
Tomar una orden .....
Cambiar una orden .
.................
El paquete Cantinero .......... 284
Sondeo del progreso .................................................................. 289
Implicaciones ...............
Resumen ............................................................................................................. .29
Preguntas y respuestas .
Taller ................................................................................................................. .292
Cuestionario ...........
Ejercicios ..................................................................................................... ,292.
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 14/425
I xiv Aprendiendo UML en 24 horas
HORA 21 DISENO DEL ASPECTO, SENSACldN Y DlSTR!BUCl6N 293
Algunos principios generales en el diseiio de las GUI ...................................... 294
La sesi6n JAD para la GUI .De 10s casos de us0 a las interfaces de usuario .................................................. 297
Diagramas UML para el diseiio de la GUI ...299
Esbozos de la distribucih del sistema .............................................................. 30 0
...301
ucion ...................................................... 301
................
Siguientes pasos .............. ...303
.. Y ahora, unas palabras de nuestros patrocinadores ....................................... .304
Mejorar el trabajo de la fuerza de ventas ........ .304
Expansiones en el mundo restaurantero ........................................................ 305
Resumen ..........................Preguntas y respuestas ....
Ejercicios ..................
HORA22 NOCI~NE LO S PATRONES DE DISENO 309
Parametr izac ih ......... .................................................................................... 310
Patrones de diseiio ................ ......312
Cadena de responsabilidad ................................................................................ 313
...314
Cadena de responsabilidad: Modelos de eventos de 10s exploradores Web 3 15
Nuestros propios patrones de diseiio ........
Ventajas de 10s patrones de diseiio .................................................................... 319
Resumen ....................................................Preguntas y respuestas ..............................Taller ...........................................................
....................................
Cadena de responsabilidad: dominio Restaurante ..........
Cuestionario .................................................................................... 320
Ejercicios ...................................................................................................... 320
PARTE 111 VISION DEL FUTURO 321
HORA 23 MODEIADO DE SISTEMAS INCRUSTADOS 323
.......................................................... 324
......................................................... .325
.......................................................... 328
iQuC es un sistema incrustado? ....
Subprocesos .................................................................................................. 328
Intermpciones ............. ...329Sistema operativo .......................................................................................... 330
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 15/425
Contenido xv
Modelado de TecnoApreth ........ ................................Clases ............................................................................................................ 332
Casos de us 0 ............................Interacciones .................................................................................................. 335
Cambios de estado generales ..................Distribucidn ............................................
Flexiones en sus mfisculos ................................................................................................................... 339
........................................................................................ 340
....................................................... ,340
....................................................................................... 340
HORA 24 EL FUTURO DEL UML 341
Extensiones para 10s negocios ........................................ ........ ,342
Interfaces grhficas de usuario ........................................Conexiones a casos de us0
Modelado de la GUI ..................................................
Preguntasy respuestas ................................... ..339
Lecciones de las extensiones de negocios .......................................................... 343
..................................................... .344
Sistemas expertos ..................................................................... .346
Componentes de un sistema experto .............................................................................................. ,348
...................................................................... 352
Resumen ............................................................................................................................................................. 353
Taller .................................................................................................................. 353
Cuestionario ......... ....................................................................... 353
ientos ...........................Eso es todo, amigos .......
Preguntasy respuestas ......
PARTE IV APENDICES 355
AP~NDICE RESPUESTASA LOS CUESTIONARIOS 357
AP~NDICE HERRAMIENTASDE MODELADO PARA EL UML 369
Rational Rose . ............................................................................ 370
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 16/425
1 xvi Aprendiendo UML en 24 horas
AP~NDICEC UN RESUMEN GRAFICO 377
Diagrama de actividades ................................. ........................... 378
Diagrama de colaboraciones ...........................
Diagrama de distribuci6n .............................
Diagrama de secuencias .......................................................Diagrama de estados .......................... ................................................ 384
Diagrama de casos de us0 .............................................................
..... ..................................................Diagrama de clases 380
............................... 382
Diagrama de component 382...................................... 383
.........................................................
~NDICE 387
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 17/425
Acerca del autorJoseph Schmuller es vicepresidente de la divisidn de Consumer Finance Technologies
del Bank of America. De 1991 a 1997 fue editor en jefe de la revista PC AI. Ha escrito
diversos articulos y reseiias de tecnologias avanzadas de computacidn y es autor de
ActiveX No experience required y Dynamic HTML Muster the Essentials. Tiene un
doctorado de la Universidad de Wisconsin, y es profesor adjunto en la Universidad del
Norte de Florida.
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 18/425
Dedicatoria A mi maravillosa madre, Sara Riba Schmuller;
quien me enseiid a aprender por mi' mismo.
ReconocimientosEscribir un libro es un proceso arduo; per0 por fortuna, el equipo de Macmillan
Computer Publishing lo ha hecho m8s f8cil. Es un placer reconocer sus contribuciones.
Tanto el editor de adquisiciones, Chris Webb, como el de Desarrollo, Matt Purcell, meayudaron a convertir mis pensamientos en algo legible; por encima de su gran experien-
cia editorial, les agradezco sus alicientes, paciencia y apoyo. Los revisores tkcnicos, Bill
Rowe y Michael Tobler se aseguraron de que el contenido fuera tkcnicamente correct0
y se 10s agradezco. La editora, Susan Moore, 10s destacados artistas de Macmillan y el
personal de producci6n convirtieron el manuscrito y sus diversos diagramas en el libro
que ahora es t i leyendo.
David Fugate de Waterside Productions conjug6 todo el proceso. Le agradezco haberme
hecho coincidir con Macmillan y haberme colocado en otro proyecto muy retribuyente.
Tengo el privilegio de trabajar todos 10s dias con un grupo de excelentes profesionalesen la divisi6n de Consumer Finance Technologies del Bank of America (especificamente,
como miembro del grupo de Objetos y componentes reutilizables). Mi agradecimiento
a mis colegas por su apoyo y cooperacibn. En particular, las conversaciones con Keith
Barret y Rob Warner me ayudaron a clarificar mis ideas sobre diversos puntos. Por des-
gracia Tom Williamson, nuestro Director de divisidn, falleci6 mientras escribia este libro.
El era el corazdn y el alma de CFT, y fue un asesor, tutor, colega y amigo.
Agradezco a mis queridos amigos, 10s Spragues de Madison, Wisconsin, en cuyo vecinda-
rio estaba de casualidad cuando empeck a escribir este libro y, nuevamente, a1 terminarlo.
Agradezco a mi madre y a mi hermano David por su amor y por siempre estar cerca demi, y a Kathryn por ser, por siempre, todo para mi.
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 19/425
1 Pearson Educacion LatinoamericaI
I
El personal de Pearson Educacidn LatinoamCricaesth cornprometido en presentarle lo
LatinoamCricaes el resultado de meses de trabajo de nuestro personal, que investiga y
refina la informacidn que se ofrece.
Como parte de este compromiso con usted, el lector de Pearson Educacidn
LatinoamCricalo invita a dar su opinidn. Por favor hhganos saber si disfruta este libro, si
tiene alguna dificultad con la informacidn y 10s ejemplos que se presentan, o si tiene
alguna sugerencia para la prdxima edicidn.
Sin embargo, recuerde que el personal de Pearson Educaci6n LatinoamCrica no puede
actuar como soporte tCcnico o ni responder preguntas acerca de problemas relacionadoscon el software o el hardware.
Si usted tiene alguna pregunta o comentario acerca de cualquier libro de Pearson
Educacidn LatinoamCrica, existen muchas formas de entrar en contacto con nosotros.
Responderemos a todos 10s lectores que podamos. Su nombre, direccidn y numero tele-
fdnico jamas formarhn parte de ninguna lista de correos ni seran usados para otro fin,
mas que el de ayudarnos a seguirle llevando 10s mejores libros posibles. Puede
escribirnos a la siguiente direccidn:
Pearson Educacidn LatinoamCrica
Attn: Editorial Divisidn Computacidn
Calle Cuatro No. 25, 2" Piso,
Col. Fracc. Alce Blanco
Naucalpan de Juirez, Edo. de Mexico.
C.P. 53370
Si lo prefiere, puede mandar un fax a Pearson Educacidn LatinoamCrica a1
mejor en material de consulta sobre computaci6n. Cada libro de Pearson Educaci6n '
1
(525) 5387-0811.TambiCn puede ponerse en contacto con Pearson Educaci6n LatinoamCrica a travCs de
nuestraphgina Web: ht tp : / /www.pearson .com.mx
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 20/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 21/425
12Aprendiendo UML en 24 horas
Convenciones utilizadas en este libro
En 10s diagramas incluidos en este libro no utilizamos vocales con acento, ni la letra eiie.
Esto debido a que el alfabeto inglCs, de donde procede la mayoria de 10s lenguajes de
programacibn, no 10s incluye y el empleo de esos caracteres en sus diagramas podria
acarrearle problemas tanto en el UML como en el lenguaje de programacih que piense
Una Nota presenta interesantes secciones de inforrnacion relacionadas con el
tema que se trate.
El icono TCrmino Nuevo resalta las definiciones de vocablos nuevos y esen-
ciales. El vocablo, en si, aparecera en cursiva.
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 22/425
PARTEIPara iniciar
Hora1
2
3
4
5
6
78
9
10
11
12
13
14
15
lntroduccion al UML
Orientacion a objetos
Us0 de la orientacion a objetos
Us0 de relaciones
Agregacion, composicion, interfaces y realizacion
lntroduccion a 10s casos de us0
Diagramas de casos de us0Diagramas de estados
Diagramas de secuencias
Diagramas de colaboraciones
Diagramas de actividades
Diagramas de componentes
Diagramas de distribucion
Nociones de 10s fundamentos del UML
Adaptacion del UML en un proceso de desarrollo
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 23/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 24/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 25/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 26/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 27/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 28/425
I 10 Hora 1
FIGURA 1.2
El simbolo U M L del
objeto.
Diagrama de casos de us0
Un caso de us0 es una descripcion de las acciones de un sistema desde el
punto de vista del usuario. Para 10s desarrolladores del sistema, Csta es una
herramienta valiosa, ya que es una tCcnica de aciertos y errores para obtener 10s reque-
rimientos del sistema desde el punto de vista del usuario. Esto es importante si la finali-
dad es crear un sistema que pueda ser utilizado por la gente en general (no s610 por
expertos en computaci6n).
Posteriormente trataremos este tema con mayor detalle; por ahora, le mostrark un ejem-
plo sencillo. Usted utiliza una lavadora, obviamente, para lavar su ropa. La figura 1.3 le
muestra c6mo representaria esto en un diagrama de casos de us0 UML.
Lavar ropa
K -
IGURA1.3
Diagranza de casos
de us0 UML.
Usuario de la lavadora
A la figura correspondiente a1 Usuario de la lavadora se le conoce como actor.
La elipse representa el caso de uso. Vea que el actor (la entidad que inicia el
caso de uso) puede ser una persona u otro sistema.
Diagrama de estadosEn cualquier momento, un objeto se encuentra en un estado en particular. Una persona
puede ser reciCn nacida, infante, adolescente, joven o adulta. Un elevador se moveri
hacia arriba, estar6 en estado de reposo o se mover6 hacia abajo. Una lavadora podri
estar en la fase de remojo, lavado, enjuague, centrifugado o apagada.
El diagrama de estados UML, que aparece en la figura 1.4,captura esta pequefia reali-
dad. La figura muestra las transiciones de la lavadora de un estado a1 otro.
El simbolo que esti en la parte superior de la figura representa el estado inicial y el de la
parte inferior el estado final.
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 29/425
lntroduccion at UML 11
FIGURA1.4 t
Lavado
Diagrarna de estados
UML.
Q
Diagrama de secuenciasLos diagramas de clases y 10s de objeto representan informaci6n esthtica. No obstante,
en un sistema funcional 10s objetos interactfian entre si, y tales interacciones suceden
con el tiempo. El diagrama de secuencias UML muestra la mecinica de la interacci6n con
base en tiempos.
Continuando con el ejemplo de la lavadora, entre 10s componentes de la lavadora
se encuentran: una manguera de agua (para obtener agua fresca), un tambor (donde se
coloca la ropa) y un sistema de drenaje. Por supuesto, estos tambiCn son objetos (como
veri, un objeto puede estar conformado por otros objetos).
iQuC sucederh cuando invoque a1 caso de us0 Lavar ropa? Si damos por hecho que com-
plet6 las operaciones “agregar ropa”, “agregar detergente” y “activar”, la secuencia seria
m is o menos asi:
1. El agua empezari a llenar el tambor mediante una manguera.
2. El tambor permaneceri inactivo durante cinco minutos.
3. La manguera dejari de abastecer agua.
4. El tambor girari de un lado a otro durante quince minutos.
5. El agua jabonosa saldrh por el drenaje.
6. Comenzarh nuevamente el abastecimiento de agua.
7. El tambor continuari girando.
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 30/425
I 1 2 Hora 1
8. El abastecimiento de agua se detendri.
9. El agua del enjuague saldri por el drenaje.
10. El tambor girari en una sola direcci6n y se incrementari su velocidad por cinco
11. El tambor dejara de girar y el proceso de lavado habri finalizado.
minutos.
La figura 1.5 presenta un diagrama de secuencias que captura las interacciones que se
realizan a travCs del tiempo entre el abastecimiento de agua, el tambor y el drenaje (re-
presentados como rectingulos en la parte superior del diagrama). En este diagrama el
tiempo se da de arriba hacia abajo.
FIGURA1.5
Diagrama de
secuencias UML.
Drenaje
- Reabastecer de agua
Detenerse
Por cierto, volviendo a las ideas acerca de 10s estados, podriamos caracterizar 10s pasos 1
y 2 como el estado de remojo, 3 y 4 como el estado de lavado, 5 a 7 como el estado de
enjuague y de18 a1 10como el estado de centrifugado.
Diagrama de actividadesLas actividades que ocurren dentro de un caso de us0 o dentro del comportamiento de un
objeto se dan, normalmente, en secuencia, como en 10s once pasos de la secci6n anterior.
La figura 1.6 muestra la forma en que el diagrama de actividades UML representa 10spasos de14 a1 6 de tal secuencia.
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 31/425
lntroduccion al UML 13 I
Girar el tambor de un lado a otro 15 rninutosFIGURA 1.6
I Diagrama de actividades UML. .
Vaciar el agua jabonosa 3
Reiniciar el abastecimientode agua
Diagrama de colaboracionesLos elementos de un sistema trabajan en conjunto para cumplir con 10s objetivos del sis-tema, y un lenguaje de modelado deberfi contar con una forma de representar esto. El
diagrama de colaboraciones UML, diseiiado con este fin, se muestra en la figura 1.7.
Este ejemplo agrega un cron6metro interno a1conjunto de clases que constituyen a una
lavadora. Luego de cierto tiempo, el cron6metro detendri el flujo de agua y el tambor
comenzari a girar de un lado a otro.
Cronometro internoFIGURA 1.7
Diagrama de
colaboraciones UML.Manguera de agua2: Girar de un lado a otm
T
Diagrama de componentesEste diagrama y el siguiente dejarfin el mundo de las lavadoras, dado que estin intima-
mente ligados con 10s sistemas informfiticos.El modern0 desarrollo de software se realiza mediante componentes, lo que es particular-
mente importante en 10s procesos de desarrollo en equipo. Sin extenderme mucho en este
punto le mostrare, en la figura 1.8, la manera en que el UML representa un componente
de software.
FIGURA1.8
Diagrama deComponente
componentes UML. GI I
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 32/425
I '4 Hora 1
"Procesador"Pequefio servidor Qube 2700WG
de Cobalt Networks
/
Diagrama de distribucionEl diagrama de distribuci6nUML muestra la arquitectura fisica de un sistema infor-
mhtico. Puede representar 10s equipos y dispositivos, mostrar sus interconexiones y el
software que se encontrari en cada miquina. Cada computadoraesti representada por un
cub0 y las interacciones entre las computadoras esthn representadas por lineas que
conectan a 10s cubos. La figura 1.9presenta un ejemplo.
FIGURA1.9
Diagrarna de
distribucidn UML.
Vectra VL Serie 7 Dell Dimension XPS R450
Otras caracteristicasAnteriormente,mencionC que el UML proporciona caracten'sticas que le permiten orga-
nizar y extender 10s diagramas.
PaquetesEn algunas ocasiones se encontrari con la necesidad de organizar 10s elemen-
tos de un diagrama en un grupo. Tal vez quiera mostrar que ciertas clases o
componentes son parte de un subsistema en particular. Para ello, 10s agruparii en un
paquete, que se representarh por una carpeta tabular, como se muestra en la figura 1.10.
FIGURA1.I0
El paquete UM L le
permite agrupar 10s
elementos de un
diagrama.
1Paquete 1
Clase 10
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 33/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 34/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 35/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 36/425
Or
E!
ot
cc
EI
Li
dc
ta.
3RA 2lientacion
3bjetos5 fundamental que comprenda todo lo relacionado a la orientaci6n a
Ijetos para el proceso que realizark especificamente, es importante que
mozca algunos conceptos sobre la orientaci6n a objetos.
n esta hora se tratarin 10s siguientes temas:
Abstracci6n
Herencia
Polimorfismo
Encapsulamiento o encapsulaci6n
Envio de mensajes
Asociaciones
Agregac ih
a orientacidn a objetos ha tomado por asalto y en forma legitima a1 mundo
:1 software. Como medio para la generaci6n de programas, tiene varias ven-
jas. Fomenta una metodologia basada en componentes para el desarrollo
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 37/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 38/425
Orientacion a objetos 21 I
Regresemos a1 ejemplo de la lavadora. Si en la clase Lavadora se indica la marca, el
modelo, el numero de serie y la capacidad (junto con las acciones de agregar ropa,
agregar detergente y sacar ropa), tendrh un mecanismo para fabricar nuevas instanciasa partir de su clase; es decir, podrh crear nuevos objetos (vea la figura 2.1).
En la hora 3, "Us0 de la orientacion a objetos", Vera que 10s nornbres de las
clases, corno lavadora, se escribiran corno Lavadora, y si constara de dos pala-
bras se escribiria corno Lavadoralndustrial, y las caracteristicascomo nurnero
de serie se escribiran como nurneroserie.
Esto es particularmente importante en el desarrollo de software orientado a objetos.
Aunque este libro no se enfoca a la programaci6n, le ayudara a comprender la orien-
taci6n a objetos si sabe que las clases en 10s programas orientados a objetos pueden
crear nuevas instancias.
FIGURA2.1
La clase Lavadora
(modelo original)
es una plantilla
para generar
nuevas instancias
de Lavadoras.
Lavadora
marcamodelonumeroseriecapacidad
agregarRopa0agregarDetergente0
sacarRopa()
Es importante que recuerde que el prop6sito de la orientaci6n a objetos es desarrollarsoftware que refleje particularmente (es decir, que modele) un esquema del mundo.
Entre mhs atributos y acciones tome en cuenta, mayor sera la similitud de su modelo con
la realidad. En el ejemplo de la lavadora, tendrh un modelo mhs exacto si incluye 10s
siguientes atributos: volumen del tambor, cron6metro interno, trampa, motor y velocidad
del motor. Podria hacerlo mhs precis0 si incluye las acciones de agregar blanqueador,cronometrar el remojo, cronometrar el lavado, cronometrar el enjuague y cronometrar
el centrifugado (vea la figura 2.2).
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 39/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 40/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 41/425
I24 Hora 2
FIGUM 2.4
Las superclases
t a m b i h pueden ser
La herencia no tiene por quC terminar aqui. Por ejemplo, Electrodomestico es una sub-
clase de Articulos del hogar, como le muestra la figura 2.4. Otra de las subclases de
Articulos del hogar podria ser Mobiliario, que tendri sus propias subclases.
Articulos del hogar
Electrodomestico
Polimorf sm0En ocasiones una operacidn tiene el mismo nombre en diferentes clases. Por
ejemplo, podri abrir una puerta, una ventana, un peribdico, un regalo o una
cuenta de banco, en cada uno de estos casos, realizari una operacidn diferente. En la
orientacidn a objetos, cada clase “sabe” cdmo realizar tal operacidn. Esto es el polimor-
fismo (vea la figura 2.5).
Mobiliario
FIGURA2.5 .
En el polimo@smo,
una operacidn puede
tener el mismo nombre
en diversas clases,
y funcionar distinto
en cada una.
En primera instancia, pareceria que este concept0 es mis importante para 10s desarrolla-
dores de software que para 10s modeladores, ya que 10s desarrolladores tienen que crear el
software que implemente tales mCtodos en 10s programas de computacidn,y deben estar
conscientes de diferencias importantes entre las operaciones que pudieran tener el mismo
nombre.Y podrin generar clases de software que “sepan” lo que se supone que harhn.
No obstante, el polimorfismo tambiCn es importante para 10s modeladores ya que les
permite hablar con el cliente (quien est5 familiarizado con la secci6n del mundo que seri
modelada) en las propias palabras y terminologia del cliente. En ocasiones, las palabrasy terminologia del cliente nos conducen a palabras de accidn (como “abrir”) que pueden
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 42/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 43/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 44/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 45/425
I 28 Hora 2
Una clase se puede asociar con mhs de una clase distinta. Una persona puede viajar en
autombvil, per0 tambikn puede hacerlo en autobds (vea la figura 2.10).
FIGURA2.10
Una clase puede
asociarse con mds
de una clase distinta.
La multiplicidad (0 iversificaci6n) es un importante aspect0 de las asociacio-
nes entre objetos. Indica la cantidad de objetos de una clase que se relacionan
con otro objeto en particular de la clase asociada. Por ejemplo, en un curso escolar, el
curso se imparte por un solo instructor, en consecuencia, el curso y el instructor esthn en
una asociaci6n de uno a uno. Sin embargo, en un seminario hay diversos instructores queimpartirhn el curso a lo largo del semestre, por lo tanto, el curso y el instructor tienen
una asociaci6n de uno a muchos.
Podrh encontrar todo tipo de multiplicidades si echa una mirada a su alrededor. Una
bicicleta rueda en dos neumhticos (multiplicidad de uno a dos), un triciclo rueda en tres,
y un vehiculo de 18 ruedas, en 18.
AgregacionVea su computadora: cuenta con un gabinete, un teclado, un rat6n, un monitor, una
unidad de CD-ROM, uno o varios discos duros, un m6dem, una unidad de disquete, unaimpresora y, posiblemente, bocinas. Dentro del gabinete, junto con las citadas unidades
de disco, tiene una CPU, una tarjeta de video, una de sonido y otros elementos sin 10s
que, sin duda, dificilmente podria vivir.
Su computadora es una agregacidn o adicibn, otro tip0 de asociaci6n entre
objetos. Como muchas otras cosas que valdrian la pena tener, su equipo esth
constituido de diversos tipos de componentes (vea la figura 2.11). Tal vez conozca varios
ejemplos de agregaciones.
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 46/425
Orientacion a objetos 29 I
FIGURA2.11
Una computadora
es un ejemplo deagregacidn: un objeto
que se conforma de
una combinacibn
de diversos tipos de
objetos.
Un tipo de agregaci6n trae consigo una estrecha relaci6n entre un objeto
agregado y sus objetos componentes.A esto se le conoce como composicio'n.El punto central de la composicidnes que el componente se considera como tal s610
como parte del objeto compuesto. Por ejemplo: una camisa est6 compuesta de cuerpo,
cuello, mangas, botones, ojales y puiios. Suprima la camisa y el cuello sera in6til.
En ocasiones, un objeto compuesto no tiene el mismo tiempo de vida que sus propios
componentes. Las hojas de un irbol pueden morir antes que el hbol. Si destruye a1
irbol, tambitn las hojas moririn (vea la figura 2.12).
La agregaci6ny la composicidn son importantes dado que reflejan casos extremada-
mente comunes, y ello ayuda a que Cree modelos que se asemejen considerablemente
a la realidad.
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 47/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 48/425
Orientacion a objetos 31 I
El polimorfismo es otro aspect0 importante, ya que especifica que una accidn puede
tener el mismo nombre en diferentes clases y cada clase ejecutarh tal operacidn de forma
distinta.
Los objetos ocultan su funcionalidad de otros objetos y del mundo exterior. Cada objeto
presenta una interfaz para que otros objetos (y personas) puedan aprovechar su
funcionalidad.
Los objetos funcionan en conjunto mediante el envio de mensajes entre ellos. Los
mensajes son peticiones para realizar operaciones.
Por lo general, 10s objetos se asocian entre si y esta asociacidn puede ser de diversos
tipos. Un objeto en una clase puede asociarse con cualquier cantidad de objetos distintosen otra clase.
La agregacidn es un tip0 de asociacidn. Un objeto agregado consta de un conjunto de
objetos que lo componen y una composicidn es un tipo especial de agregacidn. En
un objeto compuesto, 10s componentes s610 existen como parte del objeto compuesto.
Preguntas y respuestasP Usted dijo que la orientacibna objetos ha tomado por asalto al mundo del
software. iQuC no hay algunas aplicaciones importantes que no e s t h orien-tadas a objetos?
R Si, y se conocen como sistemas “heredados” (programas que en muchos casos
son ejecutados para mostrar su Cpoca). La orientacidn a objetos ofrece diversas
ventajas, como la reusabilidad y un ripido period0 de desarrollo. Por tales razones,
muy probablemente ver i las nuevas aplicaciones (y las versiones rediseiiadas de
varias aplicaciones antiguas) escritas bajo el esquema de la orientacidn a objetos.
TallerPara repasar lo que ha aprendido de la orientacidn a objetos, intente responder a algunas
preguntas y realizar 10s siguientes ejercicios. Las respuestas las encontrari en el
Ap6ndice A, “Respuestas a 10s cuestionarios”.
Cuestionario1. iQu6 es un objeto?
2. i C6mo trabajan 10s objetos en conjunto?
3. iQuC establece la multiplicidad?
4. iPueden asociarse dos objetos entre si en m i s de una manera?
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 49/425
Hora 2I32
EjerciciosEsta es una hora tebrica, asi que no inclui ejercicios. Vera algunos en las siguientes
horas.
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 50/425
4ORA 3Jso de la orientacion
I objetosA continuacidn conjugaremos las caracten'sticas del UML con 10s conceptos
de la orientacidn a objetos.Aqui reafirmari su conocimiento de la orientacidn
a objetos a1 tiempo que aprenderi otras cosas del UML.
En esta hora se tratarin 10s siguientes temas:
Concepcidn de una clase
Atributos
Operaciones
Responsabilidades y restricciones
QuC es lo que hacen las clases y cdmo encontrarlas
oncepcion de una claseComo lo indiquC en la primera hora, en el UML un rectfinguloes el simbolo
que representa una clase. El nombre de la clase es, por convencidn, una pa-
labra con la primera letra en may6scula y normalmente se coloca en la parte
superior del rectfingulo. Si el nombre de su clase consta de dos palabras,
finalas e inicie cada una con maydscula (como en LavadoraIndustrialen la
figura 3.1).
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 51/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 52/425
Us0 d e la orientacion a objetos35....
FIGURA 3.5
Un objeto cuenta con
un valor especljCco
en cada uno de 10s
atributos que lo
cornponen.
de nombres de atributos iniciara luego de una linea que la separe del nombre de la clase,
como se aprecia en la figura 3.4.
miLavadora:Lavadora
marca = "Laundatorium"modelo = "Washrneister"
numeroserie = "GL57774"capacidad= 16
FIGURA 3.4 Lavadora
marca
modelo
Una clase y sus
atributos.
numeroseriecapacidadI
Todo objeto de la clase tiene un valor especifico en cada atributo. La figura 3.5 le mues-
tra un ejemplo. Observe que el nombre de un objeto inicia con una letra minliscula, y
esti precedido de dos puntos que a su vez estan precedidos del nombre de la clase,
y todo el nombre esti subrayado.
El nombre milavadora: Lavadora es una instancia con nombre; per0 tarnbien
es posible tener una instancia anonima, como :Lavadora.
El UML le da la opci6n de indicar informacih adicional de 10s atributos. En el simbolo
de la clase, podra especificar un tip0 para cada valor del atributo. Entre 10s posibles tipos
se encuentran cadena (string), nlimero de punto flotante (float), entero (integer) y boolea-
no (boolean), asi como otros tipos enumerados. Para indicar un tipo, utilice dos puntos
(:) para separar el nombre del atributo de su tipo. TambiCn podri indicar un valor prede-
terminado para un atributo. La figura 3.6 le muestra las formas de establecer atributos.
Aunque no parece haber restriccion en la designacion de tipos a las variables,
utilizarernos 10s nombres en ingles para cefiirnos a 10s tipos que aparecen en
10s lenguajes de programacion.
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 53/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 54/425
Us0 de la orientacion a objetos 37 I
FIGURA3.8
Lafirma de una operacidn.
I LavadoraI
rnarcarnodelonurneroseriecapacidad
I
agregarRopa(C:String)sacarRopa(C:String)agregarDetergente(D:lnteger)activar():Boolean
Atributos, operaciones y concepcionHasta ahora, hemos tratado a las clases como entidades aisladas, y hemos visto todos
10s atributos y operaciones de una clase. No obstante, en la practica mostrari mis de
una clase a la vez; cuando lo haga, no sera muy util que siempre aparezcan todos 10s
atributos y operaciones, ya que el hacerlo le crearia un diagrama muy saturado. En lugar
de ello pod ri tan s610 mostrar el nombre de la clase y dejar ya sea el 5rea de atributos o
el de operaciones (0 mbas) vacia, como se muestra en la figura 3.9.
FIGURA3.9
En la practica, no
siempre rnostrard
todos 10s utributos
y operaciones de
una clase.
En ocasiones sera bueno mostrar algunos (pero no todos) de 10s atributos u
operaciones. Para indicar que s610 enseiiara algunos de ellos, seguiri la lista
de aquellos que mostrari con tres puntos (...), mismos que se conocen como puntos sus-
pensivos. A la omisi6n de ciertos o todos 10s atributos y operaciones se le conoce como
abreviur una clase. La figura 3.10 le muestra el us0 de 10s puntos suspensivos.
FIGURA3.10
Los puntos suspen-
sivos indican atributos
u operaciones que no se encuentran en
todo el conjunto.
LavadoraIrnarca...
II agregarRopa0
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 55/425
I38 Hora 3
Si usted tiene una larga lista de atributos u operaciones podrfi utilizar un estereotipo paraorganizarla de forma que sea~~mfiscomprensible. Un estereotipo es el mod0 en que el
UML le permite extenderlo, es decir, crear nuevos elementos que son especfficos deun problema en particular que intente resolver. Como lo mencion6 en la hora 1, usted
muestra un estereotipo como un nombre bordeado por dos pares de parkntesis angulares.
Para una lista de atributos, podrfi utilizar un estereotipo como encabezado de un sub-
conjunto de atributos, como en la figura 3.1 1.
FIGURA3.11
Podrd usar un
estereotipo para
organizur una lista
de atributos u operaciones.
Lavadora
4nfo identificacion.marcamodelonumeroserie
.info maquinancapacidad
agregarRopa0sacarRopa()agregarDetergente0
<<relacionadoconla maquina,,
El estereotipo es una estructura flexible, la cual podra utilizar de diversos
rnodos. Por ejernplo, podra utilizar el estereotipo sobre el nornbre de una
clase en un sirnbolo de clase para indicar algo respecto al papel de la clase.
Responsabilidadesy restriccionesEl simbolo de clase le permite establecer otro tipo de informaci6n de si misma.
En un 5rea bajo la lista de operaciones, podrfi mostrar la responsabilidad de laclase. La responsabilidad es una descr ipcih de lo que harfi la clase, es decir, lo que sus
atributos y operaciones intentan realizar en conjunto. Una lavadora, por ejemplo, tiene la
responsabilidad de recibir ropa sucia y dar por resultado ropa limpia.
En el simbolo, indicarfi las responsabilidades en un h e a inferior a la que contiene las
operaciones (vea la figura 3.12).
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 56/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 57/425
I40 Hora 3
Notas adjuntasPor encima y debajo de 10s atributos, operaciones, responsabilidades y restricciones,puede agregar mayor informaci6n a una clase en la figura de notas adjuntas.
Con frecuencia agregarh una nota a un atributo u operaci6n. La figura 3.14 le muestra
una nota que se refiere a una norma gubernamental que indica d6nde encontrar la ma-
nera en que se generan 10s ndmeros de serie para 10s objetos de la clase Lavadora.
rnarcarnodelo
nurneroserie - - - -
FIGURA3.14
Una nota adjunta
proporciona mayor
informacidn respecto capacidad
agregarRopa0sacarRopa()agregarDetergente0activar()
a la clase. - - - - -Vease la norrnagubernarnental EV5-2241
de 10s Estados Unidos
para la generacion4
de nurneros de serie
Una nota puede contener tanto una irnagen corno texto.
-
Que es lo que hacen las clases
y como encontrarlasLas clases son el vocabulario y terminologia de un k e a del conocimiento. Conforme ha-
ble con los clientes, analice su i rea de conocimiento y diseiie sistemas de computac ih
que resuelvan 10s problemas de dicha k e a , comprenderh la terminologia y modelarh 10s
tCrminos como clases en el UML.
En sus conversaciones con 10s clientes preste atenci6n a 10s sustantivos que utilizanpara describir las entidades de sus negocios; ya que dichos sustantivos se convertirhn
en las clases de su modelo. TambiCn preste atencidn a 10s verbos que escuche, dado
que constituiran las operaciones de sus clases. Los atributos surgirhn como sustantivos
relacionados con 10s nombres de la clase. Una vez que tenga una lista basica de las
clases, pregunte a 10s clientes quC es lo que cada clase hace dentro del negocio. Sus
respuestas le indicarhn las responsabilidades de la clase.
Suponga que usted es un analista que generarh un modelo del juego de baloncesto,
y que entrevista a un entrenador para comprender el juego. La conversaci6n podria
surgir como sigue:
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 58/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 59/425
I42 Hora 3
estaturas relativas de 10s jugadores de cada posicibn, las dimensiones de la cancha, la
cantidad total de tiempo en un lapso de tiro y la duraci6n de un juego).
Finalmente, su propio sentido comun podria entrar en accibn para generar ciertos atribu-
tos por usted mismo. Usted sabe, por ejemplo, que el balbn cuenta con ciertos atributos,
como volumen y dihmetro.
A partir de esta informacibn, podrh crear un diagrama como el de la figura 3.15. En
61 se muestran las clases y se proporcionan ciertos atributos, operaciones y restricciones.
El diagrama tambiCn muestra las responsabilidades. Podria usar este diagrama como
fundamento para otras conversaciones con el entrenador para obtener mayor informacibn.
FIGURA3.1 5
Un diagrama inicial
para modelar el juego
de baloncesto.
Balon
avanzar()
Delantero
wrealiza
la mayor partede 10s tiros
de media distancia
CronometroDeJuego
E lIDuracion
estatura
driblarBalon()
pasarBalon()
tirarBalon()
rebotaro1nfraccionarODonente0
Centro+
I
perrnanececerca del cesto,
tirade unadistancia cercana
(profesional= 24 segs.colegial= 35 segs.internacional= 30segs.)
(profesional= 4 cuartosde 12 mins. colegial einternacional= 2 mitadesde 20 mins.)
(profesional= 48 mins.colegial e internacional=40 mins.)
la mayor
parte del
drible y pase
lnfraccion
m uDeTresPuntos
TiroLibre
UI
Linea
DeTiroLibreI
ICancha
I
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 60/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 61/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 62/425
HORA4Us0 de relaciones
En la hora anterior creamos un conjunto de clases que representaban elvocabulario del baloncesto. Aunque ello le da las bases para una mayor
exploraci6n de lo que es el baloncesto, tal vez haya sentido que algo le falta.
Ese “algo” es un sentido en el que las clases se relacionan entre si. Si
observa el modelo (vea la figura 3.15), veri que no se indica la manera en
que un jugador se relaciona con un bal6n, ni c6mo 10s jugadores confor-
man un equipo, ni la forma en que procede el juego. Es como si hubiera
constmido una lista de elementos, en lugar de una representacibn de un
Lea del conocimiento. Es importante saber c6mo se conectan las clases
entre si.
Ahora trazaremos las conexiones entre las clases y completaremos la re-
presentacibn.
En esta hora se tratarin 10s siguientes temas:
Asociaciones
Multiplicidad
Asociaciones calificadas
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 63/425
I46 Hora 4
Asociaciones reflexivas
Herencia y generalizacidn
Dependencias
AsociacionesCuando las clases se conectan entre si de forma conceptual, esta conexi6n se
conoce como asociacidn. El modelo inicial de baloncesto le darh algunos
ejemplos. Examinemos uno de ellos: la asociacidn entre un jugador y un equipo. Podrh
caracterizar tal asociacidn con la frase: “un jugador participa en un equipo”. Visualizarh
la asociacidn como una linea que conectarh a ambas clases, con el nombre de la aso-
ciaci6n (“participa en”) justo sobre la linea. Es fitil indicar la direccidn de la relacidn, y
lo harh con un trihngulo relleno que apunte en la direcci6n apropiada. La figura 4.1 le
muestra c6mo visualizar la asociacion “Participa en” entre el jugador y el equipo.
FIGURA4.1
Una usociacidn entre
un jugador y un
equipo.
Cuando una clase se asocia con otra, cada una de ellas juega un papel dentro de tal aso-
ciacidn. Puede representar estos papeles en el diagrama escribikndolos cerca de la linea
que se encuentra junto a la clase que juega el papel correspondiente. En la asociacidn
entre un jugador y un equipo, si el equipo es profesional, Cste es un empleador y el
jugador es un empleado. La figura 4.2 le muestra c6mo representar dichos papeles.
lJugadorl Participa en,FIGURA4.2
Por lo general, en una Empleado Empleadorasociacion cada clase
juega un papel. Puede
representar tales pape-
les en el diagrarna.
La asociacidn puede funcionar en direccidn inversa: un equipo emplea a jugadores.
Podrh mostrar ambas asociaciones en el mismo diagrama con un trihngulo relleno que
indique la direccidn de cada asociacidn, como en la figura 4.3.
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 64/425
Us0 de relaciones 47
FIGURA4.3
Pueden aparecer dos
Jugador Participa enb Equipo
4 Emplear
asociaciones entre U
clases en el mismo
diagrama.
Delantero Participa enb
Las asociaciones podrian ser mis complejas que tan s610 una clase conectada a otra. Varias
clases se pueden conectar a una. Si toma en cuenta 10s defensas, delanteros y central, asi
como sus asociaciones con la clase Equipo, tendri el diagrama de la figura 4.4.
Equipo
FIGURA4.5
Puede establecer una
restriccidn en una
asociacidn. En este
caso, la asociacidn
Atiende esta restringida
para que el Cajero
atienda a1 Cliente
en turno.
Otro tip0 de restricci6n es la relaci6n0
(distinguida como {Or}) en una linea discon-tinua que conecte a dos lineas de asociaci6n.La figura 4.6 modela a un estudiante de
educaci6n media superior que elegiri entre un curso acadkmico o uno comercial.
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 65/425
I48 Hora 4
Estudiante de educacion
FIGURA4.6
La relacidn 0 entre
dos asociaciones en
una restriccidn.
Elige b IAcademic0 II
I Elige b
media superior
I &Cornercial
FIGURA4.8
un ,inculo es la instan-
cia de una asociacidn.
Conecta a 10s objetos
en lugar de las clases.
Debera subrayar el
gustavo naiera : ugador
Clases de asociacionUna asociacidn, a1 igual que una clase, puede contener atributos y operaciones.
De hecho, cuando Cste sea el caso, usted tendrh una cluse de usociacio’n.Puede concebir a una clase de asociacidn de la misma forma en que lo hm’a con una
clase esthndar, y utilizarh una linea discontinua para conectarla a la linea de asociacidn.Una clase de asociacidn puede tener asociaciones con otras clases. La figura 4.7 le mues-
tra una clase de asociacidn para la asociacidn “Participa en” entre un jugador y un
equipo. La clase de asociacidn, Contrato, se asocia con la clase DirectorGeneral.
Participa enbnacional :Equipo
FIGURA4.7
Un a clase de asociacidn
modela 10s atributos y
operaciones de una
asociacidn. Se conecta
a una asociacidn me-diante una linea dis-
continua, y puede
asociarse a otra clase.
DirectorGeneral
IVincu10sAsi como un objeto es una instancia de una clase, una asociacidn tambiin cuenta con
instancias. Si podemos imaginar a un jugador especifico que juega para un equipo
especifico, la relacidn “Participa en” se conocerh como vinculo, y usted lo representarh
como una linea que conecta a dos objetos. Tal como tuvo que subrayar el nombre de un
objeto, deberh subrayar el nombre de un vinculo, como en la figura 4.8.
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 66/425
Us0 de relaciones 49 I
MultiplicidadLa asociacidn trazada entre Jugador y Equipo sugiere que las dos clases tienen una
relacidn de uno a uno. No obstante, el sentido comljn nos indica que Cste no es el caso.
Un equipo de baloncesto cuenta con cinco jugadores (sin contar a 10s sustitutos). La
asociacidn Tiene (Has) debe participar en este recuento. En la otra direccidn, un jugador
puede participar s610 en un equipo, y la asociacidn “Participa en” debe responder de
esto.
Tales especificaciones son ejemplos de la rnultiplicidud la cantidad de objetos
de una clase que se relacionan con un objeto de la clase asociada. Para repre-
sentar 10s niimeros en el diagrama, 10s colocar6 sobre la linea de asociacidn junto a la
clase correspondiente, como se denota en la figura 4.9.
Jugador 5 Participaen,iIGURA4.9
La multiplicidad
seriala la cantidad
de objetos de una
clase que pueden
relacionarsecon un
objeto de una clase
asociada.
La multiplicidad de este ejemplo no es la iinica que existe. Hay varios tipos de multipli-
cidades (una multiplicidad de multiplicidades, por decirlo asi). Una clase puede rela-
cionarse con otra en un esquema de uno a uno, uno a muchos, uno a uno o mis, uno a
ninguno o uno, uno a un interval0 definido (por ejemplo: uno a cinco hasta diez), uno a
exactamente n (como en este ejemplo), o uno a un conjunto de opciones (por ejemplo,
uno a nueve o diez). El UML utiliza un asterisco (*) para representar ma‘s y para repre-
sentar muchos. En un contexto 0 se representa por dos puntos, como en “l..*” (“uno o
mis”). En otro contexto, 0 se representa por una coma, como en “5, 10” (“5 o lo”). La
figura 4.10 le muestra cdmo concebir las posibles multiplicidades.
Cuando la clase A tiene una multiplicidad de uno a ninguno o uno con laclase B, la clase B se dice que es opcional para la clase A.
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 67/425
150 Hora 4
FIGURA4.10
Posibles multiplici-
dudes y cdmo repre-
-
1 Esposa1 Esta casado con buno a uno
tiempo completoI
Casa 1 Tiene b 0 , ~Chimeneauno a ninguno o uno
uno a 12 o 241HueVera 1I Contiene b 12,24 1Huevos 1Triciclo
Asociaciones calificadas
Tiene b 3 Ruedas1uno a tres
Cuando la multiplicidad de una asociacidn es de uno a muchos, con frecuencia se pre-
senta un reto muy particular: la bdsqueda. Cuando un objeto de una clase tiene que selec-
cionar un objeto particular de otro tipo para cumplir con un papel en la asociacidn, la
primera clase deberi atenerse a un atributo en particular para localizar a1 objeto ade-
cuado. Normalmente, dicho atributo es un identificador que puede ser un ndmero de
identidad. Por ejemplo, cuando usted realiza una reservacidn en un hotel, el hotel leasigna un ndmero de confirmacidn. Si usted quiere hacer preguntas respecto a la reser-
vacidn, deb eri proporcionar el ndmero de confirmacidn.
En el UML la informacidn de identidad se conoce como cal$cador. Su sim-
bolo es un pequeiio rectingulo adjunto a la clase que hari la bdsqueda. La
figura 4.11 muestra la representacidn. La idea es reducir, con eficiencia, la multiplicidad
de uno a muchos a una multiplicidad de uno a uno.
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 68/425
Us0 de relaciones 51 I
RecepcionistaIGURA4.11
Un calcficador en una
asociacidn resuelve el problema de la
1 Localizab * ReservacionNurnero de confirrnacion
Asociaciones ref lexivasEn ocasiones, una clase es una asociacidn consigo misma. Esto puede ocurrir cuando una
clase tiene objetos que pueden jugar diversos papeles. Un OcupanteDeAutomovil puede
ser un Conductor o un Pasajero. En el papel del conductor, el OcupanteDeAutomovil
puede llevar ninguno o mas OcupanteDeAutomovil, quienes jugaran el papel de
pasajeros. Esto lo representarhmediante el trazado de una linea de asociacidn a partir del
rectangulo de la clase hacia el mismo rectangulo de la clase, y en la linea de asociacidn
indicari 10s papeles, nombre de la asociacidn, direccidn de la asociacidn y multiplicidad
como ya lo hizo antes. La figura 4.12 le presenta este ejemplo.
FIGURA4.12
En una asociacidn
refexiva, trazard la
linea de la clase hacia
si misma y podra Conduceincluir 10s papeles, vnombre de la asocia-
cidn y su direccidn, asi
como su multiplicidad.
Herencia y generalizacionUno de 10s sellos distintivos de la orientacidn a objetos es que captura uno de 10s ma-
yores aspectos del sentido comlin en cuanto a la vida diaria: si usted conoce algo de unacategoria de cosas, automaticamente sabra algunas cosas que podra transferir a otras cate-
gorias. Si usted sabe que algo es un electrodomkstico, ya sabra que contar5con un in-
tenuptor, una marca y un nlimero de serie. Si sabe que algo es un animal darB por hecho
que come, duerme, tiene una forma de nacer, de trasladarse de un lugar a otro y algunos
otros atributos (y operaciones) que podria listar si pensara en ello por algunos instantes.
La orientacidn a objetos se refiere a esto como herencia. El UML tambikn lo
denomina generulizacidn. Una clase (la clase secundaria o subclase) puede
heredar 10s atributos y operaciones de otra (la clase principal o superclase). La clase
principal (o madre) es mas genkrica que la secundaria(0hija).
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 69/425
I 5 2 Hora 4
En la generalizacion, una clase secundaria (hija) es sustituible por una clase
principal (madre). Es decir, donde quiera que se haga referencia a la clase
madre, tarnbien se hace referencia a la clase hija. Sin embargo, en el caso
contrario no es aplicable.
La jerarquia de la herencia no tiene que finalizar en dos niveles: una clase secundaria
puede ser principal para otra clase secundaria. Un Mamifero es una clase secundaria de
Animal, y Caballo es una clase secundaria de Mamifero.
En el UML representari la herencia con una linea que conecte a la clase principal con la
secundaria. En la parte de la linea que se conecta con la clase principal, colocari un
tr iingulo sin rellenar que apunte a la clase principal. Este tip0 de conexitin se interpreta
con la frase es un t i p de. Un Mamifero es un t i p de Animal, y un Caballo es un t i p de
Mamifero. La figura 4.13 le muestra esta particular jerarquia de la herencia, junto con
otras clases. Observe la apariencia del trihngulo y las lineas cuando varias clases secun-
darias son herencia de una clase principal. A1 disponer el diagrama de este modo, trae
por resultado un diagrama m6s ordenado en lugar de mostrar todas las lineas y triingu-
los, aunque el UML no le prohibe colocarlos todos en la imagen. TambiCn vea que no
coloc6 10s atributos y operaciones heredadas en 10s rectingulos de las subclases, dado
que ya 10s habia representado en la superclase.
FIGURA4.13
Una jerarquia de
herencia en el reino
animal.
Animal
T
Caballo
ACuando modele l a herencia, tenga la seguridad de que la clase secundaria
satisfaga la relacion es un t ip0 de con la clase principal. S i no se curnple ta l
relacion, tal vez una asociacion de ot ro t ip0 podr ia ser mas adecuada.
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 70/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 71/425
I54 Hora 4
CronometroDelJuego
tener instancias de tales clases. Para desarrollar el modelo, necesitara instancias de
Defensa, Delantero, Centro, CronometroDeJuegoy LapsoDeTiro.
No obstante, Jugador y Reloj no proporcionan ninguna instancia a1 modelo. Un objeto dela clase Jugador no serviria a ningun propbsito, asi como tampoco uno de la clase Reloj.
Las clases como Jugador y Reloj --que no proveen objetos-se dice que son
abstractas. Una clase abstracta se distingue por tener su nombre en cursivas.
La figura 4.14 muestra las dos clases abstractas y sus clases secundarias.
LapsoDeTiro
FIGURA4.14
Dos jerarquias de
herencia con clases
abstractas en el
modelo de baloncesto.
Jugador
nombretamaiio
velocidadAlCorrersaltovertical
I
correrAlFrente0quitarBalon()
DependenciasEn otro tipo de relacibn, una clase utiliza a otra. A esto se _ _ llama LLpenden-
cia. El us0 mas comun de una dependencia es mostrar que la firma de la
operacibn de una clase utiliza a otra clase.
Suponga que diseiiara un sistema que muestra formularios corporativos en pantalla para
que 10s empleados 10s Ilenen. El empleado utiliza un menu para seleccionar el formula-
rio por llenar. En su diseiio, tiene una clase Sistema y una clase Formulario. Entre sus
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 72/425
Us0 de relaciones 55
muchas operaciones, la clase Sistema tiene mostrarFormulario(fForm).El formulario
que el sistema desplegari, dependeri, obviamente, del que elija el usuario. La notacidn
del UML para ello es una linea discontinua con una punta de flecha en forma de triin-
gulo sin relleno que apunta a la clase de la que depende, como muestra la figura 4.15.
FIGURA4.15
Unaflech a represen-
tada por una linea
discontinua con una
punta de flecha enU
forma de tria’ngulo sin
relleno simboliza una
dependencia.
ResumenSin las relaciones, un modelo de clases seria poco menos que una lista de cosas que repre-
sentm’an un vocabulario. Las relaciones le muestran c6mo se conectan 10s t6rminos del
vocabulario entre si para dar una idea de la secci6n del mundo que se modela. La asociacidn
es la conexidn conceptual fundamental entre clases. Cada clase en una asociaci6n juega un
papel, y la multiplicidad especificacuhtos objetos de una clase se relacionan con un objeto
de la clase asociada. Hay muchos tipos de multiplicidad. Una asociaci6n se representa comouna linea entre 10s rectiingulos de clases con 10s papeles y multiplicidades en cada extremo.
A1 igual que una clase, una asociacidnpuede contener atributos y operaciones.
Una clase puede heredar atributos y operaciones de otra clase. La clase heredada es secun-
daria de la clase principal que es de la que se hereda. Descubriri la herencia cuando
encuentre clases en su modelo inicial que tengan atributos y operaciones en comdn. Las
clases abstractas s610 se proyectan como bases de herencia y no proporcionan objetos por
si mismas. La herencia se representa como una linea entre la clase principal y la secun-
daria, con un triingulo sin rellenar que se adjunta (y apunta a) la clase principal.
En una dependencia, una clase utiliza a otra. El us0 mis comdn de una dependencia esmostrar que una firma en la operaci6n de una clase utiliza a otra clase. Una dependencia
se proyecta como una linea discontinua que redne a las dos clases en la dependencia, con
una punta de flecha en forma de triingulo sin relleno que adjunta (y apunta a) la clase de
la que se depende.
Preguntas y respuestasP iEn alguna ocasi6n se le puede poner nombre a una relaci6n de herencia,
R El UML no le impide que adjudique un nombre a una relacidn de herencia, per0
como se hace en una asociaci6n?
por lo general esto no es necesario.
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 73/425
I56 Hora 4
TallerEl cuestionario y 10s ejercic ios se han diseiiado para reafirmar su conocimiento del UML
en el Lea de las relaciones. Cada pregunta y ejercicio requiere que usted piense en lasimbologia del modelado que ha aprendido y la aplique a una situacibn. Las respuestas
se encuentran en el ApCndice A, “Respuestas a 10s cuestionarios”.
Cuestionarios1. iC6mo representaria la multiplicidad?
2. LCbmo descu briri la herencia?
3 . iQu6 es una clase abstracta?
4. i C u i l es el efecto de un calificador?
Ejercicios1. Tome como base el modelo del baloncesto de la Hora 3, y agregue vinculos que
expresen las relaciones que ha visto en esta hora. Si conoce el juego del balon-
cesto, siCntase con libertad de agregar 10s vinculos que representen su
conocimiento.
por cliente a un tonto.” Cree un modelo que refleje esta pieza de sabiduria.
2. De acuerdo con un viejo adagio: “Un abogado que se defiende a s i mismo, tiene
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 74/425
HORA 5Agregacion,corn posicion,
interfacesy realizacion
Continuaremos con las relaciones entre clases y comprenderA nuevos con-
ceptos respecto a las clases y sus diagramas.
En esta hora se tratarh 10s siguientes temas:
Agregaciones
Composiciones
Contextos
Interfaces y realizaciones
Visibilidad
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 75/425
Hora 5
Ya ha visto lo concerniente a asociacibn, multiplicidad y herencia y es t i casi listo para
crear diagramas de clases significativos. Conforme explore otros tipos de relaciones y
detalles relacionados con las clases comprenderi las piezas finales del rompecabezas. Lameta final es crear una idea estitica de un sistema, con todas las conexiones entre las
clases que lo conforman.
Ag regacionesEn ocasiones una clase consta de otras clases. Este es un tip0 especial de
relaci6n conocida como agregacidn o acumulacidn. Los componentes y la. * 0
clase que constituyen son una asociaci6n que conforma un todo. En la hora 2,
"Orientaci6n a objetos", mencionC que su computadora es un conjunto de elementos que
consta de gabinete, teclado, rat6n, monitor, unidad de CD-ROM, una o varias unidadesde disco duro, m6dem, unidad de disquete, impresora y, posiblemente, altavoces.AdemAs
de las unidades de disco, el gabinete contiene la memoria RAM, una tarjeta de video y
una tarjeta de sonido (tal vez algunos otros elementos).
Puede representar una agregaci6n como una jerarquia dentro de la clase completa (por
ejemplo el sistema computacional) en la parte superior, y 10s componentes por debajo de
ella. Una linea conectara el todo con un componente mediante un rombo sin relleno que
se colocar i en la linea m is cercana a1 todo. La figura 5.1 le muestra el sistema de
c6mputo como una agregaci6n.
FIGURA5.1
Una asociacio'n por
agregacidn se repre-
senta por una linea
entre el componente y
el todo con un rombo
sin relleno que con-
forma a1 todo.
'?
I I
Aunque este ejemplo le muestra cada componente correspondiente a un todo, en una
agregaci6n Cste no ser i necesariamente el caso. Por ejemplo: en un sistema casero de
entretenimiento, un control remoto podria ser un componente de una televisibn, aunque
tambiCn podria ser un componente de una reproductora de casetes de video.
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 76/425
Agregacion, composicion, interfaces y real izacion59 1
Restricciones en las agregacionesEn ocasiones el conjunto de componentes posibles en una agregacidn se establece dentro
de una relacidn 0.En ciertos restaurantes, una comida consta de sopa o ensalada, el
plato fuerte y el postre. Para modelar esto, utilizm’a una restriccidn: la palabra 0 dentro
de llaves con una linea discontinua que conecte las dos lineas que conforman a1 todo,
como lo muestra la figura 5.2.
FIGURA5.2
Puede establecer una
restriccidn a una agre-
ComidaLJ gacidn para mostrar
que un componente u otro es parte del todo.
CornposicionesUna composicidn es un tip0 muy representativo de una agregacidn. Cada componente
dentro de una composici6n puede pertenecer tan s610 a un todo. Los componentes de una
mesa de caf6 (la superficie de la mesa y las patas) establecen una composicidn. El sim-
bolo de una cornposicion es el mismo que el de una agregacidn, except0 que el romboesth relleno (vea la figura 5.3).
FIGURA5.3
En una composicidn,
cada componente
MesaDeCafeI, I ) ,
pertenece solamente
a un todo. U n rombo
relleno representaesta relacio’n. SuperficieDeLaMesa
Pata
ContextosCuando modele un sistema podrian producirse, con frecuencia, agrupamientos de clases,
como agregaciones o composiciones. En tal caso, debe ri enfocar su atencidn en un agru-
pamiento o en otro, y el diagrama de contexto le proporciona la caracteristica de mode-
laje que requiere para tal fin. Las composiciones figuran en gran medida dentro de 10s
diagramas de contexto. Un diagrama de contexto es como un mapa detallado de alguna
seccidn de un mapa de mayores dimensiones. Pueden ser necesarias varias secciones paracapturar toda la informacidn detallada.
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 77/425
160 Hora 5
He aqui un ejemplo: suponga que esth creando un modelo de una camisa y la forma enque se podria combinar con algun atuendo y un guardarropa. Un tip0 de diagrama decontexto (vea la figura 5.4) le mostrarh la camisa como un gran rectingulo de clase, conun diagrama anidado en el interior, el cual le muestra cdmo 10s componentes de lacamisa esthn relacionados entre si. Este es un diagrama de contexto de composici6n
(dado que la sola camisa retine a cada componente se le denomina de composicidn).
FIGURA5.4
U n diagrama de con-
tento de composicidn
le muestra 10s compo-
nentes de una clase
como un diagrama
anidado dentro de un
enorme recta'ngulo de
clase.
ICamisa
esta cosida en
1 5,6
IBotonadura
v7-
Boton Ojal
El diagrama de contexto de composicidn enfoca la atencidn en la camisa y sus compo-
nentes. Para mostrar la camisa en el contexto del guardarropa y de alglin atuendo, tendrique ampliar su imbito. Un diagrama de contexto del sistema lo har i por usted. Podr i
mostrar la forma en que la clase Camisa se conecta con las clases Guardarropa yAtuendo. como se ve en la figura 5.5.
FIGURA5.5
Un diagrama de
contexto del sistema
le muestra 10s com-
ponentes de una
clase y la forma
en que la clase se relaciona con las
otras que hay en
el sistema.
Guardarropa
L$
Atuendo
fI
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 78/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 79/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 80/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 81/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 82/425
Aqregacion, composicion, interfaces y realizacion 65 IE
l
2. En la actualidad, el tip0 mis popular de GUI es la interfaz WIMP (ventanas, iconos,
mends y puntero, por sus siglas en inglCs). Dibuje un diagrama de clases de la
interfaz WIMP, y haga us0 de todo el conocimiento adecuado del UML que haadquirido hasta ahora. Ademis de las clases indicadas en las siglas, incluya 10s ele-
mentos relacionados como las barras de desplazamiento y el cursor, asi como
cualquiera de las otras clases necesarias.
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 83/425
HORA
lntroduccion a 10s ca
de us0Ahora que ha visto lo correspondiente a las clases y sus relaciones, es el
momento de volver nuestra atencidn a otra hrea principal del UML: 10s
casos de uso.
En esta hora se tratarh 10s siguiente
QuC son 10s casos de us0
Importancia de 10s casos de usb
Inclusidn de 10s casos de us0
Extensi6n de 10s casos de us0
Inicio de un anfilisis de un caso de us0
En las tres horas anteriores hemos visto 10s diagramas que proporcionan una
idea estfitica de las clases en un sistema. Ahora veremos a 10s diagramas que
establecen una idea dinhmica y mostraremos la forma en que el sistema y
sus clases cambian con el tiempo. Las ideas estfiticas ayudan a que un
analista se cornunique con un cliente. La idea dinfimica, como verh, ayudarh
a1 analista a comunicarse con un grupo de desarrolladores, y ayudarh a estos
iiltimos a crear programas.
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 84/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 85/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 86/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 87/425
lntroduccion a 10s casos de us0 71 I
mhquina no cuenta con una reserva de moneda fraccionaria, devolverh el dinero y
mostrarh un mensaje que pida a1 usuario el importe exacto. La condicidn previa es la
ya indicada. El resultado sera una lata de gaseosa junto con el cambio, o la devolucidndel dinero originalmente depositado.
Otra posibilidad es que tan pronto como se agote la moneda fraccionaria, aparezca un
mensaje que informe a 10s clientes que se requiere el importe exacto. El mensaje per-
maneceria a la vista hasta que la mtiquina sea reabastecida con moneda fraccionaria.
Casos de us0 adicionalesYa ha examinado a la mhquina de gaseosas desde el punto de vista de un usuario: el
cliente. Hay otros usuarios que intervienen, como el proveedor que tiene que reabastecer
a la mhquina, el recolector de dinero (que tal vez sea el mismo que el proveedor) quetiene que recoger el dinero acumulado en la alcancia de la mhquina, etcttera. Esto nos in-
dica que debemos crear a1 menos dos casos de uso: “Reabastecer” y “Recolectar dinero”,
cuyos detalles surgirhn durante las entrevistas con 10s proveedores y 10s recolectores.
Veamos el caso de us0 de “Reabastecer”. El proveedor inicia este caso de us0 dado que
algdn intervalo (digamos, dos semanas) ha pasado. El representante del proveedor le
quita el seguro a la mhquina (tal vez mediante una llave y un cerrojo, per0 eso entra den-
tro de la implementacidn), jala la puerta para abrir la mhquina, y llena el compartimiento
de cada marca hasta su capacidad. El representante tambitn rellena la reserva de moneda
fraccionaria. Luego, cierra el frente de la mhquina y vuelve a poner el seguro. La condi-
cidn previa es el paso del intervalo, el resultado es que el proveedor cuenta con un nuevo
conjunto de ventas potenciales.
Para el caso de us0 de “Recolectar el dinero”, el recolector inicia debido tambitn a que
ha pasado cierto tiempo. La persona deberh seguir la misma secuencia que en “Reabas-
tecer” para abrir la mhquina. El recolector sacarh el dinero de la mhquina y seguirh 10s
pasos de “Reabastecer” para cerrar y poner el seguro a la mhquina. La condicidn previa
es el paso del intervalo y el resultado es el dinero en las manos del recolector.
Vea que cuando derivamos un caso de uso, no nos preocupamos por la forma de imple-
mentarlo. En nuestro ejemplo, no nos interesamos en 10s aspectos internosde la mhquina
de gaseosas. Tampoco por la forma en que funcione el mecanismo de refrigeracidn,opor la forma en que la mhquina controle la cantidad de dinero que contenga. Tan s610
intentamos ver la forma en que la mhquina lucid para alguien que tenga que utilizarla.
El objetivo es derivar una colecci6n de casos de us0 que, finalmente, mostraremos a las
personas que diseiien la maquina de gaseosas y a las personas que la construirh. Por
aiiadidura, nuestros casos de us0 reflejan lo que 10s clientes, recolectores y proveedores
desean, por lo que el resultado sera una mhquina que todos esos grupos puedan utilizar
con facilidad.
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 88/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 89/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 90/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 91/425
HORA 7Diagramasde casos de us0
El caso de us0 es un poderoso concept0 que ayuda a un analista a compren-der la forma en que un sistema debera comportarse. Le ayuda a obtener 10s
requerimientos desde el punto de vista del usuario. Es necesario aprender a
visualizar 10s conceptos del caso de us0 que conocid en la hora anterior.
En esta hora se trataran 10s siguientes temas:
Representacidn de un modelo de caso de us0
Concepcidn de las relaciones entre casos de us0
Diagramas de casos de us0 en el proceso de analisis
Aplicacidn de 10s modelos de caso de us0
Vera la idea general del UML
El caso de us0 es muy poderoso, per0 lo es a6n m8s cuando se visualiza
por medio del UML. Esta visualizacidn le permitiri mostrar 10s casos de us0
a 10s usuarios para que ellos le puedan dar mayor informacidn.Es un hecho
que 10s usuarios con frecuencia saben mas de lo que dicen: el caso
de us0 ayuda a romper el hielo. A su vez, una representacidn visual le ayuda
a combinar 10s diagramas de casos de us0 con otro tip0 de diagramas.
Una de las finalidades del proceso de analisis de un sistema es generar una
coleccidn de casos de uso. La idea es tener la posibilidad de catalogar y
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 92/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 93/425
Diagramas de casos de us0 77 I
FIGURA7.2
U n modelo de caso de
us0 proveniente de lamaquina de gaseosas
de la hora 6.Cliente Cliente
Representantedel proveedor
xO KReabastecer Representanteel proveedor
. . . .Recolector Recolector
Secuencia de pasos en 10s escenariosCada caso de us0 es una coleccidn de escenarios y cada escenario es una secuencia de
pasos. Como puede ver, tales pasos no aparecen en el diagrama. No se encuentran en
notas adjuntas a 10s casos de uso. Aunque el UML no lo prohibe, la claridad es claveen la generacidn de cualquier diagrama y el adjuntar notas a cada caso de us0 podria
volverlo confuso. LCdmo y ddnde hm’a la secuencia de pasos?
El us0 de 10s diagramas de casos de us0 seri, por lo general, parte de un documento
de disefio que el cliente y el equipo de disefio tomarin como referencia. Cada diagrama
tendri su propia pigina, de igual manera, cada escenario de caso de us0 tendri su propia
pigina, donde se listari en mod0 de texto a:
El actor que inicia a1 caso de us0
Condiciones previas para el caso de us0Pasos en el escenario
Condiciones posteriores cuando se finaliza el escenario
El actor que se beneficia del caso de us0
TambiCn puede enumerar las conjeturas del escenario (por ejemplo, que un cliente
a la vez utilizari la miquina de gaseosas) y una breve descripcidn de una sola frase
del escenario.
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 94/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 95/425
Diagramas de casos de us079
FIGURA7.3
K- El modelo de caso de
us0 en la maquinade gaseosas con
la inclusio’n.
Cliente
?-A
Representantedel proveedor
K-Recolector
Maquina de gaseosas
--
el interior
-KCliente
-KRepresentante
3Recolector
del proveedor
ExtensionLa hora 6 mostrd que el caso de us0 “Reabastecer” podria ser la base de otro
caso de uso: “Reabastecer de acuerdo a las ventas”. En lugar de s610 reabas-
tecer la mhquina de gaseosas para que todas las marcas tengan la misma cantidad
de latas, el representante podria anotar aquellas que se venden mejor y reabastecer acorde
con ello. Por lo que podemos decir que el nuevo caso de us0 extiende a1 original dado que
agrega otros pasos a la secuencia del caso de us0 original, que se conoce como el caso
de us0 base.
La extensidn s610 se puede realizar en puntos indicados de manera especifica
dentro de la secuencia del caso de us0 base. A estos puntos se les conocecomo puntos de extensidn. En el caso de us0 Reabastecer, 10s nuevos pasos (anotar
las ventas y abastecer de manera acorde) se dm’an luego que el representante haya
abierto la mhquina y estC listo para llenar 10s compartimientos de las marcas de gaseosas.
En este ejemplo, el punto de extensidn es “Llenar 10s compartimientos”.
Como la inclusidn, podrh concebir la extensidn con una linea de dependencia (linea
discontinua con punta una punta de flecha), junto con un estereotipo que muestra
“extender” entre parentesis angulares. Dentro del caso de us0 bhsico, el punto de extensidn
aparecerh debajo del nombre del caso de uso. La figura 7.4 le muestra la relacidn de
extensidn para “Reabastecer” y “Reabastecer de acuerdo a las ventas”, junto con lainclusidn de relaciones para “Reabastecer” y “Recolectar dinero”.
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 96/425
I80 Hora 7
FIGURA7.4
Un diagrama de casos
de us0 que muestra
la extensidn y lainclusidn.
10s compartimientos
I -extender.(llenar Ioscompartimientos)
Reabastecer de acuerdoa las ventas
GeneralizacionLas clases pueden heredarse entre si y esto tambiCn se aplica a 10s casos de uso. En la
herencia de 10s casos de uso, el caso de us0 secundario hereda las acciones y significado
del primario, y ademis agrega sus propias acciones. Puede aplicar el caso de us0 secun-dario en cualquier lugar donde aplique el primario.
En el ejemplo, debera imaginar un caso de us0 “Comprar un vaso de gaseosa” que se
hereda de “Comprar gaseosa”. El caso de us0 secundario tiene acciones como “agregar
hielo” y “mezclar marcas de gaseosas”. Modelar6 la generalizacih de casos de us0
de la misma forma que lo hace con las clases: con lineas continuas y una punta de flecha
en forma de t r ihgu lo sin rellenar que apunta hacia el caso de us0 primario, como se
muestra en la figura 7.5.
FIGURA7.5
U n caso de uso puede
heredar el sentido y
comportamiento de
otro.
La relaci6n de generalizacibn puede establecerse entre actores, asi como entre casos de
uso. Quiz6 tenga personificados a1 representante del proveedor, a1 recolector y a1 agente
del proveedor. Si cambia el nombre del representante como Reabastecedor, tanto Cste
como el Recolector ser6n secundarios del Agente Proveedor, como muestra la figura 7.6.
FIGURA7.6
Como la s clases Y Agente proveedor
y 10s casos de USO,
10s actores pueden
estar en una relacidn
de generalizacidn.
A AReabastecedor Recolector
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 97/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 98/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 99/425
Diagramas de casos de us0 83 I
de datos”, “Indizar las propuestas”, “Utilizar propuestas previas” y “Compartir impreso-
ras”. De acuerdo con esta informacibn, la figura 7.9 le muestra el diagrama de casos de
us0 de alto nivel que hemos generado.
FIGURA7.8
La erarquia de
usuarios que
interactuarbn
con la LAN. EmDleado
Funcionario Administrador Consultor Oficinista
Adrninistrador Administrador Administrador
de oficina de proyectos de la red
Este conjunto de casos de us0 constituye 10s requerimientos funcionales de la LAN.
ProfundizacionElaboremos uno de 10s casos de us0 de alto nivel y generemos un modelo de caso de uso.Una actividad extremadamente importante en una firma de consultoria es la generacibn
de propuestas, asi que examinemos el caso de us0 “Crear una propuesta”.
Las entrevistas con 10s consultores probablemente le indicaran cuantos pasos se necesitan
en este caso de uso. Para empezar, el actor inicial es un consultor. El consultor tieneque iniciar una sesibn en la LAN y ser verificado como usuario valido. Luego tendrg que
utilizar alglin software integrado para oficina (procesador de textos, hoja de calculo y
graficos) para escribir la propuesta. En el proceso, el consultor podria volver a utilizar
porciones de propuestas previas. La firma de consultoria podria tener una directiva de
que un funcionario corporativo y otros dos consultores revisen una propuesta antes
de que llegue a manos del cliente. Para ello, el consultor almacena la propuesta en un
hrea central accesible mediante la LAN, y envia a 10s correos electrbnicos de 10s tres revi-sores un mensaje que indique que la propuesta se encuentra lista, asi como su ubicacibn.
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 100/425
~ 8 4 Hora 7
Luego de recibir 10s comentarios y hacer las modificaciones necesarias (nuevamente,
con el software integrado para oficina), el consultor imprime la propuesta y la envia
por correo a1 cliente. Cuando todo termina, el consultor se retira de la red. El consultor
habra completado una propuesta y es el actor que se beneficia del caso de uso.
xAdrninistrador
FIGURA7.9
U n diagrama de cusos
de us0 de alto nivel
que representa una
LAN para una$rmade consultoria. Funcionario
corporativo
de oficina
Adrninistrador
de proyecto
xConsultor
Adrninistradorde red
xOficinista
AN
Crear0
propuestas
base de datos
Utilizarpropuestas0
previas
Conectara Internet
CornpartirO O
impresoras
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 101/425
Diagramas de casos de us085 I
En la secuencia anterior, es claro que ciertos pasos se repetir6n de un caso de us0 a otro,
y ello le llevarfi a otros casos de us0 (posiblemente incluidos) en 10s que tal vez no habia
pensado. Iniciar una sesidn y ser verificado son dos pasos que pueden incluir varioscasos de uso. Por ello, crear6un caso de us0 “Verificar usuario” que incluya “Crear una
propuesta”. Otro par de casos de us0 son “Utilizar software de oficina” y “Finalizar sesidn
de la red”.
Podrian aparecer otros detalles del proceso de una propuesta cuando vea que las propues-
tas elaboradas para 10s clientes nuevos son diferentes a las de 10s clientes constantes. En
si, las propuestas a 10s nuevos clientes probablemente incluyen informaci6n promocional
de la empresa. Con 10s clientes constantes, no ser6 necesario enviar tal informacidn.Asi
pues, otro nuevo caso de uso, “Crear una propuesta para un cliente nuevo” extender6 a
“Crear una propuesta”.La figura 7.10 le muestra el diagrama de casos de us0 que resulta de este analisis del caso
de us0 “Crear una propuesta”.
FIGURA7.10
El caso de us0 “Crear
un a propuesta” en
la LAN de unaf irma . de consultoria.
Qpropuesta + ? i , - ade oficina
I .I <<extender,)’,, cincIuir,,
Crear una propuesta lasesion de la red
Este ejemplo aterriza un punto importante, uno que habia destacado anteriormente: El
anfilisis del caso de us0 describe el comportamiento de un sistema. No toca a la imple-
mentacidn. iEsto es particularmente importante en este caso, dado que el diseiio de unaLAN supera, por mucho, el alcance de este libro!
Donde estamos~ ~~~~~ ~ ~
Este es un buen momento para ver la estructura general del UML dado que ya ha avan-
zado en dos de sus principales aspectos: la orientacidn a objetos y el analisis de casos de
uso. Ha visto sus fundamentos y simbologia, asi como explorado algunas aplicaciones.
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 102/425
186 Hora 7
En las horas 2 a la 7 ha trabajado con:
Clases
ObjetosInterfaces
Casos de us0
Actores
Asociaciones
Generalizaciones
Realizaciones
Agregaciones
ComposicionesEstereotipos
Restricciones
Notas
Paquetes
Extensiones
Inclusiones
Intentemos dividir este conjunto de elementos en categorias.
Elementos estructuralesLas clases, objetos, actores, interfaces y casos de us0 son cinco de 10s elementos es -
tructurales en el UML. Aunque tienen diversas diferencias (mismas que, como ejercicio,
deberi indicar), son similares en el sentido de que representan partes ya sea fisicas o
conceptuales de un modelo. Conforme avance en la parte I, ver i otros elementos
estructurales.
Re lacionesLa asociacibn, generalizacibn, dependencia y realizacibn, son las relaciones en el UML.
(La inclusi6n y extensi6n son dos tipos de dependencias.) Sin las relaciones, 10s modelosUML no serfan m6s que listas de elementos estructurales. Las relaciones conectan a tales
elementos y de ese mod0 conectan 10s modelos con la realidad.
AgrupamientoEl paquete es el ~ n i c oelemento de agrupamiento en el UML, Cste le permite organizar
10s elementos estructurales en un modelo. Un paquete puede contener cualquier tiPo de
elemento estructural, y diferentes tipos a la vez.
AnotacionLa nota es el elemento de anotaci6n del UML; Cstas le permiten adjuntar restricciones,
comentarios, requerimientos y grhficos explicativos a sus modelos.
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 103/425
Diagramas de casos de us0 87 I
E l
ExtensionLos estereotipos o clisCs son dos estructuras que el UML proporciona para extender el
lenguaje. Le permiten crear nuevos elementos ademas de 10s existentes, de mod0 que
pueda modelar de forma adecuada la seccidn de realidad en la que se centrari su sistema.
...y masAdemis de 10s elementos estructurales, relaciones, agrupamientos, anotaciones y exten-
siones, el UML cuenta con otra categoria: elementos de comportamiento. Tales elementos
le muestran la forma en que las partes de un modelo (como 10s objetos) cambian con el
tiempo. Aun no sabe utilizarlos, per0 10s ver6 en la siguiente hora.
PanoramaAhora ya tiene una idea de la forma en que el UML se organiza. La figura 7.11 esquema-
tiza esta organizacidn por usted. Conforme vea las siguientes horas de la parte I, tengaesta organizacidn en mente. Le har i adiciones conforme avance y este “panorama” le
mostrara ddnde agregar el nuevo conocimiento que adquiera.
FIGURA7.11 Elernentos estructurales
La organizacidn del UML, en te‘rrninos de
10s elernentos clue ha
Caso de us00utilizado hasta ahora.
Relaciones
Asociacion
-D Generalizacion
- - - - - - - ->- - - - - - - 5>DependenciaRealizacion
Agrupacion Extension
c( Estereotipo>>
(valor etiquetado)
Paquete (Restriccion}
Anotacion
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 104/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 105/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 106/425
HORA 8Diagramas de estados
Hasta ahora ha comprendido 10s importantes elementos estructurales delUML. Ahora ver5 un elemento que le muestra c6mo modificar 10s procedi
mientos con el tiempo.
En esta hora se trataran 10s siguientes temas:
QuC es un diagrama de estados
Sucesos, acciones y condiciones de seguridad
Subestados: secuenciales y concurrentes
Estados hist6ricos
Por quC son importantes 10s diagramas de estadosAdici6n del diagrama de estados a1 panorama del UML
A1 finalizar la hora anterior, dije que aqui tratm’a una nueva cate-
goria de elementos con la cual no habia trabajado, el elemento de
comportamiento, Cste muestra la forma en que las partes de un modelo UMLcambian con el tiempo. Vera un miembro en particular de 1
diagrama de estados.
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 107/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 108/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 109/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 110/425
Diagramas de estados 95 I
ncender la pc Los estados y transi-
grafica del usuario
.ciones de una inte$az I
Cuando encienda su equipo, se ejecutari un proceso de arranque. A1 encender la PC se
desencadena un suceso que provoca que la GUI aparezca luego de una transicidn desde el
estado de Inicializacibn, y el arranque es una accidn que se realiza durante tal transicidn.Como resultado de las actividades en el estado de inicializacidn, la GUI entra a1 mod0 de
Operacidn. Cuando desea apagar su PC, desencadena un suceso que provoca la transicidn
hacia el estado de Apagado, y con ello la PC se apaga. La figura 8.4 muestra el diagrama
de estados que captura 10s estados y transiciones en la GUI.
lnicializacion Operacion ApagarApagado
> > +@Ihacer/Arrancar
Condiciones de seguridadLa anterior secuencia de estados de la GUI deja mucho que desear. Por ejemplo: si deja
solo su equipo o si realizara alguna actividad en la que no tocari a1 ratdn o a1 teclado,
podria aparecer un protector de pantallas que evitaria el desgaste de su pantalla. Para
decir esto en tCrminos de cambio de estado, si ha pasado cierto tiempo sin que haya
interaccidn con el usuario, la GUI hari una transicidn del estado Operacidn a un estado
que no aparece en la figura 8.4: el estado de Protector de pantallas.
El intervalo se especifica en el panel de control de su sistema operativo (Windows en
este caso). Por lo general es de 15minutos. Cualquier opresidn de una tecla o
movimiento del ratdn provocari una transicidn del estado Protector de pantallas a1
estado Operacidn.
El intervalo de 15 minutos es una condicidn de seguridud cuando se llega a
ella, se realiza la transicidn. La figura 8.5 muestra el diagrama de estados de la
GUI con el estado Protector de pantalla y la condicidn de seguridad aiiadida. Vea que
la condicidn de seguridad se establece como expresidn booleana.
ElIGIJRA
diagrama8.5
la GUI, con el estado
Protector de pantalla
la pc{lnicializacion0Operacion Apagado [-kde estados para vacer/Arrancar
y la condicidn
de seguridad.Teclazo o movimiento
del ratonlapso transcurrido] I IProtector
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 111/425
I 9 6 Hora 8
SubestadosNuestro modelo de la GUI aun esta algo vacio. El estado Operacidn, en particular, es
mucho mis sustancioso de lo que he indicado en las figuras 8.4 y 8.5.Cuando la GUI estfi en el estado Operacibn, hay muchas cosas que ocurren tras bambali-
nas, aunque no Sean particularmente evidentes en la pantalla. La GUI aguarda de forma
constante a que usted haga algo (oprimir una tecla, mover el raton u oprimir uno de sus
botones). Luego, deberi registrar tales acciones y modificar lo que se despliega para
reflejarlas en la pantalla (como mover el cursor cuando usted mueva el ratdn, o mostrar
una “a” cuando usted oprima la tecla “a”).
Con ello la GUI atravesari por varios cambios mientras se encuentre en el
estado Operaci6n. Tales cambios seran cambios de estado. Dado que estos
estados se encuentran dentro de otros, se conocerin como subestados. Hay dos tipos
de subestados: secuencial y concurrente.
Su bestados secuencialesComo su nombre lo indica, 10s subestados secuenciales suceden uno detras de otro. Si
retomamos 10s subestados mencionados con anterioridad dentro del estado Operaci6n
de la GUI, tendra la siguiente secuencia:
A la espera de acci6n del usuario
Registro de una acci6n del usuario
Representacidn de la accidn del usuario
La acci6n del usuario desencadena la transicidn a partir de A la espera de accidn del
usuario hacia Registro de una acci6n del usuario. Las actividades dentro del Registro
trascienden de la GUI hacia la Representacidn de la accion del usuario. DespuCs del
tercer estado, la GUI vuelve a iniciar A la espera de acci6n del usuario. La figura 8.6
le muestra c6mo representar 10s subestados secuenciales dentro del estado Operaci6n.
FIGURA8.6
A la espera
de la acciondel usuario del usuario del usuario
Suhestados secuencia-
le s dentro del estado
Operacidn de la GUI.
Subestados concurrentesDentro del estado Operacidn, la GUI no s610 aguarda a que usted haga algo. TambiCn
verifica el crondmetro del sistema y (posiblemente) actualiza el despliegue de una
aplicaci6n luego de un interval0 especifico. Por ejemplo, una aplicacidn podria incluir
un reloj en pantalla que tuviera que actualizar la GUI.
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 112/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 113/425
I98 Hora 8
A la esperade accion Action
del usuario ’
FIGURA8.8
El estado histdrico,
simbolizudo con la “ H ”dentro del circulo, le
muestra que un estudo
compuesto recuerdu
su subestado uctivo
cuundo el objeto
trasciende fuera de
tal estudo compuesto.
Registro de Representacion
una accion de la accionde l usuario del usuario
Verificar el [Lapso transcurrido]
cronornetrode l sisterna
> Actualizardespliegue
<
[Lapso transcurrido] I J fTeclazo onovirniento
I del raton
I
I
I
En el diagrama de estados no he tratado con las ventanas que estan abiertas por
otras ventanas (es decir, con subestados anidados en otros). Cuando un estado
histdrico recuerda 10s subestados en todos 10s niveles de anidaci6n (como el estado
Operacidn de Windows lo hace), el estado histdrico es profundo. Si sdlo recuerda el
subestado principal, el estado histdrico sera supe@ciul. Un estado histdrico profundo
se representa agregando un asterisco (*) a la “ H ’ en el circulo (H”).
El estado historic0 y el estado in icia l (representados por
el circulo relleno) son conocidos como pseudoestados.
No tienen variables de estados nr actividades, por lo que no son estados
"completes".
I I
Mensajes y sefialesEn el ejemplo, el suceso desencadenado que provocd la transicidn de Protector de pantalla
a Operacidn es la opresidn de una tecla, un movimiento del ratdn o una opresidn de uno
de sus botones. Cualquiera de estos sucesos es, en efecto, un mensaje del usuario a la
GUI. Esto es un concept0 importante dado que 10s objetos se comunican mediante el
envio de mensajes entre si. En este caso, el suceso desencadenado es un mensaje de un
objeto (el usuario) a otro (la GUI).
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 114/425
Diagramas de estados 99 I
Un mensaje que desencadena una transici6n en el diagrama de estados del
objeto receptor se conoce como sefial.En el mundo de la orientaci6n a objetos,
el envio de una seiial es lo mismo que crear un objeto Seiial y transmitirlo a1 objetoreceptor. El objeto Seiial cuenta con propiedades que se representan como atributos.
Dado que una seiial es un objeto, es posible crear jerarquias de herencia de seiiales.
Por que son importantes10s diagramas de estados
El diagrama de estados del UML proporciona una gran variedad de simbolos y abarca
varias ideas (todas para modelar 10s cambios por 10s que pasa un objeto). Este tipo dediagrama tiene el potencial de convertirse en algo complejo con pasmosa rapidez. LEn
verdad es necesario?
De hecho, asi es. Es necesario contar con diagramas de estados dado que permiten a 10s
analistas, diseiiadores y desarrolladores comprender el comportamiento de 10s objetos de
un sistema. Un diagrama de clases y el diagrama de objetos correspondiente s610 muestra
10s aspectos esthticos de un sistema. Muestran las jerarquias y asociaciones, y le indican
quC son las operaciones. Per0 no le muestran 10s detalles dinhmicos de las operaciones.
Los desarrolladores, en particular, deben saber la forma en que 10s objetos se supone que
se comportarhn, ya que son ellos quienes tendrhn que establecer tales comportamientosen el software. No es suficiente con implementar un objeto: 10s desarrolladores deben
hacer que tal objeto haga algo. Los diagramas de estados se aseguran que no tendrhn que
adivinar lo que se supone que harhn 10s objetos. Con una Clara representach del com-
portamiento del objeto, aumenta la probabilidad de que el equipo de desarrollo produzca
un sistema que cumpla con 10s requerimientos.
Adiciones al panoramaAhora puede agregar 10s “Elementos de comportamiento” a1 panorama del UML. La
figura 8.9 le muestra la imagen con el diagrama de estados incluido.
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 115/425
I100 Hora 8
FIGURA8.9
El panorama del
UM L ahora incluyeun elemento de com-
portarniento: el dia-
grams de estados.
La organizacidn del
UML, en te'nnirios
de 10s elementos
que ha utilizado
hasta ahora.
Elementos estructurales
Caso de us00Relaciones
Asociacion
-D Generalizacion
_ - - - - - - _ Dependencia
- _ - - - - - Realizacion
Elernentos de comportamiento-[
Estado
IIAgrupacion Extension
Estereotipon
Paquete (Restriccion}
[valor etiquetado}
Anotacion
L.'4
ResumenLos objetos en 10s sistemas modifican sus estados como respuestas a sucesos y a1 tiempo.
El diagrama de estados de UML captura estos cambios de estado. Un diagrama de estados
se enfoca en 10s cambios de estado en un solo objeto. Un recthngulo de vCrtices redon-
deados representa a un estado, y una linea continua con una punta de flecha representa
una transicidn de un estado a otro.
El simbolo del estado contiene el nombre del mismo y puede tener variables y actividades
del estado. Una transici6n puede suceder como respuesta a un suceso desencadenado,
e implicar una respuesta o accibn. Una transicidn tambiCn puede ocurrir por la actividad
en un estado: una transition que ocurre de esta forma se conoce como transicidn no desen- cadenada. Finalmente, una transici6n puede ocurrir cuando se cumple una condici6n
particular, o condicidn de seguridad.
En ocasiones, un estado consta de subestados. Los subestados pueden ser secuenciales
(ocurrir uno despuCs del otro) o concurrentes (ocurrir a1 mismo tiempo). Un estado que
consta de subestados se conoce como estado compuesto. Un estado hist6rico indica que un
estado compuesto recordarh su subestado cuando el objeto trascienda de este estado com-
puesto. Un estado historic0 puede ser superficial o profundo. Tales tkrminos son propios
de 10s subestados anidados. Un estado historic0 superjicial recuerda so10 el subestado
principal. Un estado historic0 profundo recuerda todos 10s niveles de 10s subestados.
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 116/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 117/425
I102 Hora 8
E e rcicios1. Suponga que diseiiarfi un tostador. Cree el diagrama de estados que controle 10s
estados del pan en el tostador. Incluya 10s sucesos desencadenados, acciones ycondiciones de seguridad necesarios.
2. Cada vez que un objeto envie una seiial, se crearfi un objeto Seiial y sera transmi-
tido. En Windows, hay varias seiiales posibles a partir de la GUI. Suponga que la
seiial (el tipo de seiial que envie a Windows) sea una clase. (iQuC tipo de clase es?)
Cree un diagrama de clases de las posibles sefiales y muestre toda la herencia
inherente.
3. La figura 8.7 le muestra 10s subestados concurrentes dentro del estado Operaci6n de
la GUI. Dibuje un diagrama del estado Protector de pantalla que incluya 10s subesta-
dos concurrentes.
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 118/425
9Diagramas de secuencias
Los diagramas de estados se enfocan a 10s diferentes estados de un objeto.
Esto es s610 una pequeiia parte del cuadro. El diagrama de secuencias del
UML establece el siguiente paso y le muestra la forma en que 10s objetos
se comunican entre si a1 transcurrir el tiempo.
En esta hora se trataran 10s siguientes temas:
QuC es un diagrama de secuencias
LaGUI
Diagramas de instancias y diagramas genkricos
Us0 de “si” y “mientras”Creaci6n de un objeto en la secuencia
Representaci6n de la recursividad
Diagramas de secuencias en el panorama del UML
Los diagramas de estados que vio en la hora anterior se centran en un objeto
y muestran 10s cambios por 10s que pasa dicho objeto.
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 119/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 120/425
!
Diagramas de secuencias 105 1
FIGURA9.2 - Simple
Sirnbolos para 10s -b Sincronico
rnensajes en un dia- i ~ ~ i ~ ~ ~ ~ ~
grarna de secuencias.
TiempoEl diagrama representa a1 tiempo en direccidn vertical. El tiempo se inicia en la parte
superior y avanza hacia la parte inferior. Un mensaje que est6 mas cerca de la parte supe-
rior ocurrira antes que uno que estC cerca de la parte inferior.
Con ello, el diagrama de secuencias tiene dos dimensiones. La dimensidn horizontal es la
disposici6n de 10s objetos, y la dimensi6n vertical muestra el paso del tiempo. La figura
9.3 muestra a1 conjunto bisico de simbolos del diagrama de secuencias, con 10s simbolosen funcionamiento conjunto. La figura muestra a un actor que inicia la secuencia,
aunque, en sentido estricto, la figura adjunta no es parte del conjunto de simbolos del
diagrama de secuencias.
FIGURA9.3 [3
R?! ;I, En un diagrarna de
secuencias 10s objetos
se colocan de izquierda
a derecha en la parte
superior Cada lineade vida de un objeto es
una linea discontinua
que se desplaza hacia
abajo del objeto. Una
linea continua con una
punta de flecha conecta
a una linea de vida con
otra, y representa un
rnensaje de un objeto a
otro. El tiernpo se inicia
en la parte superior ycontinu'a hacia abajo.
Aunque un actor es el
que nomtalrnente inicia
la secuencia, su sirnbolo
no es parte del conjunto
de sirnbolos del dia-
grarna de secuencias.
Para ver en accidn a esta importante herramienta del UML, apliquCmosla en 10s ejemplos
que hemos visto en las horas anteriores. Cada aplicacidn le mostrari algunos conceptosimportantes que se relacionan con 10s diagramas de secuencias.
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 121/425
I 106 Hora 9
La GUIEn la hora anterior desarrollo 10s diagramas de estados que muestran 10s cambios por 10s
que pasa una GUI. Ahora dibujara un diagrama de secuencias que represente las interac-tividades de la GUI con otros objetos.
La secuenciaSuponga que el usuario de una GUI presiona una tecla alfanumerica; si asumimos que
utiliza una aplicacion como un procesador de textos, el caracter correspondiente debera
aparecer de inmediato en la pantalla. iQuC ocurre tras bambalinas para que esto suceda?
1. La GUI notifica a1 sistema operativo que se oprimi6 una tecla.
2. El sistema operativo le notifica a la CPU.
3. El sistema operativo actualiza la GUI.
4. La CPU notifica a la tarjeta de video.
5. La tarjeta de video envia un mensaje a1 monitor.
6. El monitor presenta el cark te r alfanumkrico en la pantalla, con lo que se har5
evidente a1 usuario.
Todo esto ocurre con tanta rapidez que olvidamos que todo ello se realiza. (iSi acaso
pensabamos que ocurria!)
El diagrama de secuenciasLa figura 9.4 representa el diagrama de secuencias de la GUI. Como ve, 10s mensajes
son asincronicos: ninguno de 10s componentes aguarda nada antes de continuar.A1 traba-
jar con algunas aplicaciones de Windows, tal vez haya sentido algunos de 10s efectos de
la comunicacih asincrbnica, particularmente en una maquina lenta. Cuando teclea en
un procesador de textos, en ocasiones no ve aparecer en la pantalla el caracter correspon-
diente a la tecla que haya oprimido sino hasta despuCs de haber oprimido algunas mas.
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 122/425
Diagramas de secuencias 107 I
FIGURA9.4
U n diagrarna de se -
cuencias que rnuestrala forrna en que la
GUI interacciona
con otros objetos. xTeclazo
-1
1 I'I
En ocasiones, es muy instructivo mostrar 10s estados de uno o varios de 10s objetos en
el diagrama de secuencias. Dado que ya ha analizado 10s estados de la GUI (en la hora
anterior), esto es f k i l de hacer. La figura 9.5 le muestra un hibrido: el diagrama de
secuencias de la GUI con 10s estados de la GUI. Observe que la secuencia se origina
y finaliza en el estado Operativo de la GUI, como podria esperarlo.
FIGURA9.5U n diagrarna de
secuencias puede 01
lnicializacionrnostrar 10s estados
de un objeto.
Operativo
..'
: etroalimentacioi
xf
Apagar
01
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 123/425
I108 Hora 9
En un diagrarna de secuencias, otra forrna de rnostrar el cambio de estadode u n objeto es incluir al objeto mas de una vez en el diagrama.
El caso de us0iQuC es exactamente lo que representa un diagrama de secuencias? En este ejemplo,
muestra las interacciones de objetos que se realizan durante un escenario sencillo: la
opresidn de una tecla. Este escenario podria ser parte de un caso de us0 llamado “Ejecutar
la opresidn de una tecla” (vea la figura 9.6). A1 representar grificamente las interacciones
del sistema en el caso de uso, el diagrama de secuencias habri, en efecto, “delineado” el
caso de us0 dentro del sistema.
FIGURA9.6
xEjecutar la opresion
de una tecla
Usuario
El caso de uso repre-
sentado grbjicamente
por el diagrama
de secuencias de
la j igura 9.4.
Usuario
I I
En el siguiente ejemplo, examinark detalladamente la relacidn entre 10s casos de us0 y10s diagramas de secuencias.
Instancias y genericosEl ejemplo anterior comenzd con un diagrama de estados. Este otro ejemplo empieza
con un caso de uso. “Comprar gaseosa” fue uno de 10s casos de us0 del ejemplo de la
maquina de gaseosas en las horas 6, “Introduccidn a 10s casos de uso”, y 7, “Diagramas
de casos de USO”.
Un diagrama de secuencias de instanciasEn el mejor escenario del caso de us0 “Comprar gaseosa”, recuerde que el actor es un
cliente que desea adquirir una lata de gaseosa. El cliente inicia el escenario mediante la
insercidn de dinero en la miquina. Luego hace una seleccidn. Dado que hablamos del
mejor escenario, la miquina tiene a1 menos una lata de la gaseosa elegida y por lo tanto
presenta una lata fria a1 cliente.
Asumamos que en la miquina de gaseosas hay tres objetos que realizan la tarea que nos
ocupa: la fachada (la interfaz que la miquina de gaseosas presenta a1 usuario), el regis-
trador de dinero (que lo recolecta), y el dispensador (que entrega la gaseosa). TambiCn
daremos por hecho que el registrador de dinero controlari a1 dispensador. La secuencia
sera como sigue:
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 124/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 125/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 126/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 127/425
I 1 1 2 Hora 9
FIGURA9.9
El diagr am de
secuencias gene‘ricode la ma’quina de
gaseosas luego
de agregarle
el escenario
“Sinmarca”
a la figura 9.8.
I:fachadal0Insertion
[Alimentaclon = Precio]Verificar (Selection)
[Seieccion en existencia]
[Selection agatada]
I ’ Mostrar (mensale)I -
Si empieza a pensar que un diagrama de secuencias esta implicit0 en cada caso de uso,
ya tiene la idea.
Creacion de un objeto en la secuenciaEn 10s ejemplos que hemos visto ha analizado distintos tipos de mensajes, diagramas
de secuencias genCrico y de instancias, asi como estructuras de control. Otro concept0
importante relacionado con 10s diagramas de secuencias, particularmente cuando diseiie
software, es la creaci6n de objetos.
Con frecuencia se da el caso de que un programa orientado a objetos debe crear un
objeto. Recuerde que en tCrminos del software, una clase es una plantilla para crear
un objeto (como un molde de galletas para crear una galleta). iC 6m o representm’a la
creacidn de un objeto cuando represente una secuencia de interacciones entre objetos?
El caso de us0 “Crear una propuesta” del ejemplo de la LAN en una firma de consultoria
nos muestra una instancia de la creaci6n de objetos. En este ejemplo concebirh la LAN
en el entendido de que todo se realiza mediante la red. Si damos por hecho que el consul-tor ya ha iniciado una sesi6n en la LAN, la secuencia que modelarh quedarh como sigue:
1. El consultor querrh volver a utilizar partes de una propuesta existente y busca en
un 6rea centralizada de la red una propuesta adecuada.
2. Si el consultor encuentra una propuesta adecuada, abrirh el archivo y, en el proceso,
abrirh el software integrado para la oficina relacionada. El consultor guardara el
archivo con un nuevo nombre, con lo que crearh un archivo nuevo para la nueva
propuesta.
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 128/425
Diaqramas de secuencias 113 I
3. Si el consultor no encuentra una propuesta, abriri la aplicacidn de oficina y creari
4. A1 trabajar en la propuesta, el consultor utilizarh las aplicaciones del software inte-
5. Cuando el consultor finalice la propuesta, la guardari en el 6rea de almacenamiento
Ademis de la creacidn de objetos (en este caso, de archivos), esta secuencia trae consigoel us0 de “si” asi como de un ciclo “mientras”.
Primer0 veamos lo relacionado con la creacidn de objetos. Cuando una secuen-
cia da por resultado la creacidn de un objeto, tal objeto se representari de la
forma usual: como un rectingulo con nombre. La diferencia es que no lo colocari enla parte superior del diagrama de secuencias, sino que lo colocari junto con la dimensidn
vertical, de mod0 que su ubicacidn corresponda a1 momento en que se Cree. El mensaje
que cre ari a1 objeto se nom brari “Crear()”. Los parkntesis implican una operaci6n: en
un lenguaje orientado a objetos, una operacidn constructor genera un objeto.
un archivo para la propuesta.
grado para oficina.
centralizada.
En lugar de usar ”Crear()” o “Create()“ para etiquetar la flecha de un mensaje
de creacion de un objeto, podria valerse de un estereotipo llamado ((Crear,,.
En el caso de “mientras”, a este control de flujo lo representari colocando la condicidn
mientras (“mientras se trabaja en una propuesta”) entre corchetes, con un asterisco (*)
antes del primer corchete.
La figura 9.10 le muestra el diagrama de secuencias del caso de us0 “Crear una propuesta”.
~ ~
Este ejernplo representa una abstraccionen la que he ornitido detalles que
no nos cornpeten en lo particular. Esto lo he hecho de dos forrnas. Prirnero,
obvie 10s detalles de la LAN, corno lo rnencione. Tarnbien vea que la GUI es
un objeto en el diagrarna de secuencias, y que no he incluido toda la corn-
plejidad del caso de us0 ”Teclazo“ del ejernplo anterior. Los detalles de lainteraccion de la GUI con el sisterna operativo, la CPU y el monitor no son
importantes en este caso.
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 129/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 130/425
Adiciones al panorama
Ahora podri agregar otro diagrama a su panorama del UML. Dado que se refiere a1 com-portamiento de 10s objetos, el diagrama de secuencias iria bajo la categoria “Elementos
de comportamiento”. La figura 9.12 actualiza su creciente panorama.
FIGURA9.12
El panorama del
U M L con la adicidn
del diagrama de
secuencias.
Elementos estructurales
E l olase tnterfaz
Caso de us0
0Relaciones
Asociacion
Elementos de comportamiento
I Estado I
U
,D Generalizacion
- - - - - - - - + Dependencia
D Realizacion Secuencia- - - - - - -
Agrupacion Extension
’
Estereotipo”Paquete (Restriccion)
{valor etiquetado)
Anotacion
1 7
ResumenEl diagrama de secuencias UML agrega la dimensidn del tiempo a las interactividades
de 10s objetos. En el diagrama, 10s objetos se colocan en la parte superior y el tiempo
avanza de arriba hacia abajo. La linea de vida de un objeto desciende de cada uno de
ellos. Un pequeiio rectingulo de la linea de vida de un objeto representa una activacidn
(la ejecucidn de una de las operaciones del objeto). Puede incorporar 10s estados de un
objeto colocihdolos junto a su linea de vida.
Los mensajes (simples, sincrdnicos y asincrdnicos) son flechas que conectan a una linea
de vida con otra. La ubicacidn del mensaje en la dimensidn vertical representari el mo-
mento en que sucede dentro de la secuencia. Los mensajes que ocurren primer0 esthn
m is cerca de la parte superior del diagrama, y 10s que ocurren despuCs cerca de la parteinferior.
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 131/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 132/425
Diagramas de secuencias 117 I
Ejercicios1. Cree un diagrama de secuencias de instancias que muestre lo que ocurre cuando
envia con Cxito un fax. Esto es, modele las interactividades entre objetos en el
mejor escenario del caso de us0 “enviar fax” de una miquina de fax. Incluya 10s
objetos de la miquina que envia, la que recibe, el fax y un “intercambio” central
que encause a 10s faxes y a las llamadas telefbnicas.
2. Cree un diagrama de secuencias gentrico que incluya escenarios infructuosos
(linea ocupada, error de la miquina que envia), asi como del mejor escenario
indicado en el ejercicio 1.
I
i
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 133/425
“*-
.a-
HORA 10Diagramas
de colaboracionesAhora veremos lo correspondiente a un diagrama que es similar a1 que
vimos en la hora anterior. Este tambiCn muestra la colaboraci6nentre 10s
objetos, per0 de una forma significativamente diferente del diagrama de
secuencias.
En esta hora se tratarh 10s siguientes temas:
QuC es un diagrama de colaboraciones
C6mo aplicar un diagrama de colaboracionesUs0 de “si“ y “mientras”
Anidamiento
Objetos activos y concurrencia
Sincronizaci6n
D6nde encajan 10s diagramas de colaboraciones en el UML
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 134/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 135/425
Diagramas de colaboraciones 121 I
FIGURA10.1
Simbologia del
diagrama de
colaboraciones.,\ \ ~ I NornbreZI
:Nornbre3
3:Actualizar() /:Modificar()
La GUIEste ejemplo es el caso mis directo. Un actor inicia la secuencia de interaccidn a1 oprimir
una tecla, con lo que 10s mensajes ocurririn de manera secuencial. Tal secuencia (a partir
de la hora anterior) es:
1. La GUI notifica a1 sistema operativo que se oprimi6 una tecla.
2. El sistema operativo le notifica a la CPU.
3. El sistema operativo actualiza la GUI.
4. La CPU notifica a la tarjeta de video.
5. La tarjeta de video envia un mensaje a1 monitor.
6. El monitor presenta el caricter alfanumkrico en la pantalla, con lo que se harA
La figura 10.2 muestra la forma de representar esta secuencia de interacciones en undiagrama de colaboraciones. El diagrama muestra la figura agregada que representa a1
usuario que inicia la secuencia, aunque esta figura no es parte de la simbologia de este
diagrama.
evidente a1 usuario.
FIGURA10.2
U n diagrama de
colaboraciones para
el ejemplo de la GUI.
9-
.:Monitor
Z:actualizar(tecleo)
5:rnostrar(tecleo)
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 136/425
I 1 2 2 Hora 10
Cambios de estadoPuede mostrar 10s cambios de estado en un objeto en un diagrama de colaboraciones.
En el rectingulo del objeto indique su estado. Agregue otro rectingulo a1 diagrama quehaga las veces del objeto e indique el estado modificado. Conecte a 10s dos con una linea
discontinua y etiquete la linea con un estereotipo ccse toma>>.
La figura 10.3 ilustra un cambio de estado para la GUI, que muestra que el estado de
inicializacibn se convierte en el estado operativo.
FIGURA10.3
coluboruciones puede -
U n diugrumu de
incorporur cumbiosde estudo.
6:retroalirnentacion
2:actualizar(tecleo)t:Monitor
5:mostrar(tec1eo)
La maquina de gaseosasLas cosas se hacen m is interesantes cuando aplica las condiciones a una situaci6n real,
como lo hizo en la hora anterior con la miquina de gaseosas. Iniciemos con la mejor
situaci6n del caso de us0 “Comprar gaseosa”, donde la secuencia es:
1. El cliente inserta el dinero en la alcancia que se encuentra en la fachada de lamiquina.
2. El cliente hace su elecci6n.3. El dinero viaja hacia el registrador.
4. El registrador verifica si la gaseosa elegida es t i en el dispensador.
5. Dado que es la mejor situacibn, asumimos que si hay gaseosas, y el registrador
6. El registrador hace que el dispensador entregue la gaseosa en la fachada de la
actualiza su reserva de efectivo.
miquina.
El diagrama de colaboraciones es directo, como lo muestra la figura 10.4.
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 137/425
Diagramasde colaboraciones 123 1
FIGURA10.4
El diugramu de colubo-
raciones para el
mejor cuso de
“Comprur gaseosa ”.
+insertar(alimentacion, seleccion)
iagregar(alimentacion, seleccion)
:Despachador :Registrador
Z:despachar(seleccion)
Ahora, agreguemos el caso de “cantidad incorrecta de dinero”. El diagrama tiene quecontabilizar varias condiciones:
1. El usuario ha introducido mhs dinero que el necesario para la compra.
2. La mhquina cuenta con la cantidad adecuada de cambio.
3. La maquina no tiene la cantidad correcta de cambio.
Usted representarh las condiciones de la misma forma en que las represent6 en el dia-
grama de secuencias. Colocarh la condicidn entre corchetes, misma que se antecede a la
etiqueta. Lo importante es coordinar las condiciones con la numeracibn.
Esto podria ser algo complicado, por lo que haremos el diagrama por secciones. Empe-zaremos con la condici6n donde el usuario ha insertado mhs dinero del indicado en el
precio y el registrador cuenta con el cambio adecuado.Agregara el paso de la mhquina
a1 devolver el cambio a1 cliente, y agregarh las condiciones entre corchetes. El paso que
devuelve el cambio es una consecuencia del que verifica si hay cambio. Para indicar esto
en el paso de devolver cambio utilizarh el mismo numero del mensaje que verifica el
cambio, y agregarh un punto decimal y un uno. A esto se le conoce como anidacidn.
La figura 10.5 le muestra 10s detalles.
iQuC ocurre cuando la mhquina no cuenta con el cambio correcto? Tendrh que mostrar
un mensaje que lo indique, devuelva el dinero y pida a1 usuario que inserte el importecorrecto. Asi, la transaccibn habrh finalizado.
Cuando agregue esta condicibn, agregarh una bifurcacidn en el control de flujo. Numera-
rh esta bifurcacidn como un mensaje anidado. Dado que es el segundo mensaje anidado,
habrh un 2 luego del punto decimal. Finalmente, y debido a que la transaccidn habrh
finalizado, harh Clara esta situacibn mediante la adici6n de un estereotipo “transacci6n fi-
nalizada” en este mensaje, y otro en el mensaje que despacha la gaseosa. La figura 10.6
presentarh la situacidn.
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 138/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 139/425
Diagramas de colaboraciones 125
4. A1 trabajar en la propuesta, el consultor utilizara 10s componentes de la aplicacidn
5 . Cuando el usuario finalice la propuesta, la guardarh en el Area de almacenamiento
de oficina.
centralizada.
Para mostrar la creacidn de un objeto, agregara un estereotipo “crear” a1 mensaje que
genera a1 objeto.
Una vez mas, utilizara instrucciones “si” (if) y mensaje anidados. TambiCn trabajarh
con un ciclo “mientras” (while). Como en el diagrama de secuencias, para representar
a “mientras”, colocar5 esta condici6n entre corchetes y antecedera a1 del lado izquierdo
con un asterisco.
La figura 10.7 le muestra este diagrama de colaboraciones completo con la creaci6n delobjeto y “mientras”.
1 iniciarBusqueda()
[encontrado]4.1: abrir(archiv0)
[no encontrado]4.2: nuevo(archivo)
‘[trabajo] 7: usarAplics()
FIGURA10.7
El diugruma de
colaboruciones
“Creur unu propuestu ”.[completado] 10: cerrarYGuardar0
2: Buscar()
:Deposit0
< 3: Resultado
5: brirYGuardarCorno(propuesta)8: usarAplics()
11: cerrarYGuardar014:completado()
crear>>6: crearArchivoO
9: rnodificaro
12:cerrar()
Algunos conceptos masAunque ha visto algunas bases, no ha visto todo lo relacionado con 10s diagramas de
colaboraciones. Los conceptos en esta secci6n son un poco esotkricos, per0 podrian serle
fitiles en sus esfuerzos para analizar sistemas.
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 140/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 141/425
Diagramas de colaboraciones 127 I
1:precio total := calcular(precioElernento, irnpuestos)
FIGURA 10.10
Un diagrama de
colaboraciones queincluye la sintaxis
de un resultado.
A la parte que esta a la derecha de la expresion se le conocecomo firma del mensaje.
Objetos activosEn algunas interacciones, un objeto especifico controla el flujo. Este objeto
activo puede enviar mensajes a 10s objetos pasivos e interactuar con otros
objetos activos. En una biblioteca, un bibliotecario relaciona las peticiones a partir de un
patrdn, verifica la informacidn de referencia en una base de datos, devuelve una respuesta
a1 peticionario, asigna personas para reabastecer 10s libros, entre otras cosas. Un biblio-
tecario tambiCn interactda con otros que realicen las mismas operaciones. A1 proceso de
que dos o m i s objetos activos hagan sus tareas a1 mismo tiempo, se le conoce como con-
currencia.
El diagrama de colaboraciones representa a un objeto activo de la misma manera que a
cualquier otro objeto, except0 que su borde sera grueso y m is oscuro. (Vea la figura 10.11.)
FIGURA10.11
U n objeto activo
controla el f lujo
en una secuencia.
Se representa como
un recta‘ngulocon un
SincronizacionOtro caso con el que se puede encontrar es que un objeto s610 puede enviar un mensaje
despuCs de que otros mensajes han sido enviados. Es decir, el objeto debe “sincronizar”
todos 10s mensajes en el orden debido.
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 142/425
I128 Hora 10
Un ejemplo aclarar i esto. Suponga que sus objetos son personas en un corporativo,
y que es t in ocupados en la campaiia de un nuevo producto. He aqui la secuencia de
interacciones:
1. El vicepresidente de comercializacidn le pide a1 de ventas que Cree una campaiia
para un producto en particular.
2. El vicepresidente de ventas crea la campaiia y la asigna a1 gerente de ventas.
3. El gerente de ventas instruye a un agente de ventas para que venda el producto de
acuerdo con la campaiia.
4. El agente de ventas hace llamadas para vender el producto a 10s clientes en potencia.
5 . Luego de que el vicepresidente de ventas ha dado la comisi6n y el gerente de ven-
tas ha expedido la directiva (esto es, cuando se han completado 10s pasos 2 y 3), un
especialista en relaciones publicas de la corporaci6n ha ri una llamada a1 periddicolocal y colocari un anuncio de la carnpaiia.
iC6m o representari la posicidn del paso cinco en la secuencia? Nuevamente, el UML le
da una sintaxis. En lugar de anteceder este mensaje con una etiqueta numkrica, lo ante-
ceder5 con una lista de mensajes que tendrin que completarse antes de que se realice el
paso cinco. La lista de elementos se separarfi mediante una coma, y finalizari con una
diagonal. La figura 10.12 le muestra el diagrama de colaboraciones en este ejemplo.
FIGURA10.12
La sincronizacidn
de mensajes en
un diagrama de F r ( c a r n p a r i a , producto)
colaboraciones.
:Gerenteventas
3:vender(campaiia. producto)
Vendedor
lientes asignados] 4 IlamadaVentas(carnpaia,producto)
Ciiente
Adiciones al panoramaAhora podrfi agregar el diagrama de colaboraciones a su panorama del UML. Es otro
elemento de comportamiento, corno se aprecia en la figura 10.13.
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 143/425
Diagramas de colaboraciones 1291
FIGURA10.13 Elementos estructurales
Clase lnterfaz
El panorama del
U M L , que incluyea1 dianrama de
Caso de us00colaboraciones.
Relaciones
Asociacion
-D Generalizacion
+ Dependencia
D Realizacion
- - - - - _ _ _
- - - - - - - -
Agrupacion Extension
<<Estereotipo>>
(valor etiquetado)
Paquete {Restriccion}
Anotacion
17
Elementosde cornportarniento
-
I Estado I
I Nombrell
I I
I I
o-n
@Secuencia
I Nombre2 IColaboracion
ResumenUn diagrama de colaboraciones es otra forma de presentar la informacidn en un dia-
grama de secuencias. Ambos tipos de diagramas son semgnticamenteequivalentes y se
recomienda usar ambos cuando construya el modelo de un sistema. El diagrama de
secuencias se organiza de acuerdo a1 tiempo, y el de colaboracidn de acuerdo a1 espacio.
El diagrama de colaboraciones muestra las asociaciones entre objetos, asi como 10s
mensajes que pasan de un objeto a otro. El mensaje se representa con una flecha juntoa la linea de asociacih, y una etiqueta numerada que muestra el contenido del mensaje.
El numero representa el turno del mensaje en la secuencia.
Las condicionales se representan como antes, mediante la colocacidn de la instruccih
condicional entre corchetes. Para representar un ciclo “mientras”, anteceda a1 corchete
izquierdo con un asterisco.
Algunos mensajes provienen de otros. El esquema de numeracidn de las etiquetas repre-
senta esto de forma muy similar a 10s manuales tknicos que muestran sus encabezados
y subtitulos: con un sistema de numeracidn que utiliza puntos decimales para representar
10s niveles del anidamiento.
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 144/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 145/425
Diagramas de colaboraciones 131 I
2. En el diagrama de colaboraciones del caso de uso “Crear propuesta”, el consultor
busca en el Brea central de almacenamiento una propuesta adecuada para volverla
a utilizar. Imagine a “buscar” como un mensaje enviado para buscar en una secuen-cia de archivos, y utilice las tkcnicas de modelado de la secci6n “Algunos conceptos
mBs” para cambiar el diagrama de colaboraciones en la figura 10.6.
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 146/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 147/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 148/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 149/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 150/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 151/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 152/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 153/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 154/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 155/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 156/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 157/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 158/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 159/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 160/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 161/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 162/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 163/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 164/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 165/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 166/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 167/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 168/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 169/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 170/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 171/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 172/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 173/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 174/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 175/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 176/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 177/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 178/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 179/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 180/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 181/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 182/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 183/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 184/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 185/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 186/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 187/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 188/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 189/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 190/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 191/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 192/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 193/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 194/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 195/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 196/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 197/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 198/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 199/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 200/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 201/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 202/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 203/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 204/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 205/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 206/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 207/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 208/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 209/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 210/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 211/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 212/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 213/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 214/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 215/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 216/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 217/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 218/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 219/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 220/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 221/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 222/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 223/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 224/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 225/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 226/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 227/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 228/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 229/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 230/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 231/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 232/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 233/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 234/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 235/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 236/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 237/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 238/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 239/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 240/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 241/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 242/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 243/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 244/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 245/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 246/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 247/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 248/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 249/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 250/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 251/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 252/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 253/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 254/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 255/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 256/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 257/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 258/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 259/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 260/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 261/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 262/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 263/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 264/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 265/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 266/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 267/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 268/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 269/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 270/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 271/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 272/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 273/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 274/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 275/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 276/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 277/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 278/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 279/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 280/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 281/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 282/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 283/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 284/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 285/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 286/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 287/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 288/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 289/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 290/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 291/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 292/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 293/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 294/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 295/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 296/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 297/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 298/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 299/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 300/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 301/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 302/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 303/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 304/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 305/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 306/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 307/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 308/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 309/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 310/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 311/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 312/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 313/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 314/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 315/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 316/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 317/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 318/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 319/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 320/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 321/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 322/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 323/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 324/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 325/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 326/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 327/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 328/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 329/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 330/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 331/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 332/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 333/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 334/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 335/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 336/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 337/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 338/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 339/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 340/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 341/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 342/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 343/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 344/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 345/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 346/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 347/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 348/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 349/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 350/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 351/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 352/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 353/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 354/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 355/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 356/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 357/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 358/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 359/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 360/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 361/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 362/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 363/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 364/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 365/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 366/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 367/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 368/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 369/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 370/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 371/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 372/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 373/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 374/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 375/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 376/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 377/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 378/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 379/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 380/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 381/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 382/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 383/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 384/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 385/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 386/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 387/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 388/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 389/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 390/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 391/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 392/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 393/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 394/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 395/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 396/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 397/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 398/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 399/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 400/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 401/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 402/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 403/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 404/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 405/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 406/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 407/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 408/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 409/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 410/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 411/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 412/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 413/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 414/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 415/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 416/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 417/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 418/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 419/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 420/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 421/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 422/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 423/425
5/10/2018 Aprendiendo UML En24horas - slidepdf.com
http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 424/425