Pular para o conteúdo principal

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

Engenharia de SoftwareGeral
Código
qa434170
Banca
INSTITUTO AOCP
Órgão
IF CE
Ano
2026
Cargo
Ana ( )
Em um ambiente institucional como o do IFCE, diferentes sistemas acadêmicos e administrativos precisam trocar informações entre si. No contexto da arquitetura de software, a interoperabilidade de sistemas refere-se à
  1. Acapacidade de sistemas distintos trocarem dados e utilizarem as informações recebidas de forma compreensível e padronizada.
  2. Bexecução de múltiplas threads simultaneamente dentro de um mesmo processo.
  3. Creplicação automática de bancos de dados em servidores distintos para fins de backup.
  4. Dutilização de múltiplas linguagens de programação em um mesmo projeto de software.
  5. Eimplementação de mecanismos de cache para melhorar o tempo de resposta das aplicações.
Revelar gabarito e comentário

GabaritoA — capacidade de sistemas distintos trocarem dados e utilizarem as informações recebidas de forma compreensível e padronizada.

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

Interoperabilidade de sistemas

Gabarito: letra A. Interoperabilidade é a capacidade de sistemas distintos trocarem dados e utilizarem as informações recebidas de forma compreensível e padronizada — exatamente o que a alternativa A descreve. As demais alternativas tratam de outros conceitos de engenharia de software (concorrência, replicação, multiparadigma, cache), que não se confundem com interoperabilidade.

Interoperabilidade é um atributo de arquitetura de software que permite que sistemas independentes — muitas vezes desenvolvidos por equipes diferentes, em plataformas diferentes e com propósitos diferentes — comuniquem-se entre si. No contexto institucional citado (IFCE), sistemas acadêmicos e administrativos precisam trocar informações: matrícula, notas, frequência, dados de servidores, etc. Para que essa troca funcione, não basta que os dados sejam enviados; é necessário que o receptor consiga interpretá-los corretamente. Isso exige padronização: formatos de dados comuns (como JSON, XML), protocolos de comunicação definidos (como HTTP/REST, SOAP) e, muitas vezes, contratos de interface bem documentados.

A interoperabilidade pode ser classificada em níveis: sintática (os dados estão em um formato que o receptor consegue ler) e semântica (o receptor entende o significado dos dados). Por exemplo, dois sistemas podem trocar um arquivo XML, mas se um deles interpreta o campo "data" como dd/mm/aaaa e o outro como mm/dd/aaaa, a interoperabilidade semântica falha. Por isso, a definição correta enfatiza que as informações devem ser utilizadas "de forma compreensível e padronizada".

Na prática, a interoperabilidade é viabilizada por padrões abertos e por arquiteturas como barramento de serviços (ESB), microsserviços e APIs. No governo brasileiro, a e-PING (Padrões de Interoperabilidade de Governo Eletrônico) define as especificações técnicas para que os sistemas do setor público troquem informações de forma padronizada — um exemplo concreto de como esse conceito se aplica em ambientes institucionais como o IFCE.

A banca explora aqui a confusão entre interoperabilidade e outros conceitos de sistemas distribuídos e de engenharia de software. O candidato que não domina o termo pode ser atraído por alternativas que mencionam tecnologias modernas (threads, replicação, cache), mas que não têm relação com a definição de interoperabilidade. O critério decisivo é: interoperabilidade envolve troca de dados entre sistemas distintos com compreensão mútua — nada a ver com execução interna de um processo, backup, linguagens de programação ou otimização de desempenho.

Critério

A – Interoperabilidade (✅)

B – Concorrência (❌)

C – Replicação (❌)

D – Multiparadigma (❌)

E – Cache (❌)

Conceito central

Troca de dados entre sistemas distintos com compreensão mútua

Execução simultânea de threads em um processo

Cópia automática de dados em servidores distintos

Uso de múltiplas linguagens em um projeto

Armazenamento temporário para otimizar desempenho

Objetivo principal

Integração e comunicação padronizada entre sistemas

Uso eficiente de múltiplos núcleos de CPU

Backup, alta disponibilidade, balanceamento de leitura

Flexibilidade de implementação

Redução de latência e consumo de recursos

Envolve sistemas distintos?

Sim, sistemas independentes

Não, mesmo processo

Sim, mas mesmos dados replicados

Não, mesmo projeto

Não, mesma aplicação

Exige padronização de dados?

Sim (formatos, protocolos, contratos)

Não

Não

Não

Não

Exemplo prático

IFCE trocando matrículas via API REST

Threads em um servidor web

Réplica MySQL para backup

Projeto com Java + Python

Redis para cache de consultas

Alternativa A — ✅ Correta ⟵ GABARITO

A alternativa A define com precisão o conceito de interoperabilidade: "capacidade de sistemas distintos trocarem dados e utilizarem as informações recebidas de forma compreensível e padronizada". Os termos-chave são "sistemas distintos" (não é o mesmo sistema), "trocarem dados" (comunicação entre eles) e "compreensível e padronizada" (a informação precisa ser interpretável pelo receptor, o que exige padrões). É exatamente essa a definição adotada em arquitetura de software e em normas de interoperabilidade.

Alternativa B — ❌ Incorreta

A alternativa B descreve concorrência — a execução de múltiplas threads simultaneamente dentro de um mesmo processo. Isso é um conceito de sistemas operacionais e programação concorrente, relacionado ao uso eficiente de múltiplos núcleos de CPU e ao gerenciamento de recursos. Não envolve troca de informações entre sistemas distintos; pelo contrário, as threads compartilham o mesmo espaço de memória do processo. A banca troca o conceito de interoperabilidade por um de concorrência, que é um tema vizinho em provas de TI, mas completamente diferente.

Alternativa C — ❌ Incorreta

A alternativa C descreve replicação de banco de dados — a cópia automática de dados em servidores distintos para fins de backup, alta disponibilidade ou balanceamento de leitura. Embora envolva múltiplos servidores, a replicação é uma estratégia de persistência e redundância, não de interoperabilidade. Na replicação, os servidores executam o mesmo banco de dados (ou cópias dele) e mantêm consistência entre si; não há troca de informações entre sistemas diferentes com formatos distintos. A banca confunde interoperabilidade com replicação, que é um mecanismo de infraestrutura.

Alternativa D — ❌ Incorreta

A alternativa D descreve o uso de múltiplas linguagens de programação em um mesmo projeto (desenvolvimento poliglota ou multiparadigma). Isso é uma decisão de engenharia de software sobre a implementação, não sobre a capacidade de sistemas se comunicarem. Um sistema pode ser desenvolvido inteiramente em uma única linguagem e ainda assim ser interoperável com outros; da mesma forma, usar várias linguagens não garante interoperabilidade. A banca explora a ideia de "diversidade" para confundir com a troca de informações entre sistemas.

Alternativa E — ❌ Incorreta

A alternativa E descreve cache — a implementação de mecanismos para armazenar dados temporariamente e melhorar o tempo de resposta das aplicações. Cache é uma técnica de otimização de desempenho, que reduz a latência e o consumo de recursos, mas não tem relação com a troca de informações entre sistemas. Um sistema pode ter cache e não ser interoperável, e vice-versa. A banca troca o conceito de interoperabilidade por um de performance, que é um atributo de qualidade diferente.

NÃO CAIA NESSA!

A banca mistura conceitos de sistemas distribuídos e de engenharia de software que são vizinhos em provas de TI: concorrência (B), replicação (C), multiparadigma (D) e cache (E). O candidato que não tem a definição exata de interoperabilidade pode ser atraído por essas alternativas, que parecem "tecnológicas" e modernas. A chave é lembrar que interoperabilidade é comunicação entre sistemas distintos com compreensão mútua — nada a ver com execução interna, backup, linguagens ou desempenho. Com treino, você reconhece essas trocas de longe 💪.

Gabarito: letra A

Link permanente: /questoes/qa434170