A maior rede de estudos do Brasil

Grátis
34 pág.
Aula_04_Apresentação

Pré-visualização | Página 1 de 1

Modelagem de Sistemas
Marcelo Vasques de Oliveira
Aula 4
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
9
Mais Simples
1, 2 ou mais classes não correlatas, independentes
Ao final do relacionamento, as classes permanecem com suas vidas 
Associações entre classes
10
Associações Exclusivas
11
Multiplicidade
12
Quantos objetos de cada classe podem estar envolvidos nos relacionamentos.
Multiplicidade
13
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
Visibilidade – Atributos e métodos
14
Visibilidade
Comentários
+ Publico
Qualquer classe pode usar o método ou atributo
- Privado
Apenas aprópriaclasse pode usar ométodoou 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
Classes de Associação
15
Herança
16
Agregação e Composição.
17
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).
Dependência
18
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
Nome Relacionamento e Papeis
19
Navegabilidade
20
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.
Notas e comentários
21
Modelagem de Sistemas
Marcelo Vasques de Oliveira
Atividade 04
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
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
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