Pular para o conteúdo principal

Questão de Engenharia de Software — Geral — INSTITUTO AOCP 2023

Engenharia de SoftwareGeral
Código
qa543083
Banca
INSTITUTO AOCP
Órgão
UEAP
Ano
2023
Cargo
Tec ( )
Como um dos preceitos recentes da engenharia de software, existe um desafio que se aplica a construir técnicas para desenvolver softwares cada vez mais confiáveis e que sejam altamente escaláveis e flexíveis para lidar e operar com diferentes tipos de equipamentos e sistemas. Esse desafio é denominado
  1. Adesafio da Heterogeneidade.
  2. Bdesafio do Legado.
  3. Cdesafio do Fornecimento.
  4. Ddesafio da Configuração.
  5. Edesafio da Taxomia.
Revelar gabarito e comentário

GabaritoA — desafio da Heterogeneidade.

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”.

Engenharia de Software: os desafios essenciais

Gabarito: letra A. O desafio descrito no enunciado — construir técnicas para desenvolver softwares confiáveis, escaláveis e flexíveis para operar com diferentes tipos de equipamentos e sistemas — é o desafio da Heterogeneidade, um dos quatro desafios essenciais da engenharia de software identificados por Sommerville. Os demais desafios são o do Legado, o do Fornecimento e o da Confiança.

A engenharia de software, como disciplina, enfrenta desafios que vão além das questões técnicas de programação. Sommerville, em sua obra clássica, identifica quatro desafios essenciais que permanecem relevantes e que a área busca superar continuamente. Esses desafios não são problemas pontuais, mas sim questões estruturais que moldam a forma como o software é desenvolvido, entregue e mantido. Compreendê-los é fundamental para entender a evolução da área e as motivações por trás de novas metodologias, ferramentas e práticas.

O desafio da Heterogeneidade é exatamente o que o enunciado descreve: a necessidade de desenvolver software que possa operar em uma diversidade cada vez maior de dispositivos, plataformas e sistemas. Vivemos em um mundo onde um mesmo sistema precisa funcionar em computadores, celulares, tablets, sistemas embarcados, eletrodomésticos inteligentes e uma infinidade de outros equipamentos. Cada um desses ambientes tem suas particularidades — diferentes sistemas operacionais, capacidades de hardware, interfaces de rede e requisitos de desempenho. Construir software que seja ao mesmo tempo confiável, escalável e flexível o suficiente para lidar com essa diversidade é um dos grandes desafios da engenharia de software moderna.

Para ilustrar, pense em um aplicativo de banco. Ele precisa funcionar em celulares Android e iOS, em navegadores de computadores, e talvez em versões para tablets e smartwatches. Cada plataforma tem suas próprias regras, limitações e formas de interação. O desafio da heterogeneidade é fazer com que esse aplicativo ofereça uma experiência consistente e confiável em todas essas plataformas, sem que o custo de desenvolvimento e manutenção se torne inviável. É por isso que surgiram tecnologias como desenvolvimento multiplataforma, containers e arquiteturas de microsserviços — todas tentativas de lidar com essa diversidade de forma mais eficiente.

Os outros desafios essenciais são igualmente importantes e frequentemente confundidos com o da heterogeneidade. O desafio do Legado trata da necessidade de manter e evoluir sistemas antigos, que muitas vezes são críticos para as organizações, mas foram construídos com tecnologias ultrapassadas. O desafio do Fornecimento diz respeito à pressão por prazos de entrega cada vez mais curtos, sem comprometer a qualidade do software. E o desafio da Confiança (que não aparece nas alternativas) aborda a necessidade de desenvolver software que seja seguro, confiável e que não cause danos, especialmente em sistemas críticos como os de aviação, saúde e finanças.

