Alternativa C - O software deve emitir relatórios de compras a cada quinze dias.
Introdução
Esta questão aborda a classificação de requisitos em Engenharia de Software, especificamente a distinção entre requisitos funcionais e não funcionais. Para responder corretamente, é fundamental compreender a natureza de cada categoria.
Desenvolvimento
Os requisitos de software dividem-se basicamente em dois grupos:
- Requisitos Funcionais: Descrevem o que o sistema deve fazer. Eles definem as funcionalidades, serviços ou ações específicas que o software precisa executar para atender às necessidades do usuário.
- Exemplos: Calcular um salário, gerar uma nota fiscal, permitir login.
- Requisitos Não Funcionais: Descrevem como o sistema deve se comportar. Eles estabelecem restrições, qualidades ou propriedades do sistema, como desempenho, segurança, confiabilidade e ambiente de execução.
- Exemplos: Tempo de resposta, plataforma de operação, nível de segurança.
Análise das Alternativas
Vamos analisar cada item à luz dessas definições:
- (A) O software deve ser operacionalizado no sistema Linux.
- Trata-se de uma restrição de ambiente/plataforma. É um requisito não funcional (especificação técnica).
- (B) O tempo de desenvolvimento não deve ultrapassar seis meses.
- Refere-se ao cronograma do projeto, não a uma função do software em si. Não é um requisito de software funcional.
- (C) O software deve emitir relatórios de compras a cada quinze dias.
- Este item descreve uma ação específica que o sistema deve realizar (emitir relatórios). Responde à pergunta "o que o sistema faz?". Portanto, é um requisito funcional.
- (D) O tempo de resposta do sistema não deve ultrapassar 30 segundos.
- Refere-se ao desempenho do sistema. É um requisito não funcional de desempenho.
- (E) A base de dados deve ser protegida para acesso apenas de usuários autorizados.
- Refere-se à segurança da informação. É um requisito não funcional de segurança.
Conclusão
A alternativa C é a única que descreve uma funcionalidade ou serviço prestado pelo sistema, caracterizando-se claramente como um requisito funcional. As demais opções tratam de restrições de plataforma, prazos, desempenho ou segurança, que são características não funcionais.