A recente pane da rede banda larga da Telefônica e a conseqüente indisponibilidade de diversos serviços públicos essenciais no nosso dia-a-dia, me faz considerar se os sistemas de computador desenvolvidos atualmente estão fazendo uso de conceitos de qualidade definidos a mais de duas décadas. Em muitos casos acredito que não…
Começou por volta da meia noite do dia 02 de Julho de 2008 e continuou por boa parte do dia 03. Algum problema de comunicação de dados da Telefônica deixou boa parte das empresas, residências e serviços públicos do Estado de São Paulo sem conexão à Internet.
Delegacias Policiais não puderam registrar boletins de ocorrência, agências bancárias não puderam atender seus clientes, caminhões transportando mercadorias não puderam circular por falta da guia eletrônica autorizando o transporte.
Mas que tipo de lição pode-se tirar do ocorrido? Talvez a mais óbvia seja pensar que dependemos demais da Internet hoje em dia… Na verdade um problema ainda mais sério está relacionado com a maneira pela qual desenvolvemos sistemas baseados em computador.
Com o avanço da tecnologia um grande conjunto de ferramentas de desenvolvimento tem ficado disponível aos desenvolvedores de software. No entanto não podemos apenas nos sustentar na evolução tecnológica para desenvolver sistemas. Temos que fundamentar esse desenvolvimento em princípios básicos de qualidade.
Um desses princípios é o da disponibilidade, relacionado à confiabilidade da ISO 9126 dentro da sub-característica tolerância a falhas. Segundo esse princípio devemos desenvolver sistemas de computador que possam atender as necessidades dos usuários a maior parte do tempo possível, ou seja, ele estará lá disponível quando eu precisar dele. Ainda dentro do princípio da disponibilidade o sistema deve continuar operando, mesmo que degradado, diante da ocorrência de falhas.
Será que estamos desenvolvendo os sistemas atuais considerando adequadamente o princípio da disponibilidade? Não vejo razão para fazer um indivíduo que teve o carro roubado esperar até a delegacia re-estabelecer a conexão com a Internet para poder fazer o boletim dessa ocorrência. Daqui a pouco teremos que adiar um parto porque o berçário está sem link para a World Wide Web!
Há mais de 20 anos, quando ainda desenvolvíamos software segundo o paradigma da programação estruturada, tínhamos uma maneira muito simples de avaliar a qualidade do projeto estrutural do software a ser construído. Esse projeto deveria ter alta coesão e baixo acoplamento, ou seja, cada componente do projeto estrutural deveria ser responsável por um aspecto único do software (alta coesão) e os vários módulos que compunham o sistema deveriam depender o mínimo possível uns dos outros (baixo acoplamento), essas métricas continuam aplicáveis até hoje. Precisamos, no entanto, continuar aplicando-as.
Para concluir, não podemos aceitar como algo normal a falta de um serviço essencial só porque ocorreu alguma pane na conexão da Internet. Precisamos exigir sistemas melhores, mais robustos e disponíveis.
Prof. Dr. Plínio Vilela
Professor Universitário e Empresário
http://vilela.ydoo.com.br




