Buscar

Diagrama de Componentes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1 
UML Estrutural - 
Diagrama de Componentes 
Franklin Ramalho 
Universidade Federal de Campina Grande - 
UFCG 
 DDM- UFCG 
2 
Agenda 
• Contexto e motivação 
• Diagrama de Componentes 
– Conceitos 
• Artefatos 
• Conectores 
• Meta-modelo 
• Sintaxe concreta 
• Exemplos 
 DDM- UFCG 
3 
Contexto e Motivação 
• Como construir sistemas de software de tamanho e 
complexidade arbitrárias? 
– Como especificar um sistema com centenas de classes, atributos, 
relações, etc? 
 
• Como permitir que outros sistemas reusem os artefatos já 
construídos? 
 
• Como abstrair as funcionalidades destes artefatos? 
 
• Como se preocupar no quê ao invés do como? 
 DDM- UFCG 
4 
Contexto e Motivação 
• Como representar a arquitetura de um sistema? 
 
• A arquitetura de software de um sistema consiste na 
definição dos módulos de software, suas propriedades 
externas, seus contratos, e seus relacionamentos com 
outros módulos e/ou softwares 
 
• Adotar uma arquitetura correta pode ajudar na gerência 
complexidade e trazer diversos benefícios 
– Diminuir riscos 
 
• Baixa escalabilidade e performance, podem ser decorrentes 
de uma arquitetura ruim 
 
 DDM- UFCG 
5 
Diagrama de Componentes 
• Um diagrama de componentes é uma 
unidade modular com interfaces bem 
definidas indicando sua(s) 
funcionalidade(s) 
 
• Diagrama UML para descrever arquiteturas 
de software 
 DDM- UFCG 
6 
Diagrama de Componentes 
• Componentes devem ser independentes 
– Maior grau de reuso 
 
• Componentes conectados via interfaces 
– Providas 
– Requeridas 
– Opcionalmente, expostas através de portas 
 
• Componentes contêm: 
– Especificação externa 
– Implementação interna 
 
• Componentes lógicos versus componentes físicos 
– Pode ser utilizado em ambos 
– Componentes de negócio, componentes de processo, etc. 
– Componentes EJB, CORBA, .NET, etc. 
2 
 DDM- UFCG 
7 
Componentes 
• Um componente representa uma parte modular de um 
sistema que encapsula seu conteúdo e cuja manifestação é 
substituível dentro de um ambiente. 
 
• Como uma caixa-preta 
 
• Podem ser substituídos por outros componentes 
– Contratos respeitados 
 
• Desenvolvimento Baseado em Componentes 
 
 
 DDM- UFCG 
8 
Interfaces 
• Podem incluir atributos e operações públicas do 
componente 
 
• Interfaces definem apenas a especificação para suas 
operações 
– Isso não implica em qualquer implementação particular 
 
• Nomenclatura sugerida: 
– Iniciar com o prefixo “I” 
– Terminar com o sufixo “ável” (“able”) 
 DDM- UFCG 
9 
Diagrama de Componentes 
• Perfis UML baseados em componentes são 
desenvolvidos para tecnologias específicas 
que dão suporte a componentes 
 DDM- UFCG 
10 
Diagrama de Componentes 
• Componentes podem ser substituídos por outros 
componentes 
– Respeitando os contratos (interfaces providas e requeridas) 
 
• Montagem de componentes 
– Conectando interfaces 
 
• Funcionalidades complexas de um sistema podem ser 
“montadas” 
– Reuso de componentes 
 
• Diferentes níveis de abstração 
 DDM- UFCG 
11 
Diagrama de Componentes 
• Componentes encapsulam a estrutura e comportamento de 
um conjunto de artefatos 
– Uses cases, classes, pacotes, etc. 
 
• Componentes especificam um contrato formal 
– Serviços que ele provê para os seus clientes (interfaces providas) 
– Serviços requeridos por outros (interfaces requeridas) 
 
• Interfaces podem ser organizadas em portas 
 
• Componentes podem ser agrupados em pacotes 
 DDM- UFCG 
12 
Diagrama de Componentes 
• Componentes podem possuir portas 
 
• Uma porta é uma janela explícita em um componente 
encapsulado 
 
– Todas as interações passam pelas portas 
– Interfaces providas/requeridas podem ser suportadas por portas 
– Possuem nome e multiplicidade 
– Facilitam o encapsulamento e independência 
– Duas portas conectam-se apenas se elas casam suas interfaces 
(providas e requeridas) 
3 
 DDM- UFCG 
13 
Diagrama de Componentes 
• Componentes podem conter outros componentes 
 
• Estrutura interna de um componente é a parte que compõe 
a sua implementação juntamente com suas conexões 
– Podem ser instâncias de componentes menores (partes) 
 
 
 
 DDM- UFCG 
14 
Diagrama de Componentes 
• Mas, pacotes não permitem reuso? 
 
 
• Componentes são unidades autônomas dentro do sistema 
 
 
• Como autônomo? Não pode haver dependências? 
– Sim, mas componentes são encapsulados e suas dependências 
são projetadas de uma forma que o componente seja tratado de 
forma independente 
 DDM- UFCG 
15 
Componentes - sintaxe 
Componente com 1 
interface provida 
Componente com 2 
interfaces providas e 3 
interfaces requeridas 
 DDM- UFCG 
16 
Componentes - sintaxe 
 DDM- UFCG 
17 
Componentes - sintaxe 
 DDM- UFCG 
18 
Componentes - sintaxe 
Realizam o 
componente Customer 
(Classes internas do 
Componente) 
4 
 DDM- UFCG 
19 
Diagrama de Componentes 
• Conector é um relacionamento de comunicação entre duas 
partes ou portas no contexto de um componente 
 
