2. Elementos Básicos de los Diagramas de Componentes
Los diagramas de componentes utilizan varios elementos básicos para representar la estructura y organización de un sistema de software. Cada elemento tiene un propósito específico y una notación particular en UML.
2.1. Componentes
Section titled “2.1. Componentes”Un componente es una unidad modular de software que encapsula funcionalidad y puede ser desplegado independientemente. Los componentes representan partes físicas y reemplazables de un sistema.
Características de los componentes
Section titled “Características de los componentes”- Encapsulación: Ocultan su implementación interna
- Interfaces bien definidas: Proporcionan puntos de acceso claros
- Reutilización: Pueden ser utilizados en diferentes contextos
- Independencia: Pueden ser desarrollados y desplegados por separado
Representación básica de un componente.
Componente con información adicional.
Componentes con estereotipos que indican su tipo.
2.2. Interfaces
Section titled “2.2. Interfaces”Las interfaces definen contratos que especifican qué servicios proporciona un componente sin revelar cómo los implementa. Son puntos de conexión entre componentes.
Tipos de interfaces
Section titled “Tipos de interfaces”Interface que un componente proporciona a otros.
Interface que un componente necesita de otros.
Conexión completa entre componentes a través de una interface.
2.3. Puertos
Section titled “2.3. Puertos”Los puertos representan puntos de interacción específicos de un componente con su entorno. Son puntos de conexión donde las interfaces se conectan al componente.
Características de los puertos
Section titled “Características de los puertos”- Puntos de conexión: Definen dónde se conectan las interfaces
- Separación de responsabilidades: Diferentes puertos para diferentes propósitos
- Flexibilidad: Permiten múltiples formas de interactuar con un componente
2.4. Paquetes
Section titled “2.4. Paquetes”Los paquetes agrupan componentes relacionados y proporcionan un mecanismo de organización y namespace.
Beneficios de los paquetes
Section titled “Beneficios de los paquetes”- Organización: Agrupan componentes relacionados
- Namespace: Evitan conflictos de nombres
- Modularidad: Facilitan la gestión de dependencias
- Despliegue: Pueden representar unidades de despliegue
2.5. Conectores
Section titled “2.5. Conectores”Los conectores representan enlaces de comunicación entre componentes, mostrando cómo fluye la información.
Tipos de conectores
Section titled “Tipos de conectores”Dependencia directa entre componentes.
Comunicación en ambas direcciones.
Un componente conectado a múltiples servicios.
2.6. Artefactos
Section titled “2.6. Artefactos”Los artefactos representan elementos físicos del sistema como archivos, ejecutables, bibliotecas o bases de datos.
Tipos de artefactos
Section titled “Tipos de artefactos”- Ejecutables: .jar, .exe, .dll
- Archivos de configuración: .properties, .xml, .json
- Scripts: .sql, .sh, .bat
- Recursos: imágenes, documentos, plantillas
2.7. Nodos
Section titled “2.7. Nodos”Los nodos representan recursos físicos o virtuales donde se ejecutan los componentes.
2.8. Ejemplo integrado
Section titled “2.8. Ejemplo integrado”Veamos un ejemplo que combina todos los elementos básicos en un sistema completo:
Los elementos básicos de los diagramas de componentes proporcionan un vocabulario rico para modelar sistemas complejos. En la siguiente sección, exploraremos las relaciones entre estos elementos y cómo representarlas efectivamente.