Buscar

Exercício de Engenharia de Software 132

Prévia do material em texto

50 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
15.1 Explique quando pode ser rentável usar especificações formais e 
verificação no desenvolvimento de sistemas de software críticos para a segurança. Por 
que você acha que os engenheiros de sistemas críticos são contra o uso de métodos 
formais? 
 
 
Os métodos formais podem ser rentáveis no desenvolvimento de sistemas de software críticos 
para a segurança porque os custos de falha do sistema são muito elevados e, portanto, justifica- 
se o custo adicional no processo de desenvolvimento. A maioria dos sistemas críticos para a 
segurança têm de obter aprovação regulamentar antes de serem utilizados e é um processo muito 
dispendioso convencer um regulador de que um sistema é seguro. A utilização de uma 
especificação formal e do argumento de correcção associado pode ser inferior aos custos, por 
exemplo, de testes adicionais para convencer o regulador da segurança do sistema. 
Alguns desenvolvedores de sistemas são contra o uso de métodos formais porque não 
estão familiarizados com a tecnologia e não estão convencidos de que uma especificação formal 
possa ser uma representação completa do sistema. Além disso, o problema com as especificações 
formais é que elas não podem ser compreendidas pelos clientes do sistema, podendo ocultar 
erros e dar uma imagem falsa da correção do sistema. 
 
 
 
 
 
15.3 Explique por que é praticamente impossível validar especificações de confiabilidade quando 
estas são expressas em termos de um número muito pequeno de falhas durante a vida útil 
total de um sistema. 
 
Para medir a confiabilidade, você precisa ter dados de falhas estatisticamente válidos para o 
sistema, portanto, é necessário induzir mais falhas do que as especificadas em um determinado 
período de tempo. No entanto, como o número de falhas é tão baixo, isso levará um tempo 
absurdamente grande.

Mais conteúdos dessa disciplina