SlideShare a Scribd company logo
1 of 42
Download to read offline
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

More Related Content

What's hot

What's hot (20)

Diagrama de Atividades - UML
Diagrama de Atividades - UMLDiagrama de Atividades - UML
Diagrama de Atividades - UML
 
UML - Diagrama de Pacotes
UML - Diagrama de PacotesUML - Diagrama de Pacotes
UML - Diagrama de Pacotes
 
Aula 7 diagramas_classes2
Aula 7 diagramas_classes2Aula 7 diagramas_classes2
Aula 7 diagramas_classes2
 
AOO - Diagrama de Caso de Uso
AOO - Diagrama de Caso de UsoAOO - Diagrama de Caso de Uso
AOO - Diagrama de Caso de Uso
 
Revisão Sobre Programação Orientada a Objetos com Java
Revisão Sobre Programação Orientada a Objetos com Java Revisão Sobre Programação Orientada a Objetos com Java
Revisão Sobre Programação Orientada a Objetos com Java
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POO
 
Diagrama de Casos de Uso
Diagrama de Casos de UsoDiagrama de Casos de Uso
Diagrama de Casos de Uso
 
UML
UMLUML
UML
 
Aula 07 - Diagrama de sequencia
Aula 07 - Diagrama de sequenciaAula 07 - Diagrama de sequencia
Aula 07 - Diagrama de sequencia
 
Stored Procedures and Triggers
Stored Procedures and TriggersStored Procedures and Triggers
Stored Procedures and Triggers
 
Introdução à linguagem UML
Introdução à linguagem UMLIntrodução à linguagem UML
Introdução à linguagem UML
 
Aula 10 - Diagrama de Sequencia.pdf
Aula 10 - Diagrama de Sequencia.pdfAula 10 - Diagrama de Sequencia.pdf
Aula 10 - Diagrama de Sequencia.pdf
 
8 02
8 028 02
8 02
 
Análise e Modelagem de Software
Análise e Modelagem de SoftwareAnálise e Modelagem de Software
Análise e Modelagem de Software
 
Diagrama de sequência
Diagrama de sequênciaDiagrama de sequência
Diagrama de sequência
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
 
Aula 1 - Revisão UML
Aula 1 - Revisão UMLAula 1 - Revisão UML
Aula 1 - Revisão UML
 
Aps lista de exercícios
Aps lista de exercíciosAps lista de exercícios
Aps lista de exercícios
 
Java 10 Classes Abstratas Interfaces
Java 10 Classes Abstratas InterfacesJava 10 Classes Abstratas Interfaces
Java 10 Classes Abstratas Interfaces
 
Diagrama de Classes
Diagrama de ClassesDiagrama de Classes
Diagrama de Classes
 

Viewers also liked

Aula 03 - UML e Padrões de Projeto
Aula 03 - UML e Padrões de ProjetoAula 03 - UML e Padrões de Projeto
Aula 03 - UML e Padrões de ProjetoVinícius de Paula
 
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
 
Aula 04 - UML e Padrões de Projeto
Aula 04 - UML e Padrões de ProjetoAula 04 - UML e Padrões de Projeto
Aula 04 - UML e Padrões de ProjetoVinícius de Paula
 
Aula 06 - UML e Padrões de Projeto
Aula 06 - UML e Padrões de ProjetoAula 06 - UML e Padrões de Projeto
Aula 06 - UML e Padrões de ProjetoVinícius de Paula
 
PHP Profissional - Ferramentas e Padrões
PHP Profissional - Ferramentas e PadrõesPHP Profissional - Ferramentas e Padrões
PHP Profissional - Ferramentas e PadrõesFlávio Lisboa
 
Uml caso de estudo
Uml   caso de estudoUml   caso de estudo
Uml caso de estudoRafael Zeen
 
UML - Historia e Diagrmas
UML - Historia e DiagrmasUML - Historia e Diagrmas
UML - Historia e DiagrmasBruno Bazoti
 
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
 
Aula 05 - UML e Padrões de Projeto
Aula 05 - UML e Padrões de ProjetoAula 05 - UML e Padrões de Projeto
Aula 05 - UML e Padrões de ProjetoVinícius de Paula
 
Do Clipper e Delphi ao Ruby e PHP: Antes e depois dos frameworks
Do Clipper e Delphi ao Ruby e PHP: Antes e depois dos frameworksDo Clipper e Delphi ao Ruby e PHP: Antes e depois dos frameworks
Do Clipper e Delphi ao Ruby e PHP: Antes e depois dos frameworksPablo Dall'Oglio
 
Padrão de Projeto Observer
Padrão de Projeto ObserverPadrão de Projeto Observer
Padrão de Projeto ObserverLuiza Uira
 
Padrões de Projeto - Observer e Strategy
Padrões de Projeto - Observer e StrategyPadrões de Projeto - Observer e Strategy
Padrões de Projeto - Observer e StrategyJoão Carlos Ottobboni
 
Arquitetura de Software Baseada em Componentes: Um Estudo de Caso para o Cont...
Arquitetura de Software Baseada em Componentes: Um Estudo de Caso para o Cont...Arquitetura de Software Baseada em Componentes: Um Estudo de Caso para o Cont...
Arquitetura de Software Baseada em Componentes: Um Estudo de Caso para o Cont...Anderson Kanegae Soares Rocha
 
Projeto de sistemas com UML - Parte 1
Projeto de sistemas com UML - Parte 1Projeto de sistemas com UML - Parte 1
Projeto de sistemas com UML - Parte 1Natanael Simões
 
Padrões de projeto - Adapter, Proxy, Composite e Bridge
Padrões de projeto - Adapter, Proxy, Composite e BridgePadrões de projeto - Adapter, Proxy, Composite e Bridge
Padrões de projeto - Adapter, Proxy, Composite e BridgeLorran Pegoretti
 
Nbr iso 27001 2006 - gestão de segurança da informação
Nbr iso 27001 2006 - gestão de segurança da informaçãoNbr iso 27001 2006 - gestão de segurança da informação
Nbr iso 27001 2006 - gestão de segurança da informaçãoDilamar Hoffmann
 
Padrões no Desenvolvimento de Software
Padrões no Desenvolvimento de SoftwarePadrões no Desenvolvimento de Software
Padrões no Desenvolvimento de SoftwareEmanuel Poletto
 

Viewers also liked (20)

Aula 03 - UML e Padrões de Projeto
Aula 03 - UML e Padrões de ProjetoAula 03 - UML e Padrões de Projeto
Aula 03 - UML e Padrões de Projeto
 
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
 
Aula 04 - UML e Padrões de Projeto
Aula 04 - UML e Padrões de ProjetoAula 04 - UML e Padrões de Projeto
Aula 04 - UML e Padrões de Projeto
 
Aula 06 - UML e Padrões de Projeto
Aula 06 - UML e Padrões de ProjetoAula 06 - UML e Padrões de Projeto
Aula 06 - UML e Padrões de Projeto
 
PHP Profissional - Ferramentas e Padrões
PHP Profissional - Ferramentas e PadrõesPHP Profissional - Ferramentas e Padrões
PHP Profissional - Ferramentas e Padrões
 
Frameworks PHP
Frameworks PHPFrameworks PHP
Frameworks PHP
 
Uml caso de estudo
Uml   caso de estudoUml   caso de estudo
Uml caso de estudo
 
UML - Historia e Diagrmas
UML - Historia e DiagrmasUML - Historia e Diagrmas
UML - Historia e Diagrmas
 
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
 
Aula 05 - UML e Padrões de Projeto
Aula 05 - UML e Padrões de ProjetoAula 05 - UML e Padrões de Projeto
Aula 05 - UML e Padrões de Projeto
 
Do Clipper e Delphi ao Ruby e PHP: Antes e depois dos frameworks
Do Clipper e Delphi ao Ruby e PHP: Antes e depois dos frameworksDo Clipper e Delphi ao Ruby e PHP: Antes e depois dos frameworks
Do Clipper e Delphi ao Ruby e PHP: Antes e depois dos frameworks
 
Padrão de Projeto Observer
Padrão de Projeto ObserverPadrão de Projeto Observer
Padrão de Projeto Observer
 
