Escolar Documentos
Profissional Documentos
Cultura Documentos
Sistemas
Aula 4
• Conceitos e Elementos
2
Conceitos do Diagrama de Classes
• Mais popular e conhecido da UML
• Refinamentos ao longo do PDS
– Observação do mundo real–domínio do
problema–Diagrama Conceiual de classes
– Nível de projeto – Diagrama de classes de
PROJETO, com visão do desenvolvimento.
• O diagrama de classes
– descreve os tipos de objetos que interagem
para realizar as funcionalidades do sistema e
os relacionamentos entre eles.
– Propriedades e operações de uma classe e
restrições a forma como há o relacionamento
3
Evolução no diagrama de classes
• Modelo conceitual (análise)
• Classes do negócio
– funcionalidades dos casos de uso
• Atributos (sem tipos e visibilidade)
característicos
• Relacionamentos (associação)
• Modelo de classes de Projeto (Projeto)
– Multiplicidade
– Relacionamentos – análise semântica
– Novos atributos
– Métodos
– Visibilidade e tipos dos atributos
– Classes de projeto (persistência,camadas..) 4
A Classe
• 3 compartimentos
– Nome da classe
– Atributos
– Operações (métodos)
5
Objeto
• Classe: Molde de objetos afins, com as
mesmas características (atributos e métodos)
• Objeto: Instância de uma classe
6
Elementos do Diagrama de Classes
7
Atributos e Métodos - declaração
• Atributos: visibilidade Nome: tipo
• Métodos: visibilidade Nome (Lista de
parâmetros) : tipo
8
Associações entre classes
• Mais Simples
• 1, 2 ou mais classes não correlatas,
independentes
• Ao final do relacionamento, as classes
permanecem com suas vidas
9
Associações entre classes
10
Associações Exclusivas
11
Multiplicidade
• Quantos objetos de cada classe podem estar
envolvidos nos relacionamentos.
12
Multiplicidade
Multipl Significado
1 Exatamente 1 (um)
1..* Um ou vários (muitos)
0..* Nenhum (zero) ou vários (muitos)
* Muitos. A leitura é Nenhum (zero) ou vários (muitos)
0..1 Nenhum (zero) ou 1 (um)
m..n Faixa de valores. Exemplo : 1 a 3 , 4 a 7 ou 6 a 11
13
Visibilidade – Atributos e métodos
Visibilidade Comentários
+ Publico Qualquer classe pode usar o método ou atributo
- Privado Apenas a própria classe pode usar o método ou o
atributo
~ Pacote Apenas classes dentro do pacote podem usar o
método ou atributo
# Protegido Apenas as subclasses (herança), ou classe
especializada pode usar o atributo ou método
15
Herança
16
Agregação e Composição.
• Relacionamentos Todo-Parte
• Agregação tem semântica mais forte
– Apenas 1 todo participa – as partes pertencem
a apenas 1 TODO
– Se o TODO foi excluído , as partes o são
(vidas coincidentes).
17
Dependência
• A dependência entre 2 classes existe se:
mudanças na definição de uma classe pode
demandar mudanças na definição da outra
• No relacionamento abaixo Disciplina depende
(é dependente de) de Estudante
– Observe o método Incluir da classe Disciplina,
ela usa como parâmetro o objeto aluno, que é
da classe Estudante
18
Nome Relacionamento e Papeis
19
Navegabilidade
• O CLIENTE sabe quais são seus endereços
• Mas o ENDEREÇO não sabe a quais clientes
pertence.
• A classe Cliente poderá enviar mensagens a
classe Endereços, mas o contrário não.
• Esse e uma notação semântica que ajuda
muito na implementação.
20
Notas e comentários
21
Modelagem de
Sistemas
Atividade 04
24
1. Identificando Casos de Uso
25
Identificando Classes
1. Precisa reter, no sistema, dados de algum ator?
– Não. Nenhum ator é relevante para o domínio do problema
enquanto retenção de seus dados
2. Que casos de uso dão origem a classes ?
– Incluir quarto e outros – Quarto
– Cadastrar hóspede – Hóspede
– Reservar Quarto o outros – Reserva
– Registrar Entrada do Hóspede / Registrar Saída do
Hóspede - Hospedagem
– Pagar Cheque, Pagar Dinheiro, Pagar Cartão – Pagamento,
Pag Cartão, Pag Cheque e Pag Dinheiro.
26
Identificando Atributos
3. Que atributos identificam cada classe ?
– Quarto: Num Quarto, Max Pessoas
– Hóspede: CPF, Nome, Data Nasc
– Reserva: Data Reserva, Data Inicial, Data Final, Qtde
Pessoas, Qtde Quartos
– Hospedagem: Data Cheg, Data Saida
– Pagamento: Forma Pagamento, Valor Pagamento
– Dinheiro : Valor Pago, Troco
– Cheque : Banco, Agencia, Conta, Chequ
– Cartão: Adm, Num Cartão, Val Cartão, Parcelas
27
Identificando Métodos evidentes
4. Algum caso de uso dá origem a métodos de uma classe?
– Quarto: Incluir quarto, Bloquear Quarto, desbloquear quarto,
liberar quarto da limpeza.
– Reserva: Incluir Reserva, Cancelar reserva, cancelar
reservas do dia, consultar reservas canceladas.
– Hóspede: Cadastrar
– Hospedagem: Registrar entrada, registrar saída
– Pagamento: ? – nada evidente
– Pag Dinheiro – Consultar recebimento especie
– Pag Cartão - ? Nada evidente
– Pag Cheque - ? Nada evidente
28
1ªversão:Diagrama Conceitual Classes
29
Refinamento 1: DCC
30
Refinamento 2: DCC
31
Refinamento 2: DCC
32
Refinamento 2: DCC
33
Refinamento 2: DCC
34