Unified Modeling Language (UML) partiendo de lo que significan sus siglas UML en español que es un lenguaje de modelado de propósito general. El objetivo principal de UML es definir una forma estándar de visualizar la forma en que se ha diseñado un sistema, cabe mencionar que UML no es un lenguaje de programación, sino un lenguaje visual porque utiliza diagramas y símbolos visuales para representar diferentes aspectos de un sistema de software, incluyendo su estructura, comportamiento, e incluso los patrones de interacción entre objetos o componentes dentro del sistema. En general, los diagramas UML describen los límites, la estructura y el comportamiento del sistema, y de los objetos que contiene. El lenguaje Unificado de Modelado (UML) es un lenguaje utilizado en el campo de la ingeniería de software que representa los componentes de los conceptos de Programación Orientada a Objeto (POO). En el siguiente apartado se abordarán temas como bloques de construcción y los símbolos del diagrama UML. Cosas - Things Una cosa puede describirse como cualquier entidad del mundo real o un objeto. Las cosas se dividen en varias categorías en UML de la siguiente manera: ● Cosas estructurales. ● Cosas de comportamiento. ● Agrupar cosas. ● Cosas anotacionales. Cosas estructurales Una cosa estructural se utiliza para describir la parte estática de un modelo. Se emplea para representar las cosas que son visibles a los ojos humanos. Las cosas estructurales en UML tienen que ver con la parte física de un sistema. Es el sustantivo de un modelo UML, como una clase, objeto, interfaz, colaboración, caso de uso, componente y un nodo. Clases: Una clase se utiliza para representar varios objetos. Se utiliza para definir las propiedades y operaciones de un objeto. En UML, también podemos representar una clase abstracta. Cabe mencionar que una clase abstracta es una clase cuyas funcionalidades no están definidas. Cualquier notación de diagrama de clases UML generalmente se expresa como se muestra a continuación: Símbolo de clase UML Sergio Andres Perdomo Ortiz – 7/09/2023 Objeto: Es una entidad que se utiliza para describir el comportamiento y las funciones de un sistema. La clase y el objeto tienen las mismas notaciones. La única diferencia es que un nombre de objeto siempre está subrayado en UML. Símbolo de objeto UML Interfaz: Es similar a una plantilla sin detalles de implementación. Una anotación circular lo representa. Cuando una clase implementa una interfaz, también se implementa su funcionalidad. Interface-name Colaboración: Está representado por una elipse punteada con un nombre escrito en su interior. Notación de colaboración UML Casos de uso: Son uno de los conceptos centrales del modelado orientado a objetos. Se utilizan para representar funcionalidades de alto nivel y cómo el usuario manejará el sistema. Sergio Andres Perdomo Ortiz – 7/09/2023 Casos de uso de UML Actor: Se utiliza dentro dentro de diagramas de casos de uso. La anotación Actor se utiliza para indicar una entidad que interactúa con el sistema. Un usuario es el mejor ejemplo de actor. Actor UML Componente: Una anotación de componente se utiliza para representar una parte del sistema. Componente UML Nodo: Se utiliza para describir la parte física de un sistema. Un nodo se puede utilizar para representar una red, servidor, enrutadores, etc. Nodo UML Diagrama de implementación: Representa el hardware físico en el que está instalado el sistema. Un diagrama de implementación representa la vista física de un sistema. Sergio Andres Perdomo Ortiz – 7/09/2023 Un diagrama de implementación consta de las siguientes notaciones: Diagrama de implementación Cosas de comportamiento Son los verbos de un modelo UML, como interacciones, actividades y máquinas de estado. Las cosas de comportamiento en UML se utilizan para representar el comportamiento de un sistema. Máquina de estado: Se utiliza para describir varios estados de un solo componente a lo largo del ciclo de vida de desarrollo de software. Se utiliza para capturar diferentes estados de un componente del sistema. Máquina de estado Diagrama de actividades: Se utiliza para representar varias actividades llevadas a cabo por diferentes componentes del sistema. Se denota al igual que el diagrama de máquina de estados. El diagrama de actividades contiene principalmente el estado inicial, el estado final, un cuadro de decisión y una anotación de acción. Diagrama de actividades Sergio Andres Perdomo Ortiz – 7/09/2023 Diagrama de interacción: Se utilizan para visualizar el flujo de mensajes entre varios componentes de un sistema. ● Diagrama secuencial: Muestra las interacciones entre una o más líneas de vida en tiempo real. Diagrama de interacción Agrupar cosas Es el paquete que se utiliza para agrupar elementos de modelado semánticamente relacionados en una sola unidad cohesiva. El paquete es la única agrupación disponible en UML. Paquete UML Cosas anotacionales Es como una nota, que se puede escribir en el modelo para capturar información vital. Es similar a la nota adhesiva amarilla. Anotación UML Sergio Andres Perdomo Ortiz – 7/09/2023 Relaciones La relación le permite mostrar en un modelo cómo dos o más cosas se relacionan entre sí. La relación en UML le permitirá capturar conexiones significativas entre las cosas. Muestra cómo asocia cada elemento entre sí y cómo esta asociación describe la funcionalidad de una aplicación. Las relaciones en UML se clasifican de la siguiente manera: ● Relación de asociación. ● Relación de dependencia. ● Relación de generalización. ● Relación de realización. Relación de asociación: Es un conjunto de enlaces que conectan elementos del modelo UML. También define cuántos objetos participan en esa relación. Ilustra cuántos elementos están participando en una interacción particular. Indica por medio de una línea punteada con puntas de flecha en ambos lados. Ambos lados contienen un elemento que describe la relación. Se introduce un nuevo término multiplicidad que nos dice cuántos objetos de un elemento en particular están asociados. Relación de asociación UML Relación de dependencia: En este tipo de relación el elemento fuente depende del elemento de destino y puede verse afectado por cambios en él. Es una de las notaciones más importantes de UML. Define la dirección de una dependencia de un objeto a otro. Relación de dependencia UML Relación de generalización: También llamada relación padre-hijo. Es una relación entre una cosa general y un tipo más específico de una cosa. Este tipo de relación se utiliza para representar el concepto de herencia. Relación de generalización. Relación de realización: En esto, un elemento describe alguna responsabilidad que no se implementa y los otros elementos implementan la funcionalidad mencionada por el primer elemento. La relación de realización es ampliamente utilizada al expresarse en interfaces. Relación de realización UML Sergio Andres Perdomo Ortiz – 7/09/2023 Diagramas Existen dos categorías principales de tipos de diagramas UML: 1. Diagramas de estructura: a. Diagrama de clases. b. Diagrama de componentes. c. Diagrama de implementación. d. Diagrama de objetos. e. Diagrama de paquete. f. Diagrama de perfil. g. Diagrama de estructura compuesta. 2. Diagramas de comportamientos: a. Diagramas de casos de uso. b. Diagramas de actividades. c. Diagrama de máquina de estados. d. Diagrama de secuencia. e. Diagrama de comunicación. f. Diagrama de descripción general de la interacción. g. Diagrama de tiempo. Los diagramas de estructura muestran las cosas en el sistema modelado. En un término más técnico, muestra diferentes objetos en un sistema. Los diagramas de comportamiento muestran lo que debería suceder en un sistema. Describen cómo los objetos interactúan entre sí para crear un sistema funcional. Sergio Andres Perdomo Ortiz – 7/09/2023 Nota: Elaboración propia. A continuación, mostraré un ejemplo de tipo de diagramas estructurales y un tipo de diagramas de comportamiento: Diagramas Estructurales - Diagrama de clases para el sistema de procesamiento de pedidos Sergio Andres Perdomo Ortiz – 7/09/2023 Al encontrar un ejemplo en internet el cual replique en lucidchart me surgió la duda de que significaba 0..1 y 1..*, me tomé la tarea de investigar y encontré un artículo en el cual especificaba por medio de una tabla lo que significaba. Multiplicidad Significado 1 Uno y sólo uno 0 .. 1 Cero o uno N .. M Desde N hasta M * Cero o varios 0 .. * Cero o varios 1 .. * Uno o varios (al menos uno) Tomado de: http://elvex.ugr.es/decsai/java/pdf/3c-relaciones.pdf Diagrama de comportamiento - Diagrama de caso de uso Sergio Andres Perdomo Ortiz – 7/09/2023 En la actualidad existen un sin número de herramientas de software que son muy potentes a la hora de utilizar UML. Según (Guru99) estas son las 17 mejores herramientas de software que existen en el año 2023: 1. Astah 2. EdrawMax 3. Lucidchart 4. Adobe Express 5. Creately 6. Visme 7. Moqups 8. ConceptDraw 9. StarUML 10. Altova 11. Visual Paradigm 12. Draw.IO 13. GenMyModel 14. OpenText 15. Sparx Systems 16. Gliffy 17. Modelio Cabe mencionar que algunas son para escritorio y otras son en línea, si quieren conocer cada una de estas herramientas pueden oprimir control + clic izquierdo de tu mouse o simplemente clic. Sergio Andres Perdomo Ortiz – 7/09/2023