A modelagem da estrutura de um sistema deve ser iniciada com classes mais simples e especificadas em subclasses herdeiras das características gerais, bem como devem ser definidos os relacionamentos entre todas as classes.
Fonte: Shutterstock.
Deseja ouvir este material?
Áudio disponível no material digital.
SEM MEDO DE ERRAR
Este diagrama de classes está representando a relação entre um banco e suas filiais. É possível notar as seguintes estruturas e relações:
Figura 2.27 | Especificação da classe banco
Fonte: elaborada pelo autor.
O banco possui um conjunto de filiais em uma relação de composição, ou seja, as filiais não existem sem a matriz do banco. Além disso, um banco pode ter um número não definido de filiais (definido pela relação 1 para *).
A classe banco gerencia as filiais com funções de adicionar, remover, obter dados de uma filial específica ou obter dados de todas as filiais.
A classe filial possui um código e uma cidade. Em uma filial é possível adicionar uma conta corrente, remover uma conta corrente ou obter informações dessa conta. A filial pode fazer empréstimos, remover os empréstimos e consultá-los. Uma filial também possui uma relação de agregação com as contas dos clientes, ou seja, elas podem existir mesmo que não tenham nenhuma conta.
Figura 2.28 | Especificação da classe filial
Fonte: elaborada pelo autor.
Uma conta possui um número e um saldo como seus atributos. É possível realizar transações de débito e crédito além de consultar o saldo.
Dois tipos de conta são definidos por herança: a conta poupança e a conta corrente. A conta poupança tem como atributos um saldo mínimo e sua data de abertura. Nessa conta é possível adicionar ou remover um cliente. Já a conta corrente possui, relacionada a ela, uma taxa de juros e uma data de abertura como atributos. Os métodos permitem adicionar e remover um cliente.
Figura 2.29 | Especificação da classe conta
Fonte: elaborada pelo autor.
Um cliente pode ter 0 ou 1 conta de cada tipo, sendo que possui como atributos um número de identificação, nome, endereço e telefone.
A última classe é a classe de empréstimo. Os atributos de um empréstimo são um número, o tipo e a quantia emprestada. Em um empréstimo é possível adicionar um cliente, obter os pagamentos realizados e o estado atual do empréstimo. No caso do empréstimo um cliente pode ter de 0 a infinitos empréstimos. Uma filial pode também conceder infinitos empréstimos, porém sua relação é de agregação já que pode ser que exista uma filial sem que nenhum empréstimo tenha sido realizado.