• Conectores de delegação 
– Declara quais partes de um componente realizam/requerem, de fato, 
o comportamento disponibilizado por este (por outro) 
– Liga um contrato externo com partes internas de um componente 
 
• Conectores de montagem 
– Declara qual componente provê serviço para qual outro 
componente que requer este serviço e vice-versa 
– De uma interface requerida para uma interface provida 
 DDM- UFCG 
20 
Diagrama de Componentes 
• É possível conectar portas internas e externas do 
componente 
 
• Conectores de montagem implicam que não há um 
conhecimento especial entre os dois componentes 
– Maior flexibilidade 
 DDM- UFCG 
21 
Conectores de delegação - sintaxe 
Conectores de 
delegação 
 DDM- UFCG 
22 
Conectores de montagem - sintaxe 
Conector de 
montagem 
 DDM- UFCG 
23 
Componentes - sintaxe 
Componentes 
aninhados 
 DDM- UFCG 
24 
Mais exemplos - WSMDA 
• WSMDA é um framework [Carlos et al, 2011] que permite a aplicação de 
operações de transformação Model to Model, de MDA, via Web Services. 
 
• O Framework adota uma arquitetura no modelo Cliente-Servidor, 
exercendo o lado do Servidor. Esta arquitetura permite que diferentes 
aplicações, de múltiplos clientes, se comuniquem com um único ponto 
de acesso que provê as operações do WSMDA. Desse modo, todos os 
clientes se mantêm utilizando a versão mais nova do servidor. A 
comunicação entre clientes e servidor é realizada com o uso de Web 
Services, permitindo versatilidade na escolha de linguagens de 
programação e plataforma para o desenvolvimento das aplicações 
cliente. 
5 
 DDM- UFCG 
25 
Mais exemplos - WSMDA 
• A arquitetura do WSMDA é composta por três componentes de alto 
nível: WebService, Core e Serializer. 
 
• O componente WebService provê a interface de comunicação para os 
usuários finais online. Ele tem oobjetivo de gerenciar pedidos para as 
operações disponíveis e redirecionar tais pedidos para o componente 
controlador de informações, WSMDA Core. O tratamento de requisições 
concorrentes é controlado também pelo componente WebService que 
passa apenas solicitações em sequência para as operações do Core. As 
definições das operações de MDA e de transferência de dados são feitas 
pela fachada WSMDAWebServiceFacade. O uso dessa fachada permite 
que os componentes mencionados passem por modificações internas e 
ainda assim mantenham a integridade das operações entre si e os 
clientes. 
 DDM- UFCG 
26 
Mais exemplos - WSMDA 
[Carlos et al, 2011] 
 DDM- UFCG 
27 
Mais exemplos - WSMDA 
• O componente Core é responsável por gerenciar os 
artefatos MDA que foram enviados por diferentes usuários e 
usar estes artefatos para realizar as operações MDA 
requisitadas. Ele também trata os erros internos que podem 
ocorrer pelo envio de arquivos incorretos ou parâmetros 
inválidos. 
 DDM- UFCG 
28 
Mais exemplos - WSMDA 
[Carlos et al, 2011] 
 DDM- UFCG 
29 
Mais exemplos - WSMDA 
• A serialização de arquivos e sua organização é feita pelo 
componente Serializer. Ele controla a forma como esses 
arquivos são guardados, o modo como algumas informações 
úteis são salvas e, principalmente, mantém a privacidade 
dos usuários quanto aos seus dados, não permitindo que 
outros clientes, usando o serviço ao mesmo tempo, vejam 
informações que não foram enviadas por eles. Os artefatos 
enviados são guardados com a biblioteca padrão de java 
para arquivos, File Stream, mas dados importantes são 
guardados no formato XML para fácil acesso. 
 DDM- UFCG 
30 
Mais exemplos - WSMDA 
[Carlos et al, 2011] 
6 
 DDM- UFCG 
31 
Mais exemplos - WSMDA 
[Carlos et al, 2011] 
 DDM- UFCG 
32 
UML 2.0 Superstructure 
• Dividido em 3 pacotes de alto nível: 
– Structure 
 
 
– Behavior 
 
 
– Supplement 
 
 
 
• Sub-dividida em outros sub-pacotes 
Diagramas 
estruturais 
Diagramas 
comportamentais 
Conceitos 
adicionais 
 DDM- UFCG 
33 
UML 2.0 Superstructure – Part I 
Structure 
Conceitos relativos ao diagrama 
de classes 
Conceitos que permitem especificar 
a estrutura interna de uma classe 
(composição de elementos 
interconectados) 
Conceitos relativos ao diagrama 
de componentes 
Conceitos relativos ao diagrama 
de desenvolvimento 
 DDM- UFCG 
34 
UML 2.0 Superstructure – Part II 
Behavior 
Define um componente como 
uma unidade executável dentro 
do sistema 
Define um componente como um 
grupo coerente de elementos 
dentro do processo de 
desenvolvimento 
 DDM- UFCG 
35 
Meta-modelo para diagrama de 
componentes 
Define a forma como o 
componente é instanciado 
 DDM- UFCG 
36 
Meta-modelo para diagrama de 
componentes 
7 
 DDM- UFCG 
37 
Meta-modelo para diagrama de 
componentes 
 DDM- UFCG 
38 
Exercícios 
• Elabore uma arquitetura com um diagrama de componentes 
UML para: 
 
– Um sistema de relacionamento da internet 
 
– Um sistema de busca da Web 
 
– Um sistema do campeonato brasileiro de futebol da série A ou da 
Copa do Mundo 
 
 DDM- UFCG 
39 
Referências 
• Especificação de UML da OMG.

Continue navegando