Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tecnologa de Objetos
Copyright
Copyright (c) 2004
Jos M. Ordax
Este documento puede ser distribuido solo bajo los
trminos y condiciones de la Licencia de
Documentacin de javaHispano v1.0 o posterior.
La ltima versin se encuentra en
http://www.javahispano.org/licencias/
Qu es UML?
Siglas de Unified Modeling Language.
Es el sucesor de los mtodos de Anlisis y Diseo
Orientado a Objetos de finales de los 80 y
comienzo de los 90.
Ms especficamente unifica los mtodos de:
Booch.
Rumbaugh (OMT).
Jacobson.
Ms sus propias extensiones.
Objetivo
Lenguaje visual (diagramas) para modelar
Sistemas.
Modelos para:
Especificaciones.
Arquitectura.
Diseo.
Implementacin.
Evolucin de UML
Otros
Booch93
OMT-2
Booch91
OMT-1
OOSE
Colaborador
Diagramas de Estado.
Diagramas de Actividad.
Diagramas Fsicos:
Diagramas de Componentes.
Diagramas de Implantacin.
Casos de Uso
Un Caso de Uso es una manera especfica de
utilizar el Sistema que se est analizando.
La terminologa empleada en la redaccin de los
casos de uso es la empleada por los usuarios en
su trabajo cotidiano.
Describen una visin externa del comportamiento
del Sistema desde el punto de vista del usuario.
Constituye un modelo de lo que el Sistema har
sin tener en cuenta el cmo lo har.
Consisten en:
Los diagramas de Casos de Uso.
Las descripciones de los Casos de Uso.
Elementos
Escenario: es una casustica concreta dentro de
un Caso de Uso.
Actor: representa un papel interpretado por una
persona o cosa que interacta con el Sistema.
Relaciones: interacciones entre los distintos
elementos:
Comunicacin.
Inclusin.
Generalizacin.
Ejemplo
Actor
Comunicacin
Inclusin
Caso de Uso
Sistema
Descripcin
Diagrama de Clases
Representa las clases que componen el
Sistema y sus relaciones estticas.
Incluye:
Clases con sus atributos y operaciones.
Asociaciones entre las clases.
Restricciones sobre las clases y asociaciones.
Datos relevantes de las asociaciones.
Asociaciones
Representan relaciones entre clases.
Son bidireccionales. Su navegacin no siempre.
Cada extremo puede llevar un nombre llamado
Rol. Explica el significado de la asociacin en ese
sentido.
Pueden poseer multiplicidad:
1: uno y slo uno.
0..1: cero o uno.
0..* *: cero o muchos.
1..*: uno o muchos.
Asociaciones (cont.)
Existen varios tipos:
Asociacin normal: relacin simple.
Ejemplo
Asociacin
Cardinalidad
Navegacin
Clase
Asociacin de Herencia
Diagrama de Interaccin
Muestran cmo los objetos de la aplicacin
cooperan e interactan para cumplir con los
requisitos.
Suele construirse uno para cada uno de los
escenarios de cada Caso de Uso.
Existen dos tipos:
Diagramas de Secuencia.
Diagramas de Colaboracin.
Diagrama de Secuencia
Muestran cmo interactan los objetos.
Se centran en las secuencias de Mensajes, es
decir, cmo los mensajes son enviados y recibidos
por los Objetos.
Actor
Objeto
Ejemplo
Creacin
Mensaje
10
Diagrama de Colaboracin
Muestran las interacciones y los enlaces entre un
conjunto de objetos que colaboran entre s.
Mientras los Diagramas de Secuencia se centran
en el tiempo, los de Colaboracin se centran en el
espacio, es decir, no muestran dimensin
temporal.
Un Diagrama de Colaboracin comienza con un
mensaje que inicializa la interaccin.
Ejemplo
Objeto
Actor
Mensaje
Nmero de Secuencia
11
Diagrama de Estados
Representa el estado de un objeto en el tiempo.
Consiste bsicamente en:
Estado: situacin concreta en la que se encuentra un objeto durante
un tiempo indefinido determinado por el valor de sus atributos.
Evento: Algo que ocurre en un momento dado de forma asncrona.
Transicin: Respuesta de un objeto en un estado concreto a un
evento. Suelen suponer un cambio de estado en el objeto.
Actividad: operacin que realiza un objeto mientras se encuentra en
un estado determinado.
Ejemplo
Inicio
Estado
Actividad
Transicin
Fin
12
Diagrama de Actividad
Muestra los pasos a realizar para llevar a cabo
una operacin.
Consta de:
Punto inicial y punto final para indicar dnde comienza y dnde
termina la implementacin de la operacin.
Acciones que muestran lo que la operacin va realizando.
Transiciones entre acciones.
Puntos de decisin o bifurcaciones (con rombos).
Ejemplo
Inicio
Condicin
Actividad
Fin
13
Diagrama de Componentes
Muestra varios componentes en un sistema y sus
dependencias.
Un componente representa un mdulo de cdigo
Fsico (paquete, clases, frameworks,...).
Las dependencias entre los componentes
muestran como los cambios en un componente
pueden provocar cambios en otros.
Ejemplo
Dependencia
Paquete
14
Diagrama de Implantacin
Muestra las relaciones fsicas entre los
componentes hardware y software de un sistema.
Un nodo en un Diagrama de Implantacin
representa una unidad computacional,
normalmente una pieza hardware.
Las conexiones entre nodos representan las vas
de comunicacin.
Ejemplo
Comunicaciones
Dependencia
Nodo
Paquete
15
Herramientas
Existen mltiples herramientas para trabajar con
UML.
Plugins para el entorno Eclipse:
EclipseUML Studio: http://www.omondo.com
Rational XDE: http://www.ibm.com/software/rational
Magic Draw UML: http://www.magicdraw.com
Slime UML: http://www.mvmsoft.de
Describe: http://www.embarcadero.com
Bibliografa
UML Distilled (3rd edition).
A brief guide to the standard Object Modeling Language.
Martin Fowler with Kendall Scott.
Addison Wesley
Learning UML
Sinan Si Alhir
OReilly
16
Apndice A: EclipseUML
Descargar EclipseUML Studio 1.0.1 de la web:
http://www.omondo.com
Apndice A: EclipseUML
Asegurarse que tenemos Eclipse R3.0.x instalado
y funcionando correctamente.
17
Apndice A: EclipseUML
Seleccionar el idioma de la instalacin.
Apndice A: EclipseUML
Pulsar Siguiente en la pantalla de introduccin.
18
Apndice A: EclipseUML
Pulsar Siguiente en la pantalla de informacin.
Apndice A: EclipseUML
Aceptar los trminos de la licencia y pulsar
Siguiente en la pantalla de licencia.
19
Apndice A: EclipseUML
Seleccionar la ubicacin donde se encuentra la
instalacin de Eclipse R3.0.x y pulsar Siguiente.
Apndice A: EclipseUML
Pulsar Siguiente en la pantalla de configuracin.
20
Apndice A: EclipseUML
Pulsar Siguiente en la pantalla de instalacin una
vez haya terminado.
Apndice A: EclipseUML
Pulsar Salir en la ltima pantalla.
21
Apndice A: EclipseUML
Una vez haya rearrancado ya podremos desarrollar
diagramas UML.
22