Mudanças entre as edições de "Projeto/Ourolux/Documentação/Normalizar Pedido"

De GeoSales
Ir para navegação Ir para pesquisar
(Criou página com ' =Necessidade= Cliente precisa copiar um determinado pedido. Se o pedido a ser copiado tiver alguma pendência que impeça sua criação (Ex: estoque impeditivo), este pedido...')
 
Linha 1: Linha 1:
 +
== Definição do que é normalizado ==
  
=Necessidade=
+
Na necessidade da normalização tem isso:
Cliente precisa copiar um determinado pedido. Se o pedido a ser copiado tiver alguma pendência que impeça sua criação (Ex: estoque impeditivo), este pedido precisa ser normalizado para que possa ser criado no GeoSales. A normalização do pedido garante que o pedido poderá ser copiado dentro do GeoSales.
 
  
=Solução=
+
Se o pedido a ser copiado tiver alguma pendência [...], este pedido precisa ser normalizado para que possa ser criado no GeoSales. <sic>
*Criar um botão para normalizar o pedido na tela de listagem de pedidos. Ao escolher um pedido e clicar no botão de normalizar, o GeoSales deve normalizar o pedido. Os itens que, no momento da normalização, não tiverem estoque disponível não serão adicionados ao pedido normalizado. Se nenhum item do pedido tiver estoque disponível o mesmo não poderá ser normalizado.
 
  
=Cenários=
+
Foi bem cíclica a definição. Eu esperava alguma coisa mais ou menos com esse sentido:
===Cenário 1===
 
  
*Usuário João quer fazer uma cópia de um pedido X. O pedido X tem um item: A (com quantidade 15). O item A possui estoque disponível (maior que 15) . O GeoSales deve normalizar o pedido X criando um pedido X' contendo o item A com a quantidade de 15.
+
Se o pedido a ser copiado tiver alguma pendência [...], essas pendências de criação são tratadas de modo que o um novo pedido surja no GeoSales. Esse '''novo pedido''' é o que é chamado de '''pedido normalizado'''.
  
===Cenário 2===
+
== Autor? ==
  
*Usuário João quer fazer uma cópia de um pedido X. O pedido X tem dois itens: A (com quantidade 15) e B (com quantidade 10). O item A possui estoque disponível (maior que 15) e o item B não possui estoque disponível (menor que 10). O GeoSales deve normalizar o pedido X criando um pedido X' contendo o item A com a quantidade de 15.
+
Caras, se liguem, façam login!
  
===Cenário 3===
+
É de graça e fácil
  
*Usuário João quer fazer uma cópia de um pedido X. O pedido X tem dois itens: A (com quantidade 15) e B (com quantidade 10). O item A não possui estoque disponível (menor que 15) e o item B não possui estoque disponível (menor que 10). O GeoSales não deve normalizar o pedido X, pois nenhum dos itens do pedido X possui estoque disponível. João deve receber uma mensagem informando que não foi possível normalizar o pedido.
+
== Solução vs implementação ==
 +
 
 +
É sempre bom definir de modo separado a solução da implementação. Por exemplo, [[Validade de sincronismo de acordo com fuso horário do vendedor]] trata essa separação, onde a [[Validade de sincronismo de acordo com fuso horário do vendedor#Solução declarativa|solução]] dita as regras que devem ser seguidas na criação da implementação, enquanto que a [[Validade de sincronismo de acordo com fuso horário do vendedor#Pré-detalhes da informação imperativa|implementação]] trata de detalhes de como essas regras serão tratadas em um nível mais baixo, desde distribuição dos dados, explicação da estrutura das tabelas até mudanças necessárias em consultas no sistema.
 +
 
 +
== Cenário confuso ==
 +
 
 +
Cara, esses cenários estão pessimamente testáveis... Assim, eles não ajudam na capacidade de escrita do teste.
 +
 
 +
Para ser facilmente testável, é melhor separar o cenário em Dados, Operação e Assertiva, como nos exemplos:
 +
* [[Inserção Motivo de Cadastro de Pedidos#Cenários]]
 +
* [[Bonificação com Saldo Fixo#Cenários]]
 +
* [[Desconto negociado#Cenários]]
 +
* [[Observação de Nota Fiscal#Cenários]]
 +
* [[Funcionalidade/Limite de crédito#Cenários de fluxo]]
 +
 
 +
== Nome da página ==
 +
 
 +
Gentes, o nome da página está <code>Projeto/Ourolux/Documentação/NormalizarPedido</code>, quando eu creio que deveria ser <code>Projeto/Ourolux/Documentação/Normalizar Pedido</code>, não?

Edição das 11h36min de 7 de dezembro de 2016

Definição do que é normalizado

Na necessidade da normalização tem isso:

Se o pedido a ser copiado tiver alguma pendência [...], este pedido precisa ser normalizado para que possa ser criado no GeoSales. <sic>

Foi bem cíclica a definição. Eu esperava alguma coisa mais ou menos com esse sentido:

Se o pedido a ser copiado tiver alguma pendência [...], essas pendências de criação são tratadas de modo que o um novo pedido surja no GeoSales. Esse novo pedido é o que é chamado de pedido normalizado.

Autor?

Caras, se liguem, façam login!

É de graça e fácil

Solução vs implementação

É sempre bom definir de modo separado a solução da implementação. Por exemplo, Validade de sincronismo de acordo com fuso horário do vendedor trata essa separação, onde a solução dita as regras que devem ser seguidas na criação da implementação, enquanto que a implementação trata de detalhes de como essas regras serão tratadas em um nível mais baixo, desde distribuição dos dados, explicação da estrutura das tabelas até mudanças necessárias em consultas no sistema.

Cenário confuso

Cara, esses cenários estão pessimamente testáveis... Assim, eles não ajudam na capacidade de escrita do teste.

Para ser facilmente testável, é melhor separar o cenário em Dados, Operação e Assertiva, como nos exemplos:

Nome da página

Gentes, o nome da página está Projeto/Ourolux/Documentação/NormalizarPedido, quando eu creio que deveria ser Projeto/Ourolux/Documentação/Normalizar Pedido, não?