US1006 - ArthurSchiavom/gestao-informacao-chao-de-fabrica--projeto-academico GitHub Wiki

US1006

=======================================

1. Requisitos

O Gestor de Projeto pretende que o programa preencha a base de dados com dados relativos a alguns produtos.

2. Análise

Seleção de dados

Foram consideradas as opções de importar os dados de um ficheiro ou ter a informação diretamente no programa. Foi optado fazer através de um ficheiro, porque, apesar de ser apenas para efeitos de demonstração da aplicação, é uma funcionalidade já implementada para outro use case.

Um produto é caracterizado pelos seguintes valores:

  • Código ùnico - Único
  • Código Comercial - Único
  • Descrição Breve - Máximo de 30 palavras
  • Descrição Completa - Não é vazia
  • Unidade - É especificada
  • Categoria - É especificada
  • Ficha de Produção - opcional

SD SD

3. Design

3.1. Realização da Funcionalidade

SD SD

Visando facilitar a implementação e manutenção, foi utilizado o Controller da US2006.

3.2. Diagrama de Classes

SD SD

Visando facilitar a implementação e manutenção, foi utilizado o Controller da US2006.

3.3. Padrões Aplicados

  • Command & Strategy - Para implementar a ação de cada bootstrapper.
  • Dependency inversion - No BaseBootstrapper os bootstrappers são utilizados como ExtendedAction.
  • Controller - RegistarProdutosDeFicheiroController.
  • Dependency inversion & Protected variation & Strategy - RegistarProdutosDeCsvController é utilizado como uma instância da interface RegistarProdutosDeFicheiroController.
  • Liskov Substitution principle & Dependency inversion - Em todas as implementações de interfaces.
  • Pure fabrication - Controller.
  • Information expert & HC/LC - Sempre presente: cada classe tem uma responsabilidade bem definida, visando a sua independência de outras classes.
  • Singleton - Utilizado para buscar a instância singleton de AppSettings.

3.4. Testes

Testes Unitários

Documentado na US2006.

Testes Funcionais

  • O código único deve ser único
  • O código Comercial deve ser único
  • A descrição Breve deve ter no máximo de 30 caractéres
  • A Ficha de Produção é opcional
  • A Descrição Completa é especificada
  • A Unidade é especificada
  • A Categoria é especificada
  • O número de campos fornecidos é o esperado
  • O cabeçalho é o esperado
  • O ficheiro existe

4. Integração/Implementação

Visando facilitar a implementação e manutenção, foi utilizado o Controller da US2006.

⚠️ **GitHub.com Fallback** ⚠️