Tipos de diagramas UML - ProgOrientadaObjetos-P-AA2021/taller01-GiovanniVillaviencio GitHub Wiki

Jandri Giovanni Villavicencio

Lenguaje Unificado de Modelado

UML o “Unified Modeling Language” es un lenguaje estandarizado de modelado, principalmente desarrollado para ayudar en el desarrollo y modelado de un sistema o un producto sotfware a escribir, diseñar, especificar, visualizar, construir y documentar todos sus componentes, haciendo uso de varios diagramas.

Tipos de diagramas UML

Hoy en día en la mas reciente versión 2.5.1 de UML los tipos de diagramas se dividen en dos, siendo estos los diagramas estructurales y diagramas de comportamiento y estos se clasifican en:

Diagramas estructurales

Estos nos muestran la estructura estática del sistema y de todas sus partes ordenados en diferentes niveles de abstracción, en total son siete tipos de diagramas estructurales.

  • Diagrama de clases

Al pertenecer al tipo estructural, solo se ve desde el punto de vista estático, por lo tanto este diagrama no incluye la forma en como se comportan los elementos del sistema. Es puramente orientado al al modelo de programación orientado a objetos ya que este define las clases que se van a usar cuando se de paso a la fase de construcción y la manera en que se relacionan las mismas.

Está compuesta por tres elementos: Las clases las cuales son su principal elemento y como su nombre lo indica representa una clase dentro del paradigma de la orientación a objetos; las relaciones, estas indican una dependencia o relación entre dos o más clases y finalmente la interfaz que se encarga de declarar varios atributos, funciones y obligaciones.

  • Diagrama de componentes

Representa de manera estática el sistema de información, comúnmente se lo utiliza una vez creado el diagrama de clases ya este necesita información de dicho diagrama, un ejemplo las clases. Nos proporciona una vista de alto nivel de todos los componentes de un sistema, pueden ser componente de un software como de una base de datos, una interfaz, un componente de hardware como un circuito o o una unidad de negocio como un proveedor.

Mayormente se lo usa para describir sistemas con arquitectura orientada a objetos, mostrar la estructura de un código, dar énfasis en la relación de componentes, ayuda a comunicar y explicar las funciones del sistema a los stakeholders.

Se compone por: Componente, en si es un bloque de unidades lógicas del sistema, una abstracción ligeramente más alta que las clases; interfaz, siempre asociada a un componente y es utilizada para representar la zona del módulo que es utilizada para la comunicación de componentes; finalmente la relación de dependencia, esta representa que un componente requiere de otro para ejecutar su trabajo.

  • Diagrama de despliegue

Se lo utiliza para representar la distribución física de los componentes software en los distintos nodos físicos de la red. Suele ser usado en conjunto con el diagrama de componentes ya que este muestra la presencia y relación de dichos componentes mientras el diagrama de despliegue se usa para ver como se sitúan estos componentes lógicos en los distintos nodos físicos.

Entre sus principales usos está la identificación de nodos físicos que utilizará el sistema de información, de igual manera permite representar de forma clara la arquitectura de la red y también otorga tanto visión global como especifica en la implementación.

Utiliza principalmente nodos y conexiones; los primeros son elementos que se usan para representar un elemento físico que interactúa o firma parte del sistema y las segundas representan una asociación entre dos nodos, mediante la cual son capaces de transmitir información en forma de mensajes o señales.

  • Diagrama de objetos

Se lo puede definir como un gráfico de instancias que incluye objetos y valores de datos, además este nos muestra una instantánea del estado detallado de un sistema en un punto en el tiempo.

Los elementos que lo componen son: Objetos, cada objeto es representado con un rectángulo con su respectivo nombre y el de su clase en la parte superior siendo estos subrayados y separados por dos puntos; Atributos, similar al diagrama de clases, se muestra en un compartimento en la parte inferior del nombre del objeto; Vínculos, es la asociación entre dos objetos y se representan con una línea horizontal.

  • Diagrama de paquetes

Se lo utiliza en la definición de los distintos paquetes a nivel lógico que son parte de la aplicación y la dependencia entre ellos. Generalmente es mas concurrido en su uso por desarrolladores y analistas. Además este diagrama es utilizado en los sistemas de información con programación orientada a objetos.

Está compuesta por: paquete, es el elemento imprescindible del diagrama, siendo este el que le da su nombre, se lo de define como un conjunto de elementos. Puede ser un conjunto de clases, casos de uso, componentes u otros paquetes. Pero generalmente incluye otros paquetes.

  • Diagrama de perfiles

Nos permite extender UML para su uso con una plataforma de programación en particular (como el framework .NET de Microsoft o la plataforma Java Enterprise Edition) o también modelar sistemas destinados a ser usados ​​en un dominio en particular (por ejemplo, medicina, servicios financieros o ingeniería especializada).

Está compuesta por varios elementos, entre ellos están: Perfil, es un paquete que se extiende a un metamodelo de referencia permitiendo adaptar el metamodelo con directrices propias de un dominio; Metaclase, es una clase perfiles y también elemento empaquetable que pueden extenderse en uno o más dominios; Estereotipo, clase de perfil que define como una metaclase que ya existe puede extenderse como parte de un perfil; Extensión, es una relación de asociación usada para mostrar las propiedades de una clase; Aplicación de perfil, es una relación dirigida que se utiliza para mostrar qué perfiles se han aplicado a un paquete.

  • Diagrama de estructura compuesta

