US1006 - ArthurSchiavom/gestao-informacao-chao-de-fabrica--projeto-academico GitHub Wiki
=======================================
O Gestor de Projeto pretende que o programa preencha a base de dados com dados relativos a alguns produtos.
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
Visando facilitar a implementação e manutenção, foi utilizado o Controller da US2006.
Visando facilitar a implementação e manutenção, foi utilizado o Controller da US2006.
- 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.
Documentado na US2006.
- 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
Visando facilitar a implementação e manutenção, foi utilizado o Controller da US2006.


