SlideShare une entreprise Scribd logo
1  sur  38
Télécharger pour lire hors ligne
UML – Diagrama de Classes
• Introdução – Diagrama de classes
• Elementos do diagrama de classes
• Exemplo: Sistema de matrícula
Introdução - Diagrama de Classes
• Mostra um conjunto de classes e seus relacionamentos.
• É o diagrama central da modelagem orientada a objetos.

Turma
está-matriculado-em

Aluno
nome: Texto
matrícula: Inteiro
definirNome(nome)
obterNome()
definirMatricula(matricula)
obterMatricula

código: Texto
sala: Texto
horario: Horario

estaAberta()
definirProfessor(professor)
incluirAluno(aluno)

é-ministrada-por

Professor
nome: Texto
titulação: Texto
definirNome(nome)
obterNome()
definirTitulacao(titulo)
obterTitulacao
Elementos – Diagrama de Classes
• Elementos de um diagrama de classes
– Classes
– Relacionamentos
• Associação
– Agregação
– Composição

• Generalização
• Dependência
Elementos – Diagrama de Classes
• Elementos de um diagrama de classes
– Classes
– Relacionamentos
• Associação
– Agregação
– Composição

• Generalização
• Dependência
Elementos – Diagrama de Classes
Classes
• Graficamente, as classes são representadas por retângulos
incluindo nome, atributos e métodos.
Nome_da_classe
atributo1
atributo2
...
metodo1
metodo2
metodo3
...

• 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
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
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
Elementos – Diagrama de Classes
• Elementos de um diagrama de classes
– Classes
– Relacionamentos
• Associação
– Agregação
– Composição

• Generalização
• Dependência
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
Elementos – Diagrama de Classes
• Relacionamentos

nome
multiplicidade

Pessoa

1..*

sentido de leitura

trabalha para

empregado

*

Empresa

empregador

Tipo: associação

papéis

E a navegabilidade?
Elementos – Diagrama de Classes
• Relacionamentos

navegabilidade

reside

Cliente

1

*

Endereço

• O cliente sabe quais são seus endereços, mas o endereço não sabe
a quais clientes pertence
Elementos – Diagrama de Classes
• Elementos de um diagrama de classes
– Classes
– Relacionamentos
• Associação
– Agregação
– Composição

• Generalização
• Dependência
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
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)

multiplicidade

Pessoa

1..*

trabalha para

associação

*

Empresa
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
Elementos – Diagrama de Classes
• Elementos de um diagrama de classes
– Classes
– Relacionamentos
• Associação
– Agregação
– Composição

• Generalização
• Dependência
Elementos – Diagrama de Classes
• Relacionamento: Agregação
– É um tipo especial de associação
– Utilizada para indicar “todo-parte”

todo

parte

Pedido

1

1..*

Item

agregação

– um objeto “parte” pode fazer parte de vários objetos “todo”
Elementos – Diagrama de Classes
• Elementos de um diagrama de classes
– Classes
– Relacionamentos
• Associação
– Agregação
– Composição

• Generalização
• Dependência
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

Notebook
Window
1..*

1

1

1

0..*
0..*

Teclado
Frame
errado

– Quando o “todo” morre todas as suas “partes” também morrem
Elementos – Diagrama de Classes
• Relacionamento: Composição
Ex:
Empresa
1
1..*

1..*
0..1

Departamento

Escritório

*
Janela
1
2
Scroll

0..1
Título

1
Corpo
Elementos – Diagrama de Classes
• Agregação X Composição

Sala

Mesa
1

1..n

Andar

1..n

Edifício
Elementos – Diagrama de Classes
• Elementos de um diagrama de classes
– Classes
– Relacionamentos
• Associação
– Agregação
– Composição

• Generalização
• Dependência
Elementos – Diagrama de Classes
• Relacionamento: Generalização
• É um relacionamento entre itens gerais (superclasses)
e itens mais específicos (subclasses)

Veículo

superclasse
“é um”
“é um tipo de”
subclasse

Terrestre

Aéreo
Elementos – Diagrama de Classes
• Elementos de um diagrama de classes
– Classes
– Relacionamentos
• Associação
– Agregação
– Composição

• Generalização
• Dependência
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:

cliente

fornecedor

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
Exemplo: Sistema de Matrícula
Descrição
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.

•

Todos os usuários do sistema devem ser validados.
Exemplo: Sistema de Matrícula
Diagrama de Casos de Uso
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.
Exemplo: Sistema de Matrícula
Diagrama de Classes: identificando as classes

Professor

Universidade

Coordenador

Disciplina

FormularioMatricula

SistemaRegistroAcademico

Estudante

Turma

AnalisadorMatricula

ListaAlunos

Curso
Exemplo: Sistema de Matrícula
Diagrama de Classes: identificando os relacionamentos
• 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.
Exemplo: Sistema de Matrícula
Diagrama de Classes: identificando os relacionamentos

• O formulário de matrícula é processado por um analisador
de matrícula
é-processado-por

FormularioMatricula

0..*

AnalisadorMatricula
1

• O analisador de matrícula gerencia a disciplina
FormularioMatricula

é-processado-por
0..*

AnalisadorMatricula
1

1

0..*

Disciplina
Exemplo: Sistema de Matrícula
Diagrama de Classes

FormularioMatricula

é-processado-por
0..*

1

AnalisadorMatricula
1

1
gerencia
0..*

é-preenchido-por

é-definida-por

Disciplina

1..*

Coordenador

1

1

aluno

1..*

1
está-matriculado-em

Estudante
3..10

Turma
4

é-ministrada-por
0..3

Professor
1
Exemplo: Sistema de Matrícula
Diagrama de Classes: identificando os atributos
– 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
Exemplo: Sistema de Matrícula
Diagrama de Classes

é-processado-por

FormularioMatricula

0..*
1

AnalisadorMatricula
1

1
gerencia
0..*

Disciplina
é-preenchido-por

nome
numCréditos

é-definida-por
1..*

1

Coordenador

1
1..*
aluno

1

Estudante
nome
matricula

Turma
está-matriculado-em
3..10

4

código
sala
horário

é-ministrada-por
0..3

1

Professor
nome
titulação
Exemplo: Sistema de Matrícula
Diagrama de Classes: identificando os métodos
– Somente depois de modelar os diagramas de seqüência

: SIM

: AnalisadorMatricula

AnalisadorMatricula
adicionar(aluno, disciplina)

1: submeterFormulario(f)

2: adicionar(a,d )

SIM
submeterFormulario(formulario)
Exemplo: Sistema de Matrícula
Diagrama de Classes:

• E a navegabilidade?

Estudante

está-matriculado-em
3..10

public class Estudante {
private String nome;
private String matricula;
...
}

Turma

4
public class Turma {
private String codigo;
private String sala;
private Estudante alunos[];
...
}

OBS: Turma não aparece como atributo de Estudante!
Exemplo: Sistema de Matrícula
Diagrama de Classes:

• Acrescentando generalizações:
– Atributos, operações e/ou relacionamentos comuns podem ser
movidos para uma classe mais geral.
Us uario
nome : Texto
definirNome(nome)
obterNome()

Estudante

Professor

matricula : Inteiro

titulacao : Texto

definirMatricula(matricula)
obterMatricula()

definirTitulacao(titul acao)
obterTitulacao()
Exemplo: Sistema de Matrícula
FormularioMatricula

é -processado-por

obterEstudante() : Estudante
obterNomeDIsciplina(i : Inteiro) : Texto

0.. *

AnalisadorMatricula
1 adicion ar(alun o, di scipli na) 1
1

1

é-preenchido-por
-aluno

gerencia

1
0..*

Estudante

Disciplina

matricula : Inteiro
definirMatricula(matricula)
obterMatricula()

nome : Texto
numCreditos : Inteiro
3.. 10

estaCompleta()
adicionar(aluno : Estudante)
1

está-matriculado-em

Usuario
nome : Texto
definirNome(nome)
obterNome()

1..*

Turma

Professor

responsável-por

titulacao : Texto
0..3

definirTitulacao(titulacao)
obterTitulacao()

codigo : Texto
sala : Texto
4 horario : Horario
numAlunos : Inteiro
completa : Booleano
1

estaCompleta() : Booleano

SIM

usa
1

Contenu connexe

Tendances (20)

UML
UMLUML
UML
 
Apresentação da UML
Apresentação da UMLApresentação da UML
Apresentação da UML
 
Diagramas uml
Diagramas umlDiagramas uml
Diagramas uml
 
Diagrama classes
Diagrama classesDiagrama classes
Diagrama classes
 
Análise e Modelagem com UML
Análise e Modelagem com UMLAnálise e Modelagem com UML
Análise e Modelagem com UML
 
Uml diagrama de sequencia
Uml diagrama de sequenciaUml diagrama de sequencia
Uml diagrama de sequencia
 
Introdução à Engenharia de Software e UML
Introdução à Engenharia de Software e UMLIntrodução à Engenharia de Software e UML
Introdução à Engenharia de Software e UML
 
Aula 7 - Modelagem de Software
Aula 7 - Modelagem de SoftwareAula 7 - Modelagem de Software
Aula 7 - Modelagem de Software
 
O paradigma da orientação a objetos
O paradigma da orientação a objetosO paradigma da orientação a objetos
O paradigma da orientação a objetos
 
Introdução à linguagem UML
Introdução à linguagem UMLIntrodução à linguagem UML
Introdução à linguagem UML
 
Diagrama de Casos de Uso
Diagrama de Casos de UsoDiagrama de Casos de Uso
Diagrama de Casos de Uso
 
Diagrama de Classes
Diagrama de ClassesDiagrama de Classes
Diagrama de Classes
 
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 componentes
diagrama de componentesdiagrama de componentes
diagrama de componentes
 
Diagrama de Perfil e Estruturas Compostas
Diagrama de Perfil e Estruturas CompostasDiagrama de Perfil e Estruturas Compostas
Diagrama de Perfil e Estruturas Compostas
 
Class diagrams
Class diagramsClass diagrams
Class diagrams
 
Diagramas de casos de uso
Diagramas de casos de usoDiagramas de casos de uso
Diagramas de casos de uso
 
Class diagram
Class diagramClass diagram
Class diagram
 
Diagramas de casos de uso - aula 2
Diagramas de casos de uso - aula 2Diagramas de casos de uso - aula 2
Diagramas de casos de uso - aula 2
 
Aula8 diagrama sequencia
Aula8 diagrama sequenciaAula8 diagrama sequencia
Aula8 diagrama sequencia
 

En vedette

En vedette (10)

Diagrama de classes
Diagrama de classesDiagrama de classes
Diagrama de classes
 
Modulo Algorítmica III - Julio Vasquez
Modulo Algorítmica III - Julio VasquezModulo Algorítmica III - Julio Vasquez
Modulo Algorítmica III - Julio Vasquez
 
Diagrama de Classe
Diagrama de ClasseDiagrama de Classe
Diagrama de Classe
 
Aula 03 - Introdução aos Diagramas de Atividade
Aula 03 - Introdução aos Diagramas de AtividadeAula 03 - Introdução aos Diagramas de Atividade
Aula 03 - Introdução aos Diagramas de Atividade
 
Projeto de sistemas com UML - Parte 2
Projeto de sistemas com UML - Parte 2Projeto de sistemas com UML - Parte 2
Projeto de sistemas com UML - Parte 2
 
Aula7 diagrama classes
Aula7 diagrama classesAula7 diagrama classes
Aula7 diagrama classes
 
Aula 7 diagramas_classes2
Aula 7 diagramas_classes2Aula 7 diagramas_classes2
Aula 7 diagramas_classes2
 
Banco de Dados
Banco de DadosBanco de Dados
Banco de Dados
 
Diagrama de Atividades - UML
Diagrama de Atividades - UMLDiagrama de Atividades - UML
Diagrama de Atividades - UML
 
Aula diagrama de atividade 3º periodo uniao
Aula diagrama de atividade 3º periodo uniaoAula diagrama de atividade 3º periodo uniao
Aula diagrama de atividade 3º periodo uniao
 

Similaire à UML Diagrama de Classes - Introdução e Elementos

Diagrama de Classes (8).pdf
Diagrama de Classes (8).pdfDiagrama de Classes (8).pdf
Diagrama de Classes (8).pdfJean440975
 
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-classes definição para curso professional
diagrama-classes definição para curso professionaldiagrama-classes definição para curso professional
diagrama-classes definição para curso professionalJoaquina30
 
DER - Diagrama de Entidade e Relacionamentos
DER - Diagrama de Entidade e RelacionamentosDER - Diagrama de Entidade e Relacionamentos
DER - Diagrama de Entidade e RelacionamentosCláudio Amaral
 
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
 
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
 
Resumo diagramas de classes
Resumo diagramas de classesResumo diagramas de classes
Resumo diagramas de classesMarco Coelho
 