Es uno de los más recientes, es de tipo estructural la cual contiene clases, interfaces, paquetes y sus relaciones, y que proporciona una vista lógica de todo, o parte de un sistema de software. Como su principal objetivo está el mostrar la estructura interna de un clasificador, los clasificadores de interacciones con el entorno a través de puertos y algún comportamiento de una colaboración.

Entre sus elementos están: Parte, representa una función desempeñada en tiempo de ejecución por una instancia; puerto, punto de interacción que se puede usar para conectar clasificadores estructurados con sus partes y con el entorno; clasificador estructurado, representa una clase, a menudo una clase abstracta.

Diagramas de comportamiento

Estos se diferencian de los estructurales, la razón es simple, muestran como se comporta un sistema de información de forma dinámica. En otras palabras, nos muestra los cambios que atraviesa un sistema a través del tiempo mientras se está en ejecutando. Son siete tipos y se clasifican de la siguiente manera:

  • Diagrama de actividades

Este nos permite observar el flujo de control o el flujo de objetos, haciendo hincapié en la secuencia y las condiciones de este flujo. Son muy utilizados a la hora de describir cualquier tipo de procesos. En pocas palabras se podría decir que se usan para representar la forma en la que un sistema hace una implementación.

Algunos usos en particular que se le puede dar son: deducir los requisitos de un negocio, Modelar el flujo de trabajo entre actividades o sistemas y Comprender a alto nivel las funcionalidades del sistema de información. A continuación se muestra un ejemplo de diagrama de actividades.

  • Diagrama de casos de uso

Es el diagrama más conocido y usado mas a menudo para representar los actores externos que interactúan con el sistema de información y a través de que funcionalidades se relacionan. En palabras más claras se puede decir que muestra de manera visual las distintas funciones que puede realizar un usuario de un Sistema de Información.

En si tienes varios usos se pueden mencionar los siguientes: Representar los requisitos funcionales, representar los actores que se comunican con el sistema, representar las relaciones entre requisitos funcionales y actores, Guiar el desarrollo del sistema, comunicarse de forma precisa entre cliente y desarrollador.

Además está formado por los siguientes elementos: Actores, se refiere a algo o alguien externo al sistema que interactúa de forma directa con el sistema; casos de uso, en si es una secuencia de acciones que hace el sistema y que producen un resultado que puede percibir un usuario; relaciones, son encargados de conectar los casos de uso con los actores o los casos de uso entre sí.

  • Diagrama de maquina de estados

Conocido por ser utilizado para especificar el comportamiento de parte del sistema diseñado a través de transiciones de estados limitados. Aunque también suele ser usado para mostrar los estados por los que pasa un componente de un sistema de información.

Los elementos que los compone son los siguientes: Estados, este modela una situación en la cual se cumple alguna condición invariante; pseudoestado, se lo define como un vértice abstracto que abarca varios tipos de vértices pasajeros en el gráfico de máquina de estado; transición, es la relación dirigida entre un estado de origen y un estado de destino.

  • Diagrama de Secuencia

Tiene como principal objetivo representar el intercambio de mensajes entre los distintos objetos del sistema para cumplir con una funcionalidad. Comúnmente es utilizado para para definir como se realiza un caso de uso por lo que es comúnmente utilizado junto al diagrama de casos de uso.

Ejemplo de un diagrama de secuencia

  • Diagrama de comunicación

Este nos muestra las interacciones entre objetos y partes (se representan como líneas de vida) utilizando mensajes secuenciados en una disposición de forma libre. Sus principales objetivos son: Modelar el paso de mensajes entre objetos o roles, mostrar los mensajes que se transmiten ​​entre objetos y roles, Modelar escenarios alternativos dentro de casos de uso.

Los elementos que conforman un diagrama de comunicación son: Marco, se muestran dentro de un marco rectangular con el nombre en un compartimiento en la esquina superior izquierda; Línea de vida, representa a un participante individual en la interacción; Mensaje, se muestra como una línea con una expresión de secuencia y una flecha sobre la línea.

  • Diagrama de Tiempos

Normalmente se lo usa para para modelar el comportamiento del sistema dando especial importancia al tiempo. Estos dan un focus a las condiciones que cambian dentro y entre las líneas de vida a lo largo de un eje de tiempo lineal.

Un diagrama de tiempos está compuesto por: Línea de vida, representa a un participante individual en la interacción; estado, muestra los estados del clasificador o atributo participante; restricción de duración, restricción de intervalo que se refiere a un intervalo de duración; restricción de tiempo, restricción de intervalo que se refiere a un intervalo de tiempo.

  • Diagrama global de interacciones

Es un diagrama en el cual los nodos son las interacciones o apariciones de interacción. Se enfoca en la visión general del flujo de control de las interacciones, que también puede mostrar el flujo de actividad entre los diagramas.

  • Bibliografía

▷ Diagrama global de interacciones. (s. f.). DiagramasUML.com. Recuperado 8 de abril de 2021, de https://diagramasuml.com/diagrama-global-de-interacciones/