Componentes UML: Definición, Tipos y Diagramas
Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 4,92 KB
Componente UML
Un componente es una parte física y reemplazable de un sistema, que conforma con un conjunto de interfaces y realiza esas interfaces. Gráficamente en UML:
Un componente debe tener un nombre: simple, ej. cliente.java o de camino, cuando está incluido en un paquete, ej. system::dialog.dll
Un componente puede contener adornos, valores etiquetados e información adicional. Ej. referencia a las interfaces que realiza.
Características de un Componente
- Un componente posee características similares a una clase: tiene nombre, realiza interfaces, puede participar de relaciones, puede tener instancias, puede participar en interacciones.
- Diferencias con una Clase:
- Un componente representa un elemento físico (bits). Una clase es una abstracción lógica.
- El componente se puede representar en nodos físicos, la clase no.
- Las operaciones de un componente solo se alcanzan a través de interfaces. Las de una clase podrían ser accesibles directamente.
- Características Clave:
- Físico: existe en el mundo de los bits.
- Reemplazable: es posible reemplazar un componente por otro que conforme con las mismas interfaces.
- Parte de un sistema: representa un bloque de construcción fundamental sobre el cual se puede diseñar y construir sistemas. Un sistema puede ser solo un componente en un nivel de abstracción mayor, compuesto por componentes.
Componentes e Interfaces
Una interfaz contiene una colección de operaciones y se utiliza para especificar los servicios de una clase o de un componente. Una interfaz se conecta al componente que la implementa a través de una relación de realización, y al componente que utiliza sus servicios con una dependencia.
- Interfaz de Exportación: interfaz realizada por un componente, servicio que ofrece a otros componentes.
- Interfaz de Importación: interfaz usada por un componente.
La ventaja de usar interfaces es que se rompe la dependencia directa entre componentes. Un componente que usa una interfaz puede funcionar adecuadamente independientemente del componente que la realiza.
Tipos de Componentes
- Componentes de Despliegue: necesarios y suficientes para formar un sistema ejecutable. Por ejemplo: bibliotecas dinámicas (dll), ejecutables (exe).
- Componentes Productos de Trabajo: surgen durante el proceso de desarrollo y quedan al final del mismo. Por ejemplo: buscarCliente.jar, cliente.db.
- Componentes de Ejecución: se crean como consecuencia de un sistema en ejecución. Por ejemplo: objetos que se instancian a partir de una dll.
Estereotipos Estándar de Componentes
- executable: especifica un componente ejecutable en un nodo.
- library: especifica una biblioteca de objetos.
- table: especifica una tabla de una BD.
- file: especifica un componente que contiene un documento con código fuente o datos.
- document: especifica un componente que representa un documento.
Diagrama de Componentes
Modela los aspectos físicos de un sistema. Modela la vista de implementación estática de un sistema. Modela los elementos físicos que residen en un nodo, tales como ejecutables, tablas, librerías, archivos y documentos.
Un Diagrama de Componentes muestra un conjunto de componentes y sus relaciones.
Los elementos que lo componen son: Componentes, Interfaces, Relaciones de dependencia, generalización, asociación, realización.
Nodo
Es un elemento físico que existe en tiempo de ejecución y representa un recurso computacional, que generalmente tiene alguna memoria y capacidad de procesamiento.
Posee un nombre simple, ej: Ventas o un nombre extendido indicando el paquete que lo contiene, ej: servidor::Ventas.
En los Nodos se ejecutan los Componentes. La relación entre un nodo y un componente se puede modelar con una relación de dependencia.
Los nodos se pueden organizar agrupándolos en paquetes. También a través de relaciones de dependencia, generalización, asociación, agregación. Generalmente se conectan con una asociación.
Diagrama de Despliegue
Modela aspectos físicos de un sistema. Modela la vista de despliegue estática de un sistema. Modela una configuración de nodos y los componentes que residen en ellos. Modela la topología del hardware donde se ejecuta el sistema.
Los elementos que lo componen son: Nodos, Relaciones de dependencia, generalización, asociación y realización. Pueden contener los componentes que residen en los nodos.
UML no es un lenguaje de descripción de hardware de propósito general como VHDL.