SlideShare uma empresa Scribd logo
1 de 10
Diagrama de Classes
Daniel Paulo de Assis
Pedro Carvalho Dias
Definição
 descreve os tipos de objetos (do negócio, da

análise ou do projeto)
 tipos de relacionamento estático que existem
entre eles.
 atributos e operações de uma classe e as
restrições à maneira com que os objetos são
conectados
Perspectivas
 Conceitual:
• pouca ou nenhuma preocupação com o software que
•
•
•

•
•

•
•

poderá implementá-lo
independente de linguagem
Especificação:
examinando o software
analisando as suas interfaces
não a sua implementação
Implementação:
temos classes e estamos pondo a implementação às
claras
usada com mais freqüência
Associações
 Da perspectiva conceitual, associações

representam relações conceituais entre classes.
 Da perspectiva de especificação, associações

representam responsabilidades
Atributos
 “Devemos pensar nos atributos como classes

simples e pequenas...”
 nível conceitual, um atributo nome do Cliente

indica que Clientes têm nomes
 No nível de especificação, este atributo indica
que um objeto Cliente pode lhe dizer o seu nome
 No nível de implementação, o Cliente tem um
campo para armazenar seu nome
Operações
 Operações são os processos que a classe sabe

realizar
 correspondem claramente a métodos em uma

classe
 Linguagens têm as suas próprias convenções de

denominação
Generalizações
 fenômeno que está sujeito a diferentes

interpretações em diferentes tipos de modelagem
 modelo de especificação, generalização

significa que a interface do subtipo deve incluir
todos os elementos da interface do supertipo
 na perspectiva de implementação é associada à

herança nas linguagens de programação
Regras de Restrição
 Muito do que está se fazendo quando

desenhamos diagramas de classes é indicar
restrições

 De modo ideal, regras devem ser implementadas

como asserções na sua linguagem de
programação
Quando utilizar Diagramas de Classes ?
 Diagramas de classes são a base de quase

todas as metodologias OO
 podem ser complexos de se usar
 não ficar preso em detalhes de implementação
 concentrar-se nas áreas principais
Referências Bibliográficas
 Diagramas de Classes

Disponível em:
<http://www.mastersoft.com.br/Tutoriais/tutorialu
ml/Diag%20de%20Classes.htm>
Acesso em: Abril de 2011
 Oliveira Ribeiro W. : Diagramas de Classes
“Os elementos básicos”
Disponível em:
<www.helionet.varginha.br/files/trab7.doc>
Acesso em: Abril de 2011

Mais conteúdo relacionado

Mais procurados

Aula1 - Modelagem de Sistemas Orientada a Objetos
Aula1 - Modelagem de Sistemas Orientada a ObjetosAula1 - Modelagem de Sistemas Orientada a Objetos
Aula1 - Modelagem de Sistemas Orientada a ObjetosLeandro Rezende
 
Entendendo a Tríade Model-View-Controller (MVC) utilizando padrões de projeto...
Entendendo a Tríade Model-View-Controller (MVC) utilizando padrões de projeto...Entendendo a Tríade Model-View-Controller (MVC) utilizando padrões de projeto...
Entendendo a Tríade Model-View-Controller (MVC) utilizando padrões de projeto...Lucas Furtado de Oliveira
 
Exemplos de Design Patterns em Java
Exemplos de Design Patterns em JavaExemplos de Design Patterns em Java
Exemplos de Design Patterns em Javaalexmacedo
 
Entendendo a Tríade Model-View-Controller (MVC) Utilizando Padrões de Projeto...
Entendendo a Tríade Model-View-Controller (MVC) Utilizando Padrões de Projeto...Entendendo a Tríade Model-View-Controller (MVC) Utilizando Padrões de Projeto...
Entendendo a Tríade Model-View-Controller (MVC) Utilizando Padrões de Projeto...Lucas Furtado de Oliveira
 
Seminário flyweight
Seminário flyweightSeminário flyweight
Seminário flyweightMateus Amaral
 
Modelando Sistemas com UML
Modelando Sistemas com UMLModelando Sistemas com UML
Modelando Sistemas com UMLarmeniocardoso
 
[Curso Java Basico - Orientacao a Objetos] Aula 46: Interface e heranca
[Curso Java Basico - Orientacao a Objetos] Aula 46: Interface e heranca [Curso Java Basico - Orientacao a Objetos] Aula 46: Interface e heranca
[Curso Java Basico - Orientacao a Objetos] Aula 46: Interface e heranca Loiane Groner
 
Aula2 - Modelagem de Sistemas Orientada a Objetos
Aula2 - Modelagem de Sistemas Orientada a ObjetosAula2 - Modelagem de Sistemas Orientada a Objetos
Aula2 - Modelagem de Sistemas Orientada a ObjetosLeandro Rezende
 
Curso de Delphi Fundamental e Logica de Programacao (SABADOS)
Curso de Delphi Fundamental e Logica de Programacao (SABADOS) Curso de Delphi Fundamental e Logica de Programacao (SABADOS)
Curso de Delphi Fundamental e Logica de Programacao (SABADOS) Grupo Treinar
 
Padrão de Projeto - Adapter
Padrão de Projeto - AdapterPadrão de Projeto - Adapter
Padrão de Projeto - AdapterJuliana Cindra
 
APSI 2 aulas - padroes arquiteturais - camadas PROF.TARCIANE
APSI 2   aulas  - padroes arquiteturais - camadas PROF.TARCIANEAPSI 2   aulas  - padroes arquiteturais - camadas PROF.TARCIANE
APSI 2 aulas - padroes arquiteturais - camadas PROF.TARCIANEFco Edilson Nascimento
 
The framework and refinement - About Face II
The framework and refinement - About Face IIThe framework and refinement - About Face II
The framework and refinement - About Face IIArthur Jacobsen Klas
 
Padrão De Projeto Adapter
Padrão De Projeto AdapterPadrão De Projeto Adapter
Padrão De Projeto AdapterMatheus Andrade
 
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
 

Mais procurados (20)

Aula1 - Modelagem de Sistemas Orientada a Objetos
Aula1 - Modelagem de Sistemas Orientada a ObjetosAula1 - Modelagem de Sistemas Orientada a Objetos
Aula1 - Modelagem de Sistemas Orientada a Objetos
 
Entendendo a Tríade Model-View-Controller (MVC) utilizando padrões de projeto...
Entendendo a Tríade Model-View-Controller (MVC) utilizando padrões de projeto...Entendendo a Tríade Model-View-Controller (MVC) utilizando padrões de projeto...
Entendendo a Tríade Model-View-Controller (MVC) utilizando padrões de projeto...
 
Exemplos de Design Patterns em Java
Exemplos de Design Patterns em JavaExemplos de Design Patterns em Java
Exemplos de Design Patterns em Java
 
Entendendo a Tríade Model-View-Controller (MVC) Utilizando Padrões de Projeto...
Entendendo a Tríade Model-View-Controller (MVC) Utilizando Padrões de Projeto...Entendendo a Tríade Model-View-Controller (MVC) Utilizando Padrões de Projeto...
Entendendo a Tríade Model-View-Controller (MVC) Utilizando Padrões de Projeto...
 
UML
UMLUML
UML
 
Seminário flyweight
Seminário flyweightSeminário flyweight
Seminário flyweight
 
Modelando Sistemas com UML
Modelando Sistemas com UMLModelando Sistemas com UML
Modelando Sistemas com UML
 
[Curso Java Basico - Orientacao a Objetos] Aula 46: Interface e heranca
[Curso Java Basico - Orientacao a Objetos] Aula 46: Interface e heranca [Curso Java Basico - Orientacao a Objetos] Aula 46: Interface e heranca
[Curso Java Basico - Orientacao a Objetos] Aula 46: Interface e heranca
 
Aula2 - Modelagem de Sistemas Orientada a Objetos
Aula2 - Modelagem de Sistemas Orientada a ObjetosAula2 - Modelagem de Sistemas Orientada a Objetos
Aula2 - Modelagem de Sistemas Orientada a Objetos
 
Curso de Delphi Fundamental e Logica de Programacao (SABADOS)
Curso de Delphi Fundamental e Logica de Programacao (SABADOS) Curso de Delphi Fundamental e Logica de Programacao (SABADOS)
Curso de Delphi Fundamental e Logica de Programacao (SABADOS)
 
Padrão de Projeto - Adapter
Padrão de Projeto - AdapterPadrão de Projeto - Adapter
Padrão de Projeto - Adapter
 
Análise e Modelagem com UML
Análise e Modelagem com UMLAnálise e Modelagem com UML
Análise e Modelagem com UML
 
APSI 2 aulas - padroes arquiteturais - camadas PROF.TARCIANE
APSI 2   aulas  - padroes arquiteturais - camadas PROF.TARCIANEAPSI 2   aulas  - padroes arquiteturais - camadas PROF.TARCIANE
APSI 2 aulas - padroes arquiteturais - camadas PROF.TARCIANE
 
The framework and refinement - About Face II
The framework and refinement - About Face IIThe framework and refinement - About Face II
The framework and refinement - About Face II
 
Paradigmas de programação
Paradigmas de programaçãoParadigmas de programação
Paradigmas de programação
 
Introdução à linguagem UML
Introdução à linguagem UMLIntrodução à linguagem UML
Introdução à linguagem UML
 
Padrão De Projeto Adapter
Padrão De Projeto AdapterPadrão De Projeto Adapter
Padrão De Projeto Adapter
 
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
 
Padrões de Projeto
Padrões de ProjetoPadrões de Projeto
Padrões de Projeto
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 

Destaque

Diagrama de classes
Diagrama de classesDiagrama de classes
Diagrama de classesErica Fabri
 
Uml Diagramas estruturais - parte escrita
Uml   Diagramas estruturais - parte escritaUml   Diagramas estruturais - parte escrita
Uml Diagramas estruturais - parte escritathaisedd
 
Diagrama de classe
Diagrama de classeDiagrama de classe
Diagrama de classeSuissa
 
Uml Diagramas Estruturais
Uml   Diagramas EstruturaisUml   Diagramas Estruturais
Uml Diagramas Estruturaisthaisedd
 
UML - Criando Diagramas Eficientes
UML - Criando Diagramas EficientesUML - Criando Diagramas Eficientes
UML - Criando Diagramas EficientesRodrigo Cascarrolho
 

Destaque (7)

Aula7 diagrama classes
Aula7 diagrama classesAula7 diagrama classes
Aula7 diagrama classes
 
Diagrama de classes
Diagrama de classesDiagrama de classes
Diagrama de classes
 
Uml Diagramas estruturais - parte escrita
Uml   Diagramas estruturais - parte escritaUml   Diagramas estruturais - parte escrita
Uml Diagramas estruturais - parte escrita
 
Diagrama de classe
Diagrama de classeDiagrama de classe
Diagrama de classe
 
Aula diagrama de classes
Aula diagrama de classesAula diagrama de classes
Aula diagrama de classes
 
Uml Diagramas Estruturais
Uml   Diagramas EstruturaisUml   Diagramas Estruturais
Uml Diagramas Estruturais
 
UML - Criando Diagramas Eficientes
UML - Criando Diagramas EficientesUML - Criando Diagramas Eficientes
UML - Criando Diagramas Eficientes
 

Semelhante a Diagrama de Classes: Definição, Perspectivas, Associações, Atributos e Operações

Padroes De Projeto
Padroes De ProjetoPadroes De Projeto
Padroes De Projetoejdn1
 
design patterns - introdução
design patterns - introduçãodesign patterns - introdução
design patterns - introduçãoelliando dias
 
Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Luis Ferreira
 
Apresentação Introdução Design Patterns
Apresentação Introdução Design PatternsApresentação Introdução Design Patterns
Apresentação Introdução Design PatternsLucas Simões Maistro
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVAMoises Omena
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVAMoises Omena
 
Apresentação curso de Extensão em Java (UERJ-IME) v1
Apresentação curso de Extensão em Java (UERJ-IME) v1Apresentação curso de Extensão em Java (UERJ-IME) v1
Apresentação curso de Extensão em Java (UERJ-IME) v1Marcelo Zeferino
 
Introdução a Padrões de Projeto
Introdução a Padrões de ProjetoIntrodução a Padrões de Projeto
Introdução a Padrões de ProjetoEduardo Mendes
 
Reutilização
ReutilizaçãoReutilização
Reutilizaçãoemjorge
 
Programação Orientada a Aspectos
Programação Orientada a AspectosProgramação Orientada a Aspectos
Programação Orientada a AspectosRegina Macedo
 
Aula4-modelagem e uml
Aula4-modelagem e umlAula4-modelagem e uml
Aula4-modelagem e umlneilaxavier
 
Potfólio de Evidências
Potfólio de EvidênciasPotfólio de Evidências
Potfólio de EvidênciasPaulo Sateles
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de SoftwareAricelio Souza
 

Semelhante a Diagrama de Classes: Definição, Perspectivas, Associações, Atributos e Operações (20)

Sld 4
Sld 4Sld 4
Sld 4
 
Diagrama classes
Diagrama classesDiagrama classes
Diagrama classes
 
Padroes De Projeto
Padroes De ProjetoPadroes De Projeto
Padroes De Projeto
 
Análise de sistemas oo 1
Análise de sistemas oo   1Análise de sistemas oo   1
Análise de sistemas oo 1
 
design patterns - introdução
design patterns - introduçãodesign patterns - introdução
design patterns - introdução
 
Apresentação da UML
Apresentação da UMLApresentação da UML
Apresentação da UML
 
Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos
 
Padrões de Projeto de Software
Padrões de Projeto de SoftwarePadrões de Projeto de Software
Padrões de Projeto de Software
 
Apresentação Introdução Design Patterns
Apresentação Introdução Design PatternsApresentação Introdução Design Patterns
Apresentação Introdução Design Patterns
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVA
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVA
 
Apresentação curso de Extensão em Java (UERJ-IME) v1
Apresentação curso de Extensão em Java (UERJ-IME) v1Apresentação curso de Extensão em Java (UERJ-IME) v1
Apresentação curso de Extensão em Java (UERJ-IME) v1
 
Introdução a Padrões de Projeto
Introdução a Padrões de ProjetoIntrodução a Padrões de Projeto
Introdução a Padrões de Projeto
 
Reutilização
ReutilizaçãoReutilização
Reutilização
 
Padrões de design orientado a objetos
Padrões de design orientado a objetosPadrões de design orientado a objetos
Padrões de design orientado a objetos
 
Programação Orientada a Aspectos
Programação Orientada a AspectosProgramação Orientada a Aspectos
Programação Orientada a Aspectos
 
Aula4-modelagem e uml
Aula4-modelagem e umlAula4-modelagem e uml
Aula4-modelagem e uml
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
 
Potfólio de Evidências
Potfólio de EvidênciasPotfólio de Evidências
Potfólio de Evidências
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 

Mais de Daniel Paulo de Assis (6)

Rede petri
Rede petriRede petri
Rede petri
 
Mutex and monitores
Mutex and monitoresMutex and monitores
Mutex and monitores
 
Transmissão serial e paralela
Transmissão serial e paralelaTransmissão serial e paralela
Transmissão serial e paralela
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Ferramentas case
Ferramentas caseFerramentas case
Ferramentas case
 
Casos de uso
Casos de usoCasos de uso
Casos de uso
 

Diagrama de Classes: Definição, Perspectivas, Associações, Atributos e Operações

  • 1. Diagrama de Classes Daniel Paulo de Assis Pedro Carvalho Dias
  • 2. Definição  descreve os tipos de objetos (do negócio, da análise ou do projeto)  tipos de relacionamento estático que existem entre eles.  atributos e operações de uma classe e as restrições à maneira com que os objetos são conectados
  • 3. Perspectivas  Conceitual: • pouca ou nenhuma preocupação com o software que • • • • •  • • poderá implementá-lo independente de linguagem Especificação: examinando o software analisando as suas interfaces não a sua implementação Implementação: temos classes e estamos pondo a implementação às claras usada com mais freqüência
  • 4. Associações  Da perspectiva conceitual, associações representam relações conceituais entre classes.  Da perspectiva de especificação, associações representam responsabilidades
  • 5. Atributos  “Devemos pensar nos atributos como classes simples e pequenas...”  nível conceitual, um atributo nome do Cliente indica que Clientes têm nomes  No nível de especificação, este atributo indica que um objeto Cliente pode lhe dizer o seu nome  No nível de implementação, o Cliente tem um campo para armazenar seu nome
  • 6. Operações  Operações são os processos que a classe sabe realizar  correspondem claramente a métodos em uma classe  Linguagens têm as suas próprias convenções de denominação
  • 7. Generalizações  fenômeno que está sujeito a diferentes interpretações em diferentes tipos de modelagem  modelo de especificação, generalização significa que a interface do subtipo deve incluir todos os elementos da interface do supertipo  na perspectiva de implementação é associada à herança nas linguagens de programação
  • 8. Regras de Restrição  Muito do que está se fazendo quando desenhamos diagramas de classes é indicar restrições  De modo ideal, regras devem ser implementadas como asserções na sua linguagem de programação
  • 9. Quando utilizar Diagramas de Classes ?  Diagramas de classes são a base de quase todas as metodologias OO  podem ser complexos de se usar  não ficar preso em detalhes de implementação  concentrar-se nas áreas principais
  • 10. Referências Bibliográficas  Diagramas de Classes Disponível em: <http://www.mastersoft.com.br/Tutoriais/tutorialu ml/Diag%20de%20Classes.htm> Acesso em: Abril de 2011  Oliveira Ribeiro W. : Diagramas de Classes “Os elementos básicos” Disponível em: <www.helionet.varginha.br/files/trab7.doc> Acesso em: Abril de 2011