Memória técnica 1 - EduardoMoreira/Desenho-UnB-2016-01 GitHub Wiki

Versão 1.0

Histórico da Revisão

Data Versão Descrição Autor
22/05/2016 1.0 Criação do documento e preenchimento dos tópicos Matheus Silva

1. Introdução

1.1. Finalidade

Este documento tem por finalidade manter o registro das decisões arquiteturais, das alternativas de solução, bem como das influências dos fatores.

2. Memória Técnica

2.1. Resumo da solução

Utilização do padrão Observer para garantir a atualização do estoque a partir de entradas e saídas de grãos (milho e soja).

2.2. Fatores

  • Prover o comportamento de atualização automática da quantidade em estoque por parte dos grãos (milho e soja) após o registro de uma entrada ou saída de Grãos.

2.3. Solução

Utilizou-se de um padrão de projeto GoF da categoria comportamental chamado Observer. Criou-se então uma classe - MovimentacaoGrao (ConcreteSubject) - que é observada pelas classes - Milho e Soja (ConcreteObserver) - quando ocorre uma movimentação de grãos no estoque, isto é, uma entrada ou saída de milho ou soja, estes são atualizados em sua quantidade automaticamente.

Caso haja a necessidade de acrescentar um novo tipo de grão, este é facilmente adicionado à estrutura devido a interface - Grao (Observer) - que garante a implementação dos métodos por parte das classes concretas possibilitando sua atualização automática.

Para ver a solução com uma maior detalhamento (Modelagem e implementação) visitar a página do padrão: Observer.

2.4. Motivação

Tem-se a necessidade de conhecer a quantidade de cada um dos grãos em estoque, no caso, milho e soja. Dessa forma, ao registrar a entrada ou saída de grãos seria interessante que a quantidade desses grãos em estoque fossem atualizadas automaticamente, mantendo o fazendeiro sempre informado da quantidade de grãos retida em seu estoque, o que o auxilia na gestão da Fazenda.

2.5. Pendências

Não se aplica.

2.6. Alternativas

Não se aplica.