2. 2
Diagramas de componentes
Componentes
Interfaces
Componente vs Clase
Black box and White box
Puertos y delegaciones
Tipos de componentes
Ejemplos
Agenda
3. 3
Diagrama de Componentes
• Describe los componentes de software y sus dependencias entre sí, representando la
estructura del código
• Los componentes son la implementación en la arquitectura física de los conceptos y
la funcionalidad descrita en la arquitectura lógica (clases, objetos, sus relaciones, y
colaboraciones)
• Los componentes son típicamente los archivos de implementación en el ambiente de
desarrollo
• Parte modular del sistema
• Es autónomo y encapsulado
• Permite su reutilización y reemplazo
• Prevé interfaces que interactúa o provee servicios
• También se puede ver como si fuera un subsistema
4. 4
Diagrama de Componentes
• Un Componente es una parte física reemplazable de un sistema que conforma y
proporciona la implementación de un conjunto de interfaces
• Se utiliza para modelar elementos físicos que pueden hallarse en un nodo
• ejecutables, bibliotecas (DLLs), tablas, archivos, documentos, ...
• Es una parte modular de un sistema que encapsula el estado y comportamiento de
un conjunto de clasificadores (p.e. clases)
• Especifica un contrato de los servicios que proporciona y de los que requiere en
términos de interfaces requeridas y proporcionadas
• Es una unidad reemplazable que se puede sustituir en tiempo de diseño o
ejecución por otro componente que ofrezca la misma funcionalidad en base a la
compatibilidad de sus interfaces
6. 6
Interfaces
• Ilustran las dependencias que un componente de sw tiene con otro componente
• Permite que el componente sea reusable y reemplazable
• Dos tipos
• Provides (provista)
• Required (requerida)
7. 7
Interfaces
• La relación entre componente e interfaz es importante
• Unos componentes implementan las interfaces y otros acceden a los servicios proporcionados
por esas interfaces
• Estas relaciones se pueden mostrar en forma icónica o expandida:
13. 13
Componentes vs Clases
• Se parecen a las clases en que:
• tienen nombres, realizan interfaces, pueden participar en relaciones,
• Pero se diferencian en que:
• Las Clases
• Son abstracciones lógicas
• Tienen operaciones y atributos
• Los Componentes
• Son fragmentos físicos del sistema
• Tienen interfaces
14. 14
Compartimientos del componente
• Indicamos las interfaces que provee el
componente
• Se indican aquellas que se requiere
• En artifacts se coloca el archivo físico
donde se implementa el componente
15. 15
Black Box, While Box
• Black box
• Opaco
• Muestra como el componente luce
desde el exterior
• Se ve:
• El componente
• Interfaces requeridas provistas
• Su relación con otros
componentes
• While Box
• Transparente
• Muestra como se implementa la
funcionalidad de un componente
• Clases
• Interfaces
• Otros componetes
17. 17
Puertos y delegaciones
• El puerto agrupa interfaces que están relacionadas entre si
• Pueden ser bidireccionales
• El conecto de la delegación mapea la interface al interior del componente, muestra
de relaciones de manera más clara
19. 19
Tipos de componentes
• Application
• Para interfaces de usuairo, GUI,
páginas
• DataStore
• Locación persistente para los datos
• Document
• Un documento ya sea en formato
electrónico o impreso
• Entity
• Representación de un concepto de
negocio
• No tiene funcionalidad propia
• Puede guardar u obtener información
• Executable
• Un sw que puede ser ejecutado en el nodo
• File
• Un archivo
• Infraestructura
• Un componente técnico del sistema
• Library
• Una librería / biblioteca de funciones u
objetos
• Process
• Es dependiente de estado
• Puede satisfacer funcional
• Basado en transacciones
20. 20
Tipos de componentes
• Realization
• Implementa un componente en
particular
• Service
• Puede satisfacer una necesidad
funcional
• Usualmente no es persistente
• Source Code
• Archivo con código fuente
• Specification
• Solo contiene interfaces y no
implementaciones
• Subsystem
• Forma parte de un sistema mayor
• Es auto-contenido
• Es más grande que un solo componente
• Table
• Una tabla de BD
• Webservice
• Un servicio web
• Xml DTD
• Documento de definición de tipos de Xml
26. 26
Ejemplos
Diagrama de componentes
de Seguridad
Tal como la Autoridad
Certificadora (Certificate
Authority), el navegador
(Browser), el servidor WEB y
otros elementos del modelo
para asegurar la provisión de
la seguridad en el sistema
propuesto
28. 28
Cŕeditos
Transparencias basadas por:
• Christopher Exposito Izquierdo & AiRam Exposito Marquez & otros
• Martina Seidl · Marion Scholz, Christian Huemer · Gerti Kappel
• UML @ Classroom An Introduction to Object-Oriented Modeling
• ANÁLISIS Y DISEÑO DE SISTEMAS, 8va Edición KENNETH E. KENDALL,
JULIE E. KENDALL
• Domingo Gallardo, Metodología de Desarrollo de Software, Domingo
Gallardo.Univ. Alicante