Mudanças entre as edições de "Discussão:Complemento de saldo de conta corrente"

De GeoSales
Ir para navegação Ir para pesquisar
 
(6 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 1: Linha 1:
'''
+
== Solução pouco genérica ==
== Necessidade ==
+
 
'''
+
A solução está voltada apenas para a necessidade da Camil.
Cliente precisa estabelecer um saldo complementar para o usuário que utilizará a conta corrente para aprovar pedidos de bonificação. Esse saldo precisa ser atualizado todo primeiro dia útil do mês.
+
 
'''
+
Precisa possibilitar parametrizar a periodicidade para está funcionalidade, permitir também múltiplas parametrização.
 +
 
 +
A parte da rotina também precisa ser melhor descrita.
 +
 
 +
== Cenário confuso ==
 +
 
 +
Os cenários usam itemização, mas não de maneira eficiente.
 +
 
 +
Tipo, não consigo distinguir facilmente as informações.
  
== Solução ==
+
Creio que você queria fazer algo mais assim no cenário 1:
'''
 
*Criar um campo no cadastro da conta corrente para inserir o Saldo Complementar do Usuário
 
  
*Criar rotina para complementar saldo da conta corrente no primeiro dia de cada mês
+
===Cenário 1===
'''
+
====Dados====
 +
* João possui saldo complementar de R$ 2000.00
 +
* o saldo atual de João no dia 31/10/2016 é R$ 1500.00
 +
* o complemento de João está cadastrado para rodar no primeiro dia do mês
 +
* João não realiza mais nenhuma movimentação esse mês
  
 +
====Assertivas====
 +
No dia 01/11/2016...
 +
* o saldo de João é R$ 2000.00
 +
* existe um movimento para João de R$ 500.00 do tipo de movimento CM do dia 01/11/2016
  
A solução está voltada apenas para a necessidade da Camil.
+
== Sugestão de generalização da necessidade ==
  
Precisa possibilitar parametrizar a periodicidade para está funcionalidade, permitir também múltiplas parametrização.  
+
O usuário de conta corrente precisa, em data fixa no mês, ficar com um saldo prefixado.
  
A parte da rotina também precisa ser melhor descrita.
+
=== Exemplo ===
 +
'''Inalds''', todo dia '''1º''', fica com o saldo de '''R$ 2000.00'''
  
== Cenários ==
+
== Solução declarativa ==
  
'''Cenário 1'''
+
Na solução declarativa, declaramos não como será feito, mas uma visão geral ''do quê'' será feito.
  
*Usuário João possui Saldo Complementar de 2000 e no dia 31/10/2016 ele possui um saldo de conta corrente de 1500, no dia 01/11/2016 será feito um lançamento complementar automático de 500,00
+
===2 centavos de solução declarativa===
 +
No dia determinado para que o usuário tenha o saldo especificado, será gerado um movimento de complementação, de modo que seu Saldo final seja o especificado. Assim, o movimento de complemento será:
  
'''Cenário 2'''
+
MC = Sd - Sa
  
*Usuário João possui Saldo complementar de 2000 e no dia 31/10/2016 ele possui zero de saldo de conta corrente, no dia 01/11/2016 será realizado um lançamento complementar automático de 2000 em sua conta corrente
+
Onde:
 +
* '''MC''' é o valor do movimento de complemento
 +
* '''Sd''' é o saldo desejado
 +
* '''Sa''' é o saldo anterior
  
'''Cenário 3'''
+
====Demonstração matemática====
 +
O saldo é dado pela somatória dos movimentos. Assim, eu realizar um movimento '''M1''' em um saldo '''S0''', o saldo novo '''S1''' é '''S0 + M1'''.
  
*Usuário João possui Saldo complementar de 2000 e no dia 31/10/2016 ele possui 2000 de saldo de conta corrente, no dia 01/11/2016 não será realizado saldo complementar pois seu saldo atual já é igual ao saldo complementar
+
Assim, vamos calcular o saldo depois de realizado o movimento, '''Sn''':
'''
 
  
 +
Sn = Sa + MC = Sa + (Sd - Sa) = Sd
  
 +
Portanto, essa solução garante que o movimento e complemento sempre retorne o saldo do usuário para o saldo desejado.
  
----
+
CQD
  
----
+
== Solução imperativa ==
  
== Solução pouco genérica ==
+
Na solução imperativa, diferentemente da solução declarativa, vai ser dito o ''como'' realizar a solução declarativa de modo que a necessidade seja atendida. Na solução declarativa se vê se a necessidade será atendida, aqui se vê se a solução proposta é viável.
  
A solução está voltada apenas para a necessidade da Camil.
+
===2 centavos de imperatividade===
 +
Para conseguir atendes as necessidades, precisa-se de dois passos, descritos nas duas próximas sessões.
  
Precisa possibilitar parametrizar a periodicidade para está funcionalidade, permitir também múltiplas parametrização.
+
====Cadastro====
 +
No cadastro da conta corrente do usuário, no Portal, serão vinculados dois novos campos, referentes a:
 +
# valor do saldo prefixado
 +
# dia do mês em que o saldo da conta corrente retorna ao valor prefixado
  
A parte da rotina também precisa ser melhor descrita.
+
====Movimentação====
 +
A movimentação é realizada em um microsserviço. O microsserviço fará a movimentação de todos os usuário que tenham os dados cadastrados na conta corrente. O movimento realizado será do tipo CM para complementos de crédito e DM para complementos de débito. O valor do movimento será calculado conforme a regra estabelecida na solução declarativa.

Edição atual tal como às 14h45min de 9 de novembro de 2016

Solução pouco genérica

A solução está voltada apenas para a necessidade da Camil.

Precisa possibilitar parametrizar a periodicidade para está funcionalidade, permitir também múltiplas parametrização.

A parte da rotina também precisa ser melhor descrita.

Cenário confuso

Os cenários usam itemização, mas não de maneira eficiente.

Tipo, não consigo distinguir facilmente as informações.

Creio que você queria fazer algo mais assim no cenário 1:

Cenário 1

Dados

  • João possui saldo complementar de R$ 2000.00
  • o saldo atual de João no dia 31/10/2016 é R$ 1500.00
  • o complemento de João está cadastrado para rodar no primeiro dia do mês
  • João não realiza mais nenhuma movimentação esse mês

Assertivas

No dia 01/11/2016...

  • o saldo de João é R$ 2000.00
  • existe um movimento para João de R$ 500.00 do tipo de movimento CM do dia 01/11/2016

Sugestão de generalização da necessidade

O usuário de conta corrente precisa, em data fixa no mês, ficar com um saldo prefixado.

Exemplo

Inalds, todo dia , fica com o saldo de R$ 2000.00

Solução declarativa

Na solução declarativa, declaramos não como será feito, mas uma visão geral do quê será feito.

2 centavos de solução declarativa

No dia determinado para que o usuário tenha o saldo especificado, será gerado um movimento de complementação, de modo que seu Saldo final seja o especificado. Assim, o movimento de complemento será:

MC = Sd - Sa

Onde:

  • MC é o valor do movimento de complemento
  • Sd é o saldo desejado
  • Sa é o saldo anterior

Demonstração matemática

O saldo é dado pela somatória dos movimentos. Assim, eu realizar um movimento M1 em um saldo S0, o saldo novo S1 é S0 + M1.

Assim, vamos calcular o saldo depois de realizado o movimento, Sn:

Sn = Sa + MC = Sa + (Sd - Sa) = Sd

Portanto, essa solução garante que o movimento e complemento sempre retorne o saldo do usuário para o saldo desejado.

CQD

Solução imperativa

Na solução imperativa, diferentemente da solução declarativa, vai ser dito o como realizar a solução declarativa de modo que a necessidade seja atendida. Na solução declarativa se vê se a necessidade será atendida, aqui se vê se a solução proposta é viável.

2 centavos de imperatividade

Para conseguir atendes as necessidades, precisa-se de dois passos, descritos nas duas próximas sessões.

Cadastro

No cadastro da conta corrente do usuário, no Portal, serão vinculados dois novos campos, referentes a:

  1. valor do saldo prefixado
  2. dia do mês em que o saldo da conta corrente retorna ao valor prefixado

Movimentação

A movimentação é realizada em um microsserviço. O microsserviço fará a movimentação de todos os usuário que tenham os dados cadastrados na conta corrente. O movimento realizado será do tipo CM para complementos de crédito e DM para complementos de débito. O valor do movimento será calculado conforme a regra estabelecida na solução declarativa.