ucudal / ANDIS_Conceptos

Material para los cursos de análisis y diseño, ingeniería de software, y proyecto final de grado
Creative Commons Attribution Share Alike 4.0 International
2 stars 0 forks source link

Agregar diagrama de ejemplo #96

Open github-actions[bot] opened 1 month ago

github-actions[bot] commented 1 month ago

https://github.com/ucudal/ANDIS_Conceptos/blob/8f5b0c79d11373b857e8053729c06112e82221d2/2_Tecnicas_y_herramientas/2_3_3_Diagrmas_de_componentes_UML.md#L52


# 2 Técnicas y herramientas

## 2.3 Modelos de estructura

### Diagramas de componentes UML

Los diagramas de componentes UML muestran la estructura del software, incluyendo
sus [componentes](/4_Conceptos/4_Componente.md) y las interfaces y dependencias
de éstos.

Este documento está basado en UML 2.5.1[^1].

[^1]: OMG. (2017). OMG® Unified Modeling Language®. Disponible
    [aquí](https://www.omg.org/spec/UML/2.5.1/PDF).

Los diagramas de componentes son distintos de los [diagramas de
despliegue](./2_3_4_Diagramas_de_despliegue_UML.md). Un diagrama de componentes
define la composición de los componentes y artefactos en el sistema. Un diagrama
de despliegue muestra los componentes y artefactos en relación con el lugar
donde se utilizan en el sistema implementado.

Los diagramas de componentes tienen principalmente:

* Componentes, que se representan con un rectángulo —pues son
  [clasificadores](/4_Conceptos/4_Clasificador.md)— con un ícono de componente
  dentro o con el estereotipo `≪component≫`, y son elementos del modelo que
  representan partes independientes e intercambiables de un sistema. Un
  componente proporciona comportamiento a través de interfaces provistas y
  consume comportamiento a través de interfaces requeridas.

* Paquetes, agrupan elementos del modelo, en este caso componentes, pero también
  otros paquetes.

* Artefactos, que se representan con un rectángulo con el estereotipo
  `≪artifact≫`, y son elementos del modelo que representan las entidades físicas
  en un sistema. Los artefactos representan unidades de implementación físicas,
  como archivos ejecutables, bibliotecas, componentes de software, documentos y
  bases de datos.

* Interfaces, que definen conjuntos de operaciones proporcionadas —en el caso de
  las interfaces provistas— o requeridas —en el caso de las consumidas—. Las
  interfaces provistas se representan con el símbolo de *lollipop* y las
  consumidas por el símbolo de medio círculo o con una flecha punteada, aunque
  también se pueden representar con un rectángulo con el estereotipo
  `≪interface≫`, pues también son clasificadores.

* Relaciones, una relación es una conexión entre elementos del modelo, en este
  caso, que un componente implementa una interfaz, o requiere una interfaz, o es
  parte de un paquete, o se implementa o despliega en una artefacto en
  particular.

<!-- TODO: Agregar diagrama de ejemplo -->

Puedes ver más información sobre diagramas de componentes en las herramientas de
modelado [IBM Software
Architect](https://www.ibm.com/docs/en/rational-soft-arch/9.7.0?topic=diagrams-creating-component),
y [Lucidchart](https://www.lucidchart.com/pages/uml-component-diagram).