Buscar

AULA DiagComponentes SI22017 1

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
[Especificação de UML da OMG]
[Especificação de UML da OMG]
DDM- UFCG
16
Componentes - sintaxe
[Especificação de UML da OMG]
DDM- UFCG
17
Componentes - sintaxe
Realizam o 
componente Customer
(Classes internas do 
Componente)
[Especificação de UML da OMG]
DDM- UFCG
18
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
4
DDM- UFCG
19
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
20
Conectores de delegação - sintaxe
Conectores de 
delegação
[Especificação de UML da OMG]
DDM- UFCG
21
Conectores de montagem - sintaxe
Conector de 
montagem
[Especificação de UML da OMG]
[Especificação de UML da OMG]
DDM- UFCG
22
Componentes - sintaxe
Componentes 
aninhados
[Especificação de UML da OMG]
DDM- UFCG
23
Mais exemplos - WSMDA
• WSMDA é um framework [Vieira 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.
DDM- UFCG
24
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 o objetivo 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.
5
DDM- UFCG
25
Mais exemplos - WSMDA
[Vieira et al, 2011]
DDM- UFCG
26
Mais exemplos - WSMDA
• O componente Core é responsável por gerenciar os
artefatos MDA que foram enviados por diferentes usuários e
usar estesartefatos 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
27
Mais exemplos - WSMDA
[Vieira et al, 2011]
DDM- UFCG
28
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
29
Mais exemplos - WSMDA
[Vieira et al, 2011]
DDM- UFCG
30
Mais exemplos - WSMDA
[Vieira et al, 2011]
6
DDM- UFCG
31
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
32
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
33
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
[Especificação de UML da OMG]
DDM- UFCG
34
Meta-modelo para diagrama de 
componentes
Define a forma como o 
componente é instanciado
[Especificação de UML da OMG]
DDM- UFCG
35
Meta-modelo para diagrama de 
componentes
[Especificação de UML da OMG]
DDM- UFCG
36
Meta-modelo para diagrama de 
componentes
[Especificação de UML da OMG]
7
DDM- UFCG
37
Exercícios
• Elabore uma arquitetura com um diagrama de componentes
UML para:
– Um sistema de uma rede social 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
38
Referências
• Especificação de UML da OMG: http://www.omg.org
• Vieira, C. ; Paes, C. ; RAMALHO, F. . WSMDA - A Framework
to Provide MDA Operations as Web Services. In: Brazilizan
Workshop on Model-Driven Software Development, 2011,
São Paulo. Proceeding of the II Brazilizan Workshop on
Model-Driven Software Development, 2011.

Continue navegando