Buscar

9b UML DiagramasImplementacao

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 15 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 15 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 9, do total de 15 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

Unified Modeling Language
Diagramas de Implementação
José Correia, Junho 2006
(http://paginas.ispgaya.pt/~jcorreia/)
José Correia UML – Diagramas de Implementação 2
Diagramas de implementação
Diagramas de Componentes
José Correia UML – Diagramas de Implementação 4
Componentes
? Um componente (de software) pode ser:
• código fonte
• um executável
• uma biblioteca
• uma tabela de uma base de dados
• um ficheiro contendo código fonte ou dados
• um documento genérico
? Notação: Um componente (genérico)
é representado por um rectângulo com tabs kernel32.dll
José Correia UML – Diagramas de Implementação 5
Exemplos de componentes
José Correia UML – Diagramas de Implementação 6
Tipos de componentes
? Componentes de produto do trabalho
• exemplos: ficheiros com código fonte, ficheiros de dados, etc.
? Componentes de distribuição (deployment)
• necessários e suficientes para executar um sistema
• exemplos: executáveis, bibliotecas, ficheiros de configuração, etc.
? Componentes resultantes da execução
• criados em consequência da execução de um sistema
José Correia UML – Diagramas de Implementação 7
Tipos de componentes: ícones e estereótipos
<<executable>> : componente que pode ser executado num nó
<<library>> : biblioteca estática ou dinâmica
<<database>> : base de dados
<<table>> : tabela de uma base de dados
<<file>> : ficheiro contendo código fonte ou dados
<<document>> : documento genérico
2 rodas 
dentadas
José Correia UML – Diagramas de Implementação 8
Exemplo de um diagrama de componentes
José Correia UML – Diagramas de Implementação 9
Tipos de dependências entre componentes
? Dependências normais
• entre ficheiros com código fonte
- para controlo de alterações
• entre executáveis e/ou bibliotecas
- para gestão de configurações e dependências
? Dependências com estereótipos
• estereótipo «hyperlink»
- entre páginas HTML ou páginas HTML e executáveis
• estereótipo «trace»
- entre versões consecutivas do mesmo tipo de componente
José Correia UML – Diagramas de Implementação 10
O que é um diagrama de componentes?
? Um diagrama de componentes...
• ilustra a organização e dependências entre componentes de software
- mostra as dependências entre os componentes de software, incluindo o source 
code e os componentes executáveis
• contém componentes, interfaces e relações entre componentes
• é usado para mostrar as divisões físicas usadas nas implementações
- os diagramas de pacotes mostram as divisões lógicas ou conceptuais
• é construído como parte da especificação da arquitectura do sistema
José Correia UML – Diagramas de Implementação 11
Composição e agrupamento de componentes
? Conforme o nome indica, os componentes são para compor (montar),
criando componentes maiores ou sistemas inteiros
? Exemplos:
• Base de dados composta por tabelas
• Biblioteca dinâmica (DLL) composta por componentes COM+
? No caso de agrupamentos de componentes que não criam 
componentes (físicos) maiores, usar pacotes de componentes
Base de dados 
de biblioteca
Tabela 
de 
reservas
Tabela 
de 
sócios
Tabela de 
publicações
Web site
Web page nWeb page 1
«hyperlink»
Diagramas de Distribuição
José Correia UML – Diagramas de Implementação 13
Exemplo de um diagrama de distribuição
José Correia UML – Diagramas de Implementação 14
O que é um diagrama de distribuição?
? Um diagrama de distribuição (deployment)...
• contém nós e conexões entre nós
- os nós podem ser instâncias (têm o nome sublinhado) ou classes
- normalmente, os nós representam plataformas de hardware
- é possível agrupar nós em pacotes
• ilustra a distribuição física do sistema, num ambiente de produção (ou 
teste) 
- captura a topologia do hardware do sistema
• mostra a distribuição dos componentes ao longo da organização
- cada componente pertence a um nó
- os componentes que não existem como entidades de run-time não aparecem 
nestes diagramas
- devem surgir em diagramas de componentes
José Correia UML – Diagramas de Implementação 15
Tipos de Nós
? Exemplos de tipos de nós (abstractos) que podem ser implementados 
em runtime
José Correia UML – Diagramas de Implementação 16
Instâncias de Tipos de Nós
? Criação e ligação 
entre instâncias de 
tipos de Nós
? São usadas 
mensagens para 
ilustrar o fluxo de 
informação entre Nós
• Billing file
• Order information
José Correia UML – Diagramas de Implementação 17
Componentes e Nós
? um diagrama de distribuição mostra 
a localização dos componentes, em 
termos de servidores, PCs, etc.
• pode, também, ilustrar ligações de 
rede, largura de banda de LANs, etc.
José Correia UML – Diagramas de Implementação 18
Dependências
? As dependências são usadas em diagramas de distribuição para ilustrar 
relações e podem ser estereotipadas
• por exemplo, o estereótipo «DCOM» pode ser usado na dependência (protocolo de 
ligação) entre um objecto cliente e servidor
José Correia UML – Diagramas de Implementação 19
Exemplo
? O exemplo seguinte mostra as relações entre componentes de software e de 
hardware, envolvidos em transacções de bens imobiliários (real estate)
José Correia UML – Diagramas de Implementação 20
José Correia UML – Diagramas de Implementação 21
? O modelo físico descreve os componentes, de hardware e software
• plataformas de hardware (em UML chamadas “Nós”), ligações de rede, 
componentes de software, sistemas operativos, etc.
? Os diagramas de distribuição são o complemento dos diagramas de 
componentes
José Correia UML – Diagramas de Implementação 22
Diagramas de implementação
? Diagramas de componentes
• organizar o código fonte (ambiente de desenvolvimento)
• construir uma release executável (ambiente de instalação)
? Diagramas de distribuição
• especificar a distribuição de componentes (pelos Nós)
• identificar estrangulamentos de desempenho
? Os analistas usam os diagramas de distribuição para indicar quais são 
os módulos de código (componentes de software) que irão estar nas 
plataformas de hardware (Nós)
José Correia UML – Diagramas de Implementação 23
Arquitectura
? A arquitectura da casota de um cão
• pode ser feita por uma única pessoa
• requer apenas
- modelização mínima (ou nenhuma)
- processos simples
- ferramentas simples
? A arquitectura de um arranha céus
• exige uma equipa especializada
• requer
- modelização extensiva
- processos bem definidos
- ferramentas poderosas
José Correia UML – Diagramas de Implementação 24
Arquitectura de software
? A arquitectura de software compreende um conjunto de decisões
• a definição dos elementos estruturais que compõem o sistema
- blocos básicos de construção
• a especificação de comportamentos envolvendo colaborações entre 
esses elementos
• a composição dos elementos estruturais e comportamentais em 
subsistemas cada vez maiores
• a explicitação do estilo arquitectónico que guia a organização do 
sistema
? A definição da arquitectura é parte integrante (de alto nível) do 
projecto (design) do sistema
José Correia UML – Diagramas de Implementação 25
Arquitectura lógica
? Estrutura lógica
• Refere-se à decomposição hierárquica do sistema em módulos lógicos e 
à especificação dos interfaces e dependências entre módulos
• Especificada em UML por diagramas de pacotes lógicos
- relações de composição e dependência entre pacotes, e classes exportadas 
por cada pacote
? Comportamento
• especificada em UML por colaborações parametrizadas
- combinam estrutura (diagrama de classes) e
- comportamento (diagramas de interacção), no âmbito de um caso de uso ou 
mecanismo
José Correia UML – Diagramas de Implementação 26
Arquitectura lógica por camadas
Relational
Database
Graphical
User
InterfaceRelational
Database
Graphical
User
Interface
Business
Object
Model
Graphical
User
Interface
Business
Object
Model
Relational
Database
2 camadas 3 camadas mais camadas
Graphical User 
Interface
Relational 
Database
Diagrama UML
Divisão horizontal, em camadas!
Também é possível uma divisão vertical, em subsistemas!
José Correia UML – Diagramas de Implementação 27
Arquitectura física
? Estrutura física do software
• Refere-se à decomposição do sistema em módulos físicos...
- tipicamente ficheiros (chamados componentes em UML)
... e à especificação de interfaces e dependências entre módulos
• Especificada em UML por diagramas de componentes
- com interfaces exportados (realizados) e importados (usados) por cada 
componente
? Ambiente de hardware
• Refere-se à especificação da topologia de hardware (equipamentos e 
conexões) em que correm os componentes de software
• Especificada em UML por diagramas de distribuição
José Correia UML – Diagramas de Implementação 28
Arquitectura e Casos de uso
? Modelos de arquitectura são construídos depois dos modelos de 
casos de uso
? Casos de uso especificam função
? Arquitectura especifica forma / organização
? Arquitectura do software procura satisfazer/é condicionada pelos 
requisitos funcionais (definidos implicitamente pelos casos de uso) e 
não funcionais do software
José Correia UML – Diagramas de Implementação 29
Referências
? Estes apontamentos foram baseados em:
? “UML – Unified Modeling Language”, Curso em Tecnologia de 
Objectos, FEUP, Novembro 2000
Ademar Aguiar, Gabriel David, João Pascoal Faria
? “Software Architecture and the UML”, Grady Booch, Rational Software
? “Practical UML: A Hands-On Introduction for Developers”,
TogetherSoft Corporation
? Introduction to UML: Structural Modeling and Use Cases, Cris Kobryn, 
UML Revision Task Force, November 2000

Outros materiais