Você está na página 1de 34

Modelagem de

Sistemas

Aula 4

Marcelo Vasques de Oliveira


Aula 4 – Diagrama de Classes

• Conceitos e Elementos

• Relacionamento entre classes

• Aplicação do diagrama de classes

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

• Encapsulamento – atributos privados


• SÓ métodos privados ?
• Generalização / especialização – visibilidade
protegida na classe mãe = herdar 14
Classes de Associação

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

Marcelo Vasques de Oliveira


Estudo de Caso
Em um hotel da cidade, um hóspede pode obter um quarto
de 2 formas: através de uma reserva prévia ou obtendo um
quarto se houver disponibilidade no ato. Ao reservar são
registrados Nome, CPF, Período da estada, quantidade de
quartos e de hospedes. Na chegada do hóspede (com ou
sem reserva) são registrados, além dos dados acima, os
dados (Nome e data de nascimento) dos demais hóspedes.
Na saída do hóspede, registra-se a data de saída, bem
como apresenta o valor a pagar ao hospede, que informa
forma de pagamento (dinheiro, cartão ou cheque). Se
pagamento em cheque (banco, agencia, conta e cheque)
registra-se os dados do cheque. Se pagamento em cartão,
registra-se dados do cartão (administradora, numero cartão
e validade). Após saída do hóspede, o recepcionista deve
liberar o quarto para limpeza , que ao ser encerrada deve
liberar o quarto para uso novamente. 23
Estudo de Caso
O gerente pode retirar um quarto de uso, seja para obra ou
qualquer outra ação, podendo retornar o quarto para
hospedagem, sempre que desejar. O gerente poderá incluir
novos quartos, quando forem construídos.
Sempre que solicitado o gerente deve receber um mapa de
ocupação dos quartos (reservas e ocupados) em um período
(por ele informado).
Ao final do dia o caixa precisa saber o total recebido em
dinheiro e o gerente as reservas canceladas.
Uma reserva pode ser cancelada pelo recepcionista
(obedecendo pedido do hóspede) ou automaticamente, se o
hóspede não chegar ate as 17h.
Todo atendimento (reservas, checkin e checkout) é feito
pelos recepcionistas.

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

Você também pode gostar