2. ¿Qué es UML? “El Lenguaje Unificado de Modelado (UML) es un lenguaje para especificar, visualizar, construir y documentar los artefactos de los sistemas software, así como para el modelado del negocio y otros sistemas no software” (Larman, 2003) “The Unified Modeling Language (UML) is a family of graphical notations, backed by single meta-model, that help in describing and designing software systems, particularly software systems built using the object-oriented (OO) style” (Fowler, 2003) 2
3. Modelo UML Un modelo UML esta compuesto por tres clases de bloques de construcción: Elementos: Los elementos son abstracciones de cosas reales o ficticias (objetos, acciones, etc.). Existen cuatro tipos de elementos, estructurales, ambientales, grupales, y de anotación. Relaciones: relacionan los elementos entre sí, como ser: dependencia, asociación, generalización, y comprensión. Diagramas: Son colecciones de elementos con sus relaciones. 3
4. Diagramas UML Un diagrama es la representación gráfica de un conjunto de elementos con sus relaciones. En concreto, un diagrama ofrece una vista del sistema a modelar. Para poder representar correctamente un sistema, UML ofrece una amplia variedad de diagramas para visualizar el sistema desde varias perspectivas, como ser: Diagrama de casos de uso. Diagrama de clases. Diagrama de secuencia. Diagrama de estados. Diagrama de actividades. Diagrama de componentes. Diagrama de despliegue. 4
5. Diagrama de casos de uso El diagrama de casos de usos ilustra una unidad de funcionalidad provista por el sistema, cuyo propósito es ayudar a los equipos de desarrollo a visualizar los requisitos funcionales de un sistema, las relaciones entre actores, así como las relaciones de diferentes casos de uso. Es una secuencia de acciones ejecutadas por el sistema para producir un resultado de valor observable para un usuario particular. Formalmente, un caso de uso es como construir clases que describen un conjunto de usos relacionados del sistema por un tipo de actor (usuario) particular. (Booch, Jacobson, & Rumbaugh, 2007). 5
6. Diagrama de Clases 6 El diagrama de clases muestra un conjunto de clases, interfases y sus relaciones. Su propósito es mostrar la estructura estática del sistema que esta siendo modelado. Específicamente muestra las diferentes entidades en el sistema (diferentes a las entidades de la base de datos), junto con cada estructura interna de las entidades y las relaciones con otras entidades en el sistema. La representación UML de una clase es un rectángulo conteniendo tres secciones. La sección superior muestra el nombre de la clase. La sección del medio lista los atributos de la clase. La sección base lista las operaciones de la clase.
7. Diagramas de Secuencia 7 Diagramas de Secuencia, muestran un flujo detallado para un caso de uso específico o parte de este. Ellos son en si mismos explicativos, muestran las llamadas entre los diferentes objetos en su secuencia y pueden mostrar, en un nivel de detalle, diferentes llamadas a objetos diferentes. Un diagrama de secuencia tiene dos dimensiones: la dimensión vertical muestra la secuencia de mensajes/llamadas en el orden temporal en que ocurren; la dimensión horizontal muestra la instancia del objeto para la cual los mensajes son enviados.
8. Diagramas de Estado 8 Diagramas de Estado, modelan los diferentes estados que una clase puede tener y cómo ocurren las transiciones de un estado a otro. Cada clase tiene un estado, pero no todas requieren de un diagrama de estado. Sólo las clases con estado "interesante", es decir, clases con tres o más estados potenciales durante la actividad del sistema, deben ser modeladas. La notación tiene cinco elementos básicos: el punto de arranque inicial que es dibujado usando un círculo sólido; una transición entre estados se representa con una línea con una punta de flecha abierta; un estado que es un rectángulo con las esquinas redondeadas; un punto de decisión que es un círculo abierto; y uno o más puntos de terminación se simbolizan con un círculo abierto con un círculo sólido dentro de él. Para dibujar un diagrama de estado, se comienza con un punto de arranque y una línea de transición que indica el estado inicial de la clase. Se dibujan los estados en cualquier parte del diagrama, y entonces simplemente se los conecta usando las líneas de la transición de estados.
9. Diagramas de Actividad 9 Diagramas de actividad, muestra el flujo procesal de control entre dos o más objetos de clases mientras se procesa una actividad. Pueden usarse los diagramas de actividad para modelar procesos de negocio de alto nivel, o para modelar las acciones de clases interiores de bajo nivel. El conjunto de notación de un diagrama de actividad es similar a la empleada en un diagrama de estado. Como un diagrama de estado, el diagrama de actividad comienza con un círculo sólido conectado a la actividad inicial. La actividad es modelada dibujando un rectángulo con los bordes redondeados, con el nombre de la actividad. Las actividades pueden conectarse a otras actividades a través de las líneas de transición, o a puntos de decisión que conectan a las actividades diferentes protegidas por las condiciones del punto de decisión. Las actividades que terminan el proceso de modelado son conectadas a un punto de terminación (así como en un diagrama de estado). Opcionalmente, las actividades pueden agruparse en swimlanes que se usan para indicar el objeto que realmente realiza la actividad.
10. Diagramas de Componente 10 Diagrama del componente, proporciona una vista física del sistema. Su propósito es mostrar las dependencias que el software tiene sobre otros componentes software (por ejemplo, bibliotecas de software) en el sistema. El diagrama puede mostrarse a un nivel muy alto, con sólo los componentes de gran tamaño, o puede mostrarse a nivel de paquete de componentes.
11. Diagramas de Despliegue 11 Diagrama del despliegue, muestra cómo un sistema se desplegará físicamente en el ambiente de hardware. Su propósito es mostrar dónde se ejecutarán físicamente los diferentes componentes del sistema y cómo ellos se comunicarán entre sí. El diagrama modela el runtime físico, un staff de producción de un sistema hará uso considerable de este diagrama. La notación en un diagrama de despliegue incluye los elementos de notación usados en un diagrama de componente, con un par de elementos adicionales, incluyendo el concepto de nodo. Un nodo representa una máquina física o un nodo de la máquina virtual. Para modelar un nodo, simplemente se dibuja un cubo tridimensional con el nombre del nodo en la parte superior del cubo. Usa la convención de la denominación usada en los diagramas de secuencia: [nombre de la instancia]: [tipo de instancia].
12.
13. Larman, C. (2003). UML y Patrones. Una introducción al análisis y diseño orientado a objetos y al proceso unificado. SegundaEdición. Madrid: Prentice Hall.
14. Booch, G., Jacobson, I., & Rumbaugh, J. (2007). El Lenguaje Unificado de Modelado. Manual de Referencia. UML 2.0. 2ª Edición. Madrid: Addison-Wesley Object Technology Series. Series Editors.