Questão de Engenharia de Software — Engenharia de Requisitos — VUNESP 2023
Engenharia de Software›Engenharia de Requisitos
Código
vu196763
Banca
VUNESP
Órgão
Pref SP
Ano
2023
Cargo
AFTM SP
A especificação de requisitos de software envolve dois tipos de requisitos, funcionais e não funcionais, sobre os quais é correto afirmar que requisitos
Anão funcionais devem conter indicações de como o sistema deve reagir a entradas específicas.
Bfuncionais devem descrever restrições de temporização e restrições impostas pelas normas.
Cnão funcionais devem ser elaborados por equipes externas à empresa que vai desenvolver o software.
Dfuncionais devem descrever serviços que o sistema deve fornecer.
Efuncionais aplicam-se exclusivamente a sistemas de pequeno porte.
Revelar gabarito e comentário▾
GabaritoD — funcionais devem descrever serviços que o sistema deve fornecer.
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Requisitos funcionais e não funcionais na Engenharia de Requisitos
Gabarito: letra D. Requisitos funcionais descrevem os serviços que o sistema deve fornecer, ou seja, o que o sistema deve fazer — essa é a definição clássica adotada por Sommerville e Pressman, e é exatamente o que a alternativa D afirma. As demais alternativas invertem ou distorcem os conceitos: atribuem aos não funcionais características dos funcionais, ou trazem afirmações sem fundamento técnico.
A Engenharia de Requisitos é o processo de descobrir, analisar, documentar e verificar os serviços e restrições de um sistema. Os requisitos são as descrições do que o sistema deve fazer, os serviços que oferece e as restrições a seu funcionamento. Essa distinção fundamental entre "o que" e "como" é a chave para separar requisitos funcionais de não funcionais.
Requisitos funcionais são declarações de serviços do sistema, de suas reações a entradas específicas e do seu comportamento em determinadas situações. Eles dependem do tipo de software a ser desenvolvido, dos seus usuários e da abordagem geral adotada. Por exemplo: "o sistema deve permitir ao usuário pesquisar cursos disponíveis no site" é um requisito funcional — descreve um serviço que o sistema deve fornecer.
Requisitos não funcionais, por sua vez, são restrições aos serviços ou funções oferecidas pelo sistema. Eles normalmente especificam ou restringem as características do sistema como um todo, como desempenho, segurança, usabilidade, confiabilidade e disponibilidade. Por exemplo: "o sistema deve responder às consultas em no máximo 2 segundos" é um requisito não funcional — restringe como o sistema opera, não o que ele faz.
A distinção prática é: requisitos funcionais respondem à pergunta "o que o sistema faz?", enquanto requisitos não funcionais respondem à pergunta "como o sistema faz?" ou "com que qualidade?". Essa fronteira é o critério decisivo que separa as alternativas desta questão.
NÃO CAIA NESSA!
A banca explora a inversão clássica entre os dois tipos de requisito. Nas alternativas A e B, ela atribui características de requisitos funcionais aos não funcionais e vice-versa. O candidato que memorizou apenas a definição superficial — "funcional é o que o sistema faz, não funcional é como ele faz" — consegue identificar a pegadinha. A alternativa C introduz um critério de elaboração (equipes externas) que não existe na teoria de requisitos, e a E traz uma limitação de porte (sistemas pequenos) totalmente sem fundamento.
Critério
Requisitos Funcionais
Requisitos Não Funcionais
O que descrevem
Serviços que o sistema deve fornecer (o que o sistema faz)
Restrições aos serviços ou funções (como o sistema faz / com que qualidade)
Pergunta respondida
"O que o sistema faz?"
"Como o sistema faz?" ou "Com que qualidade?"
Exemplo típico
"O sistema deve permitir ao usuário pesquisar cursos disponíveis"
"O sistema deve responder às consultas em no máximo 2 segundos"
Características abrangidas
Reações a entradas específicas, comportamento em situações determinadas
Afirma que requisitos não funcionais devem conter indicações de como o sistema deve reagir a entradas específicas. Isso é exatamente o oposto: descrever reações a entradas específicas é característica de requisitos funcionais. Os não funcionais restringem o comportamento do sistema como um todo (desempenho, segurança, usabilidade), não descrevem reações pontuais a entradas.
Alternativa B — ❌ Incorreta
Afirma que requisitos funcionais devem descrever restrições de temporização e restrições impostas pelas normas. Restrições de temporização (tempo de resposta) e restrições normativas são requisitos não funcionais — eles especificam ou restringem as características do sistema. Os funcionais descrevem serviços e comportamentos, não restrições de qualidade ou conformidade.
Alternativa C — ❌ Incorreta
Afirma que requisitos não funcionais devem ser elaborados por equipes externas à empresa que vai desenvolver o software. Não há qualquer fundamento técnico para essa afirmação. Requisitos não funcionais são levantados e especificados pela própria equipe de engenharia de requisitos, em conjunto com as partes interessadas (stakeholders), independentemente de serem funcionais ou não funcionais. A origem dos requisitos não funcionais está nos fatores de produto, organizacionais e externos — não na terceirização da elaboração.
Alternativa D — ✅ Correta ⟵ GABARITO
Afirma que requisitos funcionais devem descrever serviços que o sistema deve fornecer. Essa é a definição canônica: requisitos funcionais são declarações de serviços do sistema, de suas reações a entradas específicas e do seu comportamento em determinadas situações. A alternativa espelha exatamente o conceito — "serviços que o sistema deve fornecer" é a essência do que define um requisito funcional.
Alternativa E — ❌ Incorreta
Afirma que requisitos funcionais aplicam-se exclusivamente a sistemas de pequeno porte. Não há qualquer relação entre o tipo de requisito e o porte do sistema. Requisitos funcionais existem em qualquer sistema, independentemente do tamanho — um sistema corporativo de grande porte tem tantos requisitos funcionais quanto um sistema simples. A afirmação é totalmente sem fundamento técnico.
Gabarito: letra D — requisitos funcionais descrevem os serviços que o sistema deve fornecer.