Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Diagramas UML
Diagramas UML
Todas las clases tienen diferentes niveles de acceso dependiendo del modificador
de acceso (visibilidad). Aquí tenemos los siguientes niveles de acceso con sus
símbolos correspondientes:
Público (+)
Privado (-)
Protegido (#)
Paquete (~)
Derivado (/)
Estático (subrayado)
Las interacciones entre objetos y clases es una parte integral de los diagramas de
clase.
Herencia
Asociaciones bidireccionales
Las asociaciones bidireccionales son las asociaciones por defecto entre dos clases
y están representadas por una línea recta entre dos clases. Ambas clases son
conscientes la una de la otra y sus relaciones entre ellas. En el ejemplo anterior,
la clase Coche y la clase ViajePorCarretera están interrelacionadas. En un
extremo de la línea el Coche toma la asociación de “Coche Asignado” con el valor
de multiplicidad de 0... 1 lo que significa que cuando exista la instancia
ViajePorCarretera, puede tener una instancia de Coche asociada con ella o no
tener Coches asociados con ella. En este caso, una clase Caravana separada con
una multiplicidad de 0... * es necesaria para demostrar que ViajePorCarretera
podría tener múltiples instancias de Coches asociadas con ella. Dado que una
instancia de Coche podría tener múltiples asociaciones de “Obtener Viaje Por
Carretera” – en otras palabras, un coche podría ir a múltiples viajes por carretera
– el valor de la multiplicidad se establece en 0... *.
Asociación unidireccional
Una asociación unidireccional se dibuja como una línea continua con una punta
de flecha abierta apuntando desde la clase de complicidad a la clase conocida. En
este caso, en su viaje por carretera hacia Arizona podría correr hacia una trampa
de velocidad donde una cámara de velocidad registra su actividad de conducción,
pero no sabe sobre ella hasta que le llega la notificación por correo. No se dibuja
en la imagen, pero en este caso el valor de la multiplicidad sería 0...* en función
de la cantidad de veces que usted conduce por la cámara de velocidad.
Ejemplos de diagramas de clase UML
¿Qué es un diagrama de objetos en UML?
Un diagrama de objetos UML representa una instancia específica de un diagrama
de clases en un determinado momento en el tiempo. Cuando se lo representa
gráficamente, verás muchas similitudes con el diagrama de clases. Usamos el
mismo ejemplo de clase de coche de la página de diagramas de clases para
ilustrar los diagramas de objetos. Nuestra biblioteca de figuras UML puede
ayudarte a diseñar cualquier diagrama de objetos personalizado por medio de
nuestra herramienta UML en línea.
Diagrama de objetos vs. Diagrama de clases
Los diagramas de secuencia pueden ser diagramas de referencia útiles para las
empresas y otras organizaciones. Intenta dibujar un diagrama de secuencia para:
Representa los detalles de un caso de uso en UML.
Modelar la lógica de una operación, una función o un procedimiento sofisticados.
Ver cómo las tareas se mueven entre los objetos o componentes de un proceso.
Símbolo de objeto
Se muestran con una figura de varilla. Los actores son entidades que
interactúan con el sistema, pero que son externos a este.
Símbolo de paquete
Una figura rectangular que contiene dentro una etiqueta más pequeña.
Este símbolo se emplea para modelar escenarios del tipo "Si... entonces...", es
decir, una circunstancia que solo sucederá en determinadas condiciones.
Símbolo de alternativas
Representados por una línea continua y una punta de flecha sólida. Este
símbolo se utiliza cuando un remitente debe esperar una respuesta a un mensaje
antes de proseguir. El diagrama debe mostrar el mensaje y la respuesta.
Símbolo de mensaje asincrónico
Representados por una línea continua y una punta de flecha simple. Los
mensajes asincrónicos son aquellos que no necesitan una respuesta para que el
remitente siga adelante. Solo la llamada se debe incluir en el diagrama.
Símbolo de mensaje de respuesta asincrónico
Representados por una línea discontinua y una punta de flecha simple.
Símbolo de crear mensaje asincrónico
Representados por una línea discontinua y una punta de flecha simple.
Estos mensajes se envían a las líneas de vida para crearse por sí solos.
Símbolo de mensaje de respuesta
Es una operación o tarea específica que se realiza tras una orden de algún agente
externo, sea desde una petición de un actor o bien desde la invocación desde otro
caso de uso.
Es el tipo de relación más básica que indica la invocación desde un actor o caso de uso a
Asociación
otra operación (caso de uso). Dicha relación se denota con una flecha simple.
Dependencia o Es una forma muy particular de relación entre clases, en la cual una clase depende
Instanciación de otra, es decir, se instancia (se crea). Dicha relación se denota con una flecha punteada.
Este tipo de relación es uno de los más utilizados, cumple una doble función dependiendo de
Generalización su estereotipo, que puede ser de Uso (<<uses>>) o de Herencia (<<extends>>).
Este tipo de relación está orientado exclusivamente para casos de uso (y no para actores).
extends Se recomienda utilizar cuando un caso de uso es similar a otro (características). <<extends>>
Ejemplo: Como ejemplo está el caso de una Máquina Recicladora: Sistema que
controla
una máquina de reciclamiento de botellas, tarros y jabas. El sistema debe
controlar y/o aceptar lo siguiente:
Como una primera aproximación identificamos a los actores que interactúan con
el sistema:
Luego, tenemos que un Cliente puede Depositar Ítems y un Operador puede
cambiar la información de un Ítem o bien puede Imprimir un informe:
Además podemos notar que un ítem puede ser una Botella, un Tarro o una Jaba.