[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 UMLChristopher Cerqueira
 
Apostila bancodedados (2)
Apostila bancodedados (2)Apostila bancodedados (2)
Apostila bancodedados (2)Reuel Lopes
 
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
 
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.pdfCelestino24
 
Mapeamento de Objetos para o Modelo Relacional.ppt
Mapeamento de Objetos para o Modelo Relacional.pptMapeamento de Objetos para o Modelo Relacional.ppt
Mapeamento de Objetos para o Modelo Relacional.pptJoberthSilva
 
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 Vitor Hugo Melo Araújo
 

Similaire à UML Diagrama de Classes - Introdução e Elementos (20)

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
 
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
 
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
 
Análise de Sistemas Orientado a Objetos - 06 - Diagrama de Classes
Análise de Sistemas Orientado a Objetos - 06 - Diagrama de ClassesAnálise de Sistemas Orientado a Objetos - 06 - Diagrama de Classes
Análise de Sistemas Orientado a Objetos - 06 - Diagrama de Classes
 
diagrama-classes definição para curso professional
diagrama-classes definição para curso professionaldiagrama-classes definição para curso professional
diagrama-classes definição para curso professional
 
Aula 5 uml1 (1)
Aula 5   uml1 (1)Aula 5   uml1 (1)
Aula 5 uml1 (1)
 
DER - Diagrama de Entidade e Relacionamentos
DER - Diagrama de Entidade e RelacionamentosDER - Diagrama de Entidade e Relacionamentos
DER - Diagrama de Entidade e Relacionamentos
 
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
 
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.
 
Resumo diagramas de classes
Resumo diagramas de classesResumo diagramas de classes
Resumo diagramas de classes
 
[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
 
Apostila bancodedados (2)
Apostila bancodedados (2)Apostila bancodedados (2)
Apostila bancodedados (2)
 
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
 
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
 
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
 
SGBD - Aula 2
SGBD - Aula 2SGBD - Aula 2
SGBD - Aula 2
 
Mapeamento de Objetos para o Modelo Relacional.ppt
Mapeamento de Objetos para o Modelo Relacional.pptMapeamento de Objetos para o Modelo Relacional.ppt
Mapeamento de Objetos para o Modelo Relacional.ppt
 
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
 

Plus de Luciano Almeida

Reunião tutores avaliação
Reunião tutores   avaliaçãoReunião tutores   avaliação
Reunião tutores avaliaçãoLuciano Almeida
 
Fluxo de Notas no Moodle
Fluxo de Notas no MoodleFluxo de Notas no Moodle
Fluxo de Notas no MoodleLuciano Almeida
 
Oficina de ambientação Moodle
Oficina de ambientação MoodleOficina de ambientação Moodle
Oficina de ambientação MoodleLuciano Almeida
 
Sensibilidade ao contexto na computação ubíqua
Sensibilidade ao contexto na computação ubíquaSensibilidade ao contexto na computação ubíqua
Sensibilidade ao contexto na computação ubíquaLuciano Almeida
 
Módulo Livro no Moodle 2.6
Módulo Livro no Moodle 2.6Módulo Livro no Moodle 2.6
Módulo Livro no Moodle 2.6Luciano Almeida
 
Conceitos de Orientação A Objeto
Conceitos de Orientação A ObjetoConceitos de Orientação A Objeto
Conceitos de Orientação A ObjetoLuciano Almeida
 
Análise estruturada de sistemas - Modelo de contexto
Análise estruturada de sistemas - Modelo de contextoAnálise estruturada de sistemas - Modelo de contexto
Análise estruturada de sistemas - Modelo de contextoLuciano Almeida
 
Oficina de ambientação
Oficina de ambientaçãoOficina de ambientação
Oficina de ambientaçãoLuciano Almeida
 
Apresentação apostila 10 inper sala 15
Apresentação apostila 10   inper sala 15Apresentação apostila 10   inper sala 15
Apresentação apostila 10 inper sala 15Luciano Almeida
 
PRÁTICA DE GESTÃO: ADMINISTRAÇÃO ESTRATÉGICA - Grupo 4
PRÁTICA DE GESTÃO: ADMINISTRAÇÃO ESTRATÉGICA - Grupo 4PRÁTICA DE GESTÃO: ADMINISTRAÇÃO ESTRATÉGICA - Grupo 4
PRÁTICA DE GESTÃO: ADMINISTRAÇÃO ESTRATÉGICA - Grupo 4Luciano Almeida
 
PRÁTICAS DE GESTÃO – Administração Estratégica - GRUPO 3
PRÁTICAS DE GESTÃO – Administração Estratégica - GRUPO 3PRÁTICAS DE GESTÃO – Administração Estratégica - GRUPO 3
PRÁTICAS DE GESTÃO – Administração Estratégica - GRUPO 3Luciano Almeida
 
Tipos de Organização e o processo administrativo - GRUPO1
Tipos de Organização e o processo administrativo - GRUPO1Tipos de Organização e o processo administrativo - GRUPO1
Tipos de Organização e o processo administrativo - GRUPO1Luciano Almeida
 
Oficina de ambientação de tutores no Moodle
Oficina de ambientação de tutores no MoodleOficina de ambientação de tutores no Moodle
Oficina de ambientação de tutores no MoodleLuciano Almeida
 
Erros implantação do SCRUM
Erros implantação do SCRUMErros implantação do SCRUM
Erros implantação do SCRUMLuciano Almeida
 
Metodologias Ágeis de Desenvolvimento de Software
Metodologias Ágeis de Desenvolvimento de SoftwareMetodologias Ágeis de Desenvolvimento de Software
Metodologias Ágeis de Desenvolvimento de SoftwareLuciano Almeida
 

Plus de Luciano Almeida (20)

Reunião tutores avaliação
Reunião tutores   avaliaçãoReunião tutores   avaliação
Reunião tutores avaliação
 
Heuristicas De Nielsen
Heuristicas De NielsenHeuristicas De Nielsen
Heuristicas De Nielsen
 
Fluxo de Notas no Moodle
Fluxo de Notas no MoodleFluxo de Notas no Moodle
Fluxo de Notas no Moodle
 
Oficina de ambientação Moodle
Oficina de ambientação MoodleOficina de ambientação Moodle
Oficina de ambientação Moodle
 
Sensibilidade ao contexto na computação ubíqua
Sensibilidade ao contexto na computação ubíquaSensibilidade ao contexto na computação ubíqua
Sensibilidade ao contexto na computação ubíqua
 
Módulo Livro no Moodle 2.6
Módulo Livro no Moodle 2.6Módulo Livro no Moodle 2.6
Módulo Livro no Moodle 2.6
 
Scrum
ScrumScrum
Scrum
 
Visaogeraldorup
VisaogeraldorupVisaogeraldorup
Visaogeraldorup
 
Conceitos de Orientação A Objeto
Conceitos de Orientação A ObjetoConceitos de Orientação A Objeto
Conceitos de Orientação A Objeto
 
Análise estruturada de sistemas - Modelo de contexto
Análise estruturada de sistemas - Modelo de contextoAnálise estruturada de sistemas - Modelo de contexto
Análise estruturada de sistemas - Modelo de contexto
 
Oficina de ambientação
Oficina de ambientaçãoOficina de ambientação
Oficina de ambientação
 
Apresentação apostila 10 inper sala 15
Apresentação apostila 10   inper sala 15Apresentação apostila 10   inper sala 15
Apresentação apostila 10 inper sala 15
 
PRÁTICA DE GESTÃO: ADMINISTRAÇÃO ESTRATÉGICA - Grupo 4
PRÁTICA DE GESTÃO: ADMINISTRAÇÃO ESTRATÉGICA - Grupo 4PRÁTICA DE GESTÃO: ADMINISTRAÇÃO ESTRATÉGICA - Grupo 4
PRÁTICA DE GESTÃO: ADMINISTRAÇÃO ESTRATÉGICA - Grupo 4
 
PRÁTICAS DE GESTÃO – Administração Estratégica - GRUPO 3
PRÁTICAS DE GESTÃO – Administração Estratégica - GRUPO 3PRÁTICAS DE GESTÃO – Administração Estratégica - GRUPO 3
PRÁTICAS DE GESTÃO – Administração Estratégica - GRUPO 3
 
Tipos de Organização e o processo administrativo - GRUPO1
Tipos de Organização e o processo administrativo - GRUPO1Tipos de Organização e o processo administrativo - GRUPO1
Tipos de Organização e o processo administrativo - GRUPO1
 
Oficina de ambientação de tutores no Moodle
Oficina de ambientação de tutores no MoodleOficina de ambientação de tutores no Moodle
Oficina de ambientação de tutores no Moodle
 
Erros implantação do SCRUM
Erros implantação do SCRUMErros implantação do SCRUM
Erros implantação do SCRUM
 
Metodologias Ágeis de Desenvolvimento de Software
Metodologias Ágeis de Desenvolvimento de SoftwareMetodologias Ágeis de Desenvolvimento de Software
Metodologias Ágeis de Desenvolvimento de Software
 
Todasexta
TodasextaTodasexta
Todasexta
 
Mapas Mentais e GTD
Mapas Mentais e GTDMapas Mentais e GTD
Mapas Mentais e GTD
 

UML Diagrama de Classes - Introdução e Elementos

  • 1. UML – Diagrama de Classes • Introdução – Diagrama de classes • Elementos do diagrama de classes • Exemplo: Sistema de matrícula
  • 2. Introdução - Diagrama de Classes • Mostra um conjunto de classes e seus relacionamentos. • É o diagrama central da modelagem orientada a objetos. Turma está-matriculado-em Aluno nome: Texto matrícula: Inteiro definirNome(nome) obterNome() definirMatricula(matricula) obterMatricula código: Texto sala: Texto horario: Horario estaAberta() definirProfessor(professor) incluirAluno(aluno) é-ministrada-por Professor nome: Texto titulação: Texto definirNome(nome) obterNome() definirTitulacao(titulo) obterTitulacao
  • 3. Elementos – Diagrama de Classes • Elementos de um diagrama de classes – Classes – Relacionamentos • Associação – Agregação – Composição • Generalização • Dependência
  • 4. Elementos – Diagrama de Classes • Elementos de um diagrama de classes – Classes – Relacionamentos • Associação – Agregação – Composição • Generalização • Dependência
  • 5. Elementos – Diagrama de Classes Classes • Graficamente, as classes são representadas por retângulos incluindo nome, atributos e métodos. Nome_da_classe atributo1 atributo2 ... metodo1 metodo2 metodo3 ... • 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
  • 6. 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
  • 7. 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
  • 8. Elementos – Diagrama de Classes • Elementos de um diagrama de classes – Classes – Relacionamentos • Associação – Agregação – Composição • Generalização • Dependência
  • 9. 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
  • 10. Elementos – Diagrama de Classes • Relacionamentos nome multiplicidade Pessoa 1..* sentido de leitura trabalha para empregado * Empresa empregador Tipo: associação papéis E a navegabilidade?
  • 11. Elementos – Diagrama de Classes • Relacionamentos navegabilidade reside Cliente 1 * Endereço • O cliente sabe quais são seus endereços, mas o endereço não sabe a quais clientes pertence
  • 12. Elementos – Diagrama de Classes • Elementos de um diagrama de classes – Classes – Relacionamentos • Associação – Agregação – Composição • Generalização • Dependência
  • 13. 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
  • 14. 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) multiplicidade Pessoa 1..* trabalha para associação * Empresa
  • 15. 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
  • 16. Elementos – Diagrama de Classes • Elementos de um diagrama de classes – Classes – Relacionamentos • Associação – Agregação – Composição • Generalização • Dependência
  • 17. Elementos – Diagrama de Classes • Relacionamento: Agregação – É um tipo especial de associação – Utilizada para indicar “todo-parte” todo parte Pedido 1 1..* Item agregação – um objeto “parte” pode fazer parte de vários objetos “todo”
  • 18. Elementos – Diagrama de Classes • Elementos de um diagrama de classes – Classes – Relacionamentos • Associação – Agregação – Composição • Generalização • Dependência
  • 19. 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 Notebook Window 1..* 1 1 1 0..* 0..* Teclado Frame errado – Quando o “todo” morre todas as suas “partes” também morrem
  • 20. Elementos – Diagrama de Classes • Relacionamento: Composição Ex: Empresa 1 1..* 1..* 0..1 Departamento Escritório * Janela 1 2 Scroll 0..1 Título 1 Corpo
  • 21. Elementos – Diagrama de Classes • Agregação X Composição Sala Mesa 1 1..n Andar 1..n Edifício
  • 22. Elementos – Diagrama de Classes • Elementos de um diagrama de classes – Classes – Relacionamentos • Associação – Agregação – Composição • Generalização • Dependência
  • 23. Elementos – Diagrama de Classes • Relacionamento: Generalização • É um relacionamento entre itens gerais (superclasses) e itens mais específicos (subclasses) Veículo superclasse “é um” “é um tipo de” subclasse Terrestre Aéreo
  • 24. Elementos – Diagrama de Classes • Elementos de um diagrama de classes – Classes – Relacionamentos • Associação – Agregação – Composição • Generalização • Dependência
  • 25. 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: cliente fornecedor 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
  • 26. Exemplo: Sistema de Matrícula Descrição 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. • Todos os usuários do sistema devem ser validados.
  • 27. Exemplo: Sistema de Matrícula Diagrama de Casos de Uso
  • 28. 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.
  • 29. Exemplo: Sistema de Matrícula Diagrama de Classes: identificando as classes Professor Universidade Coordenador Disciplina FormularioMatricula SistemaRegistroAcademico Estudante Turma AnalisadorMatricula ListaAlunos Curso
  • 30. Exemplo: Sistema de Matrícula Diagrama de Classes: identificando os relacionamentos • 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.
  • 31. Exemplo: Sistema de Matrícula Diagrama de Classes: identificando os relacionamentos • O formulário de matrícula é processado por um analisador de matrícula é-processado-por FormularioMatricula 0..* AnalisadorMatricula 1 • O analisador de matrícula gerencia a disciplina FormularioMatricula é-processado-por 0..* AnalisadorMatricula 1 1 0..* Disciplina
  • 32. Exemplo: Sistema de Matrícula Diagrama de Classes FormularioMatricula é-processado-por 0..* 1 AnalisadorMatricula 1 1 gerencia 0..* é-preenchido-por é-definida-por Disciplina 1..* Coordenador 1 1 aluno 1..* 1 está-matriculado-em Estudante 3..10 Turma 4 é-ministrada-por 0..3 Professor 1
  • 33. Exemplo: Sistema de Matrícula Diagrama de Classes: identificando os atributos – 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
  • 34. Exemplo: Sistema de Matrícula Diagrama de Classes é-processado-por FormularioMatricula 0..* 1 AnalisadorMatricula 1 1 gerencia 0..* Disciplina é-preenchido-por nome numCréditos é-definida-por 1..* 1 Coordenador 1 1..* aluno 1 Estudante nome matricula Turma está-matriculado-em 3..10 4 código sala horário é-ministrada-por 0..3 1 Professor nome titulação
  • 35. Exemplo: Sistema de Matrícula Diagrama de Classes: identificando os métodos – Somente depois de modelar os diagramas de seqüência : SIM : AnalisadorMatricula AnalisadorMatricula adicionar(aluno, disciplina) 1: submeterFormulario(f) 2: adicionar(a,d ) SIM submeterFormulario(formulario)
  • 36. Exemplo: Sistema de Matrícula Diagrama de Classes: • E a navegabilidade? Estudante está-matriculado-em 3..10 public class Estudante { private String nome; private String matricula; ... } Turma 4 public class Turma { private String codigo; private String sala; private Estudante alunos[]; ... } OBS: Turma não aparece como atributo de Estudante!
  • 37. Exemplo: Sistema de Matrícula Diagrama de Classes: • Acrescentando generalizações: – Atributos, operações e/ou relacionamentos comuns podem ser movidos para uma classe mais geral. Us uario nome : Texto definirNome(nome) obterNome() Estudante Professor matricula : Inteiro titulacao : Texto definirMatricula(matricula) obterMatricula() definirTitulacao(titul acao) obterTitulacao()
  • 38. Exemplo: Sistema de Matrícula FormularioMatricula é -processado-por obterEstudante() : Estudante obterNomeDIsciplina(i : Inteiro) : Texto 0.. * AnalisadorMatricula 1 adicion ar(alun o, di scipli na) 1 1 1 é-preenchido-por -aluno gerencia 1 0..* Estudante Disciplina matricula : Inteiro definirMatricula(matricula) obterMatricula() nome : Texto numCreditos : Inteiro 3.. 10 estaCompleta() adicionar(aluno : Estudante) 1 está-matriculado-em Usuario nome : Texto definirNome(nome) obterNome() 1..* Turma Professor responsável-por titulacao : Texto 0..3 definirTitulacao(titulacao) obterTitulacao() codigo : Texto sala : Texto 4 horario : Horario numAlunos : Inteiro completa : Booleano 1 estaCompleta() : Booleano SIM usa 1