Modelagem de Objetos de Domínio com Diagrama de Classes Prof. Wolley W. Silva
Agenda Identificar classes conceituais a partir da descrição de um requisito (caso de uso); Criar um modelo de Domínio inicial (Diagrama de Classe) Modelar Atributos e associações.
Modelo de Domínio Um modelo de domínio é uma representação visual de classes conceituais, ou objetos do mundo real, em um domínio. Exemplo de Domínios: Clinica Médica Biblioteca Loja virtual
Exemplo: Modelo de Domínio
Representação UML Nome da classe Lista de atributos Lista de métodos Conta Número Saldo dataAbertura Criar Bloquear Desbloquear Creditar Debitar Lista de atributos Lista de métodos
Atributos Permite a identificação de cada objeto de uma classe; Os valores dos atributos podem variar de instância para instância; Atributos devem identificar o tipo de dado a ser armazenado: Byte, boolean, int, double, char, String, etc.
Métodos Representam os comportamentos das instâncias (objetos) da classe; Outros diagramas permitem modelar o comportamento interno dos métodos Diagrama de Sequência
Tipos de Visibilidade Pública (+) Protegida (#) Privada (-) – O atributo ou método pode ser utilizado por qualquer classe Protegida (#) Somente a classe ou sub-classes terão acesso Privada (-) – Somente a classe terá acesso
Classe: Conta
Relacionamento entre Classes Classes possuem relacionamentos entre elas afim de: Compartilham informações Colaboram umas com as outras
Principais tipos de relacionamentos Associação Herança Agregação Composição Dependência
Associações: No domínio de vendas, um cliente compra produtos
Associações: No domínio bancário, uma conta-corrente possui um histórico de transações
Associações Em um hotel, os hóspedes de um ocupam quartos
Multiplicidade Determina o número máximo e mínimo de objetos envolvidos em cada extremidade da associação. Nome Simbologia Apenas Um 1 Zero ou Um 0..1 Zero ou Muitos 0..* Um ou Muitos 1..* Intervalo específico 1i..1s
Multiplicidade
Identificando Classes de Domínio
Estratégias Usar uma lista de categoria Identificar substantivos
Lista de categoria Categoria de Classes Conceituais Exemplos Transações de negócio Venda, Pagamento, Reserva Item de uma transação ItemDeVenda, ItemDePedido Produtos ou serviços relacionados a uma transação Produto, Refeição, Viagem, Filme Papéis de pessoas ou organizações relacionadas à uma transação (atores de um caso de uso) Caixa ou Funcionário, Cliente, Fornecedor Eventos com uma hora e local Vôo, Aula, Reunião, Entrega
Identificar substantivos Os substantivos presentes nas descrições textuais de domínio (requisitos ou casos de uso) são consideradas classes candidatas. Obs.: Os substantivos são palavras que usamos para nomear os seres e as coisas
Exemplo: Transportadora de Cargas As solicitações de viagens são recebidas por um funcionário do escritório via internet ou por telefone. O cliente deverá fornecer: o tipo de carga, volume, peso, data desejada para o carregamento, origem e destino, além de seus dados como nome, endereço e telefone.
Exemplo: Transportadora de Cargas As solicitações de viagens são recebidas por um funcionário do escritório via internet ou por telefone. O cliente deverá fornecer: o tipo de carga, volume, peso, data desejada para o carregamento, origem e destino, além de seus dados como nome, endereço e telefone. Classes Atributos
Exemplo: Transportadora de Cargas
Exercícios Em dupla A partir do modelo descritivo, requisitos, especificação de casos de uso e regras de negócio, modelar o diagrama de classe que representa as entidade do domínio.