Especialização em Desenvolvimento Java
UML e Padrões de Projetos
Aula 02 – DIAGRAMA DE CLASSES
Prof. Vinícius de Paula - viniciusdepaula@unitri.edu.br
Diagrama de Classes
•  Seu principal enfoque está em:
•  Permitir a visualização das classes que irão compor o sistema com seus
respectivos atributos e métodos;
•  Demonstrar como as classes do diagrama se relacionam,
complementam e transmitem informações entre si.
•  Apresenta uma visão estática de como as classes estão
organizadas, preocupando-se em como definir a estrutura lógica das
mesmas.
UML e Padrões de Projeto Centro Universitário do Triângulo
2
Diagrama de Classes
•  Na fase de análise, um modelo conceitual do diagrama de classes é
produzido.
•  As informações que o software necessitará, em termos de classes e seus
atributos, bem como as associações entre as classes devem ser
representadas
•  Já na fase de projeto, com base no modelo conceitual do diagrama
de classe é produzido o modelo de domínio.
•  A solução do problema é enfocada.
•  Os métodos que as classes poderão conter fazem parte de como o software
será desenvolvido e por este motivo eles devem aparecer no modelo de
domínio.
UML e Padrões de Projeto Centro Universitário do Triângulo
3
Atributos e Métodos
•  Classes costumam ter:
•  Atributos que armazenam os dados dos objetos da classe e;
•  Métodos que são funções que uma instância da classe pode executar.
UML e Padrões de Projeto Centro Universitário do Triângulo
4
Nome da Classe
Atributos
Operações
Características
Comportamento
Visibilidade
•  Marcações de acesso podem ser usadas para especificar o tipo de
acesso permitido aos atributos e métodos da classe.
+ público
# protegido
- privado
Nenhuma marcação para default
UML e Padrões de Projeto Centro Universitário do Triângulo
5
Relacionamentos
•  Permite compartilhar informações e colaborar com a execução dos
processos do sistema.
•  Descreve um vínculo que ocorre normalmente entre os objetos de uma
ou mais classes.
•  Os relacionamentos são representados por linhas ligando as classes
envolvidas.
UML e Padrões de Projeto Centro Universitário do Triângulo
6
Tipos de Relacionamentos
•  Os tipos de relacionamentos são:
•  Associação
•  Agregação
•  Composição
•  Especialização/Generalização
•  Dependência
UML e Padrões de Projeto Centro Universitário do Triângulo
7
Associação
Herança
Dependência
Agregação
Composição
Associação Unária ou Reflexiva
•  Ocorre quando existe um relacionamento de um objeto de uma
classe com objetos da mesma classe.
•  No exemplo abaixo, um funcionário pode supervisionar outros
funcionários.
•  O supervisor de um funcionário também é um funcionário da empresa e,
portanto, também se constitui em uma instância da classe Funcionario.
UML e Padrões de Projeto Centro Universitário do Triângulo
8
Um funcionário pode não supervisionar ninguém,
ou pode supervisionar um ou mais funcionários
Multiplicidade
•  Procura determinar o número mínimo e máximo de objetos
envolvidos em cada extremidade da associação.
•  Permite especificar o nível de dependência de um objeto para com
os outros envolvidos na associação.
UML e Padrões de Projeto Centro Universitário do Triângulo
9
1 empresa possui 1 ou mais pessoas ligadas a ela
1 pessoa está ligada a apenas 1 empresa
Tipos de Multiplicidade
•  Não especificada
•  Exatamente um
•  Zero ou mais
•  Muitos (mesmo que 0..*)
•  Um e somente um
•  Um ou mais
•  Zero ou um
•  Intervalo determinado
•  Valores múltiplos
UML e Padrões de Projeto Centro Universitário do Triângulo
10
1
0..*
*
1..*
0..1
2..4
2, 4..6
1..1
Papéis
•  Informações extras na associação que podem ajudar a explicar a
função de um objeto (o papel que este representa) dentro da
associação.
UML e Padrões de Projeto Centro Universitário do Triângulo
11
Associação Binária
•  Ocorrem quando são identificados relacionamentos entre objetos de
duas classes distintas.
UML e Padrões de Projeto Centro Universitário do Triângulo
12
public class Funcionario {
private int nroMatricula;
private String nome;
private double salario;
private Dependente [] dependentes;
//métodos
}
public class Dependente {
private String nome;
private String parentesco;
//métodos
}
Navegabilidade
•  É representada por uma seta em uma das extremidades e identifica
o sentido em que as informações são transmitidas entre os objetos
das classes envolvidas.
•  No exemplo abaixo, um objeto da classe Funcionario poderá chamar
métodos da classe Dependente.
UML e Padrões de Projeto Centro Universitário do Triângulo
13
Agregação
•  Demonstra que as informações de um objeto (objeto-todo) precisam
ser complementadas pelas informações contidas em um ou mais
objetos de outra classe (objetos-parte).
•  O símbolo de agregação contém um losango na extremidade da classe
que contém os objetos-todo.
UML e Padrões de Projeto Centro Universitário do Triângulo
14Objetos da classe Pessoa são objetos-todo que precisam ter suas
informações complementadas pelos objetos da classe ContaComum,
que nesta associação são objetos-parte.
Agregação
•  A associação de agregação pode, em muitos casos ser substituída
por uma associação binária simples.
•  A função principal de uma de uma associação do tipo agregação é
identificar a obrigatoriedade de uma complementação das informações
de um objeto-todo por seus objetos-parte, quando este for consultado.
UML e Padrões de Projeto Centro Universitário do Triângulo
15
Composição
•  É uma variação da agregação e considerada mais forte.
•  O objeto-parte não pode existir sem o objeto-todo.
•  Se o objeto-todo for destruído, o objeto-parte também será.
UML e Padrões de Projeto Centro Universitário do Triângulo
16
Composição
•  É uma variação da agregação e considerada mais forte.
•  O objeto-parte não pode existir sem o objeto-todo.
•  Se o objeto-todo for destruído, o objeto-parte também será.
UML e Padrões de Projeto Centro Universitário do Triângulo
17
Generalização/Especialização
•  Tem como objetivo representar a ocorrência de herança entre as
classes identificando as superclasses e subclasses.
UML e Padrões de Projeto Centro Universitário do Triângulo
18
Classe Associativa
•  Classes produzidas quando as associações possuem a
multiplicidade muitos (*) em todas as suas extremidades.
•  São necessárias nos casos em que existem atributos relacionados à
associação que não podem ser armazenados por nenhuma das classes
envolvidas.
UML e Padrões de Projeto Centro Universitário do Triângulo
19
Classe Associativa
•  Classes produzidas quando as associações possuem a
multiplicidade muitos (*) em todas as suas extremidades.
•  São necessárias nos casos em que existem atributos relacionados à
associação que não podem ser armazenados por nenhuma das classes
envolvidas.
UML e Padrões de Projeto Centro Universitário do Triângulo
20
Um ator pode atuar em muitos filmes, e um filme pode ter muitos atores atuando nele.
Classe Associativa
Caso um ator interpretasse dois papéis em um mesmo filme?
UML e Padrões de Projeto Centro Universitário do Triângulo
21
Classe Associativa
Caso um ator interpretasse dois papéis em um mesmo filme?
O uso da classe associativa não seria o mais adequado.
Poderíamos inserir uma classe normal atuando como uma classe
intermediária.
UML e Padrões de Projeto Centro Universitário do Triângulo
22
Classe Associativa
Caso um ator interpretasse dois papéis em um mesmo filme?
O uso da classe associativa não seria o mais adequado.
Poderíamos inserir uma classe normal atuando como uma classe
intermediária.
UML e Padrões de Projeto Centro Universitário do Triângulo
23
Dependência
•  Identifica certo grau de dependência de uma classe em relação à
outra.
•  Uma dependência difere de uma associação porque a conexão entre as
classes é temporária.
UML e Padrões de Projeto Centro Universitário do Triângulo
24
Dependência
•  Identifica certo grau de dependência de uma classe em relação à
outra.
•  Uma dependência difere de uma associação porque a conexão entre as
classes é temporária.
UML e Padrões de Projeto Centro Universitário do Triângulo
25
Funcionario não instancia um Automovel, apenas usa-o como parâmetro de um método
Realização
•  Tipo de relacionamento especial que mistura características de
generalização e dependência.
•  Usada para identificar classes responsáveis por executar funções para
outras classes.
UML e Padrões de Projeto Centro Universitário do Triângulo
26
Realização
•  Tipo de relacionamento especial que mistura características de
generalização e dependência.
•  Usada para identificar classes responsáveis por executar funções para
outras classes.
UML e Padrões de Projeto Centro Universitário do Triângulo
27
A classe Monitor implementa algum dos serviços oferecidos pela classe IMonitor.
Restrição
•  Informações extras que definem condições a serem validadas
durante a implementação dos métodos de uma classe, das
associações entre as classes ou mesmo de seus atributos.
•  Representadas por textos limitados por chaves.
UML e Padrões de Projeto Centro Universitário do Triângulo
28
Restrição
•  Restrições podem ser aplicadas também para validar um atributo ou
método de uma classe.
UML e Padrões de Projeto Centro Universitário do Triângulo
29
Estereótipos
•  Possibilitam certo grau de extensibilidade aos componentes ou
associações.
•  Permite a identificação de componentes ou associações que, embora
semelhantes aos outros, tenham alguma característica que os
diferenciem.
•  Existem 3 estereótipos predefinidos na UML bastante utilizados nos
diagramas de classes:
•  <<entity>>
•  <<boundary>>
•  <<control>>
UML e Padrões de Projeto Centro Universitário do Triângulo
30
Classes Estereotipadas
•  Entity: classe de entidade, geralmente implementa os objetos
persistentes.
•  Boundary: classe de fronteira, geralmente interfaces gráficas.
•  Control: classe de controle, geralmente implementa as regras de
negócio.
UML e Padrões de Projeto Centro Universitário do Triângulo
31
Estereótipo <<entity>>
•  Tem por objetivo tornar explícito que uma classe é uma entidade.
•  Uma entidade é uma classe contém informações recebidas e
armazenadas pelo sistema ou geradas por meio deste.
•  Classes com o estereótipo <<entity>> também fornecem a
informação de que normalmente terão muitos objetos, podendo
ainda serem persistidos.
UML e Padrões de Projeto Centro Universitário do Triângulo
32
Estereótipo <<entity>>
•  Tem por objetivo tornar explícito que uma classe é uma entidade.
•  Uma entidade é uma classe contém informações recebidas e
armazenadas pelo sistema ou geradas por meio deste.
•  Classes com o estereótipo <<entity>> também fornecem a
informação de que normalmente terão muitos objetos, podendo
ainda serem persistidos.
UML e Padrões de Projeto Centro Universitário do Triângulo
33
Fica explícito que a classe ContaComum é uma entidade, ela armazena informações
referentes ao problema que o sistema no qual ela está inserida procura solucionar.
Estereótipo Customizado
•  No exemplo abaixo, definimos um novo estereótipo chamado
<<persistente>> para deixar claro que a classe tem que preservar
fisicamente suas instâncias.
UML e Padrões de Projeto Centro Universitário do Triângulo
34
Estereótipo <<boundary>>
•  Identifica uma classe que serve de comunicação entre os atores
externos e o sistema propriamente dito.
•  Muitas vezes uma classe <<boundary>> é associada à própria interface
do sistema.
•  Uma classe do tipo <<boundary>> muitas vezes necessita interagir com
outra classe do tipo <<control>>
•  Sua utilização é importante quando é preciso definir a existência de uma
interface para o sistema.
UML e Padrões de Projeto Centro Universitário do Triângulo
35
Estereótipo <<control>>
•  Identifica classes que servem de intermédio entre as classes
<<boundary>> e as demais classes do sistema.
•  Os objetos <<control>> são responsáveis por interpretar os eventos
ocorridos sobre os objetos <<boundary>> e retransmiti-los aos objetos
das classes de entidade que fazem parte do sistema.
UML e Padrões de Projeto Centro Universitário do Triângulo
36
Estereótipo <<control>>
•  Identifica classes que servem de intermédio entre as classes
<<boundary>> e as demais classes do sistema.
•  Os objetos <<control>> são responsáveis por interpretar os eventos
ocorridos sobre os objetos <<boundary>> e retransmiti-los aos objetos
das classes de entidade que fazem parte do sistema.
UML e Padrões de Projeto Centro Universitário do Triângulo
37
A classe InterfaceBanco representa a interface do sistema e seus objetos representam os
componentes gráficos, os eventos que ocorrem sobre tais objetos são repassados para
um objeto da classe ControladorBanco que interpretará esses eventos.
Boundary, Control e Entity
UML e Padrões de Projeto Centro Universitário do Triângulo
38
Exemplo de Diagrama de Classes
UML e Padrões de Projeto Centro Universitário do Triângulo
39
UML e Padrões de Projeto Centro Universitário do Triângulo
40
Lista de Exercícios II
UML e Padrões de Projeto Centro Universitário do Triângulo
41
UML e Padrões de Projeto - Lista de Exercícios II.pdf
45min
Bibliografia
•  GUEDES, Gilleanes. UML Uma Abordagem Prática. Editora Novatec.
São Paulo, 2014.
•  FURLAN, José. Modelagem de Objetos através da UML. Editora
Makron Books.
•  BOOCH, Grady; RUMBAUGH, James; JACOBSON, Ivar. UML Guia do
Usuário. Editora Campus.
UML e Padrões de Projeto Centro Universitário do Triângulo
42

