¿Qué es un diagrama de componentes UML? Notaciones, ejemplo.

⚡ Resumen inteligente

En el diseño orientado a objetos (OOAD), el diagrama de componentes UML modela un sistema grande dividiéndolo en subsistemas más pequeños y manejables, y mostrando cómo los componentes reemplazables se conectan mediante interfaces. Este recurso explica la notación de componentes, los puertos, los subsistemas, los pasos para dibujarlos y ofrece un ejemplo práctico.

  • 🧩 Idea principal: Un diagrama de componentes divide un sistema grande en subsistemas más pequeños, reemplazables y ejecutables.
  • Componente: Cada componente es una caja negra cuyo comportamiento está definido por las interfaces que proporciona y las que requiere.
  • ???? Interfaces: Las interfaces proporcionadas y requeridas se conectan mediante un conector de ensamblaje para cablear los componentes entre sí.
  • 🚪 Puertos: Un puerto es un punto de interacción que agrupa las interfaces proporcionadas y requeridas de un componente.
  • 🛠️ Uso: Los diagramas de componentes modelan la estructura en tiempo de ejecución y facilitan las pruebas del sistema y la organización de los subsistemas.

¿Qué es un diagrama de componentes UML?

¿Qué es el diagrama de componentes en UML?

Diagramas de componentes UML Se utilizan para modelar sistemas grandes en subsistemas más pequeños que pueden gestionarse fácilmente. Los diagramas de componentes UML se utilizan para representar diferentes componentes de un sistema. Al modelar grandes sistemas orientados a objetos, es necesario dividir el sistema en subsistemas manejables.

Un componente es una pieza reemplazable y ejecutable de un sistema cuyos detalles de implementación están ocultos. Un componente proporciona el conjunto de interfaces que un componente realiza o implementa. Los componentes también requieren interfaces para llevar a cabo una función.

Notaciones de diagramas de componentes

A continuación se muestran las notaciones del diagrama de componentes UML:

Componente

Notación de componentes en el diagrama de componentes
Notación de componentes en el diagrama de componentes

Nodo

Notación de nodos en el diagrama de componentes

Notación de nodos en el diagrama de componentes

¿Qué es el componente en OOAD?

Un componente es una pieza reemplazable y ejecutable de un sistema cuyos detalles de implementación están ocultos. Un componente proporciona el conjunto de interfaces que un componente realiza o implementa. Los componentes también requieren interfaces para llevar a cabo una función.

Es una parte modular de un sistema que encapsula su contenido. Son los elementos lógicos de un sistema que juegan un papel esencial durante la ejecución de un sistema.

Un componente es similar a una caja negra cuyo comportamiento externo está definido por una interfaz proporcionada y las interfaces requeridas.

Estructura de un componente UML

Un componente se representa con estereotipos de rectángulo clasificador como:

>: Los detalles de los componentes están ocultos para el mundo exterior. El nombre de un componente se coloca en el centro de un rectángulo. Se muestra un icono de componente en la esquina superior derecha de un rectángulo, lo cual es opcional.

Un componente en UML se representa de la siguiente manera:

Estructura de un componente UML

Estructura de un componente UML

Interfaz en diagrama de componentes

La Interfaz es un conjunto con nombre de funciones públicas. Separa la especificación de funcionalidad de su implementación por un diagrama de clase o un subsistema. Un símbolo de interfaz no puede ser instanciado. Declara un contract que puede ser realizado por cero o más clasificadores como una clase o un subsistema.

Todo aquello que implementa una interfaz acepta las funcionalidades de la interfaz y se compromete a cumplir con los términos y condiciones.tract definido por la interfaz.

Si el lenguaje de implementación no admite interfaces, utilice abs.tracLas clases t, las interfaces se nombran igual que las clases, en UpperCamelCaso.

Hay dos tipos de interfaces en el diagrama de componentes:

  1. Interfaces proporcionadas
  2. Interfaces requeridas

Podemos conectar las interfaces proporcionadas y requeridas mediante el conector de ensamblaje.

Ventajas

  • Aumenta la flexibilidad y extensibilidad de una clase.
  • Disminuye las dependencias de implementación.

Desventajas

  • La flexibilidad adicional conduce a clases complejas.
  • Demasiadas interfaces hacen que los sistemas sean difíciles de entender.

Subsistemas de diagrama de componentes

Es una base de componentes que actúa como unidad de descomposición para sistemas más grandes. Es una construcción lógica que se utiliza para dividir un sistema extenso en sistemas más pequeños que se conocen como subsistemas. Este proceso facilita la gestión eficiente de cada subsistema.

No se puede crear una instancia de un subsistema durante el tiempo de ejecución, pero se pueden inicializar sus contenidos. Cuando los subsistemas están conectados, se crea un sistema único.

Puerto en el diagrama de componentes

Un Puerto es un punto de interacción entre un clasificador y un entorno externo. Agrupa un conjunto semánticamente coherente de interfaces proporcionadas y requeridas. Se puede utilizar un puerto en UML sin especificar el nombre del puerto. Un puerto puede tener visibilidad. Cuando un puerto se dibuja sobre el límite de un clasificador, significa que el puerto es público. También significa que todas las interfaces utilizadas se hacen públicas.

Cuando un puerto se dibuja dentro del clasificador, entonces está protegido o es privado.

Un puerto también tiene multiplicidad que indica la cantidad de instancias que tendrá el clasificador de puerto. Un puerto en el diagrama UML se indica como se indica a continuación:

Notación de puertos en el diagrama de componentes

Notación de puertos en el diagrama de componentes

Aquí, el puerto1 se dibuja sobre el límite, lo que significa que tiene visibilidad como público.

Cómo dibujar un diagrama de componentes

Así es como puedes dibujar un diagrama de componentes UML:

Paso 1) Un componente no es más que una pieza ejecutable de un sistema. Varios componentes juntos forman un solo sistema. Los diagramas de componentes se utilizan ampliamente durante la fase de ejecución de cualquier sistema.

Paso 2) Antes de modelar el diagrama de componentes, se deben conocer todos los componentes dentro del sistema. Cabe mencionar el funcionamiento de cada componente. Los diagramas de componentes se utilizan para analizar la ejecución de un sistema.

Paso 3) También se debe explorar cada componente en profundidad para comprender la conexión de un componente con otros artefactos físicos del sistema.

Paso 4) La relación entre varios artefactos, bibliotecas y archivos son elementos esenciales que se requieren durante el modelado de un diagrama de componentes.

Ejemplo de diagrama de componentes UML

A continuación se muestra un ejemplo de diagrama de componentes UML:

Ejemplo de diagrama de componentes UML

Ejemplo de diagrama de componentes UML

¿Por qué utilizar el diagrama de componentes?

Los diagramas de componentes UML tienen una importancia significativa. El diagrama de componentes se diferencia de otros diagramas en varios aspectos. Mientras que otros diagramas se utilizan para representar el sistema, el funcionamiento de un sistema o la arquitectura de un sistema, los diagramas de componentes se utilizan para describir el funcionamiento y el comportamiento de varios componentes de un sistema.

Representa cómo actúa cada componente durante la ejecución de un sistema.

Estos son los diagramas estáticos del lenguaje de modelado unificado. Un diagrama de componentes se utiliza para representar la estructura y organización de los componentes durante cualquier momento.

Los diagramas de componentes se utilizan para modelar los subsistemas. Estos subsistemas representan colectivamente la vista de trabajo completa de cualquier sistema. Un solo componente no puede visualizar todo el sistema, pero la colección de múltiples componentes sí puede.

Entonces, los diagramas de componentes se utilizan para:

  • Representar los componentes de cualquier sistema en tiempo de ejecución.
  • Ayuda durante las pruebas de un sistema.
  • Visualiza la conexión entre varios componentes.

¿Cuándo utilizar el diagrama de componentes?

Los diagramas de componentes son diferentes de cualquier otro. diagramas en UML. Los diagramas de componentes se utilizan para mostrar varios componentes de un sistema de software, así como subsistemas de un solo sistema. Se utilizan para representar cosas físicas o componentes de un sistema. Generalmente visualiza la estructura y organización de un sistema.

Describe cómo varios componentes juntos forman un sistema único y completamente funcional. Podemos mostrar cada componente de forma individual o colectiva como una sola unidad.

  1. Los diagramas de componentes se utilizan para modelar la organización de los componentes de un sistema.
  2. Se utilizan para dividir un solo sistema en varios subsistemas según la funcionalidad.

Preguntas Frecuentes

Un diagrama de componentes muestra los componentes de software y sus interfaces. Un diagrama de despliegue muestra los nodos de hardware físico y dónde se ejecutan los componentes. Los diagramas de componentes modelan la estructura del software; los diagramas de despliegue modelan el entorno de hardware de ejecución.

Un conector de ensamblaje une la interfaz requerida de un componente con la interfaz proporcionada por otro. Esto demuestra que un componente proporciona un servicio que el otro necesita, conectando los componentes entre sí para formar un sistema funcional.

El símbolo de la bola (o piruleta) representa la interfaz que ofrece un componente, y el zócalo (semicírculo) representa la interfaz que necesita. Al encajar la bola en el zócalo, se observa que un componente proporciona lo que otro requiere.

Las herramientas de IA pueden leer la descripción de un sistema o una lista de módulos y sugerir un diagrama de componentes con componentes, interfaces y conectores. Esto ayuda a los arquitectos a diseñar la estructura más rápidamente, aunque los límites y las dependencias aún requieren la revisión de un experto.

Sí. ReverseLas herramientas de ingeniería e inteligencia artificial pueden escanear un código fuente, agrupar archivos en componentes y mapear sus interfaces y dependencias en un diagrama de componentes preliminar. RevRevise el resultado, ya que la IA puede pasar por alto los límites arquitectónicos previstos.

Resumir este post con: