Requisitos Funcionais vs Não Funcionais
Gabarito: letra D. Requisitos funcionais descrevem serviços que o sistema deve executar (suas funções e comportamentos). São requisitos funcionais apenas os itens 3 (ID único), 6 (CRUD de processos), 9 (captura por código de barras) e 12 (busca com seleção de subconjunto). Os demais itens são requisitos não funcionais: restrições de desempenho, segurança, confiabilidade, plataforma, etc.
Conforme definições clássicas da engenharia de requisitos (Sommerville, Pressman), requisitos funcionais são declarações de serviços do sistema, reações a entradas e comportamento em situações específicas. Já os requisitos não funcionais impõem restrições a esses serviços ou ao sistema como um todo.
Classificação dos itens
Arquitetura modularizada – Não funcional (manutenibilidade).
Resposta em até 2 segundos – Não funcional (desempenho).
Associação de ID único – Funcional (serviço de identificação).
Suporte a 100.000 usuários simultâneos – Não funcional (capacidade).
Acesso restrito a Juízes – Não funcional (segurança).
CRUD de processos – Funcional (serviço de manipulação de dados).
Log de transações com tolerância a falhas – Não funcional (confiabilidade/auditoria). O foco na continuidade mesmo com falhas torna-o um requisito de confiabilidade, não uma função propriamente dita.
Acesso via browser HTTP/HTML – Não funcional (interface/plataforma).
Captura por código de barras ou manual – Funcional (serviço de entrada de dados).
Ambiente Windows e 2 GB de memória – Não funcional (restrição de hardware/software).
Internacionalização – Não funcional (usabilidade/manutenibilidade).
Busca e seleção de subconjunto – Funcional (serviço de consulta).
Uso de Enterprise JavaBeans – Não funcional (restrição tecnológica de implementação).
Automação de testes – Não funcional (requisito de processo/qualidade).
Análise das alternativas
Alternativa A (2, 3, 6, 7, 9, 12): ❌ Incorreta – Inclui os não funcionais 2 (desempenho) e 7 (log com falhas).
Alternativa B (4, 6, 7, 9, 10, 11): ❌ Incorreta – Inclui não funcionais 4 (capacidade), 7 (log), 10 (plataforma) e 11 (internacionalização).
Alternativa C (2, 5, 6, 7): ❌ Incorreta – Inclui não funcionais 2 (desempenho), 5 (segurança) e 7 (log).
Alternativa D (3, 6, 9, 12): ✅ Correta – Contém apenas os requisitos funcionais identificados.
Alternativa E (6, 8, 10, 12, 14): ❌ Incorreta – Inclui não funcionais 8 (interface/browser), 10 (plataforma) e 14 (testes automatizados).
Gabarito: letra D.