Questão de Engenharia de Software — Frameworks — FGV 2025
Engenharia de Software›Frameworks
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 é
Agerenciar a interação do usuário e receber as entradas para decidir qual ação será executada.
Bdeterminar o formato de apresentação dos dados e exibi-los ao usuário.
Ctratar exclusivamente a lógica de segurança e criptografia da sessão do usuário.
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.
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.
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.