UMLLos diagramas de componentes se utilizan para modelar los aspectos físicos de un sistema orientado a objetos. Se utilizan para visualizar, especificar y documentar sistemas basados en componentes, así como para crear sistemas ejecutables mediante ingeniería hacia adelante y hacia atrás. Un diagrama de componentes es esencialmente un diagrama de clases especializado que se centra en los componentes del sistema y se utiliza para modelar la vista estática de implementación de un sistema.

Visión general de los diagramas de componentes
Un diagrama de componentes descompone el sistema real que se está desarrollando en diversas funcionalidades de alto nivel. Cada componente es responsable de un objetivo claramente definido dentro del sistema y solo interactúa con otros elementos centrales cuando es necesario.

El ejemplo anterior muestra los componentes internos de un componente más grande:
- Los datos (IDs de cuenta y cheques) fluyen hacia el componente a través de puertos en el lado derecho y se transforman en un formato utilizable por los componentes internos. La interfaz en el lado derecho se llamainterfaz proporcionada, que representa los servicios que el componente requiere para cumplir con sus responsabilidades.
- A continuación, los datos se pasan a través de diversas conexiones hacia y a través de otros componentes, y se envían a través de puertos en el lado izquierdo. Las interfaces en el lado izquierdo se llamaninterfaz requerida, que representan los servicios que el componente proporciona.
- Es importante tener en cuenta que los componentes internos están encerrados dentro de una caja más grande: esto puede ser el sistema completo en sí (en cuyo caso, no aparece ningún símbolo de componente en la esquina superior derecha) o una sub-sistema o componente del sistema (en cuyo caso, la caja representa el propio componente).
Conceptos básicos de los diagramas de componentes
Un componente representa una parte modular de un sistema, encapsulando sus contenidos y cuyo comportamiento puede ser sustituido dentro de su entorno. En UML 2, un componente se dibuja como un rectángulo con un compartimento opcional apilado verticalmente. La vista abstracta de alto nivel de un componente en UML 2 puede modelarse como:
- Un rectángulo con el nombre del componente
- Un rectángulo con un ícono de componente
- Un rectángulo con texto de estereotipo y/o ícono

Interfaz
Se muestran dos tipos de interfaces de componentes en el ejemplo siguiente:
Elinterfaz proporcionadaEl símbolo con un círculo completo al final indica la interfaz que proporciona el componente: el símbolo de “lollipop” es una notación abreviada para la relación de implementación de un clasificador de interfaz.
Elinterfaz requeridaEl símbolo con un semicírculo (también conocido como enchufe) al final indica la interfaz que requiere el componente (en ambos casos, el nombre de la interfaz se coloca cerca del propio símbolo).

Ejemplo de diagrama de componentes – Uso de interfaces (Sistema de pedidos)

Subsistemas
Un clasificador de subsistema es una versión especializada de un clasificador de componente. Por lo tanto, el elemento de notación de subsistema hereda todas las mismas reglas que la notación de componente. La única diferencia es que el elemento de símbolo de subsistema utiliza la palabra clave “subsystem” en lugar de “component”.

Puertos
Los puertos se representan mediante cuadrados a lo largo del borde de un componente o sistema. Normalmente se utilizan para exponer las interfaces requeridas y proporcionadas por un componente.

Relaciones
Gráficamente, un diagrama de componentes es un conjunto de vértices y arcos, que normalmente contiene componentes, interfaces y relaciones como dependencia, agregación, restricción, generalización, asociación y realización. También puede incluir notas y restricciones.
| Relación | Símbolo |
|---|---|
Asociación:
|
|
Composición:
|
|
Agregación:
|
|
Restricción:
|
|
Dependencia:
|
|
Generalización:
|
Modelado de código fuente
- Identifique el conjunto de archivos de código fuente de interés mediante ingeniería hacia adelante o hacia atrás, y modele estos como componentes construidos como archivos.
- Para sistemas más grandes, use paquetes para mostrar grupos de archivos de código fuente.
- Considere incluir un valor etiquetado para representar información como número de versión, autor y fecha de última modificación del archivo de código fuente. Utilice herramientas para gestionar los valores de estos valores etiquetados.
- Utilice dependencias para modelar las dependencias de compilación entre estos archivos. De manera similar, utilice herramientas para ayudar a generar y gestionar estas dependencias.
Ejemplo de componente – Código fuente Java

