SlideShare uma empresa Scribd logo

Diagrama de Classes

O documento apresenta um diagrama de classes para modelar um sistema de matrícula universitária. Ele descreve as classes Professor, Coordenador, Estudante, Turma, Disciplina, Formulário de Matrícula e Analisador de Matrícula e seus relacionamentos.

1 de 46
Baixar para ler offline
UML: Diagrama de Classes
© LES/PUC-Rio
UML – Diagrama de Classes
• Introdução – Diagrama de classes
• Elementos do diagrama de classes
• Exemplo: Sistema de matrícula
© LES/PUC-Rio
Introdução - Diagrama de Classes
• Mostra um conjunto de classes e seus relacionamentos.
• É o diagrama central da modelagem orientada a objetos.
Aluno
nome: Texto
matrícula: Inteiro
definirNome(nome)
obterNome()
definirMatricula(matricula)
obterMatricula
Turma
código: Texto
sala: Texto
horario: Horario
estaAberta()
definirProfessor(professor)
incluirAluno(aluno)
está-matriculado-em
Professor
nome: Texto
titulação: Texto
definirNome(nome)
obterNome()
definirTitulacao(titulo)
obterTitulacao
é-ministrada-por
© LES/PUC-Rio
Elementos – Diagrama de Classes
• Elementos de um diagrama de classes
– Classes
– Relacionamentos
• Associação
– Agregação
– Composição
• Generalização
• Dependência
© LES/PUC-Rio
Elementos – Diagrama de Classes
• Elementos de um diagrama de classes
– Classes
– Relacionamentos
• Associação
– Agregação
– Composição
• Generalização
• Dependência
© LES/PUC-Rio
Elementos – Diagrama de Classes
Classes
• Graficamente, as classes são representadas por retângulos
incluindo nome, atributos e métodos.
• Devem receber nomes de acordo com o vocabulário do
domínio do problema.
• É comum adotar um padrão para nomeá-las
Ex: todos os nomes de classes serão substantivos singulares
com a primeira letra maiúscula
Nome_da_classe
atributo1
atributo2
...
metodo1
metodo2
metodo3
...

Recomendados

Mais conteúdo relacionado

Mais procurados

Uml diagrama de sequencia
Uml diagrama de sequenciaUml diagrama de sequencia
Uml diagrama de sequenciaItalo Costa
 
Java orientação a objetos (associacao, composicao, agregacao)
Java   orientação a objetos (associacao, composicao, agregacao)Java   orientação a objetos (associacao, composicao, agregacao)
Java orientação a objetos (associacao, composicao, agregacao)Armando Daniel
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POODaniel Brandão
 
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
 
POO - Unidade 2 (parte 2) - Classe de Associação, Agregação, Composição (ver...
POO - Unidade 2 (parte 2) - Classe de Associação, Agregação, Composição  (ver...POO - Unidade 2 (parte 2) - Classe de Associação, Agregação, Composição  (ver...
POO - Unidade 2 (parte 2) - Classe de Associação, Agregação, Composição (ver...Marcello Thiry
 
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)Leinylson Fontinele
 
Programação Orientação a Objetos - Herança
Programação Orientação a Objetos - HerançaProgramação Orientação a Objetos - Herança
Programação Orientação a Objetos - HerançaDaniel Brandão
 
UML - Criando Diagramas Eficientes
UML - Criando Diagramas EficientesUML - Criando Diagramas Eficientes
UML - Criando Diagramas EficientesRodrigo Cascarrolho
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetosCleyton Ferrari
 
Diagrama de Perfil e Estruturas Compostas
Diagrama de Perfil e Estruturas CompostasDiagrama de Perfil e Estruturas Compostas
Diagrama de Perfil e Estruturas CompostasOctviodeOliveiraJorg
 
Aula 1 requisitos
Aula 1   requisitosAula 1   requisitos
Aula 1 requisitoslicardino
 

Mais procurados (20)

Uml diagrama de sequencia
Uml diagrama de sequenciaUml diagrama de sequencia
Uml diagrama de sequencia
 
Java orientação a objetos (associacao, composicao, agregacao)
Java   orientação a objetos (associacao, composicao, agregacao)Java   orientação a objetos (associacao, composicao, agregacao)
Java orientação a objetos (associacao, composicao, agregacao)
 
JAVA - Orientação a Objetos
JAVA - Orientação a ObjetosJAVA - Orientação a Objetos
JAVA - Orientação a Objetos
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POO
 
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
 
POO - Unidade 2 (parte 2) - Classe de Associação, Agregação, Composição (ver...
POO - Unidade 2 (parte 2) - Classe de Associação, Agregação, Composição  (ver...POO - Unidade 2 (parte 2) - Classe de Associação, Agregação, Composição  (ver...
POO - Unidade 2 (parte 2) - Classe de Associação, Agregação, Composição (ver...
 
AOO - Diagrama de Caso de Uso
AOO - Diagrama de Caso de UsoAOO - Diagrama de Caso de Uso
AOO - Diagrama de Caso de Uso
 
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
 
Programação Orientação a Objetos - Herança
Programação Orientação a Objetos - HerançaProgramação Orientação a Objetos - Herança
Programação Orientação a Objetos - Herança
 
Diagrama de Casos de Uso
Diagrama de Casos de UsoDiagrama de Casos de Uso
Diagrama de Casos de Uso
 
JAVA - Herança
JAVA - HerançaJAVA - Herança
JAVA - Herança
 
Revisão UML
Revisão UMLRevisão UML
Revisão UML
 
UML - Criando Diagramas Eficientes
UML - Criando Diagramas EficientesUML - Criando Diagramas Eficientes
UML - Criando Diagramas Eficientes
 
Aula 7 diagramas_classes2
Aula 7 diagramas_classes2Aula 7 diagramas_classes2
Aula 7 diagramas_classes2
 
POO - 19 - Elementos Estáticos
POO - 19 - Elementos EstáticosPOO - 19 - Elementos Estáticos
POO - 19 - Elementos Estáticos
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
 
Diagrama de Perfil e Estruturas Compostas
Diagrama de Perfil e Estruturas CompostasDiagrama de Perfil e Estruturas Compostas
Diagrama de Perfil e Estruturas Compostas
 
POO - Aula 1
POO - Aula 1POO - Aula 1
POO - Aula 1
 
Bases De Dados
Bases De DadosBases De Dados
Bases De Dados
 
Aula 1 requisitos
Aula 1   requisitosAula 1   requisitos
Aula 1 requisitos
 

Destaque

Desenvolvimento de um modelo de simulação social da cidade de Mandirituba
Desenvolvimento de um modelo de simulação social da cidade de MandiritubaDesenvolvimento de um modelo de simulação social da cidade de Mandirituba
Desenvolvimento de um modelo de simulação social da cidade de MandiritubaLeonardo Alcantara
 
Diagrama de classe
Diagrama de classeDiagrama de classe
Diagrama de classeSuissa
 
Sistemas Computacionais Aula 07 - Sistemas de Informação Organizacionais (SI...
Sistemas Computacionais  Aula 07 - Sistemas de Informação Organizacionais (SI...Sistemas Computacionais  Aula 07 - Sistemas de Informação Organizacionais (SI...
Sistemas Computacionais Aula 07 - Sistemas de Informação Organizacionais (SI...Leinylson Fontinele
 
Sistemas Computacionais Aula 05 - Tipos de Sistemas de Informação, Exemplos d...
Sistemas Computacionais Aula 05 - Tipos de Sistemas de Informação, Exemplos d...Sistemas Computacionais Aula 05 - Tipos de Sistemas de Informação, Exemplos d...
Sistemas Computacionais Aula 05 - Tipos de Sistemas de Informação, Exemplos d...Leinylson Fontinele
 
Exercicio de UML - Documentacao Restaurante
Exercicio de UML  - Documentacao RestauranteExercicio de UML  - Documentacao Restaurante
Exercicio de UML - Documentacao RestauranteJuliana Cindra
 
Análise Orientada a Objetos - Objetos E Classes
Análise Orientada a Objetos  -   Objetos E ClassesAnálise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos - Objetos E ClassesCursoSENAC
 
Aula de física movimento, repouso, velocidade média
Aula de física  movimento, repouso, velocidade médiaAula de física  movimento, repouso, velocidade média
Aula de física movimento, repouso, velocidade médialuam1969
 

Destaque (11)

Desenvolvimento de um modelo de simulação social da cidade de Mandirituba
Desenvolvimento de um modelo de simulação social da cidade de MandiritubaDesenvolvimento de um modelo de simulação social da cidade de Mandirituba
Desenvolvimento de um modelo de simulação social da cidade de Mandirituba
 
Si diagrama de classes
Si  diagrama de classesSi  diagrama de classes
Si diagrama de classes
 
Diagrama de classe
Diagrama de classeDiagrama de classe
Diagrama de classe
 
Si modelação dados
Si   modelação dadosSi   modelação dados
Si modelação dados
 
01 guia cd - mod1
01   guia cd - mod101   guia cd - mod1
01 guia cd - mod1
 
Sistemas Computacionais Aula 07 - Sistemas de Informação Organizacionais (SI...
Sistemas Computacionais  Aula 07 - Sistemas de Informação Organizacionais (SI...Sistemas Computacionais  Aula 07 - Sistemas de Informação Organizacionais (SI...
Sistemas Computacionais Aula 07 - Sistemas de Informação Organizacionais (SI...
 
Sistemas Computacionais Aula 05 - Tipos de Sistemas de Informação, Exemplos d...
Sistemas Computacionais Aula 05 - Tipos de Sistemas de Informação, Exemplos d...Sistemas Computacionais Aula 05 - Tipos de Sistemas de Informação, Exemplos d...
Sistemas Computacionais Aula 05 - Tipos de Sistemas de Informação, Exemplos d...
 
Exercicio de UML - Documentacao Restaurante
Exercicio de UML  - Documentacao RestauranteExercicio de UML  - Documentacao Restaurante
Exercicio de UML - Documentacao Restaurante
 
graficos do MU e MUV
graficos do MU e MUVgraficos do MU e MUV
graficos do MU e MUV
 
Análise Orientada a Objetos - Objetos E Classes
Análise Orientada a Objetos  -   Objetos E ClassesAnálise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos - Objetos E Classes
 
Aula de física movimento, repouso, velocidade média
Aula de física  movimento, repouso, velocidade médiaAula de física  movimento, repouso, velocidade média
Aula de física movimento, repouso, velocidade média
 

Semelhante a Diagrama de Classes

Semelhante a Diagrama de Classes (20)

Diagrama de Classes (8).pdf
Diagrama de Classes (8).pdfDiagrama de Classes (8).pdf
Diagrama de Classes (8).pdf
 
8 02
8 028 02
8 02
 
[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
 
Diagrama classes
Diagrama classesDiagrama classes
Diagrama classes
 
Aula 3-IDB - Modelo Conceptual-2.pdf
Aula 3-IDB - Modelo Conceptual-2.pdfAula 3-IDB - Modelo Conceptual-2.pdf
Aula 3-IDB - Modelo Conceptual-2.pdf
 
Paradigma Orientado a Objetos
Paradigma Orientado a ObjetosParadigma Orientado a Objetos
Paradigma Orientado a Objetos
 
[CRASHCOURSE] Orientação a Objeto e UML
[CRASHCOURSE] Orientação a Objeto e UML[CRASHCOURSE] Orientação a Objeto e UML
[CRASHCOURSE] Orientação a Objeto e UML
 
Sistema acadêmico
Sistema acadêmicoSistema acadêmico
Sistema acadêmico
 
UMLIntro.pptx
UMLIntro.pptxUMLIntro.pptx
UMLIntro.pptx
 
DER - Diagrama de Entidade e Relacionamentos
DER - Diagrama de Entidade e RelacionamentosDER - Diagrama de Entidade e Relacionamentos
DER - Diagrama de Entidade e Relacionamentos
 
Metodologia orientado a objetos
Metodologia orientado a objetosMetodologia orientado a objetos
Metodologia orientado a objetos
 
A Linguagem UML
A Linguagem UMLA Linguagem UML
A Linguagem UML
 
Padrões de projetos
Padrões de projetosPadrões de projetos
Padrões de projetos
 
Introdução à linguagem UML
Introdução à linguagem UMLIntrodução à linguagem UML
Introdução à linguagem UML
 
Aula 1 - Linguagem III
Aula 1 - Linguagem IIIAula 1 - Linguagem III
Aula 1 - Linguagem III
 
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 componentes_1
Diagrama componentes_1Diagrama componentes_1
Diagrama componentes_1
 
UMLIntro.pdf
UMLIntro.pdfUMLIntro.pdf
UMLIntro.pdf
 
Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER
 

Último

Discuta as principais mudanças e desafios enfrentados pelos profissionais de ...
Discuta as principais mudanças e desafios enfrentados pelos profissionais de ...Discuta as principais mudanças e desafios enfrentados pelos profissionais de ...
Discuta as principais mudanças e desafios enfrentados pelos profissionais de ...excellenceeducaciona
 
Explique o modelo de determinação social da saúde proposto por Dahlgren e Whi...
Explique o modelo de determinação social da saúde proposto por Dahlgren e Whi...Explique o modelo de determinação social da saúde proposto por Dahlgren e Whi...
Explique o modelo de determinação social da saúde proposto por Dahlgren e Whi...excellenceeducaciona
 
2. Como o entrevistado descreve a gestão e execução dos principais processos ...
2. Como o entrevistado descreve a gestão e execução dos principais processos ...2. Como o entrevistado descreve a gestão e execução dos principais processos ...
2. Como o entrevistado descreve a gestão e execução dos principais processos ...excellenceeducaciona
 
Com base na figura exposta abaixo, Explique o modelo de determinação social d...
Com base na figura exposta abaixo, Explique o modelo de determinação social d...Com base na figura exposta abaixo, Explique o modelo de determinação social d...
Com base na figura exposta abaixo, Explique o modelo de determinação social d...Prime Assessoria
 
1 – O nome de cada uma das tendências pedagógicas, em ordem cronológica;
1 – O nome de cada uma das tendências pedagógicas, em ordem cronológica;1 – O nome de cada uma das tendências pedagógicas, em ordem cronológica;
1 – O nome de cada uma das tendências pedagógicas, em ordem cronológica;azulassessoriaacadem3
 
SOCIOLOGIA: O PENSAMENTO DE ÉMILE DURKHEIM
SOCIOLOGIA: O PENSAMENTO DE ÉMILE DURKHEIMSOCIOLOGIA: O PENSAMENTO DE ÉMILE DURKHEIM
SOCIOLOGIA: O PENSAMENTO DE ÉMILE DURKHEIMHisrelBlog
 
Desenvolva um texto dissertativo sobre como a experiência de Deus pode ser re...
Desenvolva um texto dissertativo sobre como a experiência de Deus pode ser re...Desenvolva um texto dissertativo sobre como a experiência de Deus pode ser re...
Desenvolva um texto dissertativo sobre como a experiência de Deus pode ser re...azulassessoriaacadem3
 
5. Na sua opinião, em que medida os princípios da ORT de Taylor ainda são rel...
5. Na sua opinião, em que medida os princípios da ORT de Taylor ainda são rel...5. Na sua opinião, em que medida os princípios da ORT de Taylor ainda são rel...
5. Na sua opinião, em que medida os princípios da ORT de Taylor ainda são rel...apoioacademicoead
 
Reprodução nos Animais - 2.º ciclo 5.º ano
Reprodução nos Animais - 2.º ciclo 5.º anoReprodução nos Animais - 2.º ciclo 5.º ano
Reprodução nos Animais - 2.º ciclo 5.º anoMariaJoão Agualuza
 
A) COMENTE sobre a situação de saúde apresentado no Brasil atualmente e EXPLI...
A) COMENTE sobre a situação de saúde apresentado no Brasil atualmente e EXPLI...A) COMENTE sobre a situação de saúde apresentado no Brasil atualmente e EXPLI...
A) COMENTE sobre a situação de saúde apresentado no Brasil atualmente e EXPLI...Prime Assessoria
 
2 – A data de implantação de cada tendência pedagógica no Brasil;
2 – A data de implantação de cada tendência pedagógica no Brasil;2 – A data de implantação de cada tendência pedagógica no Brasil;
2 – A data de implantação de cada tendência pedagógica no Brasil;azulassessoriaacadem3
 
Depois de refletir sobre essas etapas, o planejamento será registrado por mei...
Depois de refletir sobre essas etapas, o planejamento será registrado por mei...Depois de refletir sobre essas etapas, o planejamento será registrado por mei...
Depois de refletir sobre essas etapas, o planejamento será registrado por mei...azulassessoriaacadem3
 
Planejamento Anual Matemática para o ENEM - 1º ano 1, 2 e 3 anos-.pdf
Planejamento Anual Matemática para o ENEM -  1º ano 1, 2 e 3  anos-.pdfPlanejamento Anual Matemática para o ENEM -  1º ano 1, 2 e 3  anos-.pdf
Planejamento Anual Matemática para o ENEM - 1º ano 1, 2 e 3 anos-.pdfCludiaFrancklim
 
Elabore uma apresentação em PowerPoint em que você possa definir como a teolo...
Elabore uma apresentação em PowerPoint em que você possa definir como a teolo...Elabore uma apresentação em PowerPoint em que você possa definir como a teolo...
Elabore uma apresentação em PowerPoint em que você possa definir como a teolo...azulassessoriaacadem3
 
Slides Lição 9, BETEL, Família, primeiro ministério e maior patrimônio.pptx
Slides Lição 9, BETEL, Família, primeiro ministério e maior patrimônio.pptxSlides Lição 9, BETEL, Família, primeiro ministério e maior patrimônio.pptx
Slides Lição 9, BETEL, Família, primeiro ministério e maior patrimônio.pptxLuizHenriquedeAlmeid6
 
a. Cite e explique os três princípios básicos da progressão do treinamento de...
a. Cite e explique os três princípios básicos da progressão do treinamento de...a. Cite e explique os três princípios básicos da progressão do treinamento de...
a. Cite e explique os três princípios básicos da progressão do treinamento de...excellenceeducaciona
 
Com base no exposto, sua ação nessa atividade consiste em elaborar um texto d...
Com base no exposto, sua ação nessa atividade consiste em elaborar um texto d...Com base no exposto, sua ação nessa atividade consiste em elaborar um texto d...
Com base no exposto, sua ação nessa atividade consiste em elaborar um texto d...azulassessoriaacadem3
 
Vários modelos foram propostos para estudar os determinantes sociais e a tram...
Vários modelos foram propostos para estudar os determinantes sociais e a tram...Vários modelos foram propostos para estudar os determinantes sociais e a tram...
Vários modelos foram propostos para estudar os determinantes sociais e a tram...Prime Assessoria
 

Último (20)

Atividade sobre o anacronismo na HIstoria
Atividade sobre o anacronismo na HIstoriaAtividade sobre o anacronismo na HIstoria
Atividade sobre o anacronismo na HIstoria
 
Namorar não és ser don .
Namorar não és ser don                  .Namorar não és ser don                  .
Namorar não és ser don .
 
Discuta as principais mudanças e desafios enfrentados pelos profissionais de ...
Discuta as principais mudanças e desafios enfrentados pelos profissionais de ...Discuta as principais mudanças e desafios enfrentados pelos profissionais de ...
Discuta as principais mudanças e desafios enfrentados pelos profissionais de ...
 
Explique o modelo de determinação social da saúde proposto por Dahlgren e Whi...
Explique o modelo de determinação social da saúde proposto por Dahlgren e Whi...Explique o modelo de determinação social da saúde proposto por Dahlgren e Whi...
Explique o modelo de determinação social da saúde proposto por Dahlgren e Whi...
 
2. Como o entrevistado descreve a gestão e execução dos principais processos ...
2. Como o entrevistado descreve a gestão e execução dos principais processos ...2. Como o entrevistado descreve a gestão e execução dos principais processos ...
2. Como o entrevistado descreve a gestão e execução dos principais processos ...
 
Com base na figura exposta abaixo, Explique o modelo de determinação social d...
Com base na figura exposta abaixo, Explique o modelo de determinação social d...Com base na figura exposta abaixo, Explique o modelo de determinação social d...
Com base na figura exposta abaixo, Explique o modelo de determinação social d...
 
1 – O nome de cada uma das tendências pedagógicas, em ordem cronológica;
1 – O nome de cada uma das tendências pedagógicas, em ordem cronológica;1 – O nome de cada uma das tendências pedagógicas, em ordem cronológica;
1 – O nome de cada uma das tendências pedagógicas, em ordem cronológica;
 
SOCIOLOGIA: O PENSAMENTO DE ÉMILE DURKHEIM
SOCIOLOGIA: O PENSAMENTO DE ÉMILE DURKHEIMSOCIOLOGIA: O PENSAMENTO DE ÉMILE DURKHEIM
SOCIOLOGIA: O PENSAMENTO DE ÉMILE DURKHEIM
 
Desenvolva um texto dissertativo sobre como a experiência de Deus pode ser re...
Desenvolva um texto dissertativo sobre como a experiência de Deus pode ser re...Desenvolva um texto dissertativo sobre como a experiência de Deus pode ser re...
Desenvolva um texto dissertativo sobre como a experiência de Deus pode ser re...
 
5. Na sua opinião, em que medida os princípios da ORT de Taylor ainda são rel...
5. Na sua opinião, em que medida os princípios da ORT de Taylor ainda são rel...5. Na sua opinião, em que medida os princípios da ORT de Taylor ainda são rel...
5. Na sua opinião, em que medida os princípios da ORT de Taylor ainda são rel...
 
Reprodução nos Animais - 2.º ciclo 5.º ano
Reprodução nos Animais - 2.º ciclo 5.º anoReprodução nos Animais - 2.º ciclo 5.º ano
Reprodução nos Animais - 2.º ciclo 5.º ano
 
A) COMENTE sobre a situação de saúde apresentado no Brasil atualmente e EXPLI...
A) COMENTE sobre a situação de saúde apresentado no Brasil atualmente e EXPLI...A) COMENTE sobre a situação de saúde apresentado no Brasil atualmente e EXPLI...
A) COMENTE sobre a situação de saúde apresentado no Brasil atualmente e EXPLI...
 
2 – A data de implantação de cada tendência pedagógica no Brasil;
2 – A data de implantação de cada tendência pedagógica no Brasil;2 – A data de implantação de cada tendência pedagógica no Brasil;
2 – A data de implantação de cada tendência pedagógica no Brasil;
 
Depois de refletir sobre essas etapas, o planejamento será registrado por mei...
Depois de refletir sobre essas etapas, o planejamento será registrado por mei...Depois de refletir sobre essas etapas, o planejamento será registrado por mei...
Depois de refletir sobre essas etapas, o planejamento será registrado por mei...
 
Planejamento Anual Matemática para o ENEM - 1º ano 1, 2 e 3 anos-.pdf
Planejamento Anual Matemática para o ENEM -  1º ano 1, 2 e 3  anos-.pdfPlanejamento Anual Matemática para o ENEM -  1º ano 1, 2 e 3  anos-.pdf
Planejamento Anual Matemática para o ENEM - 1º ano 1, 2 e 3 anos-.pdf
 
Elabore uma apresentação em PowerPoint em que você possa definir como a teolo...
Elabore uma apresentação em PowerPoint em que você possa definir como a teolo...Elabore uma apresentação em PowerPoint em que você possa definir como a teolo...
Elabore uma apresentação em PowerPoint em que você possa definir como a teolo...
 
Slides Lição 9, BETEL, Família, primeiro ministério e maior patrimônio.pptx
Slides Lição 9, BETEL, Família, primeiro ministério e maior patrimônio.pptxSlides Lição 9, BETEL, Família, primeiro ministério e maior patrimônio.pptx
Slides Lição 9, BETEL, Família, primeiro ministério e maior patrimônio.pptx
 
a. Cite e explique os três princípios básicos da progressão do treinamento de...
a. Cite e explique os três princípios básicos da progressão do treinamento de...a. Cite e explique os três princípios básicos da progressão do treinamento de...
a. Cite e explique os três princípios básicos da progressão do treinamento de...
 
Com base no exposto, sua ação nessa atividade consiste em elaborar um texto d...
Com base no exposto, sua ação nessa atividade consiste em elaborar um texto d...Com base no exposto, sua ação nessa atividade consiste em elaborar um texto d...
Com base no exposto, sua ação nessa atividade consiste em elaborar um texto d...
 
Vários modelos foram propostos para estudar os determinantes sociais e a tram...
Vários modelos foram propostos para estudar os determinantes sociais e a tram...Vários modelos foram propostos para estudar os determinantes sociais e a tram...
Vários modelos foram propostos para estudar os determinantes sociais e a tram...
 

Diagrama de Classes

  • 2. © LES/PUC-Rio UML – Diagrama de Classes • Introdução – Diagrama de classes • Elementos do diagrama de classes • Exemplo: Sistema de matrícula
  • 3. © LES/PUC-Rio Introdução - Diagrama de Classes • Mostra um conjunto de classes e seus relacionamentos. • É o diagrama central da modelagem orientada a objetos. Aluno nome: Texto matrícula: Inteiro definirNome(nome) obterNome() definirMatricula(matricula) obterMatricula Turma código: Texto sala: Texto horario: Horario estaAberta() definirProfessor(professor) incluirAluno(aluno) está-matriculado-em Professor nome: Texto titulação: Texto definirNome(nome) obterNome() definirTitulacao(titulo) obterTitulacao é-ministrada-por
  • 4. © LES/PUC-Rio Elementos – Diagrama de Classes • Elementos de um diagrama de classes – Classes – Relacionamentos • Associação – Agregação – Composição • Generalização • Dependência
  • 5. © LES/PUC-Rio Elementos – Diagrama de Classes • Elementos de um diagrama de classes – Classes – Relacionamentos • Associação – Agregação – Composição • Generalização • Dependência
  • 6. © LES/PUC-Rio Elementos – Diagrama de Classes Classes • Graficamente, as classes são representadas por retângulos incluindo nome, atributos e métodos. • Devem receber nomes de acordo com o vocabulário do domínio do problema. • É comum adotar um padrão para nomeá-las Ex: todos os nomes de classes serão substantivos singulares com a primeira letra maiúscula Nome_da_classe atributo1 atributo2 ... metodo1 metodo2 metodo3 ...
  • 7. © LES/PUC-Rio Elementos – Diagrama de Classes Classes • Atributos – Representam o conjunto de características (estado) dos objetos daquela classe – Visibilidade: + público: visível em qualquer classe de qualquer pacote # protegido: visível para classes do mesmo pacote - privado: visível somente para classe Exemplo: + nome : String
  • 8. © LES/PUC-Rio Elementos – Diagrama de Classes Classes • Métodos – Representam o conjunto de operações (comportamento) que a classe fornece – Visibilidade: + público: visível em qualquer classe de qualquer pacote # protegido: visível para classes do mesmo pacote - privado: visível somente para classe Exemplo: - getNome() : String
  • 9. © LES/PUC-Rio Elementos – Diagrama de Classes • Elementos de um diagrama de classes – Classes – Relacionamentos • Associação – Agregação – Composição • Generalização • Dependência
  • 10. © LES/PUC-Rio Elementos – Diagrama de Classes Relacionamentos • Os relacionamentos possuem: – Nome: descrição dada ao relacionamento (faz, tem, possui,...) – Sentido de leitura – Navegabilidade: indicada por uma seta no fim do relacionamento – Multiplicidade: 0..1, 0..*, 1, 1..*, 2, 3..7 – Tipo: associação (agregação, composição), generalização e dependência – Papéis: desempenhados por classes em um relacionamento
  • 11. © LES/PUC-Rio Elementos – Diagrama de Classes Pessoa Empresa 1..* Tipo: associação multiplicidade *trabalha para empregado papéis empregador sentido de leitura • Relacionamentos E a navegabilidade? nome
  • 12. © LES/PUC-Rio Elementos – Diagrama de Classes • Relacionamentos • O cliente sabe quais são seus endereços, mas o endereço não sabe a quais clientes pertence EndereçoCliente reside 1 * navegabilidade
  • 13. © LES/PUC-Rio Elementos – Diagrama de Classes • Elementos de um diagrama de classes – Classes – Relacionamentos • Associação – Agregação – Composição • Generalização • Dependência
  • 14. © LES/PUC-Rio Elementos – Diagrama de Classes Relacionamentos: Associação • Uma associação é um relacionamento estrutural que indica que os objetos de uma classe estão vinculados a objetos de outra classe. • Uma associação é representada por uma linha sólida conectando duas classes. Pessoa Empresa associação
  • 15. © LES/PUC-Rio Elementos – Diagrama de Classes Relacionamentos: Associação • Indicadores de multiplicidade: – 1 Exatamente um – 1..* Um ou mais – 0..* Zero ou mais (muitos) – * Zero ou mais (muitos) – 0..1 Zero ou um – m..n Faixa de valores (por exemplo: 4..7) Pessoa Empresa 1..* associação multiplicidade *trabalha para
  • 16. © LES/PUC-Rio Relacionamentos: Associação Relacionamentos: Associação Exemplo: • Um Estudante pode ser um aluno de uma Disciplina e um jogador da Equipe de Futebol • Cada Disciplina deve ser cursada por no mínimo 1 aluno • Um aluno pode cursar de 0 até 8 disciplinas
  • 17. © LES/PUC-Rio Elementos – Diagrama de Classes • Elementos de um diagrama de classes – Classes – Relacionamentos • Associação – Agregação – Composição • Generalização • Dependência
  • 18. © LES/PUC-Rio Elementos – Diagrama de Classes • Relacionamento: Agregação – É um tipo especial de associação – Utilizada para indicar “todo-parte” – um objeto “parte” pode fazer parte de vários objetos “todo” ItemPedido 1 1..* agregação todo parte
  • 19. © LES/PUC-Rio Elementos – Diagrama de Classes • Elementos de um diagrama de classes – Classes – Relacionamentos • Associação – Agregação – Composição • Generalização • Dependência
  • 20. © LES/PUC-Rio Elementos – Diagrama de Classes • Relacionamento: Composição – É uma variante semanticamente mais “forte” da agregação – Os objetos “parte” só podem pertencer a um único objeto “todo” e têm o seu tempo de vida coincidente com o dele – Quando o “todo” morre todas as suas “partes” também morrem TecladoNotebook FrameWindow 1 1 1 0..* 1..* 0..* errado
  • 21. © LES/PUC-Rio Elementos – Diagrama de Classes • Relacionamento: Composição Ex: Janela Scroll Título Corpo 1 0..12 1 Empresa Departamento Escritório 1 1..*1..* 0..1 *
  • 22. © LES/PUC-Rio Elementos – Diagrama de Classes • Agregação X Composição Andar Edifício1..n MesaSala 1..n 11 1..n 1..n
  • 23. © LES/PUC-Rio Elementos – Diagrama de Classes • Elementos de um diagrama de classes – Classes – Relacionamentos • Associação – Agregação – Composição • Generalização • Dependência
  • 24. © LES/PUC-Rio Elementos – Diagrama de Classes • Relacionamento: Generalização • É um relacionamento entre itens gerais (superclasses) e itens mais específicos (subclasses) “é um” “é um tipo de” superclasse subclasse Veículo Terrestre Aéreo
  • 25. © LES/PUC-Rio Elementos – Diagrama de Classes • Elementos de um diagrama de classes – Classes – Relacionamentos • Associação – Agregação – Composição • Generalização • Dependência
  • 26. © LES/PUC-Rio Elementos – Diagrama de Classes • Relacionamento: Dependência • Representa que a alteração de um objeto (o objeto indepedendente) pode afetar outro objeto (o objeto dependente) Ex: Obs: • A classe cliente depende de algum serviço da classe fornecedor • A mudança de estado do fornecedor afeta o objeto cliente • A classe cliente não declara nos seus atributos um objeto do tipo fornecedor • Fornecedor é recebido por parâmetro de método cliente fornecedor
  • 27. © LES/PUC-Rio Elementos – Diagrama de Classes Import java.awt.Graphics; class HelloWorld extends java.applet.Applet { public void paint (Graphics g) g.drawString(“Hello, world!”, 10, 10); } HelloWorld Graphics paint(Graphics g) Applet
  • 28. © LES/PUC-Rio Elementos – Diagrama de Classes • Classe de associação – Usada quando uma associação entre duas classes contiver atributos da associação • Atributos farão parte da classe de associação • C existe para todo relacionamento de A com B – C possui referência para A e para B • Não existem dois objetos C e C’que referenciam a mesma tupla A,B, isto é, não existe c(a,b,x) e c’(a,b,x’) onde a e b são objetos de A e B, respectivamente, e x e x’ são valores de um atributo de C. – d(a,b,x) e d(a,b,x’) existem A B C A D B
  • 29. © LES/PUC-Rio Elementos – Diagrama de Classes PessoaEmpresa Emprego descrição salário atributos do relacionamento 1..*0..* trabalha PessoaEmpresa Pedido 10..*1 0..* fazpertence itemPedido • Não existe uma pessoa com dois empregos na mesma empresa • Uma pessoa pode fazer mais de um pedido na mesma empresa • Classe de associação
  • 30. © LES/PUC-Rio Exemplo: O Blog • Um blog tem um título e uma data de criação e além disso é um conjunto de conteúdos. • Estes conteúdos (mensagens) podem ser notas ou comentários sobre as notas. Tanto notas quanto comentários têm características comuns como o texto e a data de sua criação. • Todo usuário possui: – E-mail (deve ser único, ou seja, não há mais de um usuário com o mesmo e-mail)
  • 31. © LES/PUC-Rio Blog: o sistema deve... • Permitir a criação de blogs • Permitir a utilização de blogs – Qualquer usuário pode ler conteúdos – Somente o dono do blog pode criar notas – Qualquer usuário pode criar comentários. Para criar um comentário o usuários precisa ler as notas. – Somente o dono do blog pode remover conteúdos. Para remover um conteúdo ele precisará ler o conteúdo. Caso ele remova um comentário, o autor do comentário deve ser notificado por e-mail.
  • 32. © LES/PUC-Rio Blog: Casos de uso blogSystem Criar Comentario Ler Conteudo Remover Conteudo Remover Nota Remover Comentario Criar Blog Ler Comentario Ler Nota Criar Nota Usuario Dono do blog <<include>> <<include>> <<include>>
  • 33. © LES/PUC-Rio Blog: Diagrama de Classes 0..* 1 autor 0..* 0..* 1 dono 0..* 1 usuario 0..* usaUsuarioBlog -email:String +notificarExclusao:void Conteudo -dtCriacao:Date -texto:String -autor:UsuarioBlog +Conteudo +exibirConteudo:void Blog -dtCriacao:Date -titulo:String -dono:UsuarioBlog -conteudos:Vector +criarNota:void +exibirConteudo:void +comentar:void +lerComentarios:Vector +removerConteudo:void +lerNotas:Vector +Blog Nota -comentarios:Vector -attribute1:int +comentar:void +lerComentarios:Vector +finalize:void Comentario +finalize:void
  • 34. © LES/PUC-Rio Exemplo: Sistema de Matrícula A Universidade XYZ deseja informatizar seu sistema de matrículas: • A universidade oferece vários cursos. • O Coordenador de um curso define as disciplinas que serão oferecidas pelo seu curso num dado semestre. • Várias disciplinas são oferecidas em um curso. • Várias turmas podem ser abertas para uma mesma disciplina, porém o número de estudantes inscritos deve ser entre 3 e 10. • Estudantes selecionam 4 disciplinas. • Quando um estudante matricula-se para um semestre, o Sistema de Registro Acadêmico (SRA) é notificado. • Após a matrícula, os estudantes podem, por um certo prazo, utilizar o sistema para adicionar ou remover disciplinas. • Professores usam o sistema para obter a lista de alunos matriculados em suas disciplinas. O Coordenador também. • Todos os usuários do sistema devem ser validados. Descrição
  • 35. © LES/PUC-Rio Exemplo: Sistema de Matrícula Diagrama de Casos de Uso
  • 36. © LES/PUC-Rio Exemplo: Sistema de Matrícula Descrição do Caso de Uso “Matricular em Disciplina” • Esse caso de uso se inicia quando o Estudante de Curso inicia uma sessão no sistema e apresenta suas credenciais. • O sistema verifica se a credencial é válida. • O sistema solicita que o estudante realize sua matrícula, selecionando 4 disciplinas. • O estudante preenche um formulário eletrônico de matrícula e o submete para uma análise de consistência. • O sistema analisa as informações contidas no formulário. – Se as informações são consistentes, o estudante é incluído em turmas abertas de 4 disciplinas, iniciando pelas preferenciais. – Se as informações não são consistentes, o sistema informa o motivo da inconsistência e solicita que o formulário seja alterado.
  • 37. © LES/PUC-Rio Exemplo: Sistema de Matrícula Professor Coordenador Estudante TurmaUniversidade Disciplina FormularioMatricula Curso AnalisadorMatricula SistemaRegistroAcademico ListaAlunos Diagrama de Classes: identificando as classes
  • 38. © LES/PUC-Rio Exemplo: Sistema de Matrícula • Exemplos de candidatos a relacionamentos: – A é parte física ou lógica de B. – A está contido fisicamente ou logicamente em B. – A é uma descrição de B. – A é membro de B. – A é subunidade organizacional de B. – A usa ou gerencia B. – A se comunica/interage com B. – A está relacionado com uma transação B. – A é possuído por B. – A é um tipo de B. Diagrama de Classes: identificando os relacionamentos
  • 39. © LES/PUC-Rio Exemplo: Sistema de Matrícula • O formulário de matrícula é processado por um analisador de matrícula • O analisador de matrícula gerencia a disciplina FormularioMatricula AnalisadorMatricula é-processado-por 10..* Disciplina FormularioMatricula AnalisadorMatricula é-processado-por 10..* 1 0..* Diagrama de Classes: identificando os relacionamentos
  • 40. © LES/PUC-Rio Exemplo: Sistema de Matrícula Professor Coordenador Estudante Turma Disciplina FormularioMatricula AnalisadorMatricula é-preenchido-por está-matriculado-em é-processado-por é-ministrada-por é-definida-por aluno gerencia 1 1 10..* 1 0..* 11..* 1 1..* 10..33..10 4 Diagrama de Classes
  • 41. © LES/PUC-Rio Exemplo: Sistema de Matrícula – Os atributos podem ser encontrados examinando-se as descrições dos casos de uso e também pelo conhecimento do domínio do problema. – Cada turma oferecida possui um código, uma sala e um horário. Turma código sala horário Diagrama de Classes: identificando os atributos
  • 42. © LES/PUC-Rio Exemplo: Sistema de Matrícula Coordenador FormularioMatricula AnalisadorMatricula é-preenchido-por está-matriculado-em é-processado-por é-ministrada-por é-definida-por aluno gerencia 1 1 10..* 1 0..* 11..* 1 1..* 10..33..10 4 Turma código sala horário Professor nome titulação Estudante nome matricula Disciplina nome numCréditos Diagrama de Classes
  • 43. © LES/PUC-Rio Exemplo: Sistema de Matrícula SIM submeterFormulario(formulario) AnalisadorMatricula adicionar(aluno, disciplina) : SIM : AnalisadorMatricula 2: adicionar(a,d ) 1: submeterFormulario(f) Diagrama de Classes: identificando os métodos
  • 44. © LES/PUC-Rio Exemplo: Sistema de Matrícula • E a navegabilidade? public class Turma { private String codigo; private String sala; private Estudante alunos[]; ... } Diagrama de Classes: public class Estudante { private String nome; private String matricula; ... } OBS: Turma não aparece como atributo de Estudante! TurmaEstudante 3..10 está-matriculado-em 3..10 4
  • 45. © LES/PUC-Rio Exemplo: Sistema de Matrícula • Acrescentando generalizações: – Atributos, operações e/ou relacionamentos comuns podem ser movidos para uma classe mais geral. Estudante matricula : Inteiro definirMatricula(matricula) obterMatricula() Usuario nome : Texto definirNome(nome) obterNome() Professor titulacao : Texto definirTitulacao(titulacao) obterTitulacao() Diagrama de Classes:
  • 46. © LES/PUC-Rio Exemplo: Sistema de Matrícula SIM Usuario nome : Texto definirNome(nome) obterNome() FormularioMatricula obterEstudante() : Estudante obterNomeDIsciplina(i : Inteiro) : Texto Estudante matricula : Inteiro definirMatricula(matricula) obterMatricula() 1 1 é-preenchido-por 1 1-aluno Professor titulacao : Texto definirTitulacao(titulacao) obterTitulacao() AnalisadorMatricula adicionar(aluno, disciplina) 1 11 1 usa 10..* 10..* é-processado-por Disciplina nome : Texto numCreditos : Inteiro estaCompleta() adicionar(aluno : Estudante) 0..* 1 0..* 1 gerencia Turma codigo : Texto sala : Texto horario : Horario numAlunos : Inteiro completa : Booleano estaCompleta() : Booleano 3..10 4 3..10 4 está-matriculado-em 0..3 10..3 1 responsável-por 1..* 11 1..*