Conceptos en un Diagrama de Implementación
Un diagrama de implementación muestra la estructura del código
(Diagrama de componentes) y la estructura del sistema en ejecución
(Diagrama de ejecución).
Diagrama de Componentes
Un diagrama de componentes muestra las dependencias lógicas entre
componentes software, sean éstos componentes fuentes, binarios o
ejecutables. Los componentes software tienen tipo, que indica si son útiles
en tiempo de compilación, enlace o ejecución. Se consideran
en este tipo de diagramas solo tipos de componentes. Instancias específicas
se encuentran en el diagrama de ejecución.
Se representa como un grafo de componentes software unidos por medio
de relaciones de dependencia (generalmente de compilación). Puede
mostrar también contenencia de entre componentes software e interfaces
soportadas. Un ejemplo es el siguiente:
En este caso tenemos tres componentes, GUI dependiendo de la interfaz
update provista por Planner, Planner dependiendo de
la interfaz reservations provista por Scheduler.
Diagrama de Ejecución
Un diagrama de ejecución muestra la configuración de los
elementos de procesamiento en tiempo de ejecución y los componentes
software, procesos y objetos que se ejecutan en ellos. Instancias de los
componentes software representan manifestaciones en tiempo de ejecución
del código. Componentes que solo sean utilizados en tiempo de compilación
deben mostrarse en el diagrama de componentes.
Un diagrama de ejecución es un grafo de nodos conectados por
asociaciones de comunicación. Un nodo puede contener instancias
de componentes software, objetos, procesos (un caso particular de un objeto).
Las instancias de componentes software pueden estar unidos por relaciones
de dependencia, posiblemente a interfaces.
Un ejemplo de diagrama de ejecución es el siguiente:
En este caso se tienen dos nodos, AdminServer y Joe'sMachine.
AdminServer contiene la instancia del componente Scheduler y
un objeto activo (proceso) denominado meetingsDB. En Joe'sMachine
se encuentra la instancia del componente software Planner, que depende
de la interfaz reservations, definida por Scheduler.
Nodos
Un nodo es un objeto físico en tiempo de ejecución que representa
un recurso computacional, generalmente con memoria y capacidad de procesamiento.
Pueden representarse instancias o tipos de nodos. Se representa como un
cubo 3D en los diagramas de implementación.
Componentes
Un componente representa una unidad de código (fuente, binario o
ejecutable) que permite mostrar las dependencias en tiempo de compilación
y ejecución. Las instancias de componentes de software muestran
unidades de software en tiempo de ejecución y generalmente ayudan
a identificar sus dependencias y su localización en nodos.
Pueden mostrar también que interfaces implementan y qué objetos
contienen. Su representación es un rectángulo atravesado
por una elipse y dos rectángulos más pequeños.
Un ejemplo de componente que implementa dos interfaces es
Pablo
Figueroa
Versión 1.1