Ejemplo de diagrama de componentes – Código C++ con control de versiones

Modelado de versiones ejecutables
- Identifique el conjunto de componentes que desea modelar. Esto generalmente implica algunos o todos los componentes en un nodo, o una distribución de estos componentes en todos los nodos del sistema.
- Considere el estereotipo para cada componente en este conjunto. Para la mayoría de los sistemas, encontrará un número pequeño de tipos diferentes de componentes (por ejemplo, ejecutables, bibliotecas, tablas, archivos y documentos). Puede utilizar el mecanismo de extensibilidad de UML para proporcionar pistas visuales (indicaciones) para estos estereotipos.
- Para cada componente en este conjunto, considere sus relaciones con sus vecinos. Más a menudo, esto implica interfaces exportadas por algunos componentes (implementadas) y luego importadas por otros (utilizadas). Si desea exponer puntos de separación en el sistema, modele explícitamente estas interfaces. Si desea una abstracción de nivel superior, elimine estas relaciones mostrando únicamente dependencias entre componentes.

Modelado de bases de datos físicas
- Identifique las clases en el modelo que representan esquemas lógicos de bases de datos.
- Elija la estrategia para mapear estas clases a tablas. También debe considerar la distribución física de la base de datos. Su estrategia de mapeo se verá influenciada por dónde desea que los datos persistan en el sistema desplegado.
- Para visualizar, especificar, construir y documentar el mapeo, cree un diagrama de componentes que contenga componentes construidos como tablas.
- Donde sea posible, utilice herramientas para ayudarle a convertir el diseño lógico en un diseño físico.
Intente dibujar un diagrama de componentes UML ahora
Ahora ha aprendido qué es un diagrama de componentes y cómo dibujarlo. Es momento de crear el suyo propio. Obtenga el Edición Comunitaria de Visual Paradigm, una herramienta UML gratuita, y utilice la herramienta gratuita Diagrama de componentes para crear el suyo propio. Es fácil de usar e intuitivo.
Enlaces relacionados
- ¿Qué es el Lenguaje Unificado de Modelado?
- Herramientas profesionales UML
- Visual Paradigm. (s.f.). ¿Cómo dibujar un diagrama de componentes? Visual Paradigm. https://www.visual-paradigm.com/support/documents/vpuserguide/94/2581/7292_drawingcompo.html 42.
- Visual Paradigm. (2018, 11 de mayo). ¿Qué es un diagrama de componentes? Visual Paradigm. https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-component-diagram/ 43.
- Visual Paradigm. (s.f.). ¿Cómo dibujar un diagrama de componentes en UML? Visual Paradigm. https://www.visual-paradigm.com/tutorials/how-to-draw-component-diagram-in-uml/ 44.
- Visual Paradigm. (s.f.). Diagrama de componentes – Diagrama UML 2 – Herramienta de modelado UML. Visual Paradigm. https://www.visual-paradigm.com/VPGallery/diagrams/Component.html 45.
- Visual Paradigm. (s.f.). Diagrama de componentes en Visual Paradigm. Visual Paradigm. https://www.visual-paradigm.com/support/documents/vpuserguide/94/2581_componentdia.html 46.
- Círculo de la comunidad de Visual Paradigm. (2018, 11 de mayo). 7. Diagrama de componentes. Visual Paradigm. https://circle.visual-paradigm.com/docs/uml-and-sysml/component-diagram/ 47.
- Visual Paradigm Online. (s.f.). Herramienta gratuita para diagramas de componentes. Visual Paradigm. https://online.visual-paradigm.com/diagrams/solutions/free-component-diagram-tool/ 48.
- Visual Paradigm Online. (s.f.). Tutorial de diagrama de componentes. Visual Paradigm. https://online.visual-paradigm.com/tutorials/component-diagram-tutorial/ 49.
- Visual Paradigm. (2022, 2 de septiembre). Tutorial de diagrama de clases UML. Visual Paradigm. https://www.visual-paradigm.com/guide/uml-unified-modeling-language/uml-class-diagram-tutorial/ 50.
- Visual Paradigm Online. (s.f.). Herramientas en línea para diagramas UML. Visual Paradigm. https://online.visual-paradigm.com/diagrams/features/uml-tool/ 51.





