Pular para o conteúdo principal

Questão de Engenharia de Software — Conceitos e outros Modelos de Desenvolvimento — CESPE / CEBRASPE 2025

Engenharia de SoftwareConceitos e outros Modelos de Desenvolvimento
Código
ce417743
Banca
CESPE / CEBRASPE
Órgão
PC DF
Ano
2025
Cargo
GAAPC ( )

No que diz respeito a design de software, julgue o item a seguir.

 

Separação por afinidades é uma técnica utilizada para separar aplicações em unidades menores, facilitando-se a resolução de problemas de design.

  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoC — Certo

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

Separação por afinidades no design de software

Gabarito: Certo (C). A separação por afinidades é, de fato, uma técnica de design que divide uma aplicação em unidades menores e mais coesas, facilitando a resolução de problemas de design ao reduzir a complexidade e promover a organização por responsabilidades relacionadas. Essa técnica está alinhada aos princípios de modularidade e separação de interesses da engenharia de software.

A engenharia de software, como disciplina, busca gerenciar a complexidade inerente ao desenvolvimento de sistemas. Um dos princípios fundamentais para lidar com essa complexidade é a separação de interesses (ou separation of concerns), que consiste em dividir um problema complexo em partes menores e mais gerenciáveis, concentrando-se em cada uma delas separadamente. A separação por afinidades é uma aplicação prática desse princípio no contexto do design de software.

A técnica consiste em agrupar elementos (como classes, módulos, componentes ou funcionalidades) que possuem alta afinidade entre si, ou seja, que compartilham responsabilidades, dados ou comportamentos relacionados. Ao separar a aplicação em unidades menores com base nessa afinidade, obtém-se módulos com alta coesão e baixo acoplamento, que são características desejáveis em um bom design.

A alta coesão significa que os elementos dentro de um módulo estão fortemente relacionados e focados em uma única responsabilidade. O baixo acoplamento significa que os módulos têm pouca dependência entre si, o que facilita a manutenção, a evolução e o teste do software. Ao separar por afinidades, o designer consegue isolar problemas específicos em unidades menores, tornando mais fácil identificar, analisar e resolver cada problema de design individualmente.

Essa abordagem é amplamente utilizada em diversas metodologias e estilos de arquitetura, como a arquitetura de microsserviços, onde a aplicação é dividida em serviços independentes com base em suas funcionalidades de negócio, e no design orientado a objetos, onde classes são agrupadas em pacotes ou módulos com base em suas responsabilidades relacionadas.

A separação por afinidades não apenas facilita a resolução de problemas de design, mas também melhora a legibilidade do código, promove o reuso de componentes e permite que diferentes equipes trabalhem em paralelo em diferentes módulos, aumentando a produtividade e a qualidade do software.

Portanto, a afirmativa está correta ao descrever a separação por afinidades como uma técnica para separar aplicações em unidades menores, facilitando a resolução de problemas de design.

CERTO.

1Objetivo
Dividir em unidades menores
Facilitar resolução de problemas
2Base
Agrupar por responsabilidades relacionadas
Alta coesão
Baixo acoplamento
3Aplicações
Microsserviços
Design orientado a objetos
4Benefícios
Legibilidade
Reuso
Trabalho em paralelo
Separação por afinidades
LEVELsoulevel.com.br
Separação por afinidades: Objetivo (Dividir em unidades menores, Facilitar resolução de problemas); Base (Agrupar por responsabilidades relacionadas, Alta coesão, Baixo acoplamento); Aplicações (Microsserviços, Design orientado a objetos); Benefícios (Legibilidade, Reuso, Trabalho em paralelo)

Gabarito: Certo (C).

Link permanente: /questoes/ce417743