1. DIAGRAMA DE OBJETOS
1.1. Los Diagramas de Objetos están 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 estática de un sistema en un momento particular y son usados para probar la precisión de los diagramas de clases.
1.1.1. NOMBRE DE LOS OBJETOS
1.1.1.1. Cada objeto es representado como un rectángulo, que contiene el nombre del objeto y su clase subrayadas y separadas por dos puntos.
1.1.2. ATRIBUTOS
1.1.2.1. Como con las clases, los atributos se listan en un área inferior. Sin embargo , los atributos de los objetos deben tener un valor asignado.
2. DIAGRAMA DE CASOS DE USO
2.1. Un caso de uso es una descripción de las acciones de un sistema desde el punto de vista del usuario. Es una herramienta valiosa dado que es una técnica 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.
2.1.1. SISTEMA
2.1.1.1. El rectángulo representa los límites del sistema que contiene los casos de uso. Los actores se ubican fuera de los límites del sistema.
2.1.2. CASOS DE USO
2.1.2.1. Se representan con óvalos. La etiqueta en el óvalo indica la función del sistema.
2.1.3. ACTORES
2.1.3.1. Los actores son los usuarios de un sistema.
2.1.4. RELACIONES
2.1.4.1. Las relaciones entre un actor y un caso de uso, se dibujan con una línea simple. Para relaciones entre casos de uso, se utilizan flechas etiquetadas "incluir" o "extender." Una relación "incluir" indica que un caso de uso es necesitado por otro para poder cumplir una tarea. Una relación "extender" indica opciones alternativas para un cierto caso de uso.
3. DIAGRAMA DE ESTADOS
3.1. 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, etc. . El diagrama de estados UML captura esa pequeña realidad.
3.1.1. ESTADO
3.1.1.1. El estado representa situaciones durante la vida de un objeto. Se representa con un rectángulo que tiene sus esquinas redondeadas.
3.1.2. TRANSICIÓN
3.1.2.1. Una flecha representa el pasaje entre diferentes estados de un objeto. Se etiqueta con el evento que lo provoca y con la acción resultante.
3.1.3. ESTADO INCIAL
3.1.4. ESTADO FINAL
4. DIAGRAMA DE ACTIVIDADES
4.1. Un diagrama de actividades ilustra la naturaleza dinámica de un sistema mediante el modelado del flujo ocurrente de actividad en actividad. Una actividad representa una operación en alguna clase del sistema y que resulta en un cambio en el estado del sistema. Típicamente, los diagramas de actividad son utilizados para modelar el flujo de trabajo interno de una operación.
4.1.1. ESTADOS DE ACCIÓN
4.1.1.1. Los estados de acción representan las acciones no interrumpidas de los objetos.
4.1.2. FLUJO DE LA ACCIÓN
4.1.2.1. Los flujos de acción, representados con flechas, ilustran las relaciones entre los estados de acción.
4.1.3. FLUJO DE OBJETOS
4.1.3.1. El flujo de objetos se refiere a la creación y modificación de objetos por parte de actividades. Una flecha de flujo de objeto, desde una acción a un objeto, significa que la acción está creando o influyendo sobre dicho objeto. Una flecha de flujo de objeto, desde un objeto a una acción, indica que el estado de acción utiliza dicho objeto.
4.1.4. ESTADO INICIAL
4.1.4.1. Estado inicial de un estado de acción.
4.1.5. FINAL STATE
4.1.5.1. Estado final de un estado de acción.
4.1.6. RAMIFICACIÓN
4.1.6.1. Un rombo representa una decisión con caminos alternativos. Las salidas alternativas deben estar etiquetadas con una condición.
4.1.7. SINCRONIZACIÓN
4.1.7.1. Una barra de sincronización ayuda a ilustrar la ocurrencia de transiciones paralelas, así quedan representadas las acciones concurrentes.
4.1.8. MARCOS DE RESPONSABILIDAD
4.1.8.1. Los marcos de responsabilidad agrupan a las actividades relacionadas en una misma columna.
5. DIAGRAMA DE COMPONENTES
5.1. Un diagrama de componentes describe la organización de los componentes físicos de un sistema.
5.1.1. COMPONENTE
5.1.1.1. Un componente es un bloque de construcción física del sistema.
5.1.2. INTERFASE
5.1.2.1. Una interfase describe a un grupo de operaciones usada o creada por componentes.
5.1.3. DEPENDENCIA
5.1.3.1. Las dependencias entre componentes se grafican usando flechas de puntos.
6. DIAGRAMA DE DISTRIBUCIÓN
6.1. El diagrama de distribución UML muestra la arquitectura física de un sistema informático. Puede representar a los equipos y a los dispositivos, y también mostrar sus interconexiones y el software que se encontrará en cada máquina.
6.1.1. NODO
6.1.1.1. Un nodo es un recurso físico capaz de ejecutar componentes de código.
6.1.2. ASOCIACIÓN
6.1.2.1. La asociación se refiere a la conexión física entre los nodos, como por ejemplo Ethernet.
7. OTRAS CARACTERISTICAS
7.1. PAQUETES
7.1.1. En algunas ocasiones se encontrará con la necesidad de organizar los elementos de un diagrama en un grupo. Tal vez quiera mostrar que ciertas clases o componentes son parte de un subsistema en particular. Para ello, se pueden agrupar en un paquete, que se representa por una carpeta tabular.
7.2. NOTAS
7.2.1. Es frecuente que alguna parte del diagrama no presente una clara explicación del porqué está allí o la manera en que trabaja. Cuando éste sea el caso, la nota UML será útil. La nota tiene una esquina doblada y se adjunta al elemento del diagrama conectándolo mediante una línea punteada.
7.3. ESTEREOTIPO
7.3.1. Algunos sistemas requieren de elementos hechos a medida que no se encuentran en el UML. Para ello, los estereotipos o clisés le permiten tomar elementos propios del UML y convertirlos en otros que se ajusten a las necesidades. Se representan como un nombre entre dos pares de paréntesis angulares.
8. DIAGRAMA DE CLASES
8.1. Los diagramas de clases describen la estructura estática de un sistema. Las cosas que existen y que nos rodean se agrupan naturalmente en categorías. Una clase es una categoría o grupo de cosas que tienen atributos (propiedades) y acciones similares. Un rectángulo es el símbolo que representa a la clase, y se divide en tres áreas. Un diagrama de clases está formado por varios rectángulos de este tipo conectados por líneas que representan las asociaciones o maneras en que las clases se relacionan entre si.
8.1.1. CLASE ABSTRACTA
8.1.1.1. Las clases se representan con rectángulos divididos en tres áreas: la superior contiene el nombre de la clase, la central contiene los atributos y la inferior las acciones.
8.1.2. ASOCIACIONES
8.1.2.1. Las asociaciones son las que representan a las relaciones estáticas entre las clases. El nombre de la asociación va por sobre o por debajo de la línea que la representa. Una flecha rellena indica la dirección de la relación. Los roles se ubican cerca del final de una asociación. Los roles representan la manera en que dos clases se ven entre ellas. No es común el colocar ambos nombres, el de la asociación y el de los roles a la vez. Cuando una asociación es calificada, el símbolo correspondiente se coloca al final de la asociación, contra la clase que hace de calificador.
8.1.3. MULTIPLICIDAD
8.1.3.1. Las notaciones utilizadas para señalar la multiplicidad se colocan cerca del final de una asociación. Estos símbolos indican el número de instancias de una clase vinculadas a una de las instancias de la otra clase. Por ejemplo, una empresa puede tener uno o más empleados, pero cada empleado trabaja para una sola empresa solamente.
8.1.4. COMPOSICIÓN
8.1.4.1. Composición es un tipo especial de agregación que denota una fuerte posesión de la Clase “Todo”, a la Clase “Parte”. Se gráfica con un rombo diamante relleno contra la clase que representa el todo.
8.1.5. AGREGACIÓN
8.1.5.1. La agregación es una relación en la que la Clase “Todo” juega un rol más importante que la Clase "Parte", pero las dos clases no son dependientes una de otra. Se gráfica con un rombo diamante vacío contra la Clase “Todo”.
8.1.6. GENERALIZACIÓN
8.1.6.1. Generalización es otro nombre para herencia. Se refiere a una relación entre dos clases en donde una Clase “Específica” es una versión 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 relación de generalización con la Clase “Auto”.
9. DIAGRAMA DE SECUENCIAS
9.1. Los diagramas de clases y los de objetos representan información estática. No obstante, en un sistema funcional, los objetos interactúan entre sí, y tales interacciones suceden con el tiempo. El diagrama de secuencias UML muestra la mecánica de la interacción con base en tiempos.
9.1.1. ROL DE LA CLASE
9.1.1.1. El rol de la clase describe la manera en que un objeto se va a comportar en el contexto. No se listan los atributos del objeto.
9.1.2. ACTIVACIÓN
9.1.2.1. Los cuadros de activación representan el tiempo que un objeto necesita para completar una tarea.
9.1.3. MENSAJES
9.1.3.1. Los mensajes son flechas que representan comunicaciones entre objetos. Las medias flechas representan mensajes asincrónicos. Los mensajes asincrónicos son enviados desde un objeto que no va a esperar una respuesta del receptor para continuar con sus tareas.
9.1.4. LINEAS DE VIDA
9.1.4.1. Las líneas de vida son verticales y en línea de puntos, ellas indican la presencia del objeto durante el tiempo.
9.1.5. DESTRUCCIÓN DE OBJETOS
9.1.5.1. Los objetos pueden ser eliminados tempranamente usando una flecha etiquetada "<<destruir>>" que apunta a una X.
9.1.6. LOOPS
9.1.6.1. Una repetición o loop en un diagrama de secuencias, es representado como un rectángulo. La condición para abandonar el loop se coloca en la parte inferior entre corchetes [ ].
10. DIAGRAMA DE COLABORACIONES
10.1. El diagrama de colaboraciones describe las interacciones entre los objetos en términos de mensajes secuenciados. Los diagramas de colaboración representan una combinación de información tomada de los diagramas de clases, de secuencias y de casos de uso, describiendo el comportamiento, tanto de la estructura estática, como de la estructura dinámica de un sistema.
10.1.1. ROL DE LA CLASE
10.1.1.1. El rol de la clase describe cómo se comporta un objeto. Los atributos del objeto no se listan.
10.1.2. ROL DE LAS ASOCIACIONES
10.1.2.1. Los roles de asociación describen cómo se va a comportar una asociación en una situación particular. Se usan líneas simple etiquetadas con un estereotipo*. (ver al final del documento)
10.1.3. MENSAJES
10.1.3.1. Contrariamente a los diagramas de secuencias, los diagramas de colaboración no tienen una manera explícita para denotar el tiempo, por lo que entonces numeran a los mensajes en orden de ejecución. La numeración puede anidarse; por ejemplo, para mensajes anidados al mensaje número 1: 1.1, 1.2, 1.3, etc. . La condición para un mensaje se suele colocar entre corchetes. Para indicar un loop se usa * después de la numeración.
10.1.4. EJEMPLO DE DIAGRAMA DE COLABORACIÓN
10.1.4.1. Este ejemplo agrega un velocímetro al conjunto de clases que constituyen a un “Avión”. Al alcanzar una cierta velocidad el velocímetro indicará al timón que debe elevarse y al tren de aterrizaje que debe retraerse.