Pular para o conteúdo principal

Questão de Engenharia de Software — Desenvolvimento de Software — INSTITUTO AOCP 2025

Engenharia de SoftwareDesenvolvimento de Software
Código
qg543506
Banca
INSTITUTO AOCP
Órgão
TRE-TO
Ano
2025
Nível
Superior
Cargo
Analista Judiciário - Área de Atividade: Apoio Especializado - Especialidade: Tecnologia da Informação
Com o crescimento da demanda por aplicativos móveis em ambientes corporativos e governamentais, torna-se essencial compreender os princípios que norteiam o desenvolvimento para dispositivos móveis, considerando limitações técnicas, contexto de uso e boas práticas de projeto. A respeito desse assunto, analise as assertivas e assinale a alternativa que aponta as corretas.I. O desenvolvimento para dispositivos móveis exige atenção à limitação de recursos como processamento, memória e energia, o que pode impactar diretamente a escolha de algoritmos e estruturas de dados.II. Aplicações móveis nativas oferecem melhor desempenho e integração com os recursos do dispositivo, mas exigem desenvolvimento específico para cada plataforma.III. A responsividade e a adaptação da interface são irrelevantes para aplicações móveis, já que a maioria dos dispositivos possui resolução de tela padronizada.IV. O uso de armazenamento local em dispositivos móveis é recomendado principalmente quando há necessidade de operação offline, como em áreas com conectividade limitada.
  1. AApenas I e II.
  2. BApenas II e IV.
  3. CApenas I, II e IV.
  4. DApenas I, III e IV.
  5. EI, II, III e IV.
Revelar gabarito e comentário

GabaritoC — Apenas I, II e IV.

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

Desenvolvimento Mobile: princípios e boas práticas

Gabarito: letra C — corretos os itens I, II e IV. O desenvolvimento para dispositivos móveis exige atenção às limitações de recursos (processamento, memória, energia), aplicações nativas oferecem melhor desempenho e integração com o hardware, e o armazenamento local é recomendado para operação offline. O item III está incorreto, pois a responsividade e a adaptação da interface são essenciais, dado que os dispositivos possuem resoluções e tamanhos de tela variados.

O desenvolvimento mobile difere do desenvolvimento desktop/web em vários aspectos. Primeiro, os dispositivos móveis possuem recursos limitados — processador, memória RAM, armazenamento e, principalmente, bateria. Isso impacta diretamente a escolha de algoritmos e estruturas de dados, pois algoritmos ineficientes podem consumir mais energia e tornar o aplicativo lento ou até inviável. Por exemplo, um algoritmo de ordenação O(n²) em uma lista grande pode travar o dispositivo e drenar a bateria rapidamente, enquanto um O(n log n) seria mais adequado.

Segundo, existem diferentes abordagens de desenvolvimento: nativo, híbrido e web. Aplicações nativas são desenvolvidas para uma plataforma específica (Android com Kotlin/Java, iOS com Swift/Objective-C) e têm acesso direto aos recursos do dispositivo (câmera, GPS, sensores, notificações push), oferecendo melhor desempenho e integração. Porém, exigem desenvolvimento separado para cada plataforma, aumentando custo e tempo. Já as híbridas (como Flutter, React Native) permitem código único para múltiplas plataformas, mas com desempenho potencialmente inferior e acesso limitado a alguns recursos.

Terceiro, a interface do usuário em mobile precisa ser responsiva e adaptável. Diferente do que afirma o item III, não existe resolução padronizada: há uma enorme variedade de tamanhos de tela, densidades de pixels (dp, sp), orientações (retrato/paisagem) e até modos de acessibilidade (fonte grande, alto contraste). Ignorar isso resulta em botões cortados, textos ilegíveis e péssima experiência do usuário. O contexto de uso também varia: o usuário pode estar em movimento, com uma mão ocupada, sob luz solar intensa, etc.

