UML (Lenguaje Unificado de Modelado) es un lenguaje gráfico estándar para visualizar, especificar, construir y documentar un sistema de software. UML incluye diagramas de clases, secuencia, actividades y despliegue. Los diagramas de clases muestran la estructura estática de un sistema, mientras que los diagramas de secuencia, actividades y despliegue muestran el comportamiento dinámico. El documento proporciona ejemplos de cada tipo de diagrama UML para un sistema de red social.
2. UML Diagramas de clases Diagramas de secuencia Diagramas de actividades Diagramas de despliegue
3. ¿Qué es UML? (1) Por sus siglas en inglés: UnifiedModelingLanguage – Lenguaje Unificado de Modelado. Es un lenguaje de modelado de sistemas de software altamente utilizado y recomendado por el OMG. OMG por sus siglas en inglés: Object Management Group – Grupo de Gestión de Objetos.
4. ¿Qué es UML? (2) Este lenguaje, más que nada gráfico; visualiza, especifica, construye y documenta un sistema. Describe el “plano” del sistema a través de un modelo; ayudando a definir la arquitectura del mismo.
5. ¿Qué es UML? (3) Brinda soporte para describir métodos y/o procesos, detallando los artefactos que conformarán el sistema en sí. Puede ser integrado para una gran variedad de metodologías de desarrollo de software. Es una base sólida para un sistema fortalecido.
6. ¿Y qué es un modelo? Simplemente consiste en la descripción de cómo se presentan los datos.
7. UML – Primeros pasos Después de una toma de requerimientos formal y bien estructurada, se procede con la identificación de las diferentes vistas. Estáticas (estructurales) Dinámicas (de comportamiento)
8. Vistas estáticas UML Hacen énfasis en la estructura estática del sistema, usando objetos, atributos y operaciones. Consiste en las clases, las interfaces y sus relaciones. Diagrama del modelo. Diagramas de clases. Entre otros.
9. Vistas dinámicas UML Muestra la colaboración entre objetos cuando están en ejecución, así como su comportamiento, además de los cambios internos del estado de los mismos. Diagramas de casos de uso. Diagramas de secuencia. Diagramas de actividades. Diagramas de despliegue. Entre otros.
10. UML (casos de uso) Un requerimiento puede tomar forma de un caso de uso. Por ejemplo: Sistema de un servicio de red social Crear cuenta Sistema Usuario
12. UML (modelo de datos) Para esto, se tendrá que definir el modelo de datos describiendo cada uno de los elementos fundamentales que serán la fuente de la información del sistema. Por ejemplo:
14. Diagrama de clases Es un tipo de diagrama de estructura estática que describe la estructura de un sistema, mostrando las clases de los servicios, sus atributos, métodos y sus relaciones. Sigamos con el ejemplo de la red social y la creación de la cuenta:
17. Diagrama de secuencia Es un tipo de diagrama de vista dinámica, el cual muestra la interacción y relación entre objetos de una manera secuencial. Éstos, muestran los diferentes escenarios que pueden darse en los casos de uso, según el requerimiento. Siguiendo con el ejemplo:
21. Diagrama de actividades Es un tipo de diagrama de vista dinámica, el cual consiste en la representación gráfica del flujo de trabajo de las actividades y acciones que se llevan a cabo en un proceso determinado. Ejemplo:
23. Diagramas de despliegue (1) Este diagrama es de representación de vista dinámica, el cual modela la arquitectura física en tiempo de ejecución de un sistema. Además, muestra los elementos y artefactos del software que intervienen en esta arquitectura. Se basan en la comunicación de nodos.
24. Diagramas de despliegue (2) Éstos pueden contener nodos e instancias de nodos, los cuales representan un elemento de hardware o software. Por ejemplo: Nodo Instancia de nodo
25. Diagramas de despliegue (3) Existen algunos estereotipos que son usados comúnmente para el modelado de estos diagramas; pueden ser servidores, dispositivos de almacenamiento, dispositivos de seguridad, entre otros.
26. Diagramas de despliegue (4) También se utilizan “artefactos”, que no son otra cosa mas que un producto del proceso de desarrollo de software. Pueden ser diagramas, archivos fuente, reportes, prototipos, ejecutables, etc. Artefacto
27. Diagramas de despliegue (5) También, una asociación representa una ruta de comunicación entre los nodos. El siguiente ejemplo es un diagrama de despliegue para una red en un sistema, mostrando los protocolos de red como estereotipos en conjunto de sus nodos: