Engenharia de Software – Conceitos Básicos
Gabarito: letra C. A Engenharia de Software é uma disciplina que abrange todas as atividades de produção de software, com destaque para as quatro atividades principais: especificação, desenvolvimento (projeto e implementação), validação (testes) e evolução (manutenção). Esse conceito está alinhado com as definições clássicas de autores como Sommerville e com a própria definição da IEEE.
Segundo o material de referência, "a engenharia de software se preocupa com todos os aspectos da produção de software, desde os estágios iniciais da especificação do sistema até a manutenção do sistema após sua utilização". Portanto, a alternativa C sintetiza corretamente esse escopo.
Atividade | Descrição | Exemplo | Fonte |
|---|
Especificação | Levantamento e documentação de requisitos | Definir funcionalidades de um sistema bancário | Sommerville, IEEE |
Desenvolvimento | Projeto e codificação do software | Implementar módulo de login | Sommerville, IEEE |
Validação | Testes e garantia de qualidade | Testar integridade dos dados | Sommerville, IEEE |
Evolução | Manutenção e atualizações do sistema | Corrigir bugs e adicionar novas funcionalidades | Sommerville, IEEE |
Alternativa A — ❌ Incorreta
Afirma que o "único desafio" é lidar com diversidade, tempo reduzido e confiabilidade. Na prática, a Engenharia de Software enfrenta múltiplos desafios, como gerenciamento de requisitos, custos, prazos, qualidade, comunicação com stakeholders, entre outros. A palavra "único" invalida a assertiva.
Alternativa B — ❌ Incorreta
A distribuição de custos apresentada (40% desenvolvimento, 60% testes) não é um consenso na literatura; os custos de testes variam muito conforme o projeto. Além disso, a afirmação sobre custos de evolução superarem os de desenvolvimento em software customizado é verdadeira, mas a primeira parte torna a alternativa incorreta. Dados numéricos fixos como esse são distratores comuns.
Alternativa C — ✅ Correta ⟵ GABARITO
Conforme a definição fundamental, as principais atividades da Engenharia de Software são: especificação (levantamento e documentação de requisitos), desenvolvimento (projeto e codificação), validação (testes e garantia de qualidade) e evolução (manutenção e atualizações). Essa é a visão consolidada na área.
Alternativa D — ❌ Incorreta
A expressão "funcionalidade e o ócio" está incorreta; o termo correto seria "desempenho" ou "funcionalidades adequadas". Um bom software deve atender aos requisitos funcionais e não funcionais, ser confiável, de fácil manutenção e usável, mas a redação compromete a precisão da afirmativa.
Alternativa E — ❌ Incorreta
Embora a Engenharia de Sistemas realmente abranja hardware, software e processos, e a Engenharia de Software seja uma parte importante, a alternativa não responde diretamente ao que é a Engenharia de Software. A questão pede uma afirmação sobre a Engenharia de Software, e essa opção descreve sua relação com um campo mais amplo, desviando do foco solicitado. Além disso, a Engenharia de Software possui suas próprias metodologias e não se limita a ser apenas uma "parte específica".
Gabarito: letra C.