UML 2.0
O que é um componente?
Componente
 É uma parte do sistema que é física e substituível e que
esta em conformidade com um conjunto de
interfaces(fornecidas e/ou requeridas).
 Um componente é parte do sistema e é reutilizável.
Componente
 Na UML 2
 ...uma parte modular de um sistema que encapsula seu
conteúdo e cuja manifestação seja substituível dentro de
seu ambiente.
 Um componente define seu comportamento em termos de
interfaces fornecidas e requeridas.
Componente
 Um componente é substituível
 Deve-se, portanto, poder adicionar novos componentes e
substituir componentes antigos.
 Um componente deve estar de acordo com um conjunto
de interfaces (conjunto de métodos) que o realiza.
O que seria então um
Diagrama de Componentes?
Diagramas de Componentes
 Especificação de um conjunto de componentes e suas
interdependências.
 Representam de forma estática, aspectos físicos do sistema
que está sendo modelado.
 São importantes para visualizar, especificar e documentar
sistemas baseados em componentes.
 Eles mostram um conjunto de componentes e seus
relacionamentos.
Diagramas de Componentes
 São tipicamente usados para:
 Modelar a organização do código fonte;
 Modelar lançamento de executáveis (release);
 Modelar fisicamente um banco de dados;
 Modelar sistemas adaptativos.
Diagramas de Componentes
 Modelar a organização do código fonte:
 na implementação das classes definidas durante a
modelagem, o código gerado será armazenado fisicamente
em arquivos, o diagrama de componentes servem como
forma de gerenciamento destes arquivos.
 Modelar lançamento de executáveis (releases):
 uma versão de um sistema envolve combinações
específicas de diversas partes. O diagrama de componentes
pode modelar os diversos componentes necessários para
uma determinada versão do sistema.
Diagramas de Componentes
 Modelar fisicamente um banco de dados:
 considerando-se que as informações do sistema serão
armazenadas em arquivos ou tabelas de um banco de
dados, um diagrama de componentes pode mostrar os
arquivos (ou tabelas) do banco de dados e seus
relacionamentos.
 Modelar sistemas adaptativos:
 a execução de alguns sistemas baseia-se no uso de
componentes dinâmicos (carga dinâmica, agentes móveis,
etc.), que podem ser descritos através de um diagrama de
componentes conjuntamente com outros diagramas da
UML.
Diagrama de Componentes
 O principal elemento sintático deste diagrama é o
componente.
UML 1.x
UML 2
Opcional
<<component>>
nomeDoComponente
nomeDoComponente
Diagrama de Componentes
Interfaces oferecidas (I1, I2)
Interfaces requeridas (I3)
Associação de interfaces a portas
p1
l1
l2
l3
<<component>>
Componente1
<<component>>
l1
l2
l3
Componente1
p2
Diagrama de Componentes
 Relacionamento entre componentes
l1
l2
<<component>>
Componente1
l3
l3
<<component>>
Componente2
Conector de Montagem: estabelece uma ligação entre componentes, em que uma
interface (conjunto de métodos) requerida por um é fornecida por outro.
Diagrama de Componentes
 Relacionamento de componentes
<<component>>
ComponenteX
: Classe1
: Classe2
Conector de Delegação: relaciona os métodos fornecidos com os elementos da
estrutura interna responsável por implementá-los ou para relacionar o elemento
interno que invoca um método requerido à porta pela qual ocorre essa invocação.
Exemplo de um Diagrama de
Componentes
ImageObserver: é uma interface.
Componente.py: implementa(fornece) essa interface.
image.py: depende(requer) da interface.
Exemplo de um Diagrama de
Componentes
Objetivo
 O principal objetivo deste diagrama segundo Scott
Ambler, é possibilitar a construção de artefatos para o
perfil de arquitetura da solução, seja para a arquitetura
técnica ou a de negócios.
Dúvidas?
Download

Diagrama de Componentes