Pular para o conteúdo principal

Questão de Engenharia de Software — Gestão de Projetos em Engenharia de Software — FCC 2025

Engenharia de SoftwareGestão de Projetos em Engenharia de Software
Código
fc074926
Banca
FCC
Órgão
TRT - 15ª Região (SP)
Ano
2025
Nível
Médio
Cargo
Técnico Judiciário - Área Apoio Especializado - Especialidade Tecnologia da Informação
Um Tribunal Regional do Trabalho está desenvolvendo um sistema de gestão de processos judiciais para otimizar o fluxo de trabalho dos juízes, advogados e servidores. Um dos requisitos críticos é a implementação de um sistema de notificação para diferentes eventos processuais (por exemplo, novos documentos apresentados, audiências agendadas, decisões publicadas). O sistema deve ser flexível, permitindo adicionar novos tipos de notificações sem alterar significativamente o código existente. O padrão de projeto mais adequado para alcançar essa flexibilidade é o
  1. ASingleton.
  2. BObserver.
  3. CStrategy.
  4. DFactory Method.
  5. EDecorator.
Revelar gabarito e comentário

GabaritoB — Observer.

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

Padrões de Projeto – Observer

Gabarito: letra B (Observer). O padrão Observer define uma dependência um-para-muitos entre objetos, de modo que quando um objeto (sujeito) muda de estado, todos os seus dependentes (observadores) são notificados e atualizados automaticamente. Esse é o padrão ideal para implementar um sistema de notificações de eventos processuais, pois permite adicionar novos tipos de notificação (novos observadores) sem modificar o código do sujeito ou dos notificadores existentes, atendendo ao requisito de flexibilidade.

A questão cobra o conhecimento dos padrões de projeto GoF (Gang of Four) e sua aplicação a um problema de notificação. Vejamos cada alternativa:

Padrão de Projeto

Categoria

Propósito Principal

Adequação ao Sistema de Notificação

Singleton

Criacional

Garantir uma única instância e acesso global

❌ Não resolve notificação de múltiplos eventos

Observer

Comportamental

Definir dependência um-para-muitos para notificação automática

✅ Ideal: sujeito notifica observadores sobre eventos

Strategy

Comportamental

Encapsular algoritmos intercambiáveis

❌ Não modela propagação de eventos

Factory Method

Criacional

Delegar criação de objetos a subclasses

❌ Foco em criação, não em notificação

Decorator

Estrutural

Adicionar responsabilidades dinamicamente

❌ Não é o padrão natural para notificações

Alternativa A — ❌ Incorreta

Singleton garante que uma classe tenha apenas uma instância e fornece um ponto global de acesso a ela. Não resolve o problema de notificação de múltiplos eventos para múltiplos destinatários; seu foco é controle de instância.

Alternativa B — ✅ Correta ⟵ GABARITO

Observer é o padrão comportamental que estabelece um mecanismo de assinatura para notificar múltiplos objetos sobre eventos ocorridos em outro objeto. Exatamente o que o enunciado descreve: eventos processuais (sujeito) e interessados (observadores) que recebem notificações. A adição de novos tipos de notificação corresponde a criar novos observadores, sem alterar a estrutura existente.

Alternativa C — ❌ Incorreta

Strategy permite definir uma família de algoritmos, encapsulá-los e torná-los intercambiáveis. É usado para variar o comportamento de um objeto em tempo de execução, mas não modela a propagação de eventos para múltiplos destinatários.

Alternativa D — ❌ Incorreta

Factory Method define uma interface para criar um objeto, mas deixa as subclasses decidirem qual classe instanciar. É um padrão criacional, não adequado para notificação de eventos.

Alternativa E — ❌ Incorreta

Decorator atribui responsabilidades adicionais a um objeto dinamicamente, fornecendo uma alternativa flexível à herança para extensão de funcionalidade. Embora possa ser usado para adicionar comportamentos, não é o padrão mais natural para um sistema de notificação baseado em eventos; o Observer é a escolha direta.

Conclusão: O padrão Observer é o mais adequado para implementar um sistema de notificações flexível e com baixo acoplamento, conforme exigido pelo enunciado. Gabarito: letra B.

Link permanente: /questoes/fc074926