Baixe o app para aproveitar ainda mais
Prévia do material em texto
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
Compartilhar