Este documento describe los diagramas de componentes y sus elementos. Explica que los diagramas de componentes muestran la estructura del código mediante la representación de los componentes de software y sus dependencias. Define los componentes como partes modulares que encapsulan estado y comportamiento, especifican interfaces y pueden reutilizarse. También describe los tipos de interfaces, la diferencia entre componentes y clases, y provee ejemplos de diagramas de componentes para sistemas de clínicas veterinarias, tiendas en línea y bibliotecas.
2
Diagramas decomponentes
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
Interfaces
• Ilustran lasdependencias 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ónentre 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
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, WhileBox
• 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
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
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
Ejemplos
Diagrama de componentes
deSeguridad
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
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