Questão de Engenharia de Software — Geral — INSTITUTO AOCP 2026
Engenharia de Software›Geral
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 à
Acapacidade de sistemas distintos trocarem dados e utilizarem as informações recebidas de forma compreensível e padronizada.
Bexecução de múltiplas threads simultaneamente dentro de um mesmo processo.
Creplicação automática de bancos de dados em servidores distintos para fins de backup.
Dutilização de múltiplas linguagens de programação em um mesmo projeto de software.
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 💪.