425

Aprendiendo UML En24horas

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

5/10/2018 Aprendiendo UML En24horas - slidepdf.com

http://slidepdf.com/reader/full/aprendiendo-uml-en24horas 425/425