Sei sulla pagina 1di 21

UML

Daniel A. Leo Daza


27 de Abril de 2014
V - 25153956
Definicin
UML (De las siglas en ingls Unified Modeling
Language) es un lenguaje grfico para crear
esquemas y diagramas que permiten visualizar,
especificar, construir y documentar un sistema. La
finalidad de los diagramas es presentar diversas
perspectivas de un sistema, a las cuales se les
conoce como modelo.
Un modelo es una representacin simplificada de la
realidad; el modelo UML describe lo que
supuestamente har un sistema, pero no dice cmo
implementar dicho sistema.

Diagramas
Diagrama de Clases: Los diagramas de clases describen
la estructura esttica de un sistema. Las cosas que
existen y que nos rodean se agrupan naturalmente en
categoras. Una clase es una categora o grupo de cosas
que tienen atributos (propiedades) y acciones
similares. Un ejemplo puede ser la clase Avin que
tiene atributos como el modelo de avin, cantidad
de motores y capacidad de carga. Entre las acciones
de las cosas de esta clase se encuentran: acelerar,
elevarse, girar, descender, desacelerar.

Diagrama de Objetos: Los Diagramas de Objetos
estn vinculados con los Diagramas de Clases. Un
objeto es una instancia de una clase, por lo que
un diagrama de objetos puede ser visto como una
instancia de un diagrama de clases. Los
diagramas de objetos describen la estructura
esttica de un sistema en un momento particular
y son usados para probar la precisin de los
diagramas de clases.

Diagrama de Casos de Uso: Un caso de uso es
una descripcin de las acciones de un sistema
desde el punto de vista del usuario. Es una
herramienta valiosa dado que es una tcnica de
aciertos y errores para obtener los
requerimientos del sistema, justamente desde el
punto de vista del usuario. Los diagramas de caso
de uso modelan la funcionalidad del sistema
usando actores y casos de uso. Los casos de uso
son servicios o funciones provistas por el sistema
para sus usuarios.

Diagrama de Estados: En cualquier momento, un
objeto se encuentra en un estado particular, la luz
est encendida o apagada, el auto en movimiento
o detenido, la persona leyendo o cantando, entre
otras El diagrama de estados UML captura esa
pequea realidad.
Diagrama de Secuencias: Suelen usarse para
representar objetos software y el intercambio de
mensajes entre ellos, representando la aparicin
de nuevos objetos de izquierda a derecha.

Diagrama de Actividades: Un diagrama de
actividades ilustra la naturaleza dinmica de un
sistema mediante el modelado del flujo ocurrente
de actividad en actividad. Una actividad
representa una operacin en alguna clase del
sistema y que resulta en un cambio en el estado
del sistema. Tpicamente, los diagramas de
actividad son utilizados para modelar el flujo de
trabajo interno de una operacin.

Diagrama de Colaboraciones: El diagrama de
colaboraciones describe las interacciones entre
los objetos en trminos de mensajes
secuenciados. Los diagramas de colaboracin
representan una combinacin de informacin
tomada de los diagramas de clases, de secuencias
y de casos de uso, describiendo el
comportamiento, tanto de la estructura esttica,
como de la estructura dinmica de un sistema.

Diagrama de Componentes: Un diagrama de
componentes describe la organizacin de los
componentes fsicos de un sistema.
Diagrama de Distribucin: El diagrama de
distribucin UML muestra la arquitectura fsica de
un sistema informtico. Puede representar a los
equipos y a los dispositivos, y tambin mostrar
sus interconexiones y el software que se
encontrar en cada mquina.

Diagramas UML para representar
clases y sus relaciones
Diagrama de clases

Las asociaciones son las que representan
a las relaciones estticas entre las clases.
El nombre de la asociacin va por sobre o
por debajo de la lnea que la representa.
Una flecha rellena indica la direccin de
la relacin. Los roles se ubican cerca del
final de una asociacin. Los roles
representan la manera en que dos clases
se ven entre ellas. No es comn el
colocar ambos nombres, el de la
asociacin y el de los roles a la vez.
Cuando una asociacin es calificada, el
smbolo correspondiente se coloca al
final de la asociacin, contra la clase que
hace de calificador.
Asociaciones

Multiplicidad
Las notaciones utilizadas para sealar
la multiplicidad se colocan cerca del
final de una asociacin. Estos smbolos
indican el nmero de instancias de
una clase vinculadas a una de las
instancias de la otra clase. Por
ejemplo, una empresa puede tener
uno o ms empleados, pero cada
empleado trabaja para una sola
empresa solamente.

Composicin y Agregacin
Agregacin es una relacin en la que la
Clase Todo juega un rol ms importante
que la Clase "Parte", pero las dos clases
no son dependientes una de otra. Se
grafica con un rombo diamante vaco
contra la Clase Todo.



Composicin es un tipo especial de
agregacin que denota una fuerte
posesin de la Clase Todo, a la Clase
Parte. Se grafica con un rombo diamante
relleno contra la clase que representa el
todo.

Generalizacin/Herencia
Generalizacin es otro nombre para
herencia. Se refiere a una relacin
entre dos clases en donde una Clase
Especfica es una versin
especializada de la otra, o Clase
General. Por ejemplo, Honda es un
tipo de auto, por lo que la Clase
Honda va a tener una relacin de
generalizacin con la Clase Auto.

Tabla comparativa: herramientas de
modelado UML 2



Herramienta Caractersticas Tipo de
Licencia
Plataforma(s) Ao de
lanzamiento
Case UML 2.0 1. Edicin grfica de modelos.
2. Soporte a la persistencia.
3. Soporte al trabajo colaborativo.
4. Transformacin y sincronizacin de modelos.
5. Genera documentacin y cdigo DDL.
6. Ayuda para un paso a paso.
Libre. Windows x86,
Linux x86
2007
UModel 1. Desarrollo de modelos grficos.
2. Genera cdigo en diferentes lenguajes de
programacin como: Java, C#, Visual.Net.
3. Genera documentacin.
4. Interfaz fcil de aprender.
5. Soporte para trabajo en equipo.
6. Diagramas en capas.
7. Hipervnculos hacia archivos o sitios web.
8. Soporte para BPMN (Business Process Modeling
Notation).
Paga. Windows. 2005
Artisan Studio 1. Soporte multiusuario.
2. Modelado de software robusto.
3. Modelo de anotaciones totalmente extensible.
4. Generador de cdigo e ingeniera inversa.
5. Sincronizador de cdigo.
6. Genera documentacin.
7. Gran trazabilidad en el desarrollo de modelos.
8. Lenguajes generados: Java, C#, Ada, C/C++, SQL,
Visual Basic.
Paga. Windows 1997
BOUML 1. Consume pocos recursos.
2. Genera cdigo: C++, Java, PHP, Python, MySQL, IDL.
3. Es extensible, y las herramientas externas pueden
ser generadas en C++ o Java.
4. Interfaz fcil de manejar.
5. Soporte multiusuario.
6. Sincronizacin de proyecto.
7. Ingeniera inversa con lenguajes: C++, Java, PHP.
Paga. Windows,
Linux,
MacOS X
Desconocido
Eclipse UML 2
tools.
1. Provee una implementacin para los metamodelos
de la industria.
2. Esquema comn XML para facilitar el intercambio de
los modelos semnticos.
3. Casos de prueba como un medio para la validacin
de la especificacin.
Libre. Plataforma
Java
Desconocido
Visual Paradigm. 1. Interfaz grfica sencilla.
2. Soporte para patrones de diseo.
3. Genera diagramas de secuencia.
4. Vocabulario para el manejo de proyectos.
5. Genera documentacin.
6. Genera cdigo: Java, C#, C++, PHP, Ada.
7. Diseos animados.
8. Soporte para el trabajo en equipo.
Libre para
usos no
comerciales.
En otro caso
es pagada.
Windows 2002
StarUML 1. Es extensible, flexible.
2. Solo est en versin Win32.
3. Model Driven Architecture: Herramienta de
modelado de software.
4. Herramientas amigables con el usuario.
5. Genera cdigo.
Libre. Windows 2011
UML Designer 1. Se pueden implementar: Jerarqua de paquetes,
diagramas de clases, diagramas de casos de uso,
entre otros.
2. Genera cdigo Java.
3. Interfaz de usuario fcil de manejar.
Libre. Plataforma
Java
2012
Modelio 1. Soporte integrado de BPMN.
2. Genera cdigo Java.
3. Puede importar y exportar XML.
4. Interfaz de usuario amigable.
5. Genera cdigo: Java, C#, C++, SQL, entre otros.
Libre. Windows,
Linux
2009
ArgoUML 1. Interfaz de usuario amigable.
2. Soporta XML.
3. Genera cdigo: Java, C++, C#, Python, Ruby.
4. Se puede utilizar ingeniera inversa.
Libre Plataforma
Java
1998