SlideShare uma empresa Scribd logo
1 de 42
Baixar para ler 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

Mais conteúdo relacionado

Mais procurados

Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Daniel Brandão
 
07 diagrama de classes de análise
07  diagrama de classes de análise07  diagrama de classes de análise
07 diagrama de classes de análiseFilipe Soares
 
Descrição formal de Casos de Uso
Descrição formal de Casos de UsoDescrição formal de Casos de Uso
Descrição formal de Casos de UsoNatanael Simões
 
Aula UML - Unified Modeling Language
Aula UML - Unified Modeling LanguageAula UML - Unified Modeling Language
Aula UML - Unified Modeling LanguageCloves da Rocha
 
Aula 04 - Diagrama de casos de uso
Aula 04 - Diagrama de casos de usoAula 04 - Diagrama de casos de uso
Aula 04 - Diagrama de casos de usoLeinylson Fontinele
 
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de DadosBanco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de DadosLeinylson Fontinele
 
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)Leinylson Fontinele
 
Modelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e HierárquicoModelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e Hierárquicorosimaracorsino
 
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 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
 
1.Introdução Banco de Dados
1.Introdução Banco de Dados1.Introdução Banco de Dados
1.Introdução Banco de Dadosvini_campos
 
Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)
Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)
Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)Gustavo Zimmermann
 

Mais procurados (20)

UML - Diagrama de Pacotes
UML - Diagrama de PacotesUML - Diagrama de Pacotes
UML - Diagrama de Pacotes
 
UML
UMLUML
UML
 
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)
 
07 diagrama de classes de análise
07  diagrama de classes de análise07  diagrama de classes de análise
07 diagrama de classes de análise
 
Diagrama de Classes
Diagrama de ClassesDiagrama de Classes
Diagrama de Classes
 
Descrição formal de Casos de Uso
Descrição formal de Casos de UsoDescrição formal de Casos de Uso
Descrição formal de Casos de Uso
 
Aula UML - Unified Modeling Language
Aula UML - Unified Modeling LanguageAula UML - Unified Modeling Language
Aula UML - Unified Modeling Language
 
Trabalho uml
Trabalho umlTrabalho uml
Trabalho uml
 
Aula 04 - Diagrama de casos de uso
Aula 04 - Diagrama de casos de usoAula 04 - Diagrama de casos de uso
Aula 04 - Diagrama de casos de uso
 
Apresentação da UML
Apresentação da UMLApresentação da UML
Apresentação da UML
 
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de DadosBanco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
 
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
 
Modelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e HierárquicoModelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e Hierárquico
 
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 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
 
JAVA - Orientação a Objetos
JAVA - Orientação a ObjetosJAVA - Orientação a Objetos
JAVA - Orientação a Objetos
 
POO - 18 - Sobrecarga e Sobreposição de Métodos
POO - 18 - Sobrecarga e Sobreposição de MétodosPOO - 18 - Sobrecarga e Sobreposição de Métodos
POO - 18 - Sobrecarga e Sobreposição de Métodos
 
1.Introdução Banco de Dados
1.Introdução Banco de Dados1.Introdução Banco de Dados
1.Introdução Banco de Dados
 
POO - 21 - Java e Banco de Dados
POO - 21 - Java e Banco de DadosPOO - 21 - Java e Banco de Dados
POO - 21 - Java e Banco de Dados
 
Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)
Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)
Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)
 

Destaque

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 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
 
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 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
 

Destaque (20)

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 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
 
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 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
 

Semelhante a 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
 

Semelhante a 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
 
Aula 7 diagramas_classes2
Aula 7 diagramas_classes2Aula 7 diagramas_classes2
Aula 7 diagramas_classes2
 
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
 
Relatório da uml
Relatório da umlRelatório da uml
Relatório 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.
 
8 02
8 028 02
8 02
 
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
 

Último

SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffffSSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffffNarlaAquino
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdfmarlene54545
 
migração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenosmigração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenosLucianoPrado15
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxTailsonSantos1
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...IsabelPereira2010
 
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxLuizHenriquedeAlmeid6
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfFrancisco Márcio Bezerra Oliveira
 
O PLANETA TERRA E SEU SATÉLITE NATURAL - LUA
O PLANETA TERRA E SEU SATÉLITE NATURAL - LUAO PLANETA TERRA E SEU SATÉLITE NATURAL - LUA
O PLANETA TERRA E SEU SATÉLITE NATURAL - LUAJulianeMelo17
 
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...andreiavys
 
Jogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para criançasJogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para criançasSocorro Machado
 
Camadas da terra -Litosfera conteúdo 6º ano
Camadas da terra -Litosfera  conteúdo 6º anoCamadas da terra -Litosfera  conteúdo 6º ano
Camadas da terra -Litosfera conteúdo 6º anoRachel Facundo
 
Produção de Texto - 5º ano - CRÔNICA.pptx
Produção de Texto - 5º ano - CRÔNICA.pptxProdução de Texto - 5º ano - CRÔNICA.pptx
Produção de Texto - 5º ano - CRÔNICA.pptxLeonardoGabriel65
 
LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...
LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...
LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...Francisco Márcio Bezerra Oliveira
 
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfProjeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfHELENO FAVACHO
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxAntonioVieira539017
 
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptxPlano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptxPaulaYaraDaasPedro
 
Araribá slides 9ano.pdf para os alunos do medio
Araribá slides 9ano.pdf para os alunos do medioAraribá slides 9ano.pdf para os alunos do medio
Araribá slides 9ano.pdf para os alunos do medioDomingasMariaRomao
 
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2Maria Teresa Thomaz
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaHELENO FAVACHO
 
EDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVA
EDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVAEDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVA
EDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVAssuser2ad38b
 

Último (20)

SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffffSSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
 
migração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenosmigração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenos
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
 
O PLANETA TERRA E SEU SATÉLITE NATURAL - LUA
O PLANETA TERRA E SEU SATÉLITE NATURAL - LUAO PLANETA TERRA E SEU SATÉLITE NATURAL - LUA
O PLANETA TERRA E SEU SATÉLITE NATURAL - LUA
 
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
 
Jogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para criançasJogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para crianças
 
Camadas da terra -Litosfera conteúdo 6º ano
Camadas da terra -Litosfera  conteúdo 6º anoCamadas da terra -Litosfera  conteúdo 6º ano
Camadas da terra -Litosfera conteúdo 6º ano
 
Produção de Texto - 5º ano - CRÔNICA.pptx
Produção de Texto - 5º ano - CRÔNICA.pptxProdução de Texto - 5º ano - CRÔNICA.pptx
Produção de Texto - 5º ano - CRÔNICA.pptx
 
LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...
LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...
LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...
 
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfProjeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
 
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptxPlano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
 
Araribá slides 9ano.pdf para os alunos do medio
Araribá slides 9ano.pdf para os alunos do medioAraribá slides 9ano.pdf para os alunos do medio
Araribá slides 9ano.pdf para os alunos do medio
 
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
 
EDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVA
EDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVAEDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVA
EDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVA
 

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

Notas do Editor

  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.