Mudanças entre as edições de "Informações de endereço por CEP"

De GeoSales
Ir para navegação Ir para pesquisar
(Criou página com '{| |- | | style="width:100%; text-align:right;" | Arquivo:Logo geosales.png |} == Histórico de Revisões == {| class="wikitable" ! Data !! Revisor !! Comentário |- |...')
 
 
(50 revisões intermediárias por 5 usuários não estão sendo mostradas)
Linha 9: Linha 9:
 
! Data !! Revisor !! Comentário  
 
! Data !! Revisor !! Comentário  
 
|-
 
|-
dd/mm/aaaa ||  Fulano    ||  Criação do Documento
+
01/02/2017 ||  Anderson Gomes ||  Criação do Documento
 
|-
 
|-
dd/mm/aaaa ||  Ciclano  ||  Análise e Aprovação da Arquitetura
+
06/02/2017 ||  Leonardo Sousa ||  Solicitação de correção
 
|-
 
|-
dd/mm/aaaa ||  Beltrano  ||  Inclusão de novo campo
+
07/02/2017 ||  Leonardo Sousa ||  Análise e Aprovação da Arquitetura
 
|-
 
|-
 
|}
 
|}
Linha 21: Linha 21:
 
|-  
 
|-  
 
| style="width:150px; text-align:left;" | '''Cliente:'''  
 
| style="width:150px; text-align:left;" | '''Cliente:'''  
| style="width:300px; text-align:left;" | ''Informe aqui o cliente a ser atendido''
+
| style="width:300px; text-align:left;" | ''Rio Mix''
 
| style="width:150px; text-align:left;" | '''Projeto:'''   
 
| style="width:150px; text-align:left;" | '''Projeto:'''   
| style="width:300px; text-align:left;" | ''Informe aqui o nome do projeto''
+
| style="width:300px; text-align:left;" | ''Rio Mix''
 
|-  
 
|-  
 
| | '''Gerente/Sponsor:'''
 
| | '''Gerente/Sponsor:'''
| | ''Informe o gerente do cliente a ser atendido''
+
| | ''Dolavale''
 
| | '''Gerente SoftSite:'''
 
| | '''Gerente SoftSite:'''
|  | ''Informe aqui o gerente de projetos da SoftSite''
+
|  | ''Liliana Carrha''
 
|-  
 
|-  
 
| | '''Analista SoftSite:'''
 
| | '''Analista SoftSite:'''
| | ''Informe aqui o analista SoftSite''
+
| | ''Anderson Gomes''
 
| | '''Arquiteto SoftSite:'''
 
| | '''Arquiteto SoftSite:'''
| | ''Informe aqui o arquiteto SoftSite''
+
| | ''Luan Lima''
 
|-  
 
|-  
 
| | '''Aplicação(s):'''
 
| | '''Aplicação(s):'''
| | ''Informe aqui as aplicações envolvidas''
+
| | ''Mobile-GS''
 
| |  
 
| |  
 
| |  
 
| |  
Linha 42: Linha 42:
  
 
==Necessidade==
 
==Necessidade==
''Descrever a necessidade real do cliente em relação a funcionalidade requisitada.''
+
''Durante a alteração/cadastro de informações de cliente no GeoSales (Mobile e Portal) ser possível após a inserção de um determinado CEP que o sistema preencha os dados do endereço de forma automática caso existam informações para o CEP. e essas informações serem atualizadas no Protheus. Também é preciso que o sistema atualize as informações de endereço baseado no CEP.''
  
 
==Exemplo==
 
==Exemplo==
''Informe um pequeno exemplo que transmita a necessidade do cliente.''
+
''O vendedor cadastrará um novo cliente, ao digitar o CEP o GeoSales deverá trazer as informações do endereço. Além de incluir um novo cliente, também deverá ser possível alterar o cadastro de um cliente já existente.''
  
 
==Solução==
 
==Solução==
''Indique a solução mais genérica possível, de forma que fique possível habilitar a funcionalidade para qualquer cliente que requisite.''
+
''Ao digitar o CEP no GeoSales e clicar em um botão de pesquisa de endereço, na inclusão ou alteração de um cliente, o sistema deve buscar o endereço através do CEP digitado. Os seguintes campos devem ser preenchidos: endereço, bairro, cidade e estado. Esses campos devem permanecer editáveis, pois se o vendedor não possuir conexão ativa com a rede de dados, o sistema deve permitir que o usuário digite manualmente. Além disso, o usuário precisará digitar também as informações complementares, como número, bloco e etc.''
 +
 
 +
As informações serão buscadas de um Web Service da SoftSite que buscará as informações de outros provedores desse serviço, cujo a SoftSite não pode garantir seu funcionamento, pois trata-se de um serviço de terceiro.''
 +
 
 +
Para acessar o Web Service o sistema GeoSales deve mandar na requisição o nome da empresa/usuário/senha para se autenticar. Devido a isso o sistema deverá ter comunicação com a base de dados que contém essas informações.
 +
 
 +
Para cada empresa existirá um limite mensal de requisições, definido por configuração. Entretanto, a cada requisição a resposta é salva na base durante um intervalo de tempo que garanta a validade da informação, definido por configuração. Caso o dado (CEP) consultado conste nessa base não será contado como requisição.
 +
 
 +
==Criação de Estruturas de Banco==
 +
 
 +
Deverá ser criado um novo banco de dados específico para o Web Service. Ele terá as seguintes estruturas para controlar as requisições e para salvar os endereços pesquisados a fim de otimizar as consultas mais frequentes.
 +
 
 +
*ENDERECO
 +
{| class="wikitable"
 +
! NOME DO CAMPO !! TIPO !! ANULÁVEL !! CHAVE !! AUTO INCREMENT 
 +
|-
 +
| CD_EMPRESA || INT || NOT NULL || TRUE || TRUE
 +
|-
 +
| CEP || VARCHAR(8) || NOT NULL || FALSE || FALSE
 +
|-
 +
| ESTADO || VARCHAR(2) || NULL || FALSE || FALSE
 +
|-
 +
| CIDADE || VARCHAR(50) || NULL || FALSE || FALSE
 +
|-
 +
| DS_ENDERECO || VARCHAR(70) || NULL || FALSE || FALSE
 +
|-
 +
| BAIRRO || VARCHAR(40) || NULL || FALSE || FALSE
 +
|-
 +
| DT_VALIDADE || DATETIME || NULL || FALSE || FALSE
 +
|-
 +
|}
 +
 
 +
*EMPRESA_UTILIZACAO
 +
{| class="wikitable"
 +
! NOME DO CAMPO !! TIPO !! ANULÁVEL !! CHAVE !! AUTO INCREMENT 
 +
|-
 +
| CD_EMPRESA_UTILIZACAO  || INT || NOT NULL || TRUE || TRUE
 +
|-
 +
| NM_EMPRESA  || VARCHAR(55) || NOT NULL || FALSE || FALSE
 +
|-
 +
| COMPETENCIA  || VARCHAR(7) || NULL || FALSE || FALSE
 +
|-
 +
| CONTADOR  || INT || NULL || FALSE || FALSE
 +
|-
 +
|}
 +
 
 +
'' A solução deve ser implementada para permitir que a mudança da origem de busca das informações seja de simples alteração.''
  
 
==Pré-Requisitos==
 
==Pré-Requisitos==
*''Liste aqui os requisitos necessários para que a funcionalidade esteja pronta para uso. (Quando se aplicam)''  
+
*''Para que essa customização funcione é preciso que a conexão de rede de dados esteja ativa no dispositivo do usuário e que o serviço utilizado para consultas as informações do endereço esteja funcionando.''
  
 
==Regras de Negócios==
 
==Regras de Negócios==
*''Liste aqui as regras de negócios necessárias para a funcionalidade.  (Quando se aplicam)''
+
*Para a validação do CEP as seguintes regras devem ser analisadas
 +
**O CEP deve ter 8 caracteres
 +
**O CEP deve conter somente números
  
 
==Regras de Exceções==
 
==Regras de Exceções==
*''Liste aqui as regras de exceções necessárias para a funcionalidade.  (Quando se aplicam)''
+
*O Web Service retornará o JSON {"erro": "true"} quando um CEP analisado não foi encontrado na análise;
 +
*Para o erro de limite de requisições será retornado o erro 403;
  
 
==Protótipos==
 
==Protótipos==
Linha 66: Linha 115:
  
 
===Cenário Happy Day===
 
===Cenário Happy Day===
''Descreva o caminho feliz relacionado a funcionalidade em questão.''
+
''Usuário edita o endereço de um cliente já cadastrado''
 +
 
 +
====Dados====
 +
#Cliente: João
 +
#Usuário: Pedro
 +
 
 +
====Operação====
 +
#Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes;
 +
#Pedro preenche o campo CEP da aba "Clien. Cont." com o CEP atual(60813670) e clica no botão de pesquisar endereço;
 +
 
 +
====Assertiva====
 +
#O sistema GeoSales valida se o CEP é válido
 +
#O sistema GeoSales faz uma consulta no web service pelos dados do CEP informado;
 +
#O web service retorna os dados do endereço do CEP escolhido;
 +
#O sistema GeoSales interpreta as informações retornadas e atualiza os campos correspondentes
 +
 
 +
===Cenário de Fluxo de Exceção===
 +
''CEP inválido''
 +
 
 +
====Dados====
 +
#Cliente: João
 +
#Usuário: Pedro
 +
 
 +
====Operação====
 +
#Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes;
 +
#Pedro preenche o campo CEP da aba "Clien. Cont." com o CEP atual (00000) e clica no botão de pesquisar endereço;
 +
 
 +
====Assertiva====
 +
#O sistema GeoSales valida se o CEP é válido
 +
#O sistema GeoSales manda a mensagem que o CEP digitado é inválido e não preenche os dados do endereço;
 +
 
 +
===Cenário de Fluxo de Exceção===
 +
''CEP não existente na base de dados''
 +
 
 +
====Dados====
 +
#Cliente: João
 +
#Usuário: Pedro
 +
 
 +
====Operação====
 +
#Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes;
 +
#Pedro preenche o campo CEP da aba "Clien. Cont." com o CEP atual (99999000) e clica no botão de pesquisar endereço;
 +
 
 +
====Assertiva====
 +
#O sistema GeoSales valida se o CEP é válido;
 +
#O sistema GeoSales faz uma consulta pelo CEP informado;
 +
#O serviço retorna que o CEP escolhido não consta na sua base de dados mandando o json de retorno da seguinte forma {"erro": "true"};
 +
#O sistema GeoSales manda a mensagem que o CEP digitado é não consta na base de dados pesquisada e não preenche os dados do endereço;
 +
 
 +
===Cenário de Fluxo de Exceção===
 +
''Serviço de consulta de informações não está funcionando''
  
 
====Dados====
 
====Dados====
''Indique que dados serão necessários para a assertiva do cenário.''
+
#Cliente: João
 +
#Usuário: Pedro
  
 
====Operação====
 
====Operação====
''Informe que operação é aguardada para esse cenário.''
+
#Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes;
 +
#Pedro preenche o campo CEP da aba "Clien. Cont." com o CEP atual (60813670) e clica no botão de pesquisar endereço;
  
 
====Assertiva====
 
====Assertiva====
''Informe o resultado esperado após acionado por operação para esse cenário.''
+
#O sistema GeoSales valida se o CEP é válido;
 +
#O sistema GeoSales faz uma consulta no web service pelos dados do CEP informado;
 +
#O web service não envia resposta dentro do tempo limite estipulado ou retorna erro 404
 +
#O sistema GeoSales manda a mensagem que o serviço está indisponível no momento;
  
 
===Cenário de Fluxo de Exceção===
 
===Cenário de Fluxo de Exceção===
''Descreva o cenário do fluxo de exceção relacionado a funcionalidade em questão.''
+
''Limite de requisições alcançado''
  
 
====Dados====
 
====Dados====
''Indique que dados serão necessários para a assertiva do cenário do fluxo de exceção.''
+
#Cliente: João
 +
#Usuário: Pedro
  
 
====Operação====
 
====Operação====
''Informe que operação é aguardada para o cenário do fluxo de exceção.''
+
#Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes;
 +
#Pedro preenche o campo CEP da aba "Clien. Cont." com o CEP atual (60813670) e clica no botão de pesquisar endereço;
  
 
====Assertiva====
 
====Assertiva====
''Informe o resultado esperado após acionado por operação para o cenário do fluxo de exceção.''
+
#O sistema GeoSales valida se o CEP é válido;
 +
#O sistema GeoSales faz uma consulta no web service pelos dados do CEP informado;
 +
