SlideShare une entreprise Scribd logo
1  sur  21
Pedro Ramos,
Diagramas de Componentes
Os diagramas de componentes permitem modelar a componente
física do sistema (tabelas, ficheiros executáveis, libraries, etc.).
Um componente é um fragmento físico de um sistema, que pode
ser conectado a outros componentes e ser substituído por
equivalentes.
Desenhar um diagrama de componentes implica tomar opções de
desenho, nomeadamente no que diz respeito à forma de
encapsulamento da informação. A arquitectura do sistema final
começa a ser definida nestes diagramas (e é completada através
dos Diagramas de Distribuição).
Nos diagramas de componentes constam componentes, interfaces e
relações.
UML – Diagrama de Componentes
Pedro Ramos,
Interfaces
UML – Diagrama de Componentes
Uma interface é um conjunto de operações que especifica parte
do comportamento de um conjunto de classes. São as operações
(serviços) que as classe oferecem ao exterior (outras classes).
Uma interface é frequentemente vista como um conjunto de
classes apenas com operações (sem atributos).
O encapsulamento de classes (através das interfaces) faz com que
o exterior não tenha que conhecer a estrutura interna das classes.
Nomeadamente, alterações da estrutura de uma classe não têm
que ser comunicadas para o exterior.
Não confundir com as interfaces de JAVA.
Pedro Ramos,
Exemplo de Interface (I)
O acesso à base de dados deve estar isolado das restantes módulos do sistema.
Este desenho facilita a migração de SGBD’s e permite que uma interface
interactue com mais que um SGBD. Apenas as classes de ligação a SGBD
conhecem a base de dados (localização).
Sybase
Oracle
Classes de Interface
para SGBD
(Select ... From ....)
Classe
Classe
UML – Diagrama de Componentes
Pedro Ramos,
Exemplo de Interface (II)
Não é aconselhável que as classes gráficas (ecrãs) sejam muito dependentes
do modelo relacional (pequenas alterações na base de dados não deveriam
originar alterações nos ecrãs). Por outro lado, as classes que encapsulam o
acesso à base de dados (ie., que permitem o acesso aos dados) deverão ser
independentes dos ecrãs (de modo a poderem ser partilhadas por diferentes
módulos).
Sybase
Oracle
Classes de Interface para SGBD
(Select ... From ....)
Classe
Classe
Classe
Classe
Classes de Interface gráficas
(Listeners)
UML – Diagrama de Componentes
Pedro Ramos,
Arquitectura Genérica de uma Aplicação
Caso seja relevante poderá existir
mais que uma “camada” (diferentes
níveis de encapsulamento).
Classes de Interface
para SGBD (transacções,
abrir, fechar, executar sql,
ODBC, JDBC, etc ...)
Classes gráficas
Número Título Autor
001
013
Tabela (BD)
Ecrã
MidlleWare
Camada de software que contém as os requisitos da
aplicação e que liga a BD aos ecrãs
Pedro Ramos,
Classes Dados versus Classes Controlo
Classes de manipulação de dados
Número Título Autor
001
013
Tabela (BD)
Ecrã
MidlleWare
cliente
factura
produto
Gestão
Clientes
Gestão
Assiduidade funcionário
Tabela
Faltas
Classes de controlo de requisitos
Requisito:
“Caso o
funcionário
exceda n
faltas do tipo
A desconta no
vencimento”
Implementado em
classes de controlo? Em
classes de dados? ...
provavelmente nas
classes de controlo
Pedro Ramos,
Interfaces e Realização (I)
UML – Diagrama de Componentes
Uma classe pode disponibilizar várias interfaces (um certo
paralelismo com as views do modelo relacional) e uma interface
pode ser realizada por mais do que uma classe.
A Realização é a relação entre uma classe e uma interface.
<<Interface>> Factura
Emitir()
AdicionarLinha()
RemoverLinha()
Anular()
Arquivar()
Factura
Número
Data
Linha da factura
Produto
Quantidade
Preço Unitário
1 … *
1
Emitir()
Anular()
Arquivar()
AdicionarLinha()
RemoverLinha() Realização
Podem corresponder
apenas a “apontadores”
para os métodos da
classe
Pedro Ramos,
Interfaces e Realização (II)
UML – Diagrama de Componentes
<<Interface>>
Funcionário
Alterardados()
Inserir()
Consulta()
Funcionário
Nome
Morada
Telefone
<<Interface>>
Consulta
Funcionário
Consulta()
Será útil a classe funcionário?,
i.e, no desenho de uma
aplicação suportada por uma
base de dados, deverão ser
implementadas as classes
correspondentes às classes do
diagrama de classes?
As interfaces poderão ser
suficientes?
Os atributos são necessários?
Alterardados()
Inserir()
Consulta()
Pedro Ramos,
Interfaces e Realização (III)
UML – Diagrama de Componentes
Funcionário
Nome
Morada
Salário
Novo()
Remover()
Alterar()
Actualizar Salário()
Consultar()
Não é um método de objecto
Apenas é um método de objecto
caso seja consultar apenas a
ficha de um fornecedor
Funcionário
Nome
Morada
Salário
Alterar()
Actualizar Salário()
ConsultarFicha()
Funcionários
Novo()
Remover()
Consultar()
Necessidade de duas classes
(Funcionários não tem
atributos porque representa
a colecção dos
funcionários)
Os atributos das classes são
públicos? Não de acordo
com a teoria dos objectos
Implementação:
a)
Actualizar Salário (IDObjecto, Novo Salário)
Ou b)
Integer Id Objecto;
Float Salário;
SetID()
SetSalário()
Actualizar Salário ()
Na solução a) não são
necessários atributos na
classe Funcionário
Uma classe
abstracta
parece
suficiente ...
A solução b) é uma
tentativa de de aplicar uma
teoria de objectos a uma
teoria (relacional) que não é
orientada a objectos?
... mas tem desvantagens,
por ex., ordem de atributos
Pedro Ramos,
Interfaces e Realização (IV)
On click em botão actualiza salário ...
Funcionario f = new() Funcionario
f.actualizasalario(idf,salario)
Public actualizasalario(id, s)
Update ......
Desvantagem: Ordem de atributos é relevante
Relacional
Funcionárioslistener
Pedro Ramos,
Notas
UML – Diagrama de Componentes
Usualmente na representação gráfica não se discriminam as
operações de uma interface.
Forma gráfica mais habitual para representar interfaces:
Funcionário
Funcionário
Nome
Morada
Telefone
AlterarDados()
Inserir()
Consulta()
Consulta
Funcionário
Pedro Ramos,
Visibilidade
UML – Diagrama de Componentes
O tipo de visibilidade dos atributos e métodos pode ser
indicado nas classes. Os tipos são:
public(+) – acessível a todas as classes
private(-) – acessível apenas à classe de que fazem parte
protected (#) – acessível às classes que herdam a classe de que
fazem parte
Funcionário
# Nome
# Morada
# Telefone
# AlterarDados()
- Inserir()
+ Consulta()
Forma alternativa (mais rígida, igual
para todas as classes exteriores) de
implementar interfaces.
Pedro Ramos,
Componentes
UML – Diagrama de Componentes
Um componente é uma parte física de um sistema que está
localizado em um computador. Um componente pode ser visto
como uma implementação de uma classe ou conjunto de classes
(packages) e respectivas interfaces.
Um componente também disponibiliza interfaces para o exterior.
É usual tipificar (através de ícones) vários tipos de componentes.
Stock.java Stock.bdFormsStock
JDBC Interface
O componente Stock.java usa (usage dependency) o componente Stock.bd
através de uma interface JDBC
Method Invocation
Pedro Ramos,
Nota
UML – Diagrama de Componentes
É possível graficamente enumerar as classes ou packages
contidos num componente. Não é usual fazer-se por razões de
legibilidade do diagrama, mas, caso se opte por não o fazer, é
necessário indicar os elementos de um componente de uma forma
não gráfica (documento anexo).
Pedro Ramos,
Diagramas de Distribuição
(Deployment)
Enquanto que os diagramas de componentes modelam a
arquitectura do software, os diagramas de distribuição definem a
arquitectura do hardware. Desenhar um diagrama de distribuição
consiste essencialmente em distribuir os componentes por
unidades de hardware (computadores).
Nos diagramas de distribuição constam nós (processadores e
devices) e relações (usualmente ligações físicas, embora possam
ser indicadas relações de dependência).
Os processadores são os nós capazes de executar componentes,
enquanto os devices são utilizados para discriminar a interface
para o exterior (impressoras, modems, monitores, etc.).
UML – Diagrama de Distribuição
Pedro Ramos,
Representação Gráfica
UML – Diagrama de Distribuição
FormStock.java
<< processador>>
ISP
<< device>>
Modem
<< processador>>
Cliente
Stock.java
Stock.bd
<< processador>>
Servidor
<< device>>
Impressora
<< device>>
Monitor
A indicação de
estereótipos é opcional
Indicação dos
componentes
Duas camadas
no mesmo
computador
Pedro Ramos,
Exemplo
Vídeo
Classes
Para gerar o
Relacional
Pedro Ramos,
Exemplo
Vídeo
Interfaces
Relações de
Dependência
Desapareceram atributos ...
Pedro Ramos,
Exemplo
Vídeo
Interfaces
(síntese)
Packages
Pedro Ramos,
Exemplo Vídeo
Diagrama de Componentes
Pedro Ramos,
Exemplo Vídeo
Diagrama de Distribuição

Contenu connexe

Tendances

Uml Diagramas Estruturais
Uml   Diagramas EstruturaisUml   Diagramas Estruturais
Uml Diagramas Estruturaisthaisedd
 
UML - Criando Diagramas Eficientes
UML - Criando Diagramas EficientesUML - Criando Diagramas Eficientes
UML - Criando Diagramas EficientesRodrigo Cascarrolho
 
Apostila de uml
Apostila de umlApostila de uml
Apostila de umlaudiclerio
 
Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho
Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. CarvalhoAula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho
Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. CarvalhoRudson Kiyoshi Souza Carvalho
 
Modelagem Aplicações Web com UML
Modelagem Aplicações Web com UMLModelagem Aplicações Web com UML
Modelagem Aplicações Web com UMLClaudio Martins
 
Aula 02 - UML e Padrões de Projeto
Aula 02 - UML e Padrões de ProjetoAula 02 - UML e Padrões de Projeto
Aula 02 - UML e Padrões de ProjetoVinícius de Paula
 
Engenharia de Software II - Atividade: Diagramas da UML
Engenharia de Software II - Atividade: Diagramas da UMLEngenharia de Software II - Atividade: Diagramas da UML
Engenharia de Software II - Atividade: Diagramas da UMLAlessandro Almeida
 
Metodologia orientado a objetos
Metodologia orientado a objetosMetodologia orientado a objetos
Metodologia orientado a objetosGabriel Faustino
 
Exercitando modelagem em UML
Exercitando modelagem em UMLExercitando modelagem em UML
Exercitando modelagem em UMLinfo_cimol
 
Análise Orientada a Objetos com UML
Análise Orientada a Objetos com UMLAnálise Orientada a Objetos com UML
Análise Orientada a Objetos com UMLEliseu Castelo
 
Aula 01 - UML e Padrões de Projeto
Aula 01 - UML e Padrões de ProjetoAula 01 - UML e Padrões de Projeto
Aula 01 - UML e Padrões de ProjetoVinícius de Paula
 
Padrões de projeto - Martin Fowler - P of EAA
Padrões de projeto - Martin Fowler - P of EAAPadrões de projeto - Martin Fowler - P of EAA
Padrões de projeto - Martin Fowler - P of EAAAricelio Souza
 
Diagramas de implantação
Diagramas de implantaçãoDiagramas de implantação
Diagramas de implantaçãoFitBlar Mit
 
Uml Diagramas estruturais - parte escrita
Uml   Diagramas estruturais - parte escritaUml   Diagramas estruturais - parte escrita
Uml Diagramas estruturais - parte escritathaisedd
 
Visibilidade e Diagrama de Classe de Projeto na UML
Visibilidade e Diagrama de Classe de Projeto na UMLVisibilidade e Diagrama de Classe de Projeto na UML
Visibilidade e Diagrama de Classe de Projeto na UMLufpb
 

Tendances (20)

Uml Diagramas Estruturais
Uml   Diagramas EstruturaisUml   Diagramas Estruturais
Uml Diagramas Estruturais
 
UML - Criando Diagramas Eficientes
UML - Criando Diagramas EficientesUML - Criando Diagramas Eficientes
UML - Criando Diagramas Eficientes
 
Apostila de uml
Apostila de umlApostila de uml
Apostila de uml
 
UML
UMLUML
UML
 
Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho
Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. CarvalhoAula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho
Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho
 
Modelagem Aplicações Web com UML
Modelagem Aplicações Web com UMLModelagem Aplicações Web com UML
Modelagem Aplicações Web com UML
 
Aula 02 - UML e Padrões de Projeto
Aula 02 - UML e Padrões de ProjetoAula 02 - UML e Padrões de Projeto
Aula 02 - UML e Padrões de Projeto
 
Engenharia de Software II - Atividade: Diagramas da UML
Engenharia de Software II - Atividade: Diagramas da UMLEngenharia de Software II - Atividade: Diagramas da UML
Engenharia de Software II - Atividade: Diagramas da UML
 
Metodologia orientado a objetos
Metodologia orientado a objetosMetodologia orientado a objetos
Metodologia orientado a objetos
 
Exercitando modelagem em UML
Exercitando modelagem em UMLExercitando modelagem em UML
Exercitando modelagem em UML
 
Análise Orientada a Objetos com UML
Análise Orientada a Objetos com UMLAnálise Orientada a Objetos com UML
Análise Orientada a Objetos com UML
 
Aula 01 - UML e Padrões de Projeto
Aula 01 - UML e Padrões de ProjetoAula 01 - UML e Padrões de Projeto
Aula 01 - UML e Padrões de Projeto
 
Padrões de projeto - Martin Fowler - P of EAA
Padrões de projeto - Martin Fowler - P of EAAPadrões de projeto - Martin Fowler - P of EAA
Padrões de projeto - Martin Fowler - P of EAA
 
Diagramas de implantação
Diagramas de implantaçãoDiagramas de implantação
Diagramas de implantação
 
Uml Diagramas estruturais - parte escrita
Uml   Diagramas estruturais - parte escritaUml   Diagramas estruturais - parte escrita
Uml Diagramas estruturais - parte escrita
 
Uml
UmlUml
Uml
 
Aula1 astah
Aula1 astahAula1 astah
Aula1 astah
 
Aula 5 -_fundamentos_de_uml
Aula 5 -_fundamentos_de_umlAula 5 -_fundamentos_de_uml
Aula 5 -_fundamentos_de_uml
 
Apostila uml
Apostila umlApostila uml
Apostila uml
 
Visibilidade e Diagrama de Classe de Projeto na UML
Visibilidade e Diagrama de Classe de Projeto na UMLVisibilidade e Diagrama de Classe de Projeto na UML
Visibilidade e Diagrama de Classe de Projeto na UML
 

Similaire à Componentes (20)

Trabalho de análise e projeto 2
Trabalho de análise e projeto 2Trabalho de análise e projeto 2
Trabalho de análise e projeto 2
 
Integração de Tecnologias
Integração de TecnologiasIntegração de Tecnologias
Integração de Tecnologias
 
diagrama de componentes
diagrama de componentesdiagrama de componentes
diagrama de componentes
 
Aula 5 uml1 (1)
Aula 5   uml1 (1)Aula 5   uml1 (1)
Aula 5 uml1 (1)
 
Aula diagramas de implementacao 3º periodo uniao
Aula diagramas de implementacao 3º periodo uniaoAula diagramas de implementacao 3º periodo uniao
Aula diagramas de implementacao 3º periodo uniao
 
Diagrama de implantação
Diagrama de implantaçãoDiagrama de implantação
Diagrama de implantação
 
Modelagem 21102006_2
Modelagem 21102006_2Modelagem 21102006_2
Modelagem 21102006_2
 
Apresentação sobre Diagrama de Classes com exemplos
Apresentação sobre Diagrama de Classes com exemplosApresentação sobre Diagrama de Classes com exemplos
Apresentação sobre Diagrama de Classes com exemplos
 
UMLIntro.pdf
UMLIntro.pdfUMLIntro.pdf
UMLIntro.pdf
 
CursoUML - Unified Modeling Language
CursoUML - Unified Modeling LanguageCursoUML - Unified Modeling Language
CursoUML - Unified Modeling Language
 
Arquitetura de Software EXPLICADA
Arquitetura de Software EXPLICADAArquitetura de Software EXPLICADA
Arquitetura de Software EXPLICADA
 
UMLIntro.pptx
UMLIntro.pptxUMLIntro.pptx
UMLIntro.pptx
 
Aula-04-UML.pptx
Aula-04-UML.pptxAula-04-UML.pptx
Aula-04-UML.pptx
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 
Apostila de-vb-net
Apostila de-vb-netApostila de-vb-net
Apostila de-vb-net
 
Camadas
CamadasCamadas
Camadas
 
Diagrama classes
Diagrama classesDiagrama classes
Diagrama classes
 
Diagramas uml
Diagramas umlDiagramas uml
Diagramas uml
 
UML1.pdf
UML1.pdfUML1.pdf
UML1.pdf
 
Artigo c#
Artigo c#Artigo c#
Artigo c#
 

Componentes

  • 1. Pedro Ramos, Diagramas de Componentes Os diagramas de componentes permitem modelar a componente física do sistema (tabelas, ficheiros executáveis, libraries, etc.). Um componente é um fragmento físico de um sistema, que pode ser conectado a outros componentes e ser substituído por equivalentes. Desenhar um diagrama de componentes implica tomar opções de desenho, nomeadamente no que diz respeito à forma de encapsulamento da informação. A arquitectura do sistema final começa a ser definida nestes diagramas (e é completada através dos Diagramas de Distribuição). Nos diagramas de componentes constam componentes, interfaces e relações. UML – Diagrama de Componentes
  • 2. Pedro Ramos, Interfaces UML – Diagrama de Componentes Uma interface é um conjunto de operações que especifica parte do comportamento de um conjunto de classes. São as operações (serviços) que as classe oferecem ao exterior (outras classes). Uma interface é frequentemente vista como um conjunto de classes apenas com operações (sem atributos). O encapsulamento de classes (através das interfaces) faz com que o exterior não tenha que conhecer a estrutura interna das classes. Nomeadamente, alterações da estrutura de uma classe não têm que ser comunicadas para o exterior. Não confundir com as interfaces de JAVA.
  • 3. Pedro Ramos, Exemplo de Interface (I) O acesso à base de dados deve estar isolado das restantes módulos do sistema. Este desenho facilita a migração de SGBD’s e permite que uma interface interactue com mais que um SGBD. Apenas as classes de ligação a SGBD conhecem a base de dados (localização). Sybase Oracle Classes de Interface para SGBD (Select ... From ....) Classe Classe UML – Diagrama de Componentes
  • 4. Pedro Ramos, Exemplo de Interface (II) Não é aconselhável que as classes gráficas (ecrãs) sejam muito dependentes do modelo relacional (pequenas alterações na base de dados não deveriam originar alterações nos ecrãs). Por outro lado, as classes que encapsulam o acesso à base de dados (ie., que permitem o acesso aos dados) deverão ser independentes dos ecrãs (de modo a poderem ser partilhadas por diferentes módulos). Sybase Oracle Classes de Interface para SGBD (Select ... From ....) Classe Classe Classe Classe Classes de Interface gráficas (Listeners) UML – Diagrama de Componentes
  • 5. Pedro Ramos, Arquitectura Genérica de uma Aplicação Caso seja relevante poderá existir mais que uma “camada” (diferentes níveis de encapsulamento). Classes de Interface para SGBD (transacções, abrir, fechar, executar sql, ODBC, JDBC, etc ...) Classes gráficas Número Título Autor 001 013 Tabela (BD) Ecrã MidlleWare Camada de software que contém as os requisitos da aplicação e que liga a BD aos ecrãs
  • 6. Pedro Ramos, Classes Dados versus Classes Controlo Classes de manipulação de dados Número Título Autor 001 013 Tabela (BD) Ecrã MidlleWare cliente factura produto Gestão Clientes Gestão Assiduidade funcionário Tabela Faltas Classes de controlo de requisitos Requisito: “Caso o funcionário exceda n faltas do tipo A desconta no vencimento” Implementado em classes de controlo? Em classes de dados? ... provavelmente nas classes de controlo
  • 7. Pedro Ramos, Interfaces e Realização (I) UML – Diagrama de Componentes Uma classe pode disponibilizar várias interfaces (um certo paralelismo com as views do modelo relacional) e uma interface pode ser realizada por mais do que uma classe. A Realização é a relação entre uma classe e uma interface. <<Interface>> Factura Emitir() AdicionarLinha() RemoverLinha() Anular() Arquivar() Factura Número Data Linha da factura Produto Quantidade Preço Unitário 1 … * 1 Emitir() Anular() Arquivar() AdicionarLinha() RemoverLinha() Realização Podem corresponder apenas a “apontadores” para os métodos da classe
  • 8. Pedro Ramos, Interfaces e Realização (II) UML – Diagrama de Componentes <<Interface>> Funcionário Alterardados() Inserir() Consulta() Funcionário Nome Morada Telefone <<Interface>> Consulta Funcionário Consulta() Será útil a classe funcionário?, i.e, no desenho de uma aplicação suportada por uma base de dados, deverão ser implementadas as classes correspondentes às classes do diagrama de classes? As interfaces poderão ser suficientes? Os atributos são necessários? Alterardados() Inserir() Consulta()
  • 9. Pedro Ramos, Interfaces e Realização (III) UML – Diagrama de Componentes Funcionário Nome Morada Salário Novo() Remover() Alterar() Actualizar Salário() Consultar() Não é um método de objecto Apenas é um método de objecto caso seja consultar apenas a ficha de um fornecedor Funcionário Nome Morada Salário Alterar() Actualizar Salário() ConsultarFicha() Funcionários Novo() Remover() Consultar() Necessidade de duas classes (Funcionários não tem atributos porque representa a colecção dos funcionários) Os atributos das classes são públicos? Não de acordo com a teoria dos objectos Implementação: a) Actualizar Salário (IDObjecto, Novo Salário) Ou b) Integer Id Objecto; Float Salário; SetID() SetSalário() Actualizar Salário () Na solução a) não são necessários atributos na classe Funcionário Uma classe abstracta parece suficiente ... A solução b) é uma tentativa de de aplicar uma teoria de objectos a uma teoria (relacional) que não é orientada a objectos? ... mas tem desvantagens, por ex., ordem de atributos
  • 10. Pedro Ramos, Interfaces e Realização (IV) On click em botão actualiza salário ... Funcionario f = new() Funcionario f.actualizasalario(idf,salario) Public actualizasalario(id, s) Update ...... Desvantagem: Ordem de atributos é relevante Relacional Funcionárioslistener
  • 11. Pedro Ramos, Notas UML – Diagrama de Componentes Usualmente na representação gráfica não se discriminam as operações de uma interface. Forma gráfica mais habitual para representar interfaces: Funcionário Funcionário Nome Morada Telefone AlterarDados() Inserir() Consulta() Consulta Funcionário
  • 12. Pedro Ramos, Visibilidade UML – Diagrama de Componentes O tipo de visibilidade dos atributos e métodos pode ser indicado nas classes. Os tipos são: public(+) – acessível a todas as classes private(-) – acessível apenas à classe de que fazem parte protected (#) – acessível às classes que herdam a classe de que fazem parte Funcionário # Nome # Morada # Telefone # AlterarDados() - Inserir() + Consulta() Forma alternativa (mais rígida, igual para todas as classes exteriores) de implementar interfaces.
  • 13. Pedro Ramos, Componentes UML – Diagrama de Componentes Um componente é uma parte física de um sistema que está localizado em um computador. Um componente pode ser visto como uma implementação de uma classe ou conjunto de classes (packages) e respectivas interfaces. Um componente também disponibiliza interfaces para o exterior. É usual tipificar (através de ícones) vários tipos de componentes. Stock.java Stock.bdFormsStock JDBC Interface O componente Stock.java usa (usage dependency) o componente Stock.bd através de uma interface JDBC Method Invocation
  • 14. Pedro Ramos, Nota UML – Diagrama de Componentes É possível graficamente enumerar as classes ou packages contidos num componente. Não é usual fazer-se por razões de legibilidade do diagrama, mas, caso se opte por não o fazer, é necessário indicar os elementos de um componente de uma forma não gráfica (documento anexo).
  • 15. Pedro Ramos, Diagramas de Distribuição (Deployment) Enquanto que os diagramas de componentes modelam a arquitectura do software, os diagramas de distribuição definem a arquitectura do hardware. Desenhar um diagrama de distribuição consiste essencialmente em distribuir os componentes por unidades de hardware (computadores). Nos diagramas de distribuição constam nós (processadores e devices) e relações (usualmente ligações físicas, embora possam ser indicadas relações de dependência). Os processadores são os nós capazes de executar componentes, enquanto os devices são utilizados para discriminar a interface para o exterior (impressoras, modems, monitores, etc.). UML – Diagrama de Distribuição
  • 16. Pedro Ramos, Representação Gráfica UML – Diagrama de Distribuição FormStock.java << processador>> ISP << device>> Modem << processador>> Cliente Stock.java Stock.bd << processador>> Servidor << device>> Impressora << device>> Monitor A indicação de estereótipos é opcional Indicação dos componentes Duas camadas no mesmo computador

Notes de l'éditeur

  1. Pode acontecer que as classes de interface para o cliente comuniquem directamente com as classes de interface para SGBD. No esquema estou a assumir situações em que várias classes (por exemplo, uma por tabela) podem ter apenas uma classe de interface para o exterior.
  2. Pode acontecer que as classes de interface para o cliente comuniquem directamente com as classes de interface para SGBD. No esquema estou a assumir situações em que várias classes (por exemplo, uma por tabela) podem ter apenas uma classe de interface para o exterior.
  3. Pode acontecer que as classes de interface para o cliente comuniquem directamente com as classes de interface para SGBD. No esquema estou a assumir situações em que várias classes (por exemplo, uma por tabela) podem ter apenas uma classe de interface para o exterior.