¿Qué es un diagrama de componentes?

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.

Component Diagram Hierarchy

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.
Component Diagram Overview
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:
  1. Un rectángulo con el nombre del componente
  2. Un rectángulo con un ícono de componente
  3. Un rectángulo con texto de estereotipo y/o ícono
Appearance of a Component

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).
Required and Provided Interfaces

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

Component Diagram Example with Interfaces

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”.
Component Diagram with Subsystem

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.
Component Diagram with Port

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:

  • Una asociación especifica una relación semántica que puede ocurrir entre instancias tipificadas.
  • Tiene al menos dos extremos, cada uno representado por un atributo, y cada extremo está conectado al tipo del otro extremo. Varias terminaciones pueden tener el mismo tipo.

Component Diagram: Association




Composición:

  • La composición es una forma fuerte de agregación, que requiere que una instancia esté contenida en como máximo un compuesto.
  • Si se elimina el compuesto, sus partes suelen eliminarse también.

Component Diagram: Composition




Agregación:

  • Una forma de asociación en la que un extremo se marca como agregación compartida, lo que significa que tiene agregación compartida.

Component Diagram: Aggregation




Restricción:

  • Una condición o restricción expresada en texto de lenguaje natural o lenguaje legible por máquina para declarar ciertos significados de un elemento.

Component Diagram: Constraint




Dependencia:

  • Una relación que indica que uno o más elementos del modelo requieren otro elemento del modelo para su especificación o implementación.
  • Esto significa que la semántica completa del elemento dependiente es dependiente semántica o estructuralmente de la definición del elemento proveedor.

Component Diagram: Dependency




Generalización:

  • Una relación de clasificación entre un clasificador más general y un clasificador más específico.
  • Cada instancia del clasificador específico también es una instancia indirecta del clasificador general.
  • Por lo tanto, el clasificador específico hereda características del clasificador más general.

Component Diagram: Generalization




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
Component Diagram Example: Java Source Code
Ejemplo de diagrama de componentes – Código C++ con control de versiones
Component Diagram Example: C++ Code with Versioning

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.
Component Diagram for Modeling Executable Release

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.
Component Diagram for Modeling Physical Database


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.
  1. ¿Qué es el Lenguaje Unificado de Modelado?
  2. Herramientas profesionales UML
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. 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.
  9. 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.
  10. Visual Paradigm Online. (s.f.). Tutorial de diagrama de componentes. Visual Paradigm. https://online.visual-paradigm.com/tutorials/component-diagram-tutorial/ 49.
  11. 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.
  12. Visual Paradigm Online. (s.f.). Herramientas en línea para diagramas UML. Visual Paradigm. https://online.visual-paradigm.com/diagrams/features/uml-tool/ 51.

Dejar una contestacion