#O web service verifica o contador de requisições da empresa solicitante e verifica que o limite foi alcançado e retorna o código de erro 403.
 +
#O sistema GeoSales manda a mensagem que o limite de requisições foi alcançado;
  
 
==Aprovação==
 
==Aprovação==

Edição atual tal como às 13h15min de 7 de fevereiro de 2017

Logo geosales.png

Histórico de Revisões

Data Revisor Comentário
01/02/2017 Anderson Gomes Criação do Documento
06/02/2017 Leonardo Sousa Solicitação de correção
07/02/2017 Leonardo Sousa Análise e Aprovação da Arquitetura

Informações Gerais

Cliente: Rio Mix Projeto: Rio Mix
Gerente/Sponsor: Dolavale Gerente SoftSite: Liliana Carrha
Analista SoftSite: Anderson Gomes Arquiteto SoftSite: Luan Lima
Aplicação(s): Mobile-GS

Necessidade

Durante a alteração/cadastro de informações de cliente no GeoSales (Mobile e Portal) ser possível após a inserção de um determinado CEP que o sistema preencha os dados do endereço de forma automática caso existam informações para o CEP. e essas informações serem atualizadas no Protheus. Também é preciso que o sistema atualize as informações de endereço baseado no CEP.

Exemplo

O vendedor cadastrará um novo cliente, ao digitar o CEP o GeoSales deverá trazer as informações do endereço. Além de incluir um novo cliente, também deverá ser possível alterar o cadastro de um cliente já existente.

Solução

Ao digitar o CEP no GeoSales e clicar em um botão de pesquisa de endereço, na inclusão ou alteração de um cliente, o sistema deve buscar o endereço através do CEP digitado. Os seguintes campos devem ser preenchidos: endereço, bairro, cidade e estado. Esses campos devem permanecer editáveis, pois se o vendedor não possuir conexão ativa com a rede de dados, o sistema deve permitir que o usuário digite manualmente. Além disso, o usuário precisará digitar também as informações complementares, como número, bloco e etc.

As informações serão buscadas de um Web Service da SoftSite que buscará as informações de outros provedores desse serviço, cujo a SoftSite não pode garantir seu funcionamento, pois trata-se de um serviço de terceiro.

Para acessar o Web Service o sistema GeoSales deve mandar na requisição o nome da empresa/usuário/senha para se autenticar. Devido a isso o sistema deverá ter comunicação com a base de dados que contém essas informações.

Para cada empresa existirá um limite mensal de requisições, definido por configuração. Entretanto, a cada requisição a resposta é salva na base durante um intervalo de tempo que garanta a validade da informação, definido por configuração. Caso o dado (CEP) consultado conste nessa base não será contado como requisição.

Criação de Estruturas de Banco

Deverá ser criado um novo banco de dados específico para o Web Service. Ele terá as seguintes estruturas para controlar as requisições e para salvar os endereços pesquisados a fim de otimizar as consultas mais frequentes.

  • ENDERECO
NOME DO CAMPO TIPO ANULÁVEL CHAVE AUTO INCREMENT
CD_EMPRESA INT NOT NULL TRUE TRUE
CEP VARCHAR(8) NOT NULL FALSE FALSE
ESTADO VARCHAR(2) NULL FALSE FALSE
CIDADE VARCHAR(50) NULL FALSE FALSE
DS_ENDERECO VARCHAR(70) NULL FALSE FALSE
BAIRRO VARCHAR(40) NULL FALSE FALSE
DT_VALIDADE DATETIME NULL FALSE FALSE
  • EMPRESA_UTILIZACAO
NOME DO CAMPO TIPO ANULÁVEL CHAVE AUTO INCREMENT
CD_EMPRESA_UTILIZACAO INT NOT NULL TRUE TRUE
NM_EMPRESA VARCHAR(55) NOT NULL FALSE FALSE
COMPETENCIA VARCHAR(7) NULL FALSE FALSE
CONTADOR INT NULL FALSE FALSE

A solução deve ser implementada para permitir que a mudança da origem de busca das informações seja de simples alteração.

Pré-Requisitos

  • Para que essa customização funcione é preciso que a conexão de rede de dados esteja ativa no dispositivo do usuário e que o serviço utilizado para consultas as informações do endereço esteja funcionando.

Regras de Negócios

  • Para a validação do CEP as seguintes regras devem ser analisadas
    • O CEP deve ter 8 caracteres
    • O CEP deve conter somente números

Regras de Exceções

  • O Web Service retornará o JSON {"erro": "true"} quando um CEP analisado não foi encontrado na análise;
  • Para o erro de limite de requisições será retornado o erro 403;

Protótipos

Inclua protótipos que facilite a visualização da funcionalidade. (Quando se aplicam)

Cenários

Inclua os cenários deseja atingir, a começar pelo caminho feliz.

Cenário Happy Day

Usuário edita o endereço de um cliente já cadastrado

Dados

  1. Cliente: João
  2. Usuário: Pedro

Operação

  1. Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes;
  2. Pedro preenche o campo CEP da aba "Clien. Cont." com o CEP atual(60813670) e clica no botão de pesquisar endereço;

Assertiva

  1. O sistema GeoSales valida se o CEP é válido
  2. O sistema GeoSales faz uma consulta no web service pelos dados do CEP informado;
  3. O web service retorna os dados do endereço do CEP escolhido;
  4. O sistema GeoSales interpreta as informações retornadas e atualiza os campos correspondentes

Cenário de Fluxo de Exceção

CEP inválido

Dados

  1. Cliente: João
  2. Usuário: Pedro

Operação

  1. Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes;
  2. Pedro preenche o campo CEP da aba "Clien. Cont." com o CEP atual (00000) e clica no botão de pesquisar endereço;

Assertiva

  1. O sistema GeoSales valida se o CEP é válido
  2. O sistema GeoSales manda a mensagem que o CEP digitado é inválido e não preenche os dados do endereço;

Cenário de Fluxo de Exceção

CEP não existente na base de dados

Dados

  1. Cliente: João
  2. Usuário: Pedro

Operação

  1. Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes;
  2. Pedro preenche o campo CEP da aba "Clien. Cont." com o CEP atual (99999000) e clica no botão de pesquisar endereço;

Assertiva

  1. O sistema GeoSales valida se o CEP é válido;
  2. O sistema GeoSales faz uma consulta pelo CEP informado;
  3. O serviço retorna que o CEP escolhido não consta na sua base de dados mandando o json de retorno da seguinte forma {"erro": "true"};
  4. O sistema GeoSales manda a mensagem que o CEP digitado é não consta na base de dados pesquisada e não preenche os dados do endereço;

Cenário de Fluxo de Exceção

Serviço de consulta de informações não está funcionando

Dados

  1. Cliente: João
  2. Usuário: Pedro

Operação

  1. Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes;
  2. Pedro preenche o campo CEP da aba "Clien. Cont." com o CEP atual (60813670) e clica no botão de pesquisar endereço;

Assertiva

  1. O sistema GeoSales valida se o CEP é válido;
  2. O sistema GeoSales faz uma consulta no web service pelos dados do CEP informado;
  3. O web service não envia resposta dentro do tempo limite estipulado ou retorna erro 404
  4. O sistema GeoSales manda a mensagem que o serviço está indisponível no momento;

Cenário de Fluxo de Exceção

Limite de requisições alcançado

Dados

  1. Cliente: João
  2. Usuário: Pedro

Operação

  1. Pedro escolhe na listagem de clientes o cliente João e clica no botão detalhes;
  2. Pedro preenche o campo CEP da aba "Clien. Cont." com o CEP atual (60813670) e clica no botão de pesquisar endereço;

Assertiva

  1. O sistema GeoSales valida se o CEP é válido;
  2. O sistema GeoSales faz uma consulta no web service pelos dados do CEP informado;
  3. O web service verifica o contador de requisições da empresa solicitante e verifica que o limite foi alcançado e retorna o código de erro 403.
  4. O sistema GeoSales manda a mensagem que o limite de requisições foi alcançado;

Aprovação

Considero aprovada a documentação da funcionalidade especificada acima, e autorizo a implementação da mesma no Sistema GeoSales, em nome da Organização a qual estou vinculado.

Setor Aprovado Por E-Mail Data Assinatura
Tecnologia da Informação Nome do Aprovador Email do Aprovador Data da Aprovação Assinatura do Aprovador
Comercial Nome do Aprovador Email do Aprovador Data da Aprovação Assinatura do Aprovador