De que se trata o artigo: Apresenta definição conceitual da confiabilidade de software, destacando-a como principal atributo da qualidade. Discute a necessidade de considerá-la durante fases de desenvolvimento e operacional de um sistema de software.

Para que serve: Informar a necessidade de se considerar a confiabilidade de software no desenvolvimento de produtos de software devido ao fato dela ser uma característica perceptível pelos usuários.

Em que situação o tema é útil: Trata-se de uma prática de engenharia de software considerar a confiabilidade de software durante e após o desenvolvimento de um sistema de software. Permite ao engenheiro de software uma avaliação preliminar do produto.

Confiabilidade de Software

Determinante da Qualidade de Sistemas de Software

Software é um produto que permeia nosso cotidiano e tem sido companheiro meu, seu e de quase todas as pessoas em uma gama enorme de aplicações. No dia-a-dia, podemos encontrar software embutido em forno microondas, nos jogos de computador ou celular bem como no controle de aeronaves e sistemas de telecomunicações, só para citar alguns exemplos.

Há, contudo, um atributo de qualidade associado ao software de suma importância para qualquer produto: confiabilidade. Isto vem da real necessidade de utilizar um produto ou sistema de software sem receio de qualquer falha operacional. Este artigo trata dos fundamentos e importância da confiabilidade de software.

Necessidade de Sistemas Confiáveis

Há aproximadamente cinco décadas atrás, o software constituía uma insignificante parte dos sistemas existentes e havia pouca preocupação com sua qualidade. Esse cenário começou a mudar com inserção do software como um elemento cada vez maior nos sistemas computacionais (ou seja, aqueles sistemas que têm software como componente). Antigamente, a maioria das funcionalidades implementadas nos sistemas era composta de componentes de hardware que exercia o controle sobre a operação dos sistemas.

Um exemplo de poucas décadas atrás era o sistema telefônico. Antigamente, as centrais telefônicas tinham seu controle e operação feitos à base de relés (isto é, um dispositivo de comutação) que possibilitava a comutação entre linhas telefônicas. Os sistemas mais antigos tinham a telefonista (ser humano) como uma profissional encarregada de realizar a comutação entre dois assinantes. Hoje em dia, essa funcionalidade é feita por um subsistema de software que identifica o assinante que origina a ligação telefônica, processa o número discado por ele e, por fim, realiza a comutação com o assinante chamado.

Agora, se considerarmos a história da indústria do software (ver seção Links), encontra-se o uso do software numa ampla variedade de aplicações tais como sistemas de manufatura, software científico, software embarcado, robótica e aplicações Web, dentre tantas. Como resultado disso, as funcionalidades e controle operacional dos sistemas computacionais se tornaram mais dependentes do software.

E, concomitante a este fato, houve crescimento no uso de computadores, principalmente, os de uso pessoal como o PC, além da descentralização dos grandes sistemas. Esses fatores, juntamente com a redução gradativa dos custos dos computadores, contribuíram para aumentar o uso do software numa ampla variedade de aplicações. O resultado de tudo isso foi o crescimento do software em termos de tamanho e complexidade.

Os projetos de sistemas computacionais mais antigos eram compostos de pequena parcela de software. Já os componentes de hardware, que eram a maior parte dos sistemas, eram analisados e testados quase exaustivamente, o que permitia a produção rápida de grandes quantidades de componentes e implicava em raros erros de projetos e falhas nos sistemas. Note que a facilidade de modificar o software, comparativamente ao hardware, foi e tem servido como motivador para seu uso.

...
Quer ler esse conteúdo completo? Tenha acesso completo