Você está na página 1de 6

Curso de UML - Unified Modeling Language

UML – Diagramas de Componentes


e Modelação da Arquitectura Física

UML – diagramas de componentes, v.1.0, João Pascoal Faria, 2001 1

Diagrama de Componentes
n Captura a estrutura física da implementação
n Construído como parte da especificação da arquitectura
n Objectivo
• Organizar o código fonte (ambiente de desenvolvimento)
• Construir uma release executável (ambiente de produção)
• Especificar uma base de dados física

n Desenvolvido por arquitectos e programadores


n Contém componentes, interfaces e relações entre
componentes
n Pacotes de componentes podem ser usados para modelar a
arquitectura física

UML – diagramas de componentes, v.1.0, João Pascoal Faria, 2001 2

Faculdade de Engenharia da Universidade do Porto, 20 de Novembro a 19 de Dezembro de 2000


Ademar Aguiar, Gabriel David, João Pascoal Faria
Curso de UML - Unified Modeling Language

Componentes
n Um componente é uma parte física (feita de bits e bytes) e
substituível de um sistema, que proporciona a realização de um
conjunto de interfaces
• Podem-nos interessar diferentes ambientes: desenvolvimento, produção,
testes, ...

n Exemplos: executáveis, bibliotecas, tabelas, ficheiros,


documentos

n Um componente representa um empacotamento físico de


elementos relacionados logicamente (normalmente classes)

n Notação: caixa com tabs

kernel32.dll

UML – diagramas de componentes, v.1.0, João Pascoal Faria, 2001 3

Tipos de componentes - ícones e


estereótipos
<<executable>> componente que pode ser executado num nó

2 rodas
dentadas <<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

UML – diagramas de componentes, v.1.0, João Pascoal Faria, 2001 4

Faculdade de Engenharia da Universidade do Porto, 20 de Novembro a 19 de Dezembro de 2000


Ademar Aguiar, Gabriel David, João Pascoal Faria
Curso de UML - Unified Modeling Language

Interfaces
n Uma interface é um conjunto de operações usado para especificar
os serviços de uma classe ou componente
n Relação de concretização (realization): um componente pode
concretizar (implementar os serviços de) uma ou mais interfaces
• Normalmente quer dizer que tem classes que implementam esses interfaces
• Diz-se que as interfaces são exportadas
• Um componente poder ser substituído por outro componente que implementa
as mesmas interfaces
- Não basta obedecer à mesma sintaxe, mas também à mesma semântica

n Relação de dependência: um componente pode usar uma ou mais


interfaces
• Diz-se que essas interfaces são importadas
• Um componente que usa outro componente através de uma interface bem
definida, não deve depender da implementação (do componente em si), mas
apenas da interface

UML – diagramas de componentes, v.1.0, João Pascoal Faria, 2001 5

Interfaces – Exemplo 1

image.java componente.java
ImageObserver

ou com mais detalhe: dependência interface


concretização

<<interface>>
image.java ImageObserver componente.java
abort: int {final static}
error: int {final static}
imageUpdate(): Boolean

UML – diagramas de componentes, v.1.0, João Pascoal Faria, 2001 6

Faculdade de Engenharia da Universidade do Porto, 20 de Novembro a 19 de Dezembro de 2000


Ademar Aguiar, Gabriel David, João Pascoal Faria
Curso de UML - Unified Modeling Language

Interfaces – Exemplo 2 Java


Application
componente

JDBC
Visual Basic
Application
Sun JDBC-
SQL Server
ODBC brigde JDBC driver
interface
(mais precisamente, API)
ODBC

Oracle ODBC SQL Server ODBC


driver driver

Transact SQL

SQL Server
DBMS

UML – diagramas de componentes, v.1.0, João Pascoal Faria, 2001 7

Tipos de dependências entre


componentes
n Dependências simples:
• 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
• entre executáveis ou bibliotecas e tabelas ou documentos de ajuda
por eles usados

n Dependências estereotipadas:
• 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

n Não esquecer que é melhor depender das interfaces do que


das implementações

UML – diagramas de componentes, v.1.0, João Pascoal Faria, 2001 8

Faculdade de Engenharia da Universidade do Porto, 20 de Novembro a 19 de Dezembro de 2000


Ademar Aguiar, Gabriel David, João Pascoal Faria
Curso de UML - Unified Modeling Language

Dependências - Exemplo

UML – diagramas de componentes, v.1.0, João Pascoal Faria, 2001 9

Composição e agrupamento de
componentes
n Conforme o nome indica, os componentes são para compor
(montar), criando componentes maiores ou sistemas inteiros
n Exemplos:
• Base de dados composta por tabelas
• Biblioteca dinâmica (dll) composta por componentes COM+

n No caso de agrupamentos de componentes que não criam


componentes (físicos) maiores, usar pacotes de componentes

Base de dados de
biblioteca
Web site

«hyperlink»

Tabela Tabela de Tabela de


Web page 1 Web page n de sócios reservas publicações

UML – diagramas de componentes, v.1.0, João Pascoal Faria, 2001 10

Faculdade de Engenharia da Universidade do Porto, 20 de Novembro a 19 de Dezembro de 2000


Ademar Aguiar, Gabriel David, João Pascoal Faria
Curso de UML - Unified Modeling Language

Caso de estudo (biblioteca)


Pacotes de componentes

Páginas Web Dinâmicas do


SIB

Componentes de Lógica de
Negócio do SIB

Base de Dados do SIB

UML – diagramas de componentes, v.1.0, João Pascoal Faria, 2001 11

Caso de estudo (biblioteca)


Todos os componentes
Páginas Web Dinâmicas do SIB
Mostra menu que está
disponível em qualquer página
login.h index.html
para inserir
tml
novo

Segue um padrão! pesquisaAu


tores.html
pesquisaPubli
cações.html
pesquisaReq
uisições.html
pesquisaSó
cios.html
Qual é?
Como formalizar?
O padrão é arquitectura! listaAutor listaPublica
listaRequisiç listaSóci
es.asp ções.asp os.asp
ões.asp

fichaAutor. fichaPublica fichaRequi fichaSóc


asp ção.asp sição.asp io.asp

Componentes de Lógica de Negócio do SIB

<<COM+>> <<COM+>> <<COM+>> <<COM+>>


GestãoAuto GestãoPubli GestãoRequ GestãoSóci
res cações isições os

Base de Dados do SIB


<<dbtable>> <<dbtable>> <<dbtable>> <<dbtable>>
Autores Publicações Requisições Sócios

UML – diagramas de componentes, v.1.0, João Pascoal Faria, 2001 12

Faculdade de Engenharia da Universidade do Porto, 20 de Novembro a 19 de Dezembro de 2000


Ademar Aguiar, Gabriel David, João Pascoal Faria

Você também pode gostar