UC00062 - Validações, segurança e liberações
Conteúdo |
[editar] Objetivo
- Manter validações, segurança e liberações do sistema.
[editar] Atores
- Usuário
[editar] Pré-requisitos
- Considerar documento Padrões de desenvolvimento.
- Gerar log/auditoria para as ações realizadas.
[editar] Resultado esperado
- Liberações via senha alçada
- Liberações remotas
[editar] Diagrama de classes
[editar] Layouts sugeridos
[editar] Regras de negócio
[editar] RN01 - Dados das validações, solicitações e liberações
Sempre que houver a solicitação para algum tipo de liberação, independente do mecanismo utilizado os seguintes dados deverão ser coletados no ato da solicitação:
- Dados da liberação: Informações pertinentes à rotina e ao que será liberado. Estes dados podem variar de acordo com o motivo da solicitação conforme segue abaixo:
- Venda de produtos sem estoque no PDV
- Código do pedido
- Data do pedido
- Vendedor
- Código + descrição do item (+ descrição da grade se houver)
- Venda com rentabilidade abaixo da planejada
- Código do pedido
- Data do pedido
- Vendedor
- Rentabilidade planejada
- Rentabilidade atingida no pedido
- Venda de produtos sem estoque no PDV
- Data e hora da solicitação: No momento em que houver a validação e liberação for solicitada, serão registrados a data e horário correntes.
- Filial: Filial logada.
- Rotina: Rotina em que a liberação foi solicitada.
- Status da solicitação: No momento em que for solicitada, a liberação deverá receber o status AGUARDANDO RESPOSTA.
- Usuário: Esta informação pode variar de acordo com o tipo de liberação solicitada conforme segue abaixo:
- Senha alçada: Para este tipo de liberação, será necessário coletar o usuário solicitante (usuário logado no sistema).
- Liberação remota: Para este tipo de liberação, será necessário coletar o usuário solicitante (usuário logado no sistema) e também o usuário para quem a solicitação será enviada.
[editar] RN02 - Senha alçada
Sempre que uma determinada rotina necessitar de uma liberação por senha alçada a tela Senha alçada deverá ser invocada recebendo como parâmetro os dados citados na regra de negócio RN01.
A validação de senha alçada consiste em exibir na tela campos para que sejam informados login e senha de um usuário que possua acesso total ao sistema além de uma justificativa/observação para liberação conforme mostra o layout sugerido.
Caso usuário e senha informados sejam válidos e a justificativa/observação tenha sido informada, a tela Senha alçada deverá retornar para a rotina que a invocou um sinal de que a ação ou movimento validado possui permissão para prosseguir. Caso contrário um sinal para abortar a ação ou movimento deverá ser retornado.
A senha alçada deverá permitir apenas 3 tentativas (consecutivas ou não) para validar um usuário/senha que tenham acesso total ao sistema. Após a terceira tentativa sem sucesso, a seguinte mensagem deverá ser exibida: O usuário e/ou senha informados nas ultimas 3 tentativas não são válidos. Da próxima tentativa sem sucesso em diante será registrada no log de segurança do sistema. Após a terceira tentativa sem sucesso o sistema deverá gerar log com as seguintes informações:
- Usuário que efetuou as tentativas (usuário logado)
- Login, senha e justificativa informados em cada tentativa
- Data e hora
- Dados da liberação
Para as liberações realizadas pela tela Senha alçada, além dos dados já passados quando a tela foi invocada devem ser gravados também:
- Data e hora da resposta: Data e hora corrente no momento em que a liberação foi salva.
- Justificativa: A justificativa informada na liberação.
- Status da solicitação: Neste momento a solicitação deverá receber o status LIBERADA.
- Usuário: Usuário que informou o login, senha e justificativa na tela Senha alçada.
Caso a tela Senha alçada seja fechada ou seja acionado o botão [Cancelar] nenhuma informação será salva.
[editar] RN03 - Liberação remota
Sempre que uma determinada rotina necessitar de uma liberação remota, antes de enviar a solicitação para o usuário que fará a liberação os dados citados na regra de negócio RN01 deverão ser coletados.
A liberação remota será enviada/solicitada no celular e no e-mail do usuário responsável configurado nos parâmetros da filial, onde o mesmo receberá um link de acesso para uma página que exibirá somente as informações pertinentes à liberação solicitada. Esta terá um formato voltado para ser visualizada em smartphones, mas com layout responsivo, ou seja, será auto ajustada para resolução de demais dispositivos como tablets e computadores desktop.
A página de liberação remota poderá variar de acordo com a rotina/funcionalidade onde foi feita a solicitação conforme segue abaixo:
- Venda com rentabilidade abaixo do planejado: Terá um layout conforme o sugerido contendo as seguintes informações:
- Tipo de liberação: Informa o motivo da solicitação de liberação, que neste caso será para vendas com rentabilidade abaixo da planejada.
- STATUS: Informa o status atual da solicitação. Se a página for acessada em solicitações já respondidas, o status LIBERADA ou RECUSADA será visualizado também. Obviamente que uma vez que a solicitação foi respondida, ao acessa-la não será possível altera-la.
- PDV: Número da venda com rentabilidade abaixo da planejada.
- DATA: Data da venda.
- CLIENTE: Cliente do pedido.
- VENDEDOR: Vendedor principal do pedido.
- TOTAL: Total do pedido.
- RENTABILIDADE PLANEJADA (%): Percentual de rentabilidade planejada configurada nos parâmetros da filial.
- RENTABILIDADE DO PEDIDO (%): Percentual de rentabilidade atingida no pedido.
- USUÁRIO: Usuário que fez a solicitação.
- JUSTIFICATIVA DA SOLICITAÇÃO: Justificativa do usuário para liberação da venda.
- RESPOSTA: Justificativa do usuário responsável para a aprovação/recusa da solicitação.
- Botão [Aceitar]: Botão que autoriza a venda e muda o status da solicitação para LIBERADA.
- Botão [Recusar]: Botão que bloqueia a venda com a rentabilidade atual e muda o status da solicitação para RECUSADA.
Para aceitar ou recusar uma solicitação o usuário responsável deverá informar, obrigatoriamente, uma resposta.