A pegadinha desta questão está em reconhecer que o enunciado descreve especificamente a diversidade de equipamentos e sistemas, que é a essência do desafio da Heterogeneidade. As outras alternativas, embora sejam desafios reais ou termos relacionados à engenharia de software, não correspondem à descrição apresentada. O candidato que não conhece a classificação de Sommerville pode se perder, mas a palavra-chave "diferentes tipos de equipamentos e sistemas" aponta diretamente para a heterogeneidade.

1Heterogeneidade
Diferentes equipamentos e sistemas
Confiável, escalável e flexível
2Legado
Manter e evoluir sistemas antigos
3Fornecimento
Prazos curtos sem perder qualidade
4Confiança
Seguro e sem danos
Desafios essenciais (Sommerville)
LEVELsoulevel.com.br
Desafios essenciais (Sommerville): Heterogeneidade (Diferentes equipamentos e sistemas, Confiável, escalável e flexível); Legado (Manter e evoluir sistemas antigos); Fornecimento (Prazos curtos sem perder qualidade); Confiança (Seguro e sem danos)

Alternativa A — ✅ Correta ⟵ GABARITO

O enunciado descreve com precisão o desafio da Heterogeneidade. A necessidade de desenvolver software que seja "altamente escalável e flexível para lidar e operar com diferentes tipos de equipamentos e sistemas" é a definição clássica desse desafio, conforme apresentado por Sommerville. A heterogeneidade refere-se à diversidade de plataformas, dispositivos e ambientes nos quais o software precisa funcionar, e a engenharia de software busca técnicas para lidar com essa diversidade de forma eficiente e confiável.

Alternativa B — ❌ Incorreta

O desafio do Legado refere-se à necessidade de manter e evoluir sistemas antigos, que muitas vezes são críticos para as organizações, mas foram construídos com tecnologias ultrapassadas. O enunciado não menciona nada sobre sistemas antigos ou manutenção de software legado, mas sim sobre a diversidade de equipamentos e sistemas. A confusão pode ocorrer porque ambos são desafios essenciais da engenharia de software, mas tratam de problemas distintos.

Alternativa C — ❌ Incorreta

O desafio do Fornecimento diz respeito à pressão por prazos de entrega cada vez mais curtos, sem comprometer a qualidade do software. O enunciado não menciona prazos ou pressões de mercado, mas sim a necessidade de lidar com diferentes tipos de equipamentos e sistemas. A palavra "fornecimento" pode remeter à entrega de software, mas o contexto do enunciado aponta claramente para a diversidade de ambientes, não para a velocidade de entrega.

Alternativa D — ❌ Incorreta

O desafio da Configuração não é um dos desafios essenciais da engenharia de software identificados por Sommerville. Embora a gerência de configuração seja uma área importante da engenharia de software, ela não corresponde ao desafio descrito no enunciado. A alternativa tenta confundir o candidato com um termo que existe na área, mas que não se aplica ao contexto apresentado.

Alternativa E — ❌ Incorreta

O desafio da Taxomia não existe como um desafio essencial da engenharia de software. O termo "taxonomia" refere-se à classificação, mas não é um desafio reconhecido na área. A alternativa é um distrator puro, sem relação com o conteúdo cobrado. O candidato que conhece os quatro desafios essenciais de Sommerville (Heterogeneidade, Legado, Fornecimento e Confiança) identifica imediatamente que "Taxomia" não faz parte dessa lista.

NÃO CAIA NESSA!

A banca explora a confusão entre os desafios essenciais da engenharia de software. O candidato que conhece os quatro desafios (Heterogeneidade, Legado, Fornecimento e Confiança) pode se confundir entre as alternativas A, B e C, que são todas desafios reais. A chave está em identificar que o enunciado descreve especificamente a diversidade de equipamentos e sistemas, que é a essência do desafio da Heterogeneidade. As alternativas B e C, embora sejam desafios legítimos, tratam de problemas diferentes: o Legado foca em sistemas antigos e o Fornecimento em prazos de entrega. Com treino, você enxerga essas distinções de longe 💪

Gabarito: letra A — o desafio da Heterogeneidade.

Link permanente: /questoes/qa543083