Quarto, o armazenamento local (SQLite, Room, SharedPreferences, arquivos) é fundamental para operação offline, como em áreas com conectividade limitada ou para reduzir consumo de dados. Aplicativos de mapas, leitura de documentos e mensagens usam cache local para funcionar sem internet. Isso não significa que todo app deva usar armazenamento local — a decisão depende dos requisitos de disponibilidade e sincronização.

A banca explora a confusão entre "responsividade é irrelevante" (item III) e a realidade de que é um requisito essencial. O candidato que não conhece as particularidades do mobile pode marcar o item III como correto, caindo na pegadinha. A distinção crucial é: enquanto no desktop a resolução é relativamente padronizada, no mobile a diversidade é a regra.

Desenvolvimento mobile
  • 1Limitações de recursos
    • Processamento
    • Memória
    • Energia
    • Impacto na escolha de algoritmos
  • 2Abordagens
    • Nativa
      • Melhor desempenho
      • Integração com hardware
      • Exige código por plataforma
    • Híbrida
      • Código único
      • Desempenho inferior
  • 3Interface
    • Responsividade essencial
    • Telas variadas
    • Contextos de uso
  • 4Armazenamento local
    • Operação offline
    • Cache e sincronização
LEVEL · soulevel.com.br

Item I — ✅ Correto

O item está correto. Dispositivos móveis têm limitações de processamento, memória e energia, e isso influencia diretamente a escolha de algoritmos e estruturas de dados. Por exemplo, algoritmos com alta complexidade computacional podem esgotar a bateria rapidamente ou causar lentidão. O conteúdo de apoio reforça que "os desenvolvedores devem tentar descobrir algoritmos (ou adaptar os já existentes) que sejam eficientes com relação à energia para preservar a carga da bateria".

Item II — ✅ Correto

O item está correto. Aplicações nativas são desenvolvidas para uma plataforma específica (Android, iOS) e, por isso, têm melhor desempenho e integração com os recursos do dispositivo (câmera, GPS, sensores). No entanto, exigem desenvolvimento separado para cada plataforma, aumentando custo e esforço. O conteúdo de apoio menciona que "desenvolver e dar suporte para aplicativos em diversas plataformas é um processo dispendioso".

Item III — ❌ Incorreto

O item está incorreto. A responsividade e a adaptação da interface são essenciais em aplicações móveis, pois os dispositivos possuem tamanhos de tela, resoluções e densidades de pixels variados. Não existe resolução padronizada. O conteúdo de apoio destaca que "os dispositivos móveis têm telas menores do que os computadores pessoais" e que a interface deve se adaptar a diferentes contextos. A banca tenta fazer o candidato acreditar que a padronização existe, o que é falso.

Item IV — ✅ Correto

O item está correto. O armazenamento local é recomendado principalmente para operação offline, como em áreas com conectividade limitada. Isso permite que o aplicativo funcione sem internet, armazenando dados localmente (SQLite, arquivos, etc.) e sincronizando quando houver conexão. É uma prática comum em apps de mapas, leitura e mensagens.

Conclusão: corretos os itens I, II e IV, portanto a alternativa correta é a letra C.

NÃO CAIA NESSA!

A banca tenta fazer o candidato acreditar que a responsividade é irrelevante (item III), quando na verdade é um requisito fundamental no desenvolvimento mobile. A confusão surge porque, no desktop, as resoluções são mais padronizadas, mas no mobile a diversidade de telas é enorme. Fique atento: qualquer afirmação que minimize a importância da adaptação de interface em mobile está errada.

PEGA ESSA DICA!

Para questões sobre desenvolvimento mobile, lembre-se dos três pilares: (1) limitações de recursos (bateria, memória, processamento), (2) abordagens de desenvolvimento (nativo, híbrido, web) e (3) adaptação da interface (responsividade). Se uma assertiva negar qualquer um desses pilares, ela está incorreta.

Gabarito: letra C

Link permanente: /questoes/qg543506