ay if
4
Si sélo tiene tiempo
para las respuestas
24 lecciones en las que invertiré
una hora por leccién
( rorentiendo
i
byResumen de contenido
Introduccién
Parte | Para INICIAR
Hora |
Aken
Cami)
15
Introduccién al UML
Orientacién a objetos
Uso de la orientacién a objetos
Uso de relaciones
Agregacién, composicién, interfaces
y realizacion
Introduccién a los casos de uso
Diagramas de casos de uso
Diagramas de estados
Diagramas de secuencias
Diagramas de colaboraciones
Diagramas de actividades
Diagramas de componentes
Diagramas de distribucién
Nociones de los fundamentos del UML
Adaptacién del UML en un proceso de desarrollo
Parte Il Estupio DE UN CASO.
Hora 16
7
18
19
20
an
22
Presentacién del caso por estudiar
Elaboraci6n de un analisis de dominio:
Recopilacién de las necesidades del sistema
Desarrollo de los casos de uso
Orientacién a las interacciones y cambios de estado
Disefio del aspecto, sensacién y distribueién
Nocién de los patrones de disefio
37
67
15
o1
103
119
133
149
163
173
187
203
205
223
247
267
281
293
309Parte Ill VisiION DEL FUTURO 321
Hora 23 Modelado de sistemas incrustados 323
24 El futuro del UML 341
Parte IV APENDICES 355
Apéndice A Respuestas a los cuestionarios 357
Apéndice B_ Herramientas de modelado para el UML. 369
Apéndice C Un resumen gréfico a7
Indice 387Contenido
Iwrropucaon 1
Parte | PARA INICIAR 3
Hora 1
Hora 2
Irropucaién aL UML
Por qué es necesario el UML.
La concepeién del UML...
Diagramas del UML
Diagrama de clases = e
Diagrama de objetos ... : eee)
Diagrama de casos de uso
Diagrama de estados
Diagrama de secuencias
Diagrama de actividades
Diagrama de colaboraciones
Diagrama de componentes
Diagrama de distribucién
Otras caracteristicas
Paquetes.
Notas
Estereotipos
Para qué tantos diagramas
Resumen
Preguntas y respuestas ..
Taller ;
Cuestionario
Ejercicios
ORIENTACION A OBJETOS
Objetos, objetos por doquier ..
Algunos conceptos ..
Abstraccién
Heren«
Polimorfismo
Encapsulamiento ..
Envio de mensajes
Asociaciones
Agregacion
La recompensa ...Hora 3
Hora 4
Hora 5
Resumen ..... 30
Preguntas y respuestas
Taller
Cuestionario
Ejercicios
Uso DE LA ORIENTACION A OBIETOS
Concepeién de una clase
Atributos
Operaciones ..
Atributos, operaciones y concepeién
Responsabilidades y restricciones
Notas adjuntas
Qué es lo que hacen las clases y cémo encontrarlas
Resumen ...
Preguntas y respuestas
Taller ecnnnnnnnnee
Cuestionario
Ejercicios
Uso pe RELACIONES 45
Asociaciones ee 46
Restricciones en las asociaciones 47
Clases de asociacién
Vinculos ..
Multiplicidad
Asociaciones calificadas
Asociaciones reflexivas ..
Herencia y generalizacién .
Descubrimiento de la herencia ...
Clases abstractas
Dependencias
Resumen 5
Preguntas y respuestas 55
Taller _ 56
Cuestionarios 56
Ejercicios 56
AAGREGACION, COMPOSICION, INTERFACES Y REALIZACION 37
Agregaciones 58
Restricciones en las agregaciones 59
Composiciones, 59
Contextos 59Hora 6
Hora 7
Interfaces y realizaciones
Visibitidad
Ambito ...
Resumen
Preguntas y respuestas
Taller z
Cuestionario
Ejercicios
InTRODUCCION A LOS CASOS DE USO
Qué son Tos €a505 de USO nn
Importancia de los casos de uso
Un ejemplo: la maquina de gaseosas....
El caso de uso “Comprar gaseosa”
Casos de uso adicionales
Inclusién de los casos de uso
Extensién de los casos de uso
Inicio del andlisis de un caso de uso ..
RESUMEN rrr
Preguntas y respuestas
Taller :
Cuestionario ..
Ejercicios
DIAGRAMAS DE CASOS DE USO
Representaci6n de un modelo de caso de uso ..
Una nueva visita a la méquina de gascosas
Secuencia de pasos en los escenarios
‘Concepcién de las relaciones entre casos de uso
Inclusién
Extension
Generalizacién
Agrupamiento sn co
Diagramas de casos de uso en el proceso de andlisis
Aplicacién de tos modelos de caso de uso
Comprensién del dominio.
Comprensién de los usuarios
‘Comprensién de los casos de uso ...
Profundizacién
Donde estamos sonn
Elementos estructurales
Relaciones.
AgrupamientoHora 8
Hora 9
Anotacién
Extension
y mas
El Panorama
Resumen
Preguntas y respuestas
Taller.
‘Cuestionario
Ejercicios
DIAGRAMAS DE ESTADOS 1
Qué es un diagrama de estados . m2
Simbologia eee 92
‘Adicidn de detalles al icono de estado senses
Sucesos y acciones 94
Condiciones de seguridad 95
Subestad0s nn 96
ee 96
Subestados concurrentes so sens 96
Estados hist6ricos : soon
Mensajes y seffales 98
Por qué son importantes los diagramas de estas... 99
‘Adiciones al panorama 9
Resumen “ 100
Preguntas y respuestas 101
Taller sernonnnnninnnsninninnininnnnnannannnsnnannnnmnnnnnan 101
Cuestionarios 101
Ejercicios 102
DiaGRAMAS DE SECUENCIAS 103
Qué es un diagrama de secuencias = enn OF
Objetos
Mensaje
Tiempo ...
La GUI...
La secuencia 106
E] diagrama de secuencias
El caso de uso
Instancias y genéricos
Un diagrama de secuencias de instancias
Un diagrama de secuencias genérico
Creacién de un objeto en la secuencia ....
(COmo representar la recursividad
108
108
seve 12
114Adiciones al panorama
Resumen ..
Preguntas y respuestas
Taller
Cuestionario
Ejercicios
HoRA 10 DIAGRAMAS DE COLABORACIONES
Qué es un diagrama de colaboraciones
La GUI
Cambios de estado ..
La maquina de gaseosas
Creacién de un objeto
Algunos conceptos mas
Varios objetos receptores en una clase
Representacién de los resultados
Objetos activos .
Sincronizacién
Adiciones al panorama
Resumen
Preguntas y respuestas,
Taller
Cuestionario
Ejercicios
Hora 11. DIAGRAMAS DE ACTIVIDADES
Objetivos.
Que es un diagrama de actividades
Decisiones, decisiones, decisiones
Rutas concurrentes
Indicaciones
Aplicacion de los diagramas de actividades
Una operacién: Fibs ..
Proceso de creacién de un documento
Marcos de responsabi
Diagramas hibridos
Adiciones al panorama
Resumen
Preguntas y respuestas
Taller
Cuestionario
Ejercicios ...Hora 12
Hora 13
Hora 14
DIAGRAMAS DE COMPONENTES 19
Qué es un componente 150
Componentes e interfaces, 150
SustituciOn y reutilizaciOn on eerste 151
Tipos de componentes ... sol 52
Qué es un diagrama de componentes 152
Representacién de un componente 152
Cémo representar las interfaces... onl 53
Aplicacién de los diagramas de componentes 154
Una pagina Web con un subprograma Java w.cunnnnnnnnnnrnnenneed SA
Una pagina Web con controles ActiveX ... 156
PowerToys penne 157
Diagramas de componentes en el panorama 158
Resumen ....
Preguntas y respuestas ...
Taller...
Cuestionario ...
Ejercicios 160
DIAGRAMAS DE DISTRIBUCION 163
Qué es un diagrama de distribucién se 4
Aplicacién de los diagramas de disttibUCI6M .....n.mnnnmnnmnnnnnnnnnel 65
Un equipo doméstico 166
Una red token-ring 166
ARCret ... 167
Thin ethernet ssn 168
Red inalambrica Ricochet de Metricom 169
Los diagramas de distribucién en el panorama .... 170
Resumen nnn m1
Preguntas y respuestas 172
Taller so snnnnnnnnnninnnanennnnnnnnnel 2
Cuestionario 172
Ejercicios 172
Nociones DE Los FUNDAMENTOS DEL UML. 173
Estructura del UML 174
Capa del metamodelado: cercano y personal : 175
El paquete de Fundamentos 176
E] paquete de los elementos de comportamiento .. 178
Administracién de modelos 179
Extensién del UML 2179Estereotipos
Dependencia
Clasificador
Clase ..
Generalizacién
Paquete ...
Componente
Algunos otros estereotipos ..
Estereotipos gréficos
Restricciones
Valores etiquetados
Resumen
Preguntas y respuestas
Taller
Cuestionario
Hora 15 ADAPTACION DEL UML EN UN PROCESO DE DESARROLLO 187
Metodologias: antiguas y recientes sl 88
EI método antiguo 188
El método reciente unnnninnnnnnninnnnnnnnnnsnnne 189
Lo que debe hacer un proceso de desarrollo “ 190
GRAPPLE oo ; 191
RAD®: la estructura de GRAPPLE ...nnnsnnssnnnnnnnnnnnn 192
Recopilacién de necesidades en sennneaned 9B
Anilisis
Diseio ...
Desarrollo
Distribucién
Resumen de GRAPPLE / : 199
Resumen se 200
Preguntas y respuestas 201
Taller 201
Cuestionario 201
Parte Il EsTUDIO DE UN CASO 203
HORA 16 PRESENTACION DEL CASO POR ESTUDIAR 205
Aplicacién de GRAPPLE al problema 206
Descubrir los procesos de! negocio .. 206
Servir a un cliente ... vs 207
Preparacién de platillos, “ - 215
Limpieza de la mesa 218
1219
Lecciones aprendidas ..Hora 17
Hora 18
Resumen ..
Preguntas y respuestas ..
Taller
Cuestionatio
Ejercicios
ELABORACION DE UN ANALISIS DE DOMINIO
Andlisis de la entrevista del proceso del negocio
Desarrollo del diagrama de clases inicial
Agrupacién de las clases
Conformacién de asociaciones
Asociaciones con el cliente
Asociaciones con el Mesero
‘Asociaciones con et Chef
Asociaciones con el Mozo de piso ..
Asociaciones con el Gerente
Una digresi6n 0.
Formacién de agregados y objetos compuestos
Llenado de las clases
El Cliente
El Empleado
La Cuenta
Detalles generales de los modelos
Diccionario de! modelo
‘Organizacién del diagrama
Lecciones aprendidas
Resumen...
Preguntas y respuestas
Taller
Cuestionario
Ejercici0S an
245
RECOPILAGION DE LAS NECESIDADES DEL SISTEMA 247
Desarrollo de la idea .. 248
Preparacién para la recopilacin de las necesidades 257
La sesi6n JAD de necesidades 258
El resultado .261
Ahora qué?
Resumen .
Preguntas y espuestas
Taller
Cuestionario ..
Ejercicio
265
265
265
265Hora 19
Hora 20
DESARROLLO DE LOS CASOS DE USO 267
Cuidado y provisién de los casos de uso 268
El andlisis de los casos de uso 268
El paquete Meset0 ..nnnsnnnnnnnsnn sn “ 269
‘Tomar una orden 270
‘Transmitir la orden a la cocina an
‘Cambiar una orden .. oe am
Sondeo del progreso de la orden so oT
Notificar al chef del progreso de los clientes en sus alimentos 273
‘Totalizar una cuenta 275
Imprimir una Cuenta 275
Llamar a un Asistente 216
Casos de uso restantes, 277
Componentes del sistema an
Resumen 2718
Preguntas y respuestas 278
Taller 279
Cuestionario 279
Ejercicios 279
ORIENTACION A LAS INTERACCIONES Y CAMBIOS DE ESTADO 281
Las partes funcionales del sistema 282
El paquete Mesero 282
El paquete Chef . 283
El paquete Mozo De Piso ... se sens ; 283
El paquete Asistente Mesero 283
El paquete Asistente Chef sev . 283
El paquete Cantinero .
El paquete Encargado Del Guardarropa
Colaboracién en el sistema
‘Tomar una orden 285
Cambiar una ofden ncn 288
Sondeo del progreso dela orden 289
Implicaciones 290
Resumen nnn 29
Preguntas y respuestas : 291
Taller 292
Cuestionario ... 292
Ejetcicios anne smn 292HoRA 21 DISENO DEL ASPECTO, SENSACION Y DISTRIBUCION 293
Algunos principios generales en el disefio de las GUI DM
La sesi6n JAD para la GUE... 1.296
De los casos de uso a la interfaces de usuario 297
Diagramas UML para el disefio de la GUI . 299
Esbozos de la distribucién del sistema... 300
Lated .. 301
Los nodos y el diagrama de distribucign . 301
Siguientes pasos sve BO3
Y ahora, unas palabras de nuestros patrocinadores 304
Mejorar el trabajo de la fuerza de ventas 304
Expansiones en el mundo restaurantero 305
Resumen - 306
Preguntas y respuestas 307
Taller “
Cuestionario ae 308
Ejercicios 308
Hora 22 NOCION DE LOS PATRONES DE DISERIO
Parametrizacion
Patrones de disefio
Cadena de responsabilidad
Cadena de responsabilidad: dominio Restaurante
Cadena de responsabilidad: Modelos de eventos de los exploradores Web
Nuestros propios patrones de disefto ...
Ventajas de los patrones de diseio
Resumen
Preguntas y respuestas
Taller
Cuestionario
Ejercicios
Parte Ill VisiON DEL FUTURO 321
Hora 23. MoDELADO DE SISTEMAS INCRUSTADOS 323
La madre de la invencisn ... 324
Creacién de TecnoApretén 325
Qué es un sistema incrustado? 327
Conceptos de los sistemas incrustados nen 328
Tiempo a = 328
Subprocesos. 328
Interrupciones .. 329
Sistema operative sence os 330Modelado de TecnoApret6n.
Clases
Casos de uso
Interacciones so
Cambios de estado generates
Distribucién
Flexiones en sus musculos
Resumen
Preguntas y respuestas ..
Taller
Cuestionario :
Ejercicios .... 340
Hora 24 EL Futuro oft UML 341
342
Extensiones para los negocios ..
Lecciones de las extensiones de negocios se 343
Interfaces gréficas de usuario
‘Conexiones a casos de uso
Modelado de la GUI
Sistemas expertos
‘Componentes de un sistema experto
Un ejemplo . 348
Modelado de ta base de conocimientos seman 349
Eso es todo, amigos eee sonnn3S2
Resumen senna 352
Preguntas y respuestas Seema 399)
Taller 353
Cuestionario 353
Parte IV APENDICES 355
‘APENDICE A RESPUESTAS A LOS CUESTIONARIOS 357
‘APENDICE B_ HERRAMIENTAS DE MODELADO PARA EL UML 369
Caracteristicas en comin ..
Rational Rose
SELECT Enterprise ..
Visual UML. . —
La herramienta ideal para el modelado‘APENDICE C. UN RESUMEN GRAFICO 377
Diagrama de actividades... eee
Diagrama de clases sn sna 380
Diagrama de colaboraciones 382
Diagrama de componentes —E 382
Diagrama de distribUci6n ....unnmn : eeetss3
Diagrama de secuencias 383
Diagrama de estados 384
Diagrama de casos de uso 385
inpice 387Acerca del autor
Joseph Schmuller es vicepresidente de la divisi6n de Consumer Finance Technologies
del Bank of America. De 1991 a 1997 fue editor en jefe de la revista PC Al. Ha escrito
diversos articulos y resefias de tecnologias avanzadas de computacién y es autor de
ActiveX No experience required y Dynamic HTML Master the Essentials. Tiene un
doctorado de la Universidad de Wisconsin, y es profesor adjunto en la Universidad del
Norte de Florida.Dedicatoria
A mi maravillosa madre, Sara Riba Schmuller,
quien me enseRé a aprender por mi mismo,
Reconocimientos
Escribir un libro es un proceso arduo; pero por fortuna, el equipo de Macmillan
Computer Publishing lo ha hecho mas facil. Es un placer reconocer sus contribuciones.
Tanto el editor de adquisiciones, Chris Webb, como el de Desarrollo, Matt Purcell, me
ayudaron a convertir mis pensamientos en algo legible; por encima de su gran experien-
cia editorial, les agradezco sus alicientes, paciencia y apoyo. Los revisores técnicos, Bill
Rowe y Michael Tobler se aseguraron de que el contenido fuera técnicamente correcto
y se los agradezco. La editora, Susan Moore, los destacados artistas de Macmillan y el
personal de produccién convirtieron el manuscrito y sus diversos diagramas en el libro
que ahora esté 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 los dias con un grupo de excelentes profesionales
en la divisin 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 cooperacién. 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 divisién, fallecié mientras escribfa este libro.
El era el coraz6n y el alma de CFT, y fue un asesor, tutor, colega y amigo.
Agradezco a mis queridos amigos, los Spragues de Madison, Wisconsin, en cuyo vecinda-
rio estaba de casualidad cuando empecé a escribir este libro y, nuevamente, al terminarlo.
Agradezco a mi madre y a mi hermano David por su amor y por siempre estar cerca de
mi, y a Kathryn por ser, por siempre, todo para mf.Pearson Educacion Latinoamérica
EI personal de Pearson Educacién Latinoamérica esté comprometido en presentarle lo
mejor en material de consulta sobre computacién. Cada libro de Pearson Educacién
Latinoamérica es el resultado de meses de trabajo de nuestro personal, que investiga y
tefina la informacién que se ofrece.
Como parte de este compromiso con usted, el lector de Pearson Educacién
Latinoamérica lo invita a dar su opini6n, Por favor hdganos saber si disfruta este libro, si
tiene alguna dificultad con la informacién y los ejemplos que se presentan, o si tiene
alguna sugerencia para la préxima edicién,
in embargo, recuerde que el personal de Pearson Educacién Latinoamérica no puede
actuar como soporte técnico 0 ni responder preguntas acerca de problemas relacionados
con el software o el hardware.
Si usted tiene alguna pregunta o comentario acerca de cualquier libro de Pearson
Educacién Latinoamérica, existen muchas formas de entrar en contacto con nosotros.
Responderemos a todos los lectores que podamos. Su nombre, direccién y némero tele-
fonico jamés formarén parte de ninguna lista de correos ni serdn usados para otro fin,
‘més que el de ayudarnos a seguirle llevando los mejores libros posibles. Puede
escribimnos a la siguiente direccién:
Pearson Educacién Latinoamérica
Attn: Editorial Divisién Computaci6n
Calle Cuatro No. 25, 2° Piso,
Col. Frace. Alce Blanco
Naucalpan de Juérez, Edo. de México.
CP. 53370
Si lo prefiere, puede mandar un fax a Pearson Educacién Latinoamérica al
(525) 5387-0811
También puede ponerse en contacto con Pearson Educacién Latinoamérica a través de
nuestra pagina Web: http: / /aww. pearson .com.mxIntroduccién
Todo gira en torno de una visi6n. Un sistema complejo toma forma cuando alguien tiene
la visi6n de c6mo la tecnologia puede mejorar las cosas. Los desarrolladores tienen que
entender completamente la idea y mantenerla en mente mientras crean el sistema que le
dé foma.
El éxito de los proyectos de desarrollo de aplicaciones o sistemas se debe a que sirven
como enlace entre quien tiene Ia idea y el desarrollador. EI UML (Lenguaje Unificado de
Modelado) es una herramienta que cumple con esta funcién, ya que le ayuda a capturar
la idea de un sistema para comunicarla posteriormente a quien esté involucrado en su
proceso de desarrollo; esto se Hleva a cabo mediante un conjunto de simbolos y diagra-
mas. Cada diagrama tiene fines distintos dentro del proceso de desarrollo.
El objetivo de este libro es darle, en 24 horas de estudio, las bases sobre el UML. Cada
hora le presentara ejemplos para mejorar la comprensi6n e incluird ejercicios que le per-
mitirdn practicar sus recién adquiridos conocimientos.
Divids este libro en tres partes: la primera parte le da un panorama del UML y le explica
la orientacién a objetos, misma que conforma los conceptos fundamentales de la diagra-
macién de objetos y clases. Examinaremos los casos de uso (una estructura para mostrar
la forma en que un sistema luciré ante el usuario, para luego mostrar emo hacer dia-
‘gramas de esta estructura). Las horas restantes de la primera parte le permitirdn trabajar
con el resto de los diagramas UML.
La segunda parte le muestra una metodologia simplificada para el desarrollo, enriquecida
con el estudio de un caso ficticio. Asi, las horas de la segunda parte le mostrarén la
forma en que el UML se adapta al contexto de un proyecto de desarrollo. Verd la forma
en que los elementos del UML funcionan en conjunto para modelar un sistema,
Por tiltimo, en la tercera parte aplicaremos el UML para disefiar patrones y sistemas
incrustados, y examinaremos su campo de aplicacién en dos reas més.
Existen diversos fabricantes que cuentan con paquetes que le permitiran generar diagra-
mas UML y coordinarlos en un modelo. Los més notables son Rational Rose y SELECT
Enterprise, aunque cabe mencionar que Visual UML es otto digno contendiente.
Microsoft esté autorizado para utilizar la tecnologia de Rational y asi comercializa Visual
Modeler, un subconjunto de Rational Rose. No obstante, en este libro todo lo que necesi
tard serd un lépiz. y papel para dibujar los diagramas y una sana curiosidad respecto al
estado actual del disefio de sistemas.
jlniciemos!Convenciones utilizadas en este libro
En los diagramas incluidos en este libro no utilizamos vocales con acento, ni la letra eft.
Esto debido a que el alfabeto inglés, de donde procede la mayoria de los Ienguajes de
programaci6n, no los incluye y el empleo de esos caracteres en sus diagramas podria
acarrearle problemas tanto en el UML como en el lenguaje de programacién que piense
af | Una Nota presenta interesantes secciones de informacién relacionadas con el
tema que se trate,
El icono Término Nuevo resalta las definiciones de vocablos nuevos y esen-
ciales. El vocablo, en si, aparecerd en cursiva.
TenPARTE |
Para iniciar
Hora
ONRDUAWN
10
1
12
13
14
15
Introduccién al UML
Orientacion a objetos
Uso de la orientacién a objetos
Uso de relaciones
Agregacién, composicién, interfaces y realizaci
Introduccién a los casos de uso
Diagramas de casos de uso
Diagramas de estados
Diagramas de secuencias
Diagramas de colaboraciones
Diagramas de actividades
Diagramas de componentes
Diagramas de distribuci6n
Nociones de los fundamentos del UML
Adaptacién del UML en un proceso de desarro—_
—
—
=
a
—
=
HORA 1
Introduccién al UML
El UML (Lenguaje Unificado de Modelado) es una de las herramientas més
emocionantes en el mundo actual del desarrollo de sistemas. Esto se debe a
que permite a los creadores de sistemas generar diseiios que capturen sus
ideas en una forma convencional y facil de comprender para comunicarlas a
otras personas.
En esta hora se tratardn los siguientes temas:
+ Por qué es necesario el UML
+ La concepeién del UML
+ Diagramas del UML
+ Para qué tantos diagramas
En el contexto de este libro considere a un sistema como una
combinacién de software y hardware que da una solucién a un
problema de negocios. El desarrollo de sistemas es la creaci6n de un programa
para un cliente, este ultimo es quien tiene el problema que debe ser resuelto. Un
analista es el que documenta el problema de! cliente y !o comunica a los desarro-
adores, que son los programadores que generarén el programa que resolverd el
problema y lo distribuirén en equipos de computacién.
onLa comunicacién de la idea es de suma importancia. Antes del advenimiento del UML, el
desarrollo de sistemas era, con frecuencia, una propuesta al azar. Los analistas de sis-
temas intentaban evaluar los requerimientos de sus clientes, generar un andlisis de
requerimientos en algain tipo de notacién que ellos mismos comprendieran (aunque el
cliente no lo comprendiera), dar tal andlisis a uno o varios programadores y esperar que
el producto final cumpliese con lo que el cliente deseaba.
Dado que el desarrollo de sistemas es una actividad humana, hay muchas posibilidades
de cometer errores en cualquier etapa del proceso, por ejemplo, el analista pudo haber
malentendido al cliente, es decir, probablemente produjo un documento que el cliente no
pudo comprender. Tal vez ese documento tampoco fue comprendido por los programa-
dores quienes, por ende, pudieron generar un programa dificil de utilizar y no generar
una solucién al problema original del cliente.
{Alguien se preguntard por qué muchos de los sistemas en uso son ineficientes, engorro-
sos y dificiles de utilizar?
Por qué es necesario el UML
En los principios de la computacién, los programadores no realizaban andlisis muy pro-
fundos sobre el problema por resolver. Si acaso, garabateaban algo en una servilleta.
Con frecuencia comenzaban a escribir el programa desde el principio, y el eédigo nece-
sario se escribia conforme se requeria. Aunque anteriormente esto agregaba un aura de
aventura y atrevimiento al proceso, en la actualidad es inapropiado en los negocios de alto
riesgo.
Hoy en dfa, es necesario contar con un plan bien analizado. Un cliente tiene que compren-
der qué es Jo que hard un equipo de desarrolladores; ademés tiene que ser capaz de
sefalar cambios si no se han captado claramente sus necesidades (0 si cambia de opiniGn
durante el proceso). A su vez, el desarrollo es un esfuerzo orientado a equipos, por lo que
cada uno de sus miembros tiene que saber qué lugar toma su trabajo en la solucién final
(asi como saber cual es la solucién en general).
Conforme aumenta la complejidad del mundo, los sistemas informéticos también deberdn
crecer en complejidad. En ellos se encuentran diversas piezas de hardware y software que
se comunican a grandes distancias mediante una red, misma que esta vinculada a bases de
datos que, a su vez, contienen enormes cantidades de informaci6n. Si desea crear sistemas
que lo involucren con este nuevo milenio ,cémo manejard tanta complejidad?
La clave est en organizar el proceso de disefio de tal forma que los analistas, clientes,
desarrolladores y otras personas involucradas en el desarrollo del sistema lo comprendan
y convengan con él. El UML proporciona tal organizacién,
Un arquitecto no podria crear una compleja estructura como lo es un edificio de oficinas
sin crear primero un anteproyecto detallado; asimismo usted tampoco podria generar un
complejo sistema en un edificio de oficinas sin crear un plan de disefto detallado. La ideaLa
es que asi como un arquitecto le muestra un anteproyecto a la persona que lo contrat6,
usted deberd mostrarle su plan de disefio al cliente. Tal plan de disefio debe ser el resul-
tado de un cuidadoso andlisis de las necesidades del cliente.
Otra caracteristica del desarrollo de sistemas contemporéneo es reducir el periodo de
desarrollo. Cuando los plazos se encuentran muy cerca uno del otro es absolutamente
necesario contar con un disefio sélido.
Hay otto aspecto de la vida moderna que demanda un disefio s6lido: las adquisiciones
corporativas. Cuando una empresa adquiere a otra, fa nueva organizacién debe tener la
posibilidad de modificar aspectos importantes de un proyecto de desarrollo que esté en
progreso (Ja herramienta de desarrollo, el lenguaje de codificacién, y otras cosas). Un
anteproyecto bien disefiado facilitara la conversién. Si el disefio es s6lido, un cambio en
la implementacién procederd sin problemas.
La necesidad de diseitos s6lidos ha trafdo consigo la creacién de una notacién de diseito
que los analistas, desarrolladores y clientes acepten como pauta (tal como la notacién en
los diagramas esquemiticos sirve como pauta para los trabajadores especializados en
clectrénica). El UML es esa misma notacién.
concepcién del UML
EI UML es la creaci6n de Grady Booch, James Rumbaugh e Ivar Jacobson. Estos
caballeros, apodados recientemente “Los tres amigos”, trabajaban en empresas distintas
durante la década de los afios ochenta y principios de los noventa y cada uno diseiié su
propia metodologfa para el andlisis y diseiio orientado a objetos. Sus metodologias pre-
dominaron sobre las de sus competidores. A mediados de los afios noventa empezaron a
intercambiar ideas entre sf y decidieron desarrollar su trabajo en conjunto.
Las horas 2, “Orientacién a objetos”, y 4, "Uso de relaciones", tratan de la
orientacién a objetos. Los conceptos de orientacién a objetos tienen un papel
fundamental en el desarrollo de este libro.
En 1994 Rumbaugh ingres6 a Rational Software Corporation, donde ya trabajaba Booch,
Jacobson ingresé a Rational un afio después; el resto, como dicen, es historia.
Los anteproyectos del UML empezaron a circular en la industria del software y las reac-
ciones resultantes trajeron consigo considerables modificaciones. Conforme diversos cor-
porativos vieron que el UML era itil a sus propdsitos, se conformé un consorcio de!
UML. Entre los miembros se encuentran DEC, Hewlett-Packard, Intellicorp, Microsoft,
Oracle, Texas Instruments y Rational. En 1997 el consorcio produjo la versi6n 1.0 del
UML y lo puso a consideracién del OMG (Grupo de administracién de objetos) como
respuesta a su propuesta para un lenguaje de modelado estandar.