No desenvolvimento de um software seguro, ou seja, projeta...

Próximas questões
Com base no mesmo assunto
Q500527 Engenharia de Software
No desenvolvimento de um software seguro, ou seja, projetado e instalado em um sistema de segurança crítica (que pode causar danos e/ou ferimentos em caso de falhas),
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: A - erros no projeto podem ser provenientes de erros na especificação do sistema.

Ao falarmos sobre desenvolvimento de software seguro, tratamos da importância de criar sistemas que sejam robustos contra falhas, especialmente em ambientes onde a segurança é crítica e há um potencial real de danos ou ferimentos caso algo dê errado. A especificação do sistema é um documento ou conjunto de documentos que estabelece precisamente o que o software deve fazer. Quando estas especificações são incorretas, incompletas ou ambíguas, podem levar a erros no projeto do software, pois os desenvolvedores baseiam-se nessas informações para construir o sistema.

Essa assertiva é verdadeira porque o processo de desenvolvimento de software começa com a fase de especificação de requisitos. Se os requisitos não são capturados de maneira adequada, toda a base para o desenho do sistema é afetada, aumentando o risco de falhas futuras que podem não ser somente de funcionalidade, mas também de segurança.

As demais alternativas apresentam concepções equivocadas:

  • Falhas de hardware não são completamente absorvidas por um software seguro, pois embora o software possa implementar mecanismos de tolerância a falhas, algumas falhas de hardware podem ser imprevisíveis ou severas demais para serem gerenciadas apenas no nível do software.
  • Não existe um limite máximo predefinido para o tamanho do código fonte em sistemas de segurança crítica, embora a complexidade do código possa ser um fator de risco.
  • Softwares, mesmo em ambientes de segurança crítica, utilizam instruções de acesso à memória do computador, pois isso é fundamental para a execução de qualquer programa.
  • Programas não são comumente escritos diretamente em código de máquina em um ambiente moderno de desenvolvimento, pois isso seria extremamente trabalhoso e propenso a erros. Compiladores são usados precisamente para traduzir código de alto nível em código de máquina de forma eficiente e segura.

Portanto, a compreensão correta da especificação é essencial para a concepção de um software seguro, e qualquer erro nesta fase inicial pode se propagar ao longo do ciclo de desenvolvimento, levando a potenciais vulnerabilidades ou falhas de segurança no produto final.

Clique para visualizar este gabarito

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

Comentários

Veja os comentários dos nossos alunos

✅Gabarito(A)  

Para dar embasamento da questão segue uma outra redação de prova que indica as atividades do ciclo de vida de desenvolvimento.

“A equipe de desenvolvimento de software da Companhia de Saneamento de um estado da federação decidiu realizar a implantação de um processo de trabalho que permita o desenvolvimento de suas aplicações de forma organizada e estruturada, com as atividades e resultados definidos. Desta forma, foi formada uma equipe que teve como objetivo realizar a modelagem e a definição dos processos internos necessários para o desenvolvimento de seus softwares

São atividades imprescindíveis neste processo interno:

Especificação, Projeto e Implementação, Validação de Software e evolução.

Nota: neste caso os erros no projeto podem ter vindos da atividade de especificação.

Fonte: Q827391

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo