É verdade que o projeto de sistemas de software depende de ...

Próximas questões
Com base no mesmo assunto
Q2098052 Engenharia de Software
É verdade que o projeto de sistemas de software depende de experiência e, em alguma medida, também de talento e criatividade. No entanto, existem algumas propriedades e princípios importantes no projeto de sistemas. Por isso, estudar e conhecer essas propriedades e princípios de projeto pode ajudar na concepção de sistemas com maior qualidade.
Qual o nome do princípio de projeto que recomenda que classes devem esconder detalhes de implementação que estão sujeitos a mudanças?
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Correta: D - Ocultamento da informação.

O tema central dessa questão é o princípio de projeto de software conhecido como Ocultamento da Informação. Este princípio é essencial no desenvolvimento de sistemas de software, pois promove um design mais robusto e flexível, facilitando a manutenção e evolução da aplicação.

O Ocultamento da Informação sugere que uma classe deve esconder os detalhes de sua implementação que podem mudar, expondo apenas o que é necessário para a interação com outras partes do sistema. Isso ajuda a minimizar o impacto de mudanças, pois partes do sistema que dependem da classe não precisam ser alteradas se a implementação interna mudar. Esse conceito é fortemente ligado à encapsulação, um dos pilares da programação orientada a objetos.

Essa prática é apoiada por diversas diretrizes e manuais de boas práticas em desenvolvimento de software, como as recomendações do Software Engineering Body of Knowledge (SWEBOK).

Agora, vamos analisar as alternativas incorretas:

  • A - Integridade conceitual: Este princípio se refere à consistência no design e arquitetura do sistema, priorizando uma visão coesa. Embora seja importante, não está diretamente relacionado a esconder detalhes de implementação.
  • B - Responsabilidade única: Relacionado ao princípio de que uma classe deve ter apenas uma razão para mudar, ou seja, uma única responsabilidade. É uma prática de design importante, mas não aborda especificamente o ocultamento de informações.
  • C - Acoplamento: Trata-se do grau de interdependência entre os módulos de um sistema. O objetivo é ter um acoplamento baixo, mas isso é uma consequência positiva do ocultamento da informação, não o princípio em si.
  • E - Separação de interesses: Este conceito foca na divisão do sistema em seções distintas que tratam de diferentes aspectos do problema, ajudando a gerenciar a complexidade. É uma prática valiosa, mas não diretamente vinculada ao ocultamento de detalhes de implementação.

Para resolver questões como essa, preste atenção em termos específicos que aparecem no enunciado, como "esconder detalhes de implementação". Essas palavras são pistas diretas sobre o conceito envolvido. A prática de revisitar os fundamentos da programação orientada a objetos também é extremamente útil.

Gostou do comentário? Deixe sua avaliação aqui embaixo!

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo