Pular para o conteúdo principal

Questão de Arquitetura de Software — Arquitetura em camadas — FCC 2016

Arquitetura de SoftwareArquitetura em camadas
Código
fc033412
Banca
FCC
Órgão
TRT - 14ª Região (RO e AC)
Ano
2016
Nível
Médio
Cargo
Técnico Judiciário - Tecnologia da Informação
Um Técnico está participando do desenvolvimento de um sistema para o Tribunal, especificamente na criação de uma classe que classifica os processos utilizando os dados de entrada, sem consultas a bases de dados. Essa classificação é feita utilizando estruturas de seleção, seguindo um conjunto de regras com parâmetros de classificação específicos do Tribunal. Considerando que o sistema utiliza o modelo de arquitetura 3-tier, essa classe
  1. Afaz parte da Data Access Layer.
  2. Binterliga as camadas View e Controller.
  3. Cfaz parte da User Interface Layer.
  4. Ddeve ser representada na Model Layer.
  5. Efaz parte da Business Logic Layer.
Revelar gabarito e comentário

GabaritoE — faz parte da Business Logic Layer.

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

Arquitetura 3-Tier: Camadas e Responsabilidades

Gabarito: letra E. A classe descrita implementa regras de classificação de processos com base em dados de entrada, sem acesso a banco de dados. Em uma arquitetura 3-tier (três camadas), essa classe pertence à {{Business Logic Layer}} (camada de lógica de negócios), responsável pelas regras de negócio e processamento da aplicação. As demais camadas são: Apresentação (UI) e Acesso a Dados (Data Access).

A arquitetura 3-tier organiza o sistema em três camadas lógicas e físicas:

  • Camada de Apresentação (User Interface Layer): lida com a interface com o usuário e interação.

  • Camada de Lógica de Negócios (Business Logic Layer): contém as regras de negócio, validações e processamento.

  • Camada de Acesso a Dados (Data Access Layer): responsável pela persistência e consulta a bancos de dados.

A classe em questão realiza classificação de processos utilizando estruturas de seleção e regras específicas, sem consultar bases de dados – típica função da camada intermediária.

Camada (3-Tier)

Responsabilidade Principal

A classe de classificação pertence?

Motivo

User Interface Layer (Apresentação)

Interface com o usuário, exibição e interação visual

❌ Não

A classe lida com regras de classificação, não com apresentação

Business Logic Layer (Lógica de Negócios)

Regras de negócio, validações e processamento sem acesso a dados

✅ Sim

A classe implementa regras de classificação sem consultar banco de dados

Data Access Layer (Acesso a Dados)

Persistência e consulta a bancos de dados

❌ Não

A classe explicitamente não realiza consultas a bases de dados

1Apresentação (UI)
Interface com o usuário
Interação visual
2Lógica de Negócios (BLL)
Regras de negócio
Validações
Processamento
Classe de classificação
3Acesso a Dados (DAL)
Persistência
Consultas a bancos
Arquitetura 3-tier
LEVELsoulevel.com.br
Arquitetura 3-tier: Apresentação (UI) (Interface com o usuário, Interação visual); Lógica de Negócios (BLL) (Regras de negócio, Validações, Processamento, Classe de classificação); Acesso a Dados (DAL) (Persistência, Consultas a bancos)

Alternativa A — ❌ Incorreta

A Data Access Layer (camada de acesso a dados) é responsável por interagir com bancos de dados e sistemas de persistência. A classe explicitamente não realiza consultas a bases de dados, portanto não pertence a essa camada.

Alternativa B — ❌ Incorreta

A classe não tem função de interligar View e Controller; essa é a função do Controller no padrão MVC, que não é o modelo da questão. A questão fala em 3-tier, não MVC. Além disso, a classe realiza classificação de processos, não mediação entre interface e controle.

Alternativa C — ❌ Incorreta

A User Interface Layer (camada de interface com o usuário) é responsável pela apresentação e interação visual. A classe lida com regras de classificação, não com exibição ou entrada de dados.

Alternativa D — ❌ Incorreta

Model Layer é um termo do padrão MVC, onde o Model representa os dados e a lógica de negócio. No entanto, a questão especifica explicitamente "modelo de arquitetura 3-tier", não MVC. Em 3-tier, a camada equivalente é a Business Logic Layer. A banca FCC distingue os termos: em 3-tier, a camada do meio é chamada de Business Logic, não Model. Portanto, a alternativa D está incorreta.

Alternativa E — ✅ Correta ⟵ GABARITO

A classe implementa a lógica de classificação dos processos, utilizando regras e parâmetros específicos do Tribunal. Essa é exatamente a responsabilidade da Business Logic Layer em uma arquitetura 3-tier: processar regras de negócio, realizar cálculos e tomar decisões sem depender diretamente da persistência ou da interface.

NÃO CAIA NESSA!

A banca tenta confundir o candidato ao usar o termo "Model Layer" (alternativa D), que é familiar do padrão MVC. Em uma arquitetura 3-tier, a camada do meio é chamada de Business Logic Layer, e não Model Layer. O examinador explora essa troca de nomenclatura entre os dois estilos arquiteturais. Fique atento: se a questão falar em MVC, Model é a camada de dados e regras; se falar em 3-tier, a camada de regras é a Business Logic.

Gabarito: letra E.

Link permanente: /questoes/fc033412