Projeto de software
Projeto de softwareProjeto de software
Projeto de software
 
Padrões de Projeto - Observer e Strategy
Padrões de Projeto - Observer e StrategyPadrões de Projeto - Observer e Strategy
Padrões de Projeto - Observer e Strategy
 
Arquitetura de Software Baseada em Componentes: Um Estudo de Caso para o Cont...
Arquitetura de Software Baseada em Componentes: Um Estudo de Caso para o Cont...Arquitetura de Software Baseada em Componentes: Um Estudo de Caso para o Cont...
Arquitetura de Software Baseada em Componentes: Um Estudo de Caso para o Cont...
 
Projeto de sistemas com UML - Parte 1
Projeto de sistemas com UML - Parte 1Projeto de sistemas com UML - Parte 1
Projeto de sistemas com UML - Parte 1
 
Design Patterns com PHP
Design Patterns com PHPDesign Patterns com PHP
Design Patterns com PHP
 
Padrões de projeto - Adapter, Proxy, Composite e Bridge
Padrões de projeto - Adapter, Proxy, Composite e BridgePadrões de projeto - Adapter, Proxy, Composite e Bridge
Padrões de projeto - Adapter, Proxy, Composite e Bridge
 
Nbr iso 27001 2006 - gestão de segurança da informação
Nbr iso 27001 2006 - gestão de segurança da informaçãoNbr iso 27001 2006 - gestão de segurança da informação
Nbr iso 27001 2006 - gestão de segurança da informação
 
Padrões no Desenvolvimento de Software
Padrões no Desenvolvimento de SoftwarePadrões no Desenvolvimento de Software
Padrões no Desenvolvimento de Software
 

Similar to Aula 02 - UML e Padrões de Projeto

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 exemplosmauroladeiafilho
 
Aula sobre Diagrama Classe para a modelagem de requisitos.pptx
Aula sobre Diagrama Classe para a modelagem de requisitos.pptxAula sobre Diagrama Classe para a modelagem de requisitos.pptx
Aula sobre Diagrama Classe para a modelagem de requisitos.pptxCarlos Albuquerque
 
Diagrama de classe aula 02 PDF para UML.
Diagrama de classe aula 02 PDF para UML.Diagrama de classe aula 02 PDF para UML.
Diagrama de classe aula 02 PDF para UML.NunoVieira83
 
Java - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e HerançaJava - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e HerançaMoises Omena
 
Diagrama de classes
Diagrama de classesDiagrama de classes
Diagrama de classesErica Fabri
 
Diagrama de Classes (8).pdf
Diagrama de Classes (8).pdfDiagrama de Classes (8).pdf
Diagrama de Classes (8).pdfJean440975
 
Apostila de uml
Apostila de umlApostila de uml
Apostila de umlaudiclerio
 
Revisão 1º bimestre - Casos de Usos e Classes
Revisão 1º bimestre - Casos de Usos e ClassesRevisão 1º bimestre - Casos de Usos e Classes
Revisão 1º bimestre - Casos de Usos e ClassesMaria Alice Jovinski
 
Aula classe de associacao 3º periodo uniao
Aula classe de associacao 3º periodo uniaoAula classe de associacao 3º periodo uniao
Aula classe de associacao 3º periodo uniaoMaria Alice Jovinski
 

Similar to Aula 02 - UML e Padrões de Projeto (20)

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
 
Aula 5 uml1 (1)
Aula 5   uml1 (1)Aula 5   uml1 (1)
Aula 5 uml1 (1)
 
Diagrama classes
Diagrama classesDiagrama classes
Diagrama classes
 
Modelagem de Sistemas de Informação 08 - Diagrama de Classes
Modelagem de Sistemas de Informação 08 - Diagrama de ClassesModelagem de Sistemas de Informação 08 - Diagrama de Classes
Modelagem de Sistemas de Informação 08 - Diagrama de Classes
 
Aula sobre Diagrama Classe para a modelagem de requisitos.pptx
Aula sobre Diagrama Classe para a modelagem de requisitos.pptxAula sobre Diagrama Classe para a modelagem de requisitos.pptx
Aula sobre Diagrama Classe para a modelagem de requisitos.pptx
 
Análise de Sistemas Orientado a Objetos - 06 - Diagrama de Classes
Análise de Sistemas Orientado a Objetos - 06 - Diagrama de ClassesAnálise de Sistemas Orientado a Objetos - 06 - Diagrama de Classes
Análise de Sistemas Orientado a Objetos - 06 - Diagrama de Classes
 
Diagrama de Classes
Diagrama de ClassesDiagrama de Classes
Diagrama de Classes
 
Relatório da uml
Relatório da umlRelatório da uml
Relatório da uml
 
Apresentação da UML
Apresentação da UMLApresentação da UML
Apresentação da UML
 
Si diagrama de classes
Si  diagrama de classesSi  diagrama de classes
Si diagrama de classes
 
Diagrama de classe aula 02 PDF para UML.
Diagrama de classe aula 02 PDF para UML.Diagrama de classe aula 02 PDF para UML.
Diagrama de classe aula 02 PDF para UML.
 
Paradigma Orientado a Objetos
Paradigma Orientado a ObjetosParadigma Orientado a Objetos
Paradigma Orientado a Objetos
 
Java - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e HerançaJava - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e Herança
 
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
 
Diagrama de classes
Diagrama de classesDiagrama de classes
Diagrama de classes
 
Diagrama de Classes (8).pdf
Diagrama de Classes (8).pdfDiagrama de Classes (8).pdf
Diagrama de Classes (8).pdf
 
[CEFET][ESw] Aula 5 - Diagrama de Classe
[CEFET][ESw] Aula 5 - Diagrama de Classe[CEFET][ESw] Aula 5 - Diagrama de Classe
[CEFET][ESw] Aula 5 - Diagrama de Classe
 
Apostila de uml
Apostila de umlApostila de uml
Apostila de uml
 
Revisão 1º bimestre - Casos de Usos e Classes
Revisão 1º bimestre - Casos de Usos e ClassesRevisão 1º bimestre - Casos de Usos e Classes
Revisão 1º bimestre - Casos de Usos e Classes
 
Aula classe de associacao 3º periodo uniao
Aula classe de associacao 3º periodo uniaoAula classe de associacao 3º periodo uniao
Aula classe de associacao 3º periodo uniao
 

Recently uploaded

Aula 13 8º Ano Cap.04 Revolução Francesa.pptx
Aula 13 8º Ano Cap.04 Revolução Francesa.pptxAula 13 8º Ano Cap.04 Revolução Francesa.pptx
Aula 13 8º Ano Cap.04 Revolução Francesa.pptxBiancaNogueira42
 
O Universo Cuckold - Compartilhando a Esposas Com Amigo.pdf
O Universo Cuckold - Compartilhando a Esposas Com Amigo.pdfO Universo Cuckold - Compartilhando a Esposas Com Amigo.pdf
O Universo Cuckold - Compartilhando a Esposas Com Amigo.pdfPastor Robson Colaço
 
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdfcartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdfIedaGoethe
 
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxQUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxIsabellaGomes58
 
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANOInvestimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANOMarcosViniciusLemesL
 
02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdfJorge Andrade
 
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasCenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasRosalina Simão Nunes
 
A Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesA Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesMary Alvarenga
 
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveAula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveaulasgege
 
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxSlides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxLuizHenriquedeAlmeid6
 
Simulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfSimulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfEditoraEnovus
 
A experiência amorosa e a reflexão sobre o Amor.pptx
A experiência amorosa e a reflexão sobre o Amor.pptxA experiência amorosa e a reflexão sobre o Amor.pptx
A experiência amorosa e a reflexão sobre o Amor.pptxfabiolalopesmartins1
 
Regência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdfRegência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdfmirandadudu08
 
ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024Jeanoliveira597523
 
Educação São Paulo centro de mídias da SP
Educação São Paulo centro de mídias da SPEducação São Paulo centro de mídias da SP
Educação São Paulo centro de mídias da SPanandatss1
 
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024Sandra Pratas
 
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologiaAula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologiaaulasgege
 
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfBRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfHenrique Pontes
 
UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfManuais Formação
 
Programa de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasPrograma de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasCassio Meira Jr.
 

Recently uploaded (20)

Aula 13 8º Ano Cap.04 Revolução Francesa.pptx
Aula 13 8º Ano Cap.04 Revolução Francesa.pptxAula 13 8º Ano Cap.04 Revolução Francesa.pptx
Aula 13 8º Ano Cap.04 Revolução Francesa.pptx
 
O Universo Cuckold - Compartilhando a Esposas Com Amigo.pdf
O Universo Cuckold - Compartilhando a Esposas Com Amigo.pdfO Universo Cuckold - Compartilhando a Esposas Com Amigo.pdf
O Universo Cuckold - Compartilhando a Esposas Com Amigo.pdf
 
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdfcartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
 
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxQUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
 
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANOInvestimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANO
 
02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf
 
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasCenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
 
A Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesA Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das Mães
 
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveAula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
 
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxSlides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
 
Simulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfSimulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdf
 
A experiência amorosa e a reflexão sobre o Amor.pptx
A experiência amorosa e a reflexão sobre o Amor.pptxA experiência amorosa e a reflexão sobre o Amor.pptx
A experiência amorosa e a reflexão sobre o Amor.pptx
 
Regência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdfRegência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdf
 
ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024
 
Educação São Paulo centro de mídias da SP
Educação São Paulo centro de mídias da SPEducação São Paulo centro de mídias da SP
Educação São Paulo centro de mídias da SP
 
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
 
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologiaAula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
 
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfBRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
 
UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdf
 
Programa de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasPrograma de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades Motoras
 

Aula 02 - UML e Padrões de Projeto

  • 1. 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
  • 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 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
  • 6. 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
  • 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 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
  • 9. 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
  • 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 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
  • 12. 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 }
  • 13. 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
  • 14. 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.
  • 15. 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
  • 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 16
  • 17. 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
  • 18. 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
  • 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 19
  • 20. 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.
  • 21. 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
  • 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 22
  • 23. 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
  • 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 24
  • 25. 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
  • 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 26
  • 27. 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.
  • 28. 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
  • 29. 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
  • 30. 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
  • 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>> •  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
  • 33. 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.
  • 34. 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
  • 35. 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
  • 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 36
  • 37. 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.
  • 38. Boundary, Control e Entity UML e Padrões de Projeto Centro Universitário do Triângulo 38
  • 39. Exemplo de Diagrama de Classes UML e Padrões de Projeto Centro Universitário do Triângulo 39
  • 40. UML e Padrões de Projeto Centro Universitário do Triângulo 40
  • 41. 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
  • 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

Editor's Notes

  1. É 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.
  2. É 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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
  7. 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.
  8. Esse tipo de associação é a mais comumente encontrada.
  9. A recíproca não é verdadeira.
  10. 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.
  11. Um vínculo mais forte entre os objetos-todo e os objetos-parte.
  12. Um vínculo mais forte entre os objetos-todo e os objetos-parte.
  13. 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
  14. 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.
  15. 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
  16. Um ator pode atuar em muitos filmes, e um filme pode ter muitos atores atuando nele.
  17. Classe intermediária: Apresenta, exatamente, a mesma função da classe associativa, podendo possuir seus próprios atributos.
  18. 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.
  19. 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.
  20. Usa-o: Presente do Indicativo
  21. Esse tipo de relacionamento herda o comportamento de uma classe, mas não sua estrutura. Pode ser comparada à palavra implements da linguagem Java.
  22. Esse tipo de relacionamento herda o comportamento de uma classe, mas não sua estrutura. Pode ser comparada à palavra implements da linguagem Java.
  23. Utilizado para diferenciar componentes semelhantes com alguma característica diferente (maior destaque no diagrama). A linguagem permite a criação de estereótipos particulares.
  24. Utilizado para diferenciar componentes semelhantes com alguma característica diferente (maior destaque no diagrama). A linguagem permite a criação de estereótipos particulares.
  25. 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.
  26. Preservar obrigatoriamente de forma física e de alguma forma suas instâncias.
  27. Um ator pode ser qualquer elemento externo que interaja com o software.