2. Diagrama De Componentes
El propósito del diagrama de
componentes es definir los módulos
de software cualquiera sea su
fuente, y sus relaciones entre si.
CAL/Fundamentos 2
3. Diagrama De Componentes
Cada componente es un pedazo de código
que reside en la memoria en un nodo del
hardware. Cada componente debe definir una
interface que permita al componente actuar
recíprocamente con el sistema operativo y
otros componentes. Se encapsulan la
interface y la aplicación interior del
componente en las clases que constituyen el
componente.
CAL/Fundamentos 3
4. Grupos De Componentes
UML agrupa los componentes en tres
categorías amplias:
Componentes desplegados, necesarios
para ejecutar el sistema,
Componentes producto del trabajo incluso
modelos, código fuente, y archivos usados
para crear los componentes de despliegue
Componentes de Ejecución, componentes
creados para ejecutar la aplicación
CAL/Fundamentos 4
5. Dependencias de
Componentes
Los componentes pueden depender entre
si. Por ejemplo, un ejecutable puede
requerir el acceso a una biblioteca de
enlace dinámica (DLL). Los componentes
pueden ser dependientes en clases. Por
ejemplo, para compilar un archivo
ejecutable, usted necesita proporcionar las
clases fuente.
CAL/Fundamentos 5
6. Dependencias de
Componentes
Dado los elementos clave,
componente, interface del
componente y dependencias, usted
puede describir la aplicación física de
módulos de software y las relaciones
entre ellos.
CAL/Fundamentos 6
7. Notación
Un componente es modelado como
un rectángulo con dos rectángulos
pequeños centrados en el borde
izquierdo. El nombre se pone dentro
del rectángulo tal como lo hacemos
en el compartimiento de nombre de
una clase.
CAL/Fundamentos 7
8. Notación
Notación de un componente
OrderEntry.exe
CAL/Fundamentos 8
9. Estereotipos
Los componentes usan los estereotipos para
proporcionar las pistas visuales a su papel
dentro de la implementación. El UML define
cinco tipos de estereotipos del componente:
Executable: Un componente que corre en un
procesador
Library: Un conjunto de recursos referenciados por
un ejecutable durante el tiempo de ejecución
CAL/Fundamentos 9
10. Estereotipos
Table: Un componente de la base de
datos accedido por un ejecutable
File: Típicamente representa datos o
código fuente
Document: Un documento tal como una
página insertada en una página web
CAL/Fundamentos 10
12. Interface de Componente
Una interface de componente puede
modelarse de dos maneras. Una
manera es usar una clase con el
estereotipo <<interface>> ligado al
componente con una flecha de la
dependencia. Usted puede usar un
estereotipo de dependencia de
<<Implements>> para mostrar que el
componente implementa la interface.
CAL/Fundamentos 12
13. Interface de Componente
Interface Orden que implementa el
componente OrderEntry
<<EXE>> <<Implements>> <<Interface>>
OrderEntry.exe
Order
CAL/Fundamentos 13
14. Interface de Componente
Una segunda técnica es usar un
"chupetin" ligado al componente con
una línea sólida, llamado una
relación de la realización. Realizar la
interface significa implementar la
interface.
CAL/Fundamentos 14
16. Interface de Componente
Recuerde que la interface implementada por
un componente realmente se lleva a cabo por
las clases dentro del componente. De modo
que la interface ya debería estar definida en
sus diagramas de clase.
CAL/Fundamentos 16
17. Dependencias
las dependencias entre los
componentes son representados con
flechas discontinuas del componente
dependiente al componente del que
depende. Como con la dependencia de
interface, pueden estereotiparse las
dependencias entre los componentes.
CAL/Fundamentos 17
18. Construir un Diagrama De
Componentes
El estereotipo <<becomes>> muestra que el cosigo fuente se
vuelve un componente ejecutable y que se ejecuta en una
máquina diferente de la que reside el codigo fuente.
<<File>> <<becomes>> <<EXE>>
OrderEntry OrderEntry.exe
<<DLL>> <<Database>> <<Database>>
Orders.dll Inventory.tbl Orders.tbl
CAL/Fundamentos 18
19. Construir un Diagrama De
Componentes
El diagrama modela la aplicación de
entrada de orden. La aplicación
consiste en código fuente que se
vuelve código ejecutable. El ejecutable
maneja dos tablas de datos y un
componente de biblioteca.
CAL/Fundamentos 19
20. Tarea: Construir un DC
Control de inventario: requerimientos
Los clientes usan una interface gráfica de
usuario (GUI) de la aplicación receptor para
recibir los productos en el inventario.
La interface de usuario cliente (UI) accede al
componente receptor del servidor a través de
una interface de orden de compra.
El componente ejecutable del servidor depende
de tres bibliotecas de componentes: po.dll,
product.dll, e inventory.dll.
CAL/Fundamentos 20
21. Propuesta Solución
La interface del usuario se modela como un componente. La
aplicación receptor del servidor es otro componente.
<<EXE>> <<EXE>>
Receiving.exe UI.exe
PO
<<Library>> <<Library>> <<Library>>
PurchaseOrder.dll Product.dll Inventory.dll
CAL/Fundamentos 21
22. Propuesta Solución
El componente receptor del servidor
tiene una interface, el P.O. o interface
de orden de compra. La interface se
modela como un círculo pequeño con el
nombre debajo de él. Una flecha sólida
del componente receptor del servidor a
la interface define la interface le
pertenecer al componente servidor.
CAL/Fundamentos 22
23. Propuesta Solución
Cada uno de los componentes de
biblioteca se modela como un
componente separado, cada uno
conectado al servidor con una flecha
discontinua de dependencia de la
aplicación del servidor al componente
de biblioteca.
CAL/Fundamentos 23