Aula 02 - UML e Padrões de Projeto

  • 1.
    Especialização em DesenvolvimentoJava UML e Padrões de Projetos Aula 02 – DIAGRAMA DE CLASSES Prof. Vinícius de Paula - viniciusdepaula@unitri.edu.br
  • 2.
    Diagrama de Classes • Seu principal enfoque está em: •  Permitir a visualização das classes que irão compor o sistema com seus respectivos atributos e métodos; •  Demonstrar como as classes do diagrama se relacionam, complementam e transmitem informações entre si. •  Apresenta uma visão estática de como as classes estão organizadas, preocupando-se em como definir a estrutura lógica das mesmas. UML e Padrões de Projeto Centro Universitário do Triângulo 2
  • 3.
    Diagrama de Classes • Na fase de análise, um modelo conceitual do diagrama de classes é produzido. •  As informações que o software necessitará, em termos de classes e seus atributos, bem como as associações entre as classes devem ser representadas •  Já na fase de projeto, com base no modelo conceitual do diagrama de classe é produzido o modelo de domínio. •  A solução do problema é enfocada. •  Os métodos que as classes poderão conter fazem parte de como o software será desenvolvido e por este motivo eles devem aparecer no modelo de domínio. UML e Padrões de Projeto Centro Universitário do Triângulo 3
  • 4.
    Atributos e Métodos • Classes costumam ter: •  Atributos que armazenam os dados dos objetos da classe e; •  Métodos que são funções que uma instância da classe pode executar. UML e Padrões de Projeto Centro Universitário do Triângulo 4 Nome da Classe Atributos Operações Características Comportamento
  • 5.
    Visibilidade •  Marcações deacesso podem ser usadas para especificar o tipo de acesso permitido aos atributos e métodos da classe. + público # protegido - privado Nenhuma marcação para default UML e Padrões de Projeto Centro Universitário do Triângulo 5
  • 6.
    Relacionamentos •  Permite compartilharinformações e colaborar com a execução dos processos do sistema. •  Descreve um vínculo que ocorre normalmente entre os objetos de uma ou mais classes. •  Os relacionamentos são representados por linhas ligando as classes envolvidas. UML e Padrões de Projeto Centro Universitário do Triângulo 6
  • 7.
    Tipos de Relacionamentos • Os tipos de relacionamentos são: •  Associação •  Agregação •  Composição •  Especialização/Generalização •  Dependência UML e Padrões de Projeto Centro Universitário do Triângulo 7 Associação Herança Dependência Agregação Composição
  • 8.
    Associação Unária ouReflexiva •  Ocorre quando existe um relacionamento de um objeto de uma classe com objetos da mesma classe. •  No exemplo abaixo, um funcionário pode supervisionar outros funcionários. •  O supervisor de um funcionário também é um funcionário da empresa e, portanto, também se constitui em uma instância da classe Funcionario. UML e Padrões de Projeto Centro Universitário do Triângulo 8 Um funcionário pode não supervisionar ninguém, ou pode supervisionar um ou mais funcionários
  • 9.
    Multiplicidade •  Procura determinaro número mínimo e máximo de objetos envolvidos em cada extremidade da associação. •  Permite especificar o nível de dependência de um objeto para com os outros envolvidos na associação. UML e Padrões de Projeto Centro Universitário do Triângulo 9 1 empresa possui 1 ou mais pessoas ligadas a ela 1 pessoa está ligada a apenas 1 empresa
  • 10.
    Tipos de Multiplicidade • Não especificada •  Exatamente um •  Zero ou mais •  Muitos (mesmo que 0..*) •  Um e somente um •  Um ou mais •  Zero ou um •  Intervalo determinado •  Valores múltiplos UML e Padrões de Projeto Centro Universitário do Triângulo 10 1 0..* * 1..* 0..1 2..4 2, 4..6 1..1
  • 11.
    Papéis •  Informações extrasna associação que podem ajudar a explicar a função de um objeto (o papel que este representa) dentro da associação. UML e Padrões de Projeto Centro Universitário do Triângulo 11
  • 12.
    Associação Binária •  Ocorremquando são identificados relacionamentos entre objetos de duas classes distintas. UML e Padrões de Projeto Centro Universitário do Triângulo 12 public class Funcionario { private int nroMatricula; private String nome; private double salario; private Dependente [] dependentes; //métodos } public class Dependente { private String nome; private String parentesco; //métodos }
  • 13.
    Navegabilidade •  É representadapor uma seta em uma das extremidades e identifica o sentido em que as informações são transmitidas entre os objetos das classes envolvidas. •  No exemplo abaixo, um objeto da classe Funcionario poderá chamar métodos da classe Dependente. UML e Padrões de Projeto Centro Universitário do Triângulo 13
  • 14.
    Agregação •  Demonstra queas informações de um objeto (objeto-todo) precisam ser complementadas pelas informações contidas em um ou mais objetos de outra classe (objetos-parte). •  O símbolo de agregação contém um losango na extremidade da classe que contém os objetos-todo. UML e Padrões de Projeto Centro Universitário do Triângulo 14Objetos da classe Pessoa são objetos-todo que precisam ter suas informações complementadas pelos objetos da classe ContaComum, que nesta associação são objetos-parte.
  • 15.
    Agregação •  A associaçãode agregação pode, em muitos casos ser substituída por uma associação binária simples. •  A função principal de uma de uma associação do tipo agregação é identificar a obrigatoriedade de uma complementação das informações de um objeto-todo por seus objetos-parte, quando este for consultado. UML e Padrões de Projeto Centro Universitário do Triângulo 15
  • 16.
    Composição •  É umavariação da agregação e considerada mais forte. •  O objeto-parte não pode existir sem o objeto-todo. •  Se o objeto-todo for destruído, o objeto-parte também será. UML e Padrões de Projeto Centro Universitário do Triângulo 16
  • 17.
    Composição •  É umavariação da agregação e considerada mais forte. •  O objeto-parte não pode existir sem o objeto-todo. •  Se o objeto-todo for destruído, o objeto-parte também será. UML e Padrões de Projeto Centro Universitário do Triângulo 17
  • 18.
    Generalização/Especialização •  Tem comoobjetivo representar a ocorrência de herança entre as classes identificando as superclasses e subclasses. UML e Padrões de Projeto Centro Universitário do Triângulo 18
  • 19.
    Classe Associativa •  Classesproduzidas quando as associações possuem a multiplicidade muitos (*) em todas as suas extremidades. •  São necessárias nos casos em que existem atributos relacionados à associação que não podem ser armazenados por nenhuma das classes envolvidas. UML e Padrões de Projeto Centro Universitário do Triângulo 19
  • 20.
    Classe Associativa •  Classesproduzidas quando as associações possuem a multiplicidade muitos (*) em todas as suas extremidades. •  São necessárias nos casos em que existem atributos relacionados à associação que não podem ser armazenados por nenhuma das classes envolvidas. UML e Padrões de Projeto Centro Universitário do Triângulo 20 Um ator pode atuar em muitos filmes, e um filme pode ter muitos atores atuando nele.
  • 21.
    Classe Associativa Caso umator interpretasse dois papéis em um mesmo filme? UML e Padrões de Projeto Centro Universitário do Triângulo 21
  • 22.
    Classe Associativa Caso umator interpretasse dois papéis em um mesmo filme? O uso da classe associativa não seria o mais adequado. Poderíamos inserir uma classe normal atuando como uma classe intermediária. UML e Padrões de Projeto Centro Universitário do Triângulo 22
  • 23.
    Classe Associativa Caso umator interpretasse dois papéis em um mesmo filme? O uso da classe associativa não seria o mais adequado. Poderíamos inserir uma classe normal atuando como uma classe intermediária. UML e Padrões de Projeto Centro Universitário do Triângulo 23
  • 24.
    Dependência •  Identifica certograu de dependência de uma classe em relação à outra. •  Uma dependência difere de uma associação porque a conexão entre as classes é temporária. UML e Padrões de Projeto Centro Universitário do Triângulo 24
  • 25.
    Dependência •  Identifica certograu de dependência de uma classe em relação à outra. •  Uma dependência difere de uma associação porque a conexão entre as classes é temporária. UML e Padrões de Projeto Centro Universitário do Triângulo 25 Funcionario não instancia um Automovel, apenas usa-o como parâmetro de um método
  • 26.
    Realização •  Tipo derelacionamento especial que mistura características de generalização e dependência. •  Usada para identificar classes responsáveis por executar funções para outras classes. UML e Padrões de Projeto Centro Universitário do Triângulo 26
  • 27.
    Realização •  Tipo derelacionamento especial que mistura características de generalização e dependência. •  Usada para identificar classes responsáveis por executar funções para outras classes. UML e Padrões de Projeto Centro Universitário do Triângulo 27 A classe Monitor implementa algum dos serviços oferecidos pela classe IMonitor.
  • 28.
    Restrição •  Informações extrasque definem condições a serem validadas durante a implementação dos métodos de uma classe, das associações entre as classes ou mesmo de seus atributos. •  Representadas por textos limitados por chaves. UML e Padrões de Projeto Centro Universitário do Triângulo 28
  • 29.
    Restrição •  Restrições podemser aplicadas também para validar um atributo ou método de uma classe. UML e Padrões de Projeto Centro Universitário do Triângulo 29
  • 30.
    Estereótipos •  Possibilitam certograu de extensibilidade aos componentes ou associações. •  Permite a identificação de componentes ou associações que, embora semelhantes aos outros, tenham alguma característica que os diferenciem. •  Existem 3 estereótipos predefinidos na UML bastante utilizados nos diagramas de classes: •  <<entity>> •  <<boundary>> •  <<control>> UML e Padrões de Projeto Centro Universitário do Triângulo 30
  • 31.
    Classes Estereotipadas •  Entity:classe de entidade, geralmente implementa os objetos persistentes. •  Boundary: classe de fronteira, geralmente interfaces gráficas. •  Control: classe de controle, geralmente implementa as regras de negócio. UML e Padrões de Projeto Centro Universitário do Triângulo 31
  • 32.
    Estereótipo <<entity>> •  Tempor objetivo tornar explícito que uma classe é uma entidade. •  Uma entidade é uma classe contém informações recebidas e armazenadas pelo sistema ou geradas por meio deste. •  Classes com o estereótipo <<entity>> também fornecem a informação de que normalmente terão muitos objetos, podendo ainda serem persistidos. UML e Padrões de Projeto Centro Universitário do Triângulo 32
  • 33.
    Estereótipo <<entity>> •  Tempor objetivo tornar explícito que uma classe é uma entidade. •  Uma entidade é uma classe contém informações recebidas e armazenadas pelo sistema ou geradas por meio deste. •  Classes com o estereótipo <<entity>> também fornecem a informação de que normalmente terão muitos objetos, podendo ainda serem persistidos. UML e Padrões de Projeto Centro Universitário do Triângulo 33 Fica explícito que a classe ContaComum é uma entidade, ela armazena informações referentes ao problema que o sistema no qual ela está inserida procura solucionar.
  • 34.
    Estereótipo Customizado •  Noexemplo abaixo, definimos um novo estereótipo chamado <<persistente>> para deixar claro que a classe tem que preservar fisicamente suas instâncias. UML e Padrões de Projeto Centro Universitário do Triângulo 34
  • 35.
    Estereótipo <<boundary>> •  Identificauma classe que serve de comunicação entre os atores externos e o sistema propriamente dito. •  Muitas vezes uma classe <<boundary>> é associada à própria interface do sistema. •  Uma classe do tipo <<boundary>> muitas vezes necessita interagir com outra classe do tipo <<control>> •  Sua utilização é importante quando é preciso definir a existência de uma interface para o sistema. UML e Padrões de Projeto Centro Universitário do Triângulo 35
  • 36.
    Estereótipo <<control>> •  Identificaclasses que servem de intermédio entre as classes <<boundary>> e as demais classes do sistema. •  Os objetos <<control>> são responsáveis por interpretar os eventos ocorridos sobre os objetos <<boundary>> e retransmiti-los aos objetos das classes de entidade que fazem parte do sistema. UML e Padrões de Projeto Centro Universitário do Triângulo 36
  • 37.
    Estereótipo <<control>> •  Identificaclasses que servem de intermédio entre as classes <<boundary>> e as demais classes do sistema. •  Os objetos <<control>> são responsáveis por interpretar os eventos ocorridos sobre os objetos <<boundary>> e retransmiti-los aos objetos das classes de entidade que fazem parte do sistema. UML e Padrões de Projeto Centro Universitário do Triângulo 37 A classe InterfaceBanco representa a interface do sistema e seus objetos representam os componentes gráficos, os eventos que ocorrem sobre tais objetos são repassados para um objeto da classe ControladorBanco que interpretará esses eventos.
  • 38.
    Boundary, Control eEntity UML e Padrões de Projeto Centro Universitário do Triângulo 38
  • 39.
    Exemplo de Diagramade Classes UML e Padrões de Projeto Centro Universitário do Triângulo 39
  • 40.
    UML e Padrõesde Projeto Centro Universitário do Triângulo 40
  • 41.
    Lista de ExercíciosII UML e Padrões de Projeto Centro Universitário do Triângulo 41 UML e Padrões de Projeto - Lista de Exercícios II.pdf 45min
  • 42.
    Bibliografia •  GUEDES, Gilleanes.UML Uma Abordagem Prática. Editora Novatec. São Paulo, 2014. •  FURLAN, José. Modelagem de Objetos através da UML. Editora Makron Books. •  BOOCH, Grady; RUMBAUGH, James; JACOBSON, Ivar. UML Guia do Usuário. Editora Campus. UML e Padrões de Projeto Centro Universitário do Triângulo 42

Notas do Editor

  • #3 É um dos diagramas mais importantes e mais utilizados da UML. O Diagrama de classes serve como base para a construção da maioria dos outros diagramas da linguagem UML.
  • #4 É um dos diagramas mais importantes e mais utilizados da UML. O Diagrama de classes serve como base para a construção da maioria dos outros diagramas da linguagem UML.
  • #5 Métodos, também chamados operações... - Os valores dos atributos podem variar de uma instância para outra. - Os métodos são idênticos para todas as instâncias de uma classe específica.
  • #6 Public: Uma declaração com o modificador public pode ser acessada de qualquer lugar e por qualquer entidade que possa visualizar a classe a que ela pertence. Private: Os membros da classe definidos como não podem ser acessados ou usados por nenhuma outra classe. Esse modificador não se aplica às classes, somente para seus métodos e atributos. Esses atributos e métodos também não podem ser visualizados pelas classes herdadas. Protected: O modificador protected torna o membro acessível às classes do mesmo pacote ou através de herança, seus membros herdados não são acessíveis a outras classes fora do pacote em que foram declarados. Default: A classe e/ou seus membros são acessíveis somente por classes do mesmo pacote, na sua declaração não é definido nenhum tipo de modificador, sendo este identificado pelo compilador.
  • #9 Se comparada ao modelo ER, seria um auto-relacionamento. Essa associação determina se um funcionário pode ou não chefia outros funcionários.
  • #10 1 instância da classe Empresa está associada a 1 ou mais instâncias de Pessoa 1 instância da classe Pessoa está relacionada a apenas 1 instância da classe Empresa
  • #12 O uso de papéis pode facilitar a compreensão da associação existente, mas nem sempre é necessário, e seu uso excessivo pode deixar os diagramas visualmente muito poluídos.
  • #13 Esse tipo de associação é a mais comumente encontrada.
  • #14 A recíproca não é verdadeira.
  • #15 Tipo especial de associação... Este tipo de associação tenta demonstrar uma relação todo/parte entre os objetos associados. Uma pessoa pode possuir muita contas, um conta pode ser possuída por várias pessoas (conta conjunta). Objetos-parte podem ser compartilhados por mais de um objeto-todo.
  • #17 Um vínculo mais forte entre os objetos-todo e os objetos-parte.
  • #18 Um vínculo mais forte entre os objetos-todo e os objetos-parte.
  • #19 Demonstra a hierarquia entre as classes e possivelmente métodos polifórmicos nas classes especializadas. Classes com características semelhantes Duas classes especializadas derivadas de ContaComum. ContaEspecial: atributo limite diz respeito a quanto o cliente pode sacar além do saldo. ContaPoupanca: contém o atributo dtAnivesario que diz respeito a data em que a conta renderá juros
  • #20 Um ator pode atuar em muitos filmes, e um filme pode ter muitos atores atuando nele. Um ator atuando em um filme terá um único papel. Um ator específico atuando em um determinado filme. Como existe a multiplicidade em ambas as classes da associação, não há como reservar atributos para armazenar as informações decorrentes da associação em quaisquer das classes.
  • #21 Um ator pode atuar em muitos filmes, e um filme pode ter muitos atores atuando nele. Classe para armazenar os atributos transmitidos pela associação
  • #22 Um ator pode atuar em muitos filmes, e um filme pode ter muitos atores atuando nele.
  • #23 Classe intermediária: Apresenta, exatamente, a mesma função da classe associativa, podendo possuir seus próprios atributos.
  • #24 Um ator pode atuar em um ou mais papéis em um filme. Um ator pode atuar em um ou mais papéis em muitos filmes.
  • #25 Criar objetos, recebê-los como parâmetros ou retorná-los como resultado de algum método normalmente implica em uma dependência com a classe do objeto.
  • #26 Usa-o: Presente do Indicativo
  • #27 Esse tipo de relacionamento herda o comportamento de uma classe, mas não sua estrutura. Pode ser comparada à palavra implements da linguagem Java.
  • #28 Esse tipo de relacionamento herda o comportamento de uma classe, mas não sua estrutura. Pode ser comparada à palavra implements da linguagem Java.
  • #31 Utilizado para diferenciar componentes semelhantes com alguma característica diferente (maior destaque no diagrama). A linguagem permite a criação de estereótipos particulares.
  • #32 Utilizado para diferenciar componentes semelhantes com alguma característica diferente (maior destaque no diagrama). A linguagem permite a criação de estereótipos particulares.
  • #34 Esse estereótipo é um estereótipo gráfico, ele modifica o desenho padrão da classe. Um dos problemas de se utilizar este estereótipo é que ele esconde os atributos e métodos da classe, porém isto é vantajoso em diagramas grandes.
  • #35 Preservar obrigatoriamente de forma física e de alguma forma suas instâncias.
  • #42 Um ator pode ser qualquer elemento externo que interaja com o software.