Pular para o conteúdo principal

Questão de Engenharia de Software — Frameworks — FGV 2025

Engenharia de SoftwareFrameworks
Código
fg104544
Banca
FGV
Órgão
AL-AM
Ano
2025
Nível
Superior
Cargo
Analista Legislativo - Analista de Sistema
Em uma aplicação web para o backoffice da Casa, o modelo MVC (Model-View-Controller) é adotado para separar as preocupações do código, promovendo a manutenibilidade e a testabilidade.A principal responsabilidade do Model em uma aplicação MVC clássica, no contexto de uma requisição web é
  1. Agerenciar a interação do usuário e receber as entradas para decidir qual ação será executada.
  2. Bdeterminar o formato de apresentação dos dados e exibi-los ao usuário.
  3. Ctratar exclusivamente a lógica de segurança e criptografia da sessão do usuário.
  4. Drepresentar a lógica de negócio, persistência de dados e as regras de domínio, sendo totalmente independente da View e do Controller.
  5. Eatuar como um gateway de API, roteando as requisições HTTP para os serviços de backend.
Revelar gabarito e comentário

GabaritoD — representar a lógica de negócio, persistência de dados e as regras de domínio, sendo totalmente independente da View e do Controller.

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

MVC (Model-View-Controller) — Responsabilidade do Model

Gabarito: letra D. No padrão MVC clássico, o Model é o componente responsável por representar a lógica de negócio, a persistência de dados e as regras de domínio da aplicação, sendo totalmente independente da View e do Controller. Essa independência é o que permite que o mesmo Model seja reutilizado com diferentes interfaces (web, desktop, mobile, API).

A banca cobra o conceito fundamental de separação de responsabilidades no MVC. O contexto de apoio confirma:

No MVC, o Model (Modelo) representa os dados da aplicação, suas regras e comportamentos. É responsável por: acessar e manipular dados (banco de dados, arquivos, APIs); aplicar regras de negócio; manter o estado da aplicação. O Model é independente da View, ou seja, não sabe como seus dados serão exibidos, nem interage diretamente com a interface.

Essa independência total é o que torna a alternativa D a correta.

1Responsabilidades
Lógica de negócio
Regras de domínio
Persistência de dados
Estado da aplicação
2Características
Independente da View
Independente do Controller
Reutilizável (web, desktop, mobile)
3Não faz
Interação com usuário (Controller)
Formatação/apresentação (View)
Segurança de sessão (infraestrutura)
MVC — Model
LEVELsoulevel.com.br
MVC — Model: Responsabilidades (Lógica de negócio, Regras de domínio, Persistência de dados, Estado da aplicação); Características (Independente da View, Independente do Controller, Reutilizável (web, desktop, mobile)); Não faz (Interação com usuário (Controller), Formatação/apresentação (View), Segurança de sessão (infraestrutura))

Alternativa A — ❌ Incorreta

gerenciar a interação do usuário e receber as entradas para decidir qual ação será executada.

Essa é a função do Controller, não do Model. O Controller interpreta as ações do usuário (cliques, comandos), manipula o Model e decide qual View será exibida. O Model não lida com entrada do usuário.

Alternativa B — ❌ Incorreta

determinar o formato de apresentação dos dados e exibi-los ao usuário.

Essa é a responsabilidade da View. A View renderiza a interface e apresenta os dados ao usuário. O Model não se preocupa com formato de apresentação.

Alternativa C — ❌ Incorreta

tratar exclusivamente a lógica de segurança e criptografia da sessão do usuário.

Embora segurança e criptografia possam fazer parte da lógica de negócio em alguns cenários, o Model não trata "exclusivamente" disso. A responsabilidade do Model é mais ampla: inclui dados, regras de negócio e persistência. Além disso, segurança de sessão é frequentemente tratada por filtros/interceptadores no Controller ou em camadas de infraestrutura, não pelo Model.

Alternativa D — ✅ Correta ⟵ GABARITO

representar a lógica de negócio, persistência de dados e as regras de domínio, sendo totalmente independente da View e do Controller.

Exata definição do Model no MVC clássico. O contexto de apoio reforça: "O Model contém os dados e a lógica de negócio da aplicação. Ele é independente da View, ou seja, não sabe como seus dados serão exibidos". Essa independência é um dos pilares da separação de preocupações promovida pelo MVC.

Alternativa E — ❌ Incorreta

atuar como um gateway de API, roteando as requisições HTTP para os serviços de backend.

Essa função é típica de um roteador ou gateway de API, não do Model. O Model não lida com roteamento de requisições HTTP; isso compete ao Controller ou a componentes de infraestrutura.


PEGA ESSA DICA!

Para fixar as responsabilidades do MVC, lembre-se: Model = dados e regras de negócio (independente); View = apresentação (interface com o usuário); Controller = intermediário que recebe entradas, manipula o Model e escolhe a View. Essa tríade é a espinha dorsal do padrão e cai frequentemente em provas de engenharia de software.

Gabarito: letra D.

Link permanente: /questoes/fg104544