Este post é diferente dos demais. A pedido do Nilson que tem mantido uma conversa no tópico de Herança e a Interface iremos apresentar um modelo e tecer alguns comentários sobre ele , em uma conversa que se propõe chegar em um modelo melhor.

O modelo que iremos usar como base é este (clique para aumentar):

Escopo do Sistema Classes

Bom a primeira coisa é o conceito de banco e  agencia. A agencia não é um banco. E um banco não é uma agencia. O banco é uma entidade jurídica, a agencia é uma representação ( uma filial) dessa entidade jurídica. Um banco tem muitas agencias e uma agencia pertence a um banco. Portanto, não é uma relação de herança que queremos usar e sim uma composição.  Um banco tem contas, e as contas estão relacionadas a uma agencia. Portanto, a conta corrente pertence a uma agencia e não ao banco. Como a agencia pertence ao banco é possível encontrar todas as contas do banco iterando todas as agencias que o banco tem. A relação de composição da conta seria no nivel da agencia e não no do banco.

As operações de CRUD não devem estar na entidade, a menos que isto se trate de um modelo conceptual de negocio ( por oposição a um modelo de implementação). Vou partir da premissa que é esse o caso ou explicitar as operação não faria sentido algum.

Endereço é uma coisa complexa por si mesma, mas não me parece que haja um problema na sua modelagem.

O NIF não é um inteiro, é um código. Códigos devem ser representandos com String. O titulo se relaciona a vários clientes no papel de sacado, cedente, etc.. cada um destes campos é um cliente. Não ha necessidade alguma de criar entidades no meio para qualificar a relação. A relação já é qualificada pelo nome do campo no titulo. Acho que esse é o ponto mais estranho do modelo que além de inútil cria bastante confusão.

Nilson, espero seus comentários.

[Editado]
O Nilson enviou outro modelo

Escopo do Sistema Classes
Vi que deu uma limpada. Ficou melhor. Mas ainda existe o problema entre o Banco e a Agencia. O Banco não têm uma campo agencia. Ele tem múltiplas agências. E cada agência tem um Banco.

Um comentário para “Modelando do Zero”

  1. Sérgio,

    Corrigido a questão da herança, substituído pelo atributo do tipo Cliente na entidade Título;

    Corrigido a questão da conta bancária, substituindo pela composição com Agência e esta com Banco ao invés da herança;

Comente

Scroll to Top