FC ConcursosFC Concursos

Questão FC296575

Uma empresa especializada em desenvolvimento de software para gestão bancária enfrenta problemas frequentes com erros inesperados em seu sistema de processamento de empréstimos. Mu

Questões sem classificação de assunto (TI - Segurança da Informação)

CESGRANRIO · 2025

Uma empresa especializada em desenvolvimento de software para gestão bancária enfrenta problemas frequentes com erros inesperados em seu sistema de processamento de empréstimos. Muitos desses erros ocorrem devido a entradas inválidas, falta de validação adequada e contratos mal definidos entre os módulos do sistema. Para garantir que os componentes do software se comuniquem corretamente e respeitem regras bem definidas, o arquiteto de software propõe a adoção da Programação por Contrato (Design by Contract – DbC). Nesse contexto, o uso da Programação por Contrato (Design by Contract – DbC) é adequado pois ela

  1. adiciona verificações redundantes de erro em pontos aleatórios do código para evitar falhas inesperadas.
  2. emprega assertivas para validar entradas externas em qualquer parte do código, independentemente de sua origem, e em qualquer estágio de execução.
  3. implementa contratos explícitos, entre métodos e seus consumidores, definindo pré-condições, pós- -condições e invariantes para garantir o correto funcionamento do sistema.
  4. incorpora mecanismos de confiabilidade ao final do processo de implementação e documentação, objetivando a corretude dos programas.
  5. utiliza exceções para capturar e corrigir automaticamente qualquer erro de entrada nos métodos.
Mostrar resposta e comentário

Gabarito

Certo

Comentário do professor

A alternativa está correta porque o Design by Contract formaliza expectativas entre quem chama um método e quem o implementa, por meio de contratos explícitos.

Esses contratos especificam pré-condições — o que o consumidor deve garantir antes da chamada — e pós-condições — o que o método garante após a execução — além de invariantes que mantêm a consistência do objeto ao longo do tempo.

Na prática, isso torna regras de validação claras e verificáveis: se uma pré-condição falha, o erro aponta responsabilidade do cliente; se uma pós-condição não se cumpre, aponta falha na implementação.

Essa disciplina melhora modularidade, facilita testes e depuração e reduz erros por entradas inválidas ou contratos implícitos entre módulos, assegurando o funcionamento correto do sistema.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo