Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Modelado Sistemas Uml
Modelado Sistemas Uml
Tabla de contenidos
1. Introduccin ...........................................................................................................................................1
2. Qu es UML?........................................................................................................................................2
2.1. UML ofrece notacin y semntica estndar................................................................................2
2.2. UML no es un Mtodo ................................................................................................................3
2.3. Extensiones UML 1.1 .................................................................................................................4
2.3.1. Esteroetipos ....................................................................................................................4
2.3.2. Extensiones de Modelado de Negocio............................................................................4
2.3.3. Lenguaje restrictivo (constraint) de objetos (OCL)........................................................4
2.4. Ms Extensiones .........................................................................................................................4
2.4.1. Anlisis guiados por la responsabilidad con tarjetas CRC.............................................5
2.4.2. Modelo Relacional de datos ...........................................................................................5
3. Una perspectiva general de UML.........................................................................................................6
3.1. Una vuelta por un caso de uso ....................................................................................................6
3.2. Casos de Uso y Diagramas de Interaccin..................................................................................6
3.3. Clases y Diagramas de Implementacin .....................................................................................6
3.4. Tarjetas CRC (CRC cards) - Una extensin informal de UML ..................................................6
3.5. Diagramas de Estado...................................................................................................................6
3.6. Implementando el diseo ............................................................................................................7
3.7. Implementando la aplicacin ......................................................................................................7
3.8. Implementando el diseo de Bases de Datos ..............................................................................7
3.9. Probar teniendo en cuenta los requisitos.....................................................................................7
4. Un estudio a fondo de UML ..................................................................................................................8
4.1. Modelado de Casos de Uso .........................................................................................................8
4.1.1. Estudiar y descubrir los requisitos..................................................................................9
4.1.2. Organizacin de Diagramas de Casos de Uso ................................................................9
4.1.3. Un Caso de Uso para cada escenario..............................................................................9
4.1.4. Modelar secuencias alternas a travs de la relacin "Extiende" (extends).....................9
4.1.5. Eliminar el modelado redundante a travs de la relacin "Usa" (uses)........................10
4.1.6. Ayuda en casos de uso probando el sistema frente a los requisitos..............................10
4.2. Diagramas de Secuencia ...........................................................................................................10
4.3. Diagramas de Colaboracin ......................................................................................................11
4.4. Anlisis y Diseo con el Diagrama de Clase ............................................................................11
4.4.1. Desarrollo de Diagramas de Clase durante el anlisis..................................................11
4.4.2. Diseo del sistema con Diagramas de Clase ................................................................12
4.5. Modelando el comportamiento de las Clases con Diagramas de Estado ..................................13
4.6. Diagramas de Actividad ............................................................................................................14
4.6.1. Usando Diagramas de Actividad para modelar Casos de Uso .....................................14
4.6.2. Usando Diagramas de Actividad para modelar Clases.................................................14
4.7. Modelando Componentes de Software .....................................................................................15
4.8. Modelando la Distribucin y la Implementacin......................................................................15
4.9. Diseo de Bases de Datos Relacionales -- Una extensin informal de UML...........................15
5. Uso de una Herramienta de Modelado ..............................................................................................17
5.1. System Architect 2001 ..............................................................................................................17
iii
6. Sumario.................................................................................................................................................19
7. Referencias ...........................................................................................................................................20
iv
Captulo 1. Introduccin
Esta gua introduce el Lenguaje Unificado de Modelado (UML), versin 1.1. Analiza los diagramas que
componen UML y ofrece acercamientos a casos de uso guiados sobre cmo estos diagramas se usan para
modelar sistemas. La gua tambin trata los mecanismos de extensibilidad de UML, los cuales permiten
ampliar su notacin y su semntica. Tambin sugiere la extensin de UML mediante dos tcnicas no
incorporadas: tarjetas CRC para anlisis guiados por la responsabilidad, y diagramas de Entidad de
Relacin (ER) para modelar bases de datos relacionales.
Captulo 2. Qu es UML?
El Lenguaje Unificado de Modelado preescribe un conjunto de notaciones y diagramas estndar para
modelar sistemas orientados a objetos, y describe la semntica esencial de lo que estos diagramas y
smbolos significan. Mientras que ha habido muchas notaciones y mtodos usados para el diseo
orientado a objetos, ahora los modeladores slo tienen que aprender una nica notacin.
UML se puede usar para modelar distintos tipos de sistemas: sistemas de software, sistemas de hardware,
y organizaciones del mundo real. UML ofrece nueve diagramas en los cuales modelar sistemas.
Diagramas de Casos de Uso para modelar los procesos business.
Diagramas de Secuencia para modelar el paso de mensajes entre objetos.
Diagramas de Colaboracin para modelar interacciones entre objetos.
Diagramas de Estado para modelar el comportamiento de los objetos en el sistema.
Diagramas de Actividad para modelar el comportamiento de los Casos de Uso, objetos u operaciones.
Diagramas de Clases para modelar la estructura esttica de las clases en el sistema.
Diagramas de Objetos para modelar la estructura esttica de los objetos en el sistema.
Diagramas de Componentes para modelar componentes.
Diagramas de Implementacin para modelar la distribucin del sistema.
UML es una consolidacin de muchas de las notaciones y conceptos ms usadas orientados a objetos.
Empez como una consolidacin del trabajo de Grade Booch, James Rumbaugh, e Ivar Jacobson,
creadores de tres de las metodologas orientadas a objetos ms populares.
En 1996, el Object Management Group (OMG), un pilar estndar para la comunidad del diseo
orientado a objetos, public una peticin con propsito de un metamodelo orientado a objetos de
semntica y notacin estndares. UML, en su versin 1.0, fue propuesto como una respuesta a esta
peticin en enero de 1997. Hubo otras cinco propuestas rivales. Durante el transcurso de 1997, los seis
promotores de las propuestas, unieron su trabajo y presentaron al OMG un documento revisado de UML,
llamado UML versin 1.1. Este documento fue aprobado por el OMG en Noviembre de 1997. El OMG
llama a este documento OMG UML versin 1.1. El OMG est actualmente en proceso de mejorar una
edicin tcnica de esta especificacin, prevista su finalizacin para el 1 de abril de 1999.
Captulo 2. Qu es UML?
diseadores diferentes modelando sistemas diferentes pueden sobradamente entender cada uno los
diseos de los otros.
Catalysis: Un mtodo orientado a objetos que fusiona mucho del trabajo reciente en mtodos
orientados a objetos, y adems ofrece tcnicas especficas para modelar componentes distribuidos.
Objetory: Un mtodo de Caso de Uso guiado para el desarrollo, creado por Ivar Jacobson.
Shlaer/Mellor: El mtodo para disear sistemas de tiempo real, puesto en marcha por Sally Shlaer y
Steven Mellor en dos libros de 1991, Ciclos de vida de Objetos, modelando el Mundo en Estados y
Ciclos de vida de Objetos, Modelando el mundo en Datos (Prentice Hall). Shlaer/Mellor countinan
actualizando su mtodo continuamente (la actualizacin ms reciente es el OOA96 report), y
recientemente publicaron una gua sobre cmo usar la notacin UML con Shlaer/Mellor.
Fusion: Desarrollado en Hewlett Packard a mediados de los noventa como primer intento de un
mtodo de diseo orientado a objetos estndar. Combina OMT y Booch con tarjetas CRC y mtodos
formales. (www.hpl.hp.com/fusion/file/teameps.pdf)
OMT: La Tcnica de Modelado de Objetos fue desarrollada por James Rumbaugh y otros, y publicada
en el libro de gran influencia "Diseo y Modelado Orientado a Objetos" (Prentice Hall, 1991). Un
mtodo que propone anlisis y diseo iterative, ms centrado en el lado del anlisis.
Booch: Parecido al OMT, y tambin muy popular, la primera y segunda edicin de "Diseo Orientado
a Objetos, con Aplicaciones" (Benjamin Cummings, 1991 y 1994), (Object-Oriented Design, With
Applications), detallan un mtodo ofreciendo tambin diseo y anlisis iterative, centrndoso en el
lado del diseo.
Adems, muchas organizaciones han desarrollado sus propias metodologas internas, usando diferentes
diagramas y tcnicas con orgenes varios. Ejemplos son el mtodo Catalyst por Computer Sciences
Corporation (CSC) o el Worlwide Solution Design and Delivery Method (WSDDM) por IBM. Estas
metodologas difieren, pero generalmente combinan anlisis de flujo de trabajo, captura de los requisitos,
y modelado de negocio con modelado de datos, con modelado de objetos usando varias notaciones
(OMT, Booch, etc), y algunas veces incluyendo tcnicas adicionales de modelado de objetos como Casos
de Uso y tarjetas CRC. La mayora de estas organizaciones estn adoptando e incorporando el UML
como la notacin orientada a objetos de sus metodologas.
Algunos modeladores usarn un subconjunto de UML para modelar what theyre after, por ejemplo
simplemente el diagrama de clases, o solo los diagramas de clases y de secuencia con Casos de Uso.
Otros usarn una suite ms completa, incluyendo los diagramas de estado y actividad para modelar
sistemas de tiempo real, y el diagrama de implementacin para modelar sistemas distribuidos. Aun as,
Captulo 2. Qu es UML?
otros no estarn satisfechos con los diagramas ofrecidos por UML, y necesitarn extender UML con
otros diagramas como modelos relacionales de datos y CRC cards.
2.3.1. Esteroetipos
Los estereotipos son el mecanismo de extensibilidad incorporado ms utilizado dentro de UML. Un
estereotipo respresenta una distincin de uso. Puede ser aplicado a cualquier elemento de modelado,
incluyendo clases, paquetes, relaciones de herencia, etc. Por ejemplo, una clase con estereotipo actor es
una clase usada como un agente externo en el modelado de negocio. Una clase patrn es modelada como
una clase con estereotipo parametrizado, lo que significa que puede contener parmetros.
Captulo 2. Qu es UML?
2.4. Ms Extensiones
Dos reas especficas que UML no cubre actualmente, ni con sus extensiones, son anlisis guiados por la
responsabilidad y modelado de bases de datos relacionales. Esta gua introduce estas tcnicas como
extensiones actuales del mundo real para UML que se deberan tener en cuenta.
Una de las tareas clave para modelar un sistema de sofware de grandes dimensiones es dividirlo primero
en reas manejables. Aunque estas reas se llaman dominios, categoras o subsistemas, la idea es la
misma: dividir el sistema en reas que tengan competencias parecidas.
UML introduce la nocin de un paquete como el tem universal para agrupar elementos, permitiendo a
los modeladores subdividir y categorizar sistemas. Los paquetes pueden ser usados en cualquier nivel,
desde el nivel ms alto, donde son usados para subdividir el sistema en dominios, hasta el nivel ms bajo,
donde son usados para agrupar casos de uso individuales, clases, o componentes.
Figura 2
Figura 2: Organizando el sistema mediante el uso de paquetes
Cada caso de uso se documenta por una descripcin del escenario. La descripcin puede ser escrita en
modo de texto o en un formato paso a paso. Cada caso de uso puede ser tambin definido por otras
propiedades, como las condiciones pre- y post- del escenario --- condiciones que existen antes de que el
escenario comience, y condiciones que existen despus de que el escenario se completa. Los Diagramas
de Actividad ofrecen una herramienta grfica para modelar el proceso de un Caso de Uso. stos son
descritos en una seccin posterior de este documento.
10
11
12
13
14
15
16
17
18
Captulo 6. Sumario
UML 1.1 es un buen comienzo - ofrece a los arquitectos de sistemas una notacin estndar para modelar
sistemas. Ahora, igual que los arquitectos leen los planos, un modelador de objetos puede coger
cualquier diseo y entender qu se est capturando. UML tambin es bueno para la comunidad del
modelado - en vez de gastar tiempo acordando cmo expresar la informacin que se captura, los
modeladores puden resolver el problema a mano, lo cual es disear el sistema.
Sin embargo, aunque UML se presta a una aproximacin a los Casos de Uso guiados, UML no responde
a la pregunta de cmo construir un sistema. Esta eleccin de qu metodologa, o proceso usar tdoava
queda abierta para que el modelador lo decida o d con l.
Desde un punto de vista notacional, UML 1.1 no es todava la solucin completa; pero se espera que
UML contine evolucionando con el tiempo. Mientras tanto, los modeladores usarn UML cono una
base, extendindolo mediante una combinacin de otras tcnicas, como los anlisis guiados por la
responsabilidad y el modelado relacional de datos, para modelar el mundo real.
19
Captulo 7. Referencias
Entendiendo UML: La gua del desarrollador, con una aplicacin java basada en web, por Paul
Harmon y Mark Watson; Morgan Kauffman Publishers, Inc., 1998
(www.mkp.com/books_catalog/1-55860-465-0.asp).
Qu le falta a UML? un artculo por Scott Ambler, Objet Magacine, Octubre de 1997, SIGS
Publications (www.sigs.com/omo/articles/ambler.html)
Especificacin UML 1.1 (Centro de Recursos de UML en www.popkin.com)
Objetos, componentes y Estructuras con UML, The Catalysis Aproach, por Desmond F. DSouza y
Alan C. Wills, Addison Wesley Longman, 1998.
20