Confiabilidade de software
Incerteza é um estado com o qual as pessoas se deparam no cotidiano. Se considerarmos um projeto de software, encontramos incerteza quando se verifica o prazo e/ou custo para concluir o projeto. Também há incerteza quanto ao número de faltas ou defeitos remanescentes no software. Por exemplo, um produto resultante do projeto de um sistema de software pode ter uma confiabilidade de 0.999, que pode ser considerado como um nível satisfatório de confiabilidade (isto é, que um sistema estaria operacional e funcionando corretamente durante 99,9% do tempo). Entretanto, ainda assim, não há a certeza de que o produto não apresentará falhas. E, caso o software não tenha sido exaustivamente testado, o que se pode obter é um indicador da confiabilidade do software, geralmente, definido em termos de uma medida estatística da operação de um software sem a ocorrência de falhas. A confiabilidade de software é um dos atributos da qualidade de software. Além dela, outros atributos da qualidade são desempenho, portabilidade, reusabilidade, dentre outros. Desconsiderar a confiabilidade de software durante o desenvolvimento de um sistema de software implica na possível ocorrência de falhas durante a fase operacional do sistema. Este artigo trata da importância da confiabilidade de software para os sistemas. O ciclo de vida de um sistema de software consiste de duas grandes fases: desenvolvimento e operação. A fase de desenvolvimento compreende engenharia de sistemas, especificação de requisitos, projeto, codificação e testes. A fase operacional refere-se à fase na qual o sistema de software está em uso, oferecendo funcionalidades aos usuários. Tradicionalmente, a maioria dos esforços da engenharia de software em produzir software confiável tem sido concentrada na fase de desenvolvimento. A razão para isto recai no fato da natureza inerente do software de não sofrer qualquer desgaste, isto é, por ser