SlideShare una empresa de Scribd logo
1 de 26
Diagrama de classe
Objetivo
Descrever os vários tipos de objetos no sistema e o
relacionamento entre eles.
Perspectivas
Um diagrama de classes pode oferecer três perspectivas,
cada uma para um tipo de observador diferente. São elas:
• Conceitual
• Especificação
• Implementação
Conceitual
• Representa os conceitos do domínio em estudo.
• Perspectiva destinada ao cliente.
• Apenas classes são utilizadas. Neste tipo de perspectiva,
uma classe é interpretada como um conceito. Apenas
atributos são utilizados.
Especificação
• Tem foco nas principais interfaces da arquitetura, nos
principais métodos, e não como eles irão ser
implementados.
• Perspectiva destinada as pessoas que não precisam saber
detalhes de desenvolvimento, tais como gerentes de
projeto.
• Tanto classes como interfaces são utilizados neste tipo de
perspectiva. O foco consiste em mostrar as principais
interfaces e classes juntamente com seus métodos.
• Não é necessário mostrar todos os métodos, pois o objetivo
deste diagrama nesta perspectiva é prover uma maior
entendimento da arquitetura do software a nível de
interfaces.
Especificação
Especificação 
• Aborda vários detalhes de implementação, tais como 
navegabilidade, tipo dos atributos, etc.
• Perspectiva destinada ao time de desenvolvimento.
Especificação 
• Nesta perspectiva, vários detalhes de implementação 
podem ser abordados, tais como:
o visibilidade de atributos e métodos;
o parâmetros de cada método, inclusive o tipo de cada um;
o tipos dos atributos e dos valores de retorno de cada 
método.
Diagrama de Classe
Um diagrama de classes contém:
• Entidades
• Relacionamentos
• Exemplo contendo as notações
Entidades
• Classe
• Interface
Classe Concreta -
 Representação gráfica
Classe Concreta
Uma classe é representada na forma de um retângulo, 
contendo duas linhas que separam 3 partes. A primeira contém 
no nome da classe, a segunda os atributos da classe e a 
última os métodos da mesma.
Classe Abstrata - 
Representação gráfica
Classe Abstrata
A representação de uma classe abstrata em UML é quase 
igual à representação de uma classe concreta, a única 
diferença é o estilo da fonte do nome da classe, que, neste 
caso, está em itálico.
Interface - 
Representação gráfica
Representação Icon
Representação Label
Relacionamentos
Relacionamentos - 
Papel
Descreve o relacionamento.
Relacionamentos - 
Multiplicidade
Utilizado em todas as perspectivas de forma uniforme.
Notações possíveis:
 
 
 
Tipos Significa
0..1  Zero ou uma instância. A notação n..m indica n para m 
instâncias.
0..* ou * Não existe limite para o número de instâncias.
1 Exatamente uma instância.
1..* Ao menos uma instância.
Relacionamentos - 
Associação
Utilizado em todas as perspectivas.
• Conceitual
• Define um relacionamento entre duas entidades 
conceituais do sistema.
• Especificação
• Define responsabilidades entre duas classes. Implica 
que existem métodos que tratam desta 
responsabilidade.
• Implementação
• Permite saber quem está apontando para quem, 
através da representação gráfica da navegabilidade. 
Além disto, é possível compreender melhor de que 
lado está a responsabilidade.
Relacionamentos - 
Herança ou Generalização
Utilizado em todas as perspectivas.
• Conceitual
• Considera que B é um subtipo ou um tipo especial de 
A. O que é válido para A, também é válido para B.
• Especificação
• Ocorre uma herança de interface.
• Implementação
• Ocorre uma herança de implementação.
Exemplo de uma herança de implementação:
Relacionamentos - 
Navegabilidade
Utilizado apenas na perspectiva de implementação.
Um relacionamento sem navegabilidade implica que ele pode 
ser lido de duas formas, isto é, em suas duas direções. Ex.: 
Uma empresa possui um trabalhador, como também um 
trabalhador trabalha em uma empresa. 
Relacionamentos -
Navegabilidade
Utilizando a propriedade de navegabilidade, podemos restringir
a forma de ler um relacionamento. Isto é, em vez de termos
duas direções, teremos apenas uma direção (de acordo com a
direção da navegação). Ex.:
Uma empresa possui um trabalhador.
Relacionamentos -
Agregação
Agregação é uma associação em que um objeto é parte de
outro, de tal forma que a parte pode existir sem o todo.
Ela é um tipo especial de associação no qual as duas classes
participantes fazem um relacionamento “todo-parte”. Uma
Agregação descreve como a classe que possui a regra do
todo, é composta (tem) de outras classes, que possuem a
regra das partes. Para Agregações, a classe que age como o
todo sempre tem uma multiplicidade de um.
Relacionamentos -
Agregação
Representação gráfica
Relacionamentos -
Composição
Composições são associações que representam agregações
muito fortes. Isto significa que Composições formam
relacionamentos todo-parte também, mas o relacionamento é
tão forte que as partes não pode existir independentes. Elas
existem somente dentro do todo, e se o todo é destruído as
partes morrem também.
Relacionamentos -
Implementação (realization)
Utilizado apenas na perspectiva de implementação.
Implementação de uma interface representada por um
retângulo:

Más contenido relacionado

La actualidad más candente

Analise de Requisitos
Analise de RequisitosAnalise de Requisitos
Analise de Requisitoselliando dias
 
Processo de Desenvolvimento de Software - Design de Software, Interface, Arqu...
Processo de Desenvolvimento de Software - Design de Software, Interface, Arqu...Processo de Desenvolvimento de Software - Design de Software, Interface, Arqu...
Processo de Desenvolvimento de Software - Design de Software, Interface, Arqu...Natanael Simões
 
Especificação de Requisitos de Software
Especificação de Requisitos de SoftwareEspecificação de Requisitos de Software
Especificação de Requisitos de SoftwareRalph Rassweiler
 
Introducao a Arquitetura de Software
Introducao a Arquitetura de SoftwareIntroducao a Arquitetura de Software
Introducao a Arquitetura de SoftwareUFPA
 
Uml diagrama de atividades
Uml   diagrama de atividadesUml   diagrama de atividades
Uml diagrama de atividadesJordan Oliveira
 
Aula 12 - Diagrama de Atividades.pdf
Aula 12 - Diagrama de Atividades.pdfAula 12 - Diagrama de Atividades.pdf
Aula 12 - Diagrama de Atividades.pdfIvanFontainha
 
Aps lista de exercícios
Aps lista de exercíciosAps lista de exercícios
Aps lista de exercíciosGuilherme
 
Análise e Projeto de Sistemas com UML e Java
Análise e Projeto de Sistemas com UML e JavaAnálise e Projeto de Sistemas com UML e Java
Análise e Projeto de Sistemas com UML e Javaarmeniocardoso
 
Diagrama de Estados
Diagrama de EstadosDiagrama de Estados
Diagrama de EstadosMaikynata
 
1 requisitos funcionais e não funcionais ok
1  requisitos funcionais e não funcionais ok1  requisitos funcionais e não funcionais ok
1 requisitos funcionais e não funcionais okMarcos Morais de Sousa
 
Introdução à Gerência de configuração de Software
Introdução à Gerência de configuração de SoftwareIntrodução à Gerência de configuração de Software
Introdução à Gerência de configuração de SoftwareLucas Amaral
 
Engenharia de requisitos
Engenharia de requisitosEngenharia de requisitos
Engenharia de requisitosMailson Queiroz
 

La actualidad más candente (20)

Analise de Requisitos Software
Analise de Requisitos SoftwareAnalise de Requisitos Software
Analise de Requisitos Software
 
Trabalho uml
Trabalho umlTrabalho uml
Trabalho uml
 
Analise de Requisitos
Analise de RequisitosAnalise de Requisitos
Analise de Requisitos
 
AOO - Diagrama de Caso de Uso
AOO - Diagrama de Caso de UsoAOO - Diagrama de Caso de Uso
AOO - Diagrama de Caso de Uso
 
A Linguagem UML
A Linguagem UMLA Linguagem UML
A Linguagem UML
 
Processo de Desenvolvimento de Software - Design de Software, Interface, Arqu...
Processo de Desenvolvimento de Software - Design de Software, Interface, Arqu...Processo de Desenvolvimento de Software - Design de Software, Interface, Arqu...
Processo de Desenvolvimento de Software - Design de Software, Interface, Arqu...
 
Especificação de Requisitos de Software
Especificação de Requisitos de SoftwareEspecificação de Requisitos de Software
Especificação de Requisitos de Software
 
Introducao a Arquitetura de Software
Introducao a Arquitetura de SoftwareIntroducao a Arquitetura de Software
Introducao a Arquitetura de Software
 
Uml diagrama de atividades
Uml   diagrama de atividadesUml   diagrama de atividades
Uml diagrama de atividades
 
Aula 2 - Processos de Software
Aula 2 - Processos de SoftwareAula 2 - Processos de Software
Aula 2 - Processos de Software
 
Aula 12 - Diagrama de Atividades.pdf
Aula 12 - Diagrama de Atividades.pdfAula 12 - Diagrama de Atividades.pdf
Aula 12 - Diagrama de Atividades.pdf
 
UML
UMLUML
UML
 
Aula 1 - Revisão UML
Aula 1 - Revisão UMLAula 1 - Revisão UML
Aula 1 - Revisão UML
 
Diagrama de Classes
Diagrama de ClassesDiagrama de Classes
Diagrama de Classes
 
Aps lista de exercícios
Aps lista de exercíciosAps lista de exercícios
Aps lista de exercícios
 
Análise e Projeto de Sistemas com UML e Java
Análise e Projeto de Sistemas com UML e JavaAnálise e Projeto de Sistemas com UML e Java
Análise e Projeto de Sistemas com UML e Java
 
Diagrama de Estados
Diagrama de EstadosDiagrama de Estados
Diagrama de Estados
 
1 requisitos funcionais e não funcionais ok
1  requisitos funcionais e não funcionais ok1  requisitos funcionais e não funcionais ok
1 requisitos funcionais e não funcionais ok
 
Introdução à Gerência de configuração de Software
Introdução à Gerência de configuração de SoftwareIntrodução à Gerência de configuração de Software
Introdução à Gerência de configuração de Software
 
Engenharia de requisitos
Engenharia de requisitosEngenharia de requisitos
Engenharia de requisitos
 

Similar a Diagrama de Classe: Conceitos e Notações

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
 
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
 
design patterns - introdução
design patterns - introduçãodesign patterns - introdução
design patterns - introduçãoelliando dias
 
Aula 02 - UML e Padrões de Projeto
Aula 02 - UML e Padrões de ProjetoAula 02 - UML e Padrões de Projeto
Aula 02 - UML e Padrões de ProjetoVinícius de Paula
 
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 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
 
Metodologia orientado a objetos
Metodologia orientado a objetosMetodologia orientado a objetos
Metodologia orientado a objetosGabriel Faustino
 
Curso : Introdução Orientação a Objetos
Curso : Introdução Orientação a ObjetosCurso : Introdução Orientação a Objetos
Curso : Introdução Orientação a Objetosdanielrpgj30
 
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
 
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
 

Similar a Diagrama de Classe: Conceitos e Notações (20)

Paradigma Orientado a Objetos
Paradigma Orientado a ObjetosParadigma Orientado a Objetos
Paradigma Orientado a Objetos
 
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
 
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
 
Relatório da uml
Relatório da umlRelatório da uml
Relatório da uml
 
Diagrama classes
Diagrama classesDiagrama classes
Diagrama classes
 
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...
 
design patterns - introdução
design patterns - introduçãodesign patterns - introdução
design patterns - introdução
 
Aula 02 - UML e Padrões de Projeto
Aula 02 - UML e Padrões de ProjetoAula 02 - UML e Padrões de Projeto
Aula 02 - UML e Padrões de Projeto
 
Apresentação da UML
Apresentação da UMLApresentação da UML
Apresentação da UML
 
Diagrama de classes
Diagrama de classesDiagrama de classes
Diagrama de classes
 
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
 
Diagrama de Classes
Diagrama de ClassesDiagrama de Classes
Diagrama de Classes
 
Sld 4
Sld 4Sld 4
Sld 4
 
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
 
Metodologia orientado a objetos
Metodologia orientado a objetosMetodologia orientado a objetos
Metodologia orientado a objetos
 
Curso : Introdução Orientação a Objetos
Curso : Introdução Orientação a ObjetosCurso : Introdução Orientação a Objetos
Curso : Introdução Orientação a Objetos
 
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.
 
Diagrama UML Pergamum
Diagrama UML PergamumDiagrama UML Pergamum
Diagrama UML Pergamum
 
Curso Básico de UML
Curso Básico de UMLCurso Básico de UML
Curso Básico de UML
 
Apresentação Introdução Design Patterns
Apresentação Introdução Design PatternsApresentação Introdução Design Patterns
Apresentação Introdução Design Patterns
 

Más de Suissa

ES6 funcional TDC - Suissa
ES6 funcional TDC - SuissaES6 funcional TDC - Suissa
ES6 funcional TDC - SuissaSuissa
 
TypeScript - Olhe teu tipo, script slides
TypeScript - Olhe teu tipo, script slidesTypeScript - Olhe teu tipo, script slides
TypeScript - Olhe teu tipo, script slidesSuissa
 
Mongoose - Melhores práticas usando MongoDB e Node.js
Mongoose - Melhores práticas usando MongoDB e Node.jsMongoose - Melhores práticas usando MongoDB e Node.js
Mongoose - Melhores práticas usando MongoDB e Node.jsSuissa
 
Atomic design
Atomic design Atomic design
Atomic design Suissa
 
Palestra node.js
Palestra   node.js Palestra   node.js
Palestra node.js Suissa
 
Be MEAN JSConf Uruguay - Suissa
Be MEAN JSConf Uruguay - SuissaBe MEAN JSConf Uruguay - Suissa
Be MEAN JSConf Uruguay - SuissaSuissa
 
Atomic design
Atomic designAtomic design
Atomic designSuissa
 
Be MEAN
Be MEANBe MEAN
Be MEANSuissa
 
Be mean
Be meanBe mean
Be meanSuissa
 
Devcast node.js e mongo db o casamento perfeito
Devcast   node.js e mongo db o casamento perfeitoDevcast   node.js e mongo db o casamento perfeito
Devcast node.js e mongo db o casamento perfeitoSuissa
 
Secot banco de dados no sql de código aberto
Secot   banco de dados no sql de código abertoSecot   banco de dados no sql de código aberto
Secot banco de dados no sql de código abertoSuissa
 
Flisol - Nodejs e MongoDb o casamento perfeito
Flisol - Nodejs e MongoDb o casamento perfeitoFlisol - Nodejs e MongoDb o casamento perfeito
Flisol - Nodejs e MongoDb o casamento perfeitoSuissa
 
Ph pn rio 2012 - conheça seu primeiro banco de dados orientado a grafos
Ph pn rio 2012 - conheça seu primeiro banco de dados orientado a grafosPh pn rio 2012 - conheça seu primeiro banco de dados orientado a grafos
Ph pn rio 2012 - conheça seu primeiro banco de dados orientado a grafosSuissa
 
Javascript moderno
Javascript modernoJavascript moderno
Javascript modernoSuissa
 
DevDay - O elo perdido: sincronizando webapps
DevDay - O elo perdido: sincronizando webappsDevDay - O elo perdido: sincronizando webapps
DevDay - O elo perdido: sincronizando webappsSuissa
 
DevDay - MongoDb no mundo real - slides
DevDay - MongoDb no mundo real - slidesDevDay - MongoDb no mundo real - slides
DevDay - MongoDb no mundo real - slidesSuissa
 
7 masters wordpress - advanced queries
7 masters   wordpress - advanced queries7 masters   wordpress - advanced queries
7 masters wordpress - advanced queriesSuissa
 
Javascript moderno
Javascript modernoJavascript moderno
Javascript modernoSuissa
 
Fisl banco de dados no sql de código aberto
Fisl   banco de dados no sql de código abertoFisl   banco de dados no sql de código aberto
Fisl banco de dados no sql de código abertoSuissa
 
Mongo db no mundo real slides
Mongo db no mundo real   slidesMongo db no mundo real   slides
Mongo db no mundo real slidesSuissa
 

Más de Suissa (20)

ES6 funcional TDC - Suissa
ES6 funcional TDC - SuissaES6 funcional TDC - Suissa
ES6 funcional TDC - Suissa
 
TypeScript - Olhe teu tipo, script slides
TypeScript - Olhe teu tipo, script slidesTypeScript - Olhe teu tipo, script slides
TypeScript - Olhe teu tipo, script slides
 
Mongoose - Melhores práticas usando MongoDB e Node.js
Mongoose - Melhores práticas usando MongoDB e Node.jsMongoose - Melhores práticas usando MongoDB e Node.js
Mongoose - Melhores práticas usando MongoDB e Node.js
 
Atomic design
Atomic design Atomic design
Atomic design
 
Palestra node.js
Palestra   node.js Palestra   node.js
Palestra node.js
 
Be MEAN JSConf Uruguay - Suissa
Be MEAN JSConf Uruguay - SuissaBe MEAN JSConf Uruguay - Suissa
Be MEAN JSConf Uruguay - Suissa
 
Atomic design
Atomic designAtomic design
Atomic design
 
Be MEAN
Be MEANBe MEAN
Be MEAN
 
Be mean
Be meanBe mean
Be mean
 
Devcast node.js e mongo db o casamento perfeito
Devcast   node.js e mongo db o casamento perfeitoDevcast   node.js e mongo db o casamento perfeito
Devcast node.js e mongo db o casamento perfeito
 
Secot banco de dados no sql de código aberto
Secot   banco de dados no sql de código abertoSecot   banco de dados no sql de código aberto
Secot banco de dados no sql de código aberto
 
Flisol - Nodejs e MongoDb o casamento perfeito
Flisol - Nodejs e MongoDb o casamento perfeitoFlisol - Nodejs e MongoDb o casamento perfeito
Flisol - Nodejs e MongoDb o casamento perfeito
 
Ph pn rio 2012 - conheça seu primeiro banco de dados orientado a grafos
Ph pn rio 2012 - conheça seu primeiro banco de dados orientado a grafosPh pn rio 2012 - conheça seu primeiro banco de dados orientado a grafos
Ph pn rio 2012 - conheça seu primeiro banco de dados orientado a grafos
 
Javascript moderno
Javascript modernoJavascript moderno
Javascript moderno
 
DevDay - O elo perdido: sincronizando webapps
DevDay - O elo perdido: sincronizando webappsDevDay - O elo perdido: sincronizando webapps
DevDay - O elo perdido: sincronizando webapps
 
DevDay - MongoDb no mundo real - slides
DevDay - MongoDb no mundo real - slidesDevDay - MongoDb no mundo real - slides
DevDay - MongoDb no mundo real - slides
 
7 masters wordpress - advanced queries
7 masters   wordpress - advanced queries7 masters   wordpress - advanced queries
7 masters wordpress - advanced queries
 
Javascript moderno
Javascript modernoJavascript moderno
Javascript moderno
 
Fisl banco de dados no sql de código aberto
Fisl   banco de dados no sql de código abertoFisl   banco de dados no sql de código aberto
Fisl banco de dados no sql de código aberto
 
Mongo db no mundo real slides
Mongo db no mundo real   slidesMongo db no mundo real   slides
Mongo db no mundo real slides
 

Diagrama de Classe: Conceitos e Notações