Requisitos Não Funcionais
Objetivo
Definir os requisitos não funcionais estritamente alinhados ao recorte da v1.0 do SSDOi.
Na v1.0, os requisitos de qualidade devem ser lidos à luz de cinco premissas:
- a solução é um núcleo de avaliação automática;
- não há interface gráfica de operação;
- o consumo principal ocorre por serviço ou integração;
- os parâmetros matemáticos e operacionais são fixos no código da versão;
- o resultado precisa ser rastreável e reproduzível.
Convenções adotadas
Obrigatório: requisito necessário para aceite dav1.0.Importante: requisito relevante para operação confiável dav1.0, mas não definidor isolado da entrega.
RNF-V1-001 Arquitetura orientada a serviço
- Prioridade:
Obrigatório - Diretriz: a
v1.0deve ser implementada como componente de backend consumível por serviço, API ou mecanismo equivalente de integração. - Implicações:
- a solução não deve depender de interface gráfica para executar o fluxo principal;
- a entrada e a saída da avaliação devem ser estruturadas por contrato;
- o motor de cálculo deve poder ser acionado por outros componentes do ecossistema.
RNF-V1-002 Ausência de dependência de interface
- Prioridade:
Obrigatório - Diretriz: nenhuma funcionalidade essencial da
v1.0pode depender de telas de cadastro, consulta, parametrização ou operação manual. - Implicações:
- o processamento completo deve ser executável por serviço;
- erros e resultados devem ser retornados em formato estruturado;
- a ausência de interface gráfica não pode impedir homologação da versão.
RNF-V1-003 Contratos estáveis de entrada e saída
- Prioridade:
Obrigatório - Diretriz: a
v1.0deve expor contratos de entrada e saída estáveis para interoperabilidade. - Implicações:
- a solicitação de avaliação deve seguir estrutura validável;
- o resultado técnico deve ser serializável em formato padronizado;
- códigos de erro e rejeição devem seguir convenção consistente;
- mudanças incompatíveis de contrato devem ser evitadas dentro da mesma versão.
RNF-V1-004 Reprodutibilidade do cálculo
- Prioridade:
Obrigatório - Diretriz: a mesma entrada, processada na mesma versão da aplicação e com a mesma base de dados de referência, deve produzir o mesmo resultado.
- Implicações:
- os parâmetros usados na execução devem ser identificáveis;
- a versão do código e das bases de referência deve ser rastreável;
- o cálculo não deve depender de configuração manual variável em tempo de execução.
RNF-V1-005 Parametrização fixa em código
- Prioridade:
Obrigatório - Diretriz: os parâmetros matemáticos e operacionais da
v1.0devem estar definidos diretamente no código da versão. - Implicações:
- não deve haver painel funcional de parametrização;
- não deve haver edição operacional de variáveis, fatores e regras por usuário;
- toda alteração de parâmetro relevante deve ocorrer por nova versão de software.
RNF-V1-006 Desempenho operacional compatível com análise automática
- Prioridade:
Importante - Diretriz: a
v1.0deve responder em tempo compatível com uso automatizado de análise técnica. - Implicações:
- solicitações unitárias não devem depender de processamento manual intermediário;
- a solução deve suportar processamento síncrono quando o volume e a complexidade permitirem;
- a arquitetura pode prever processamento assíncrono para cargas mais pesadas ou integrações lentas.
RNF-V1-007 Tolerância a falhas de integração
- Prioridade:
Obrigatório - Diretriz: falhas de comunicação com
CNARHeSNISBdevem ser tratadas de forma explícita e auditável. - Implicações:
- erros de integração devem ser registrados;
- a resposta da avaliação deve indicar quando a falha externa impedir a conclusão do processamento;
- timeouts, indisponibilidade e retorno inválido devem ser diferenciáveis para diagnóstico.
RNF-V1-008 Rastreabilidade mínima da execução
- Prioridade:
Obrigatório - Diretriz: cada avaliação executada deve possuir trilha mínima de rastreabilidade técnica.
- Implicações:
- a trilha deve registrar identificador da execução;
- deve registrar horário de início e fim;
- deve registrar situação final da execução;
- deve registrar as principais bases e parâmetros utilizados.
RNF-V1-009 Observabilidade técnica
- Prioridade:
Importante - Diretriz: a
v1deve produzir informações suficientes para monitoramento técnico e diagnóstico operacional. - Implicações:
- logs devem permitir correlacionar requisição, execução e resultado;
- erros devem conter contexto suficiente para suporte técnico;
- eventos críticos de integração e cálculo devem ser observáveis.
RNF-V1-010 Segurança de acesso ao serviço
- Prioridade:
Obrigatório - Diretriz: o acesso aos serviços da
v1.0deve ser protegido por mecanismo de autenticação compatível com o ambiente doSerproe daANA. - Implicações:
- somente consumidores autorizados devem invocar o motor;
- chamadas devem ser associáveis ao sistema ou identidade cliente que as realizou;
- o requisito não implica, nesta versão, gestão completa de perfis de usuário final por interface.
RNF-V1-011 Integridade dos dados de referência
- Prioridade:
Obrigatório - Diretriz: o processamento da
v1.0deve ocorrer apenas com bases de referência íntegras e identificadas. - Implicações:
- a base
BHO v6utilizada deve estar identificada; - as zonas subterrâneas e dados de reservatório usados no cálculo devem ser versionáveis ao menos por referência de carga;
- o sistema deve rejeitar ou sinalizar execução quando as bases mínimas não estiverem disponíveis.
- a base
RNF-V1-012 Portabilidade de implantação
- Prioridade:
Importante - Diretriz: a solução deve poder ser implantada em ambiente controlado pelo
Serpro, sem dependência estrutural do ambiente de desenvolvimento do legado. - Implicações:
- o motor não deve depender de componentes desktop;
- a implantação deve ser compatível com execução em servidor;
- dependências externas devem ser explícitas e documentadas.
RNF-V1-013 Compatibilidade com evolução futura
- Prioridade:
Importante - Diretriz: a arquitetura da
v1.0não deve impedir a evolução posterior para interface gráfica, parametrização externa e novos métodos de análise. - Implicações:
- o desenho deve separar contrato, cálculo e integração;
- regras específicas da
v1.0não devem ser codificadas de forma a inviabilizar extração futura para configuração; - o modelo deve permitir expansão para efluentes,
Theis,Hunt,DRDHe demais etapas do roadmap.
Restrições explícitas da v1.0
As seguintes características não são obrigatórias para a v1.0 e não devem ser usadas como critério de reprovação desta versão:
- interface gráfica para operação;
- painel administrativo de parametrização;
- gestão completa de perfis funcionais de usuário final;
- alta flexibilidade de configuração em tempo de execução;
- escalabilidade já otimizada para o cenário final de cobertura nacional plena.
Pendências a tratar nas próximas versões
- metas quantitativas formais de tempo de resposta;
- metas quantitativas de disponibilidade e recuperação;
- política completa de observabilidade institucional;
- política detalhada de retenção de logs e trilhas;
- critérios finais de hardening e segurança operacional em produção.