Crise de software - Software crisis
Crise de software é um termo usado nos primórdios da ciência da computação para a dificuldade de escrever programas de computador úteis e eficientes no tempo necessário. A crise do software deveu-se ao rápido aumento da capacidade do computador e à complexidade dos problemas que agora podiam ser resolvidos. Com o aumento da complexidade do software, muitos problemas de software surgiram porque os métodos existentes eram inadequados.
O termo "crise de software" foi cunhado por alguns participantes na primeira Conferência de Engenharia de Software da OTAN em 1968 em Garmisch , Alemanha. A palestra do Prêmio Turing de Edsger Dijkstra de 1972 faz referência a este mesmo problema:
A principal causa da crise do software é que as máquinas se tornaram várias ordens de magnitude mais poderosas! Para ser franco: enquanto não houvesse máquinas, a programação não seria problema algum; quando tínhamos alguns computadores fracos, a programação tornou-se um problema brando e, agora que temos computadores gigantes, a programação tornou-se um problema igualmente gigantesco.
As causas da crise do software estavam relacionadas à complexidade geral do hardware e do processo de desenvolvimento de software. A crise se manifestou de várias maneiras:
- Projetos acima do orçamento
- Projetos em execução ao longo do tempo
- O software era muito ineficiente
- O software era de baixa qualidade
- O software muitas vezes não atendia aos requisitos
- Os projetos eram incontroláveis e o código difícil de manter
- O software nunca foi entregue
A principal causa é que as melhorias no poder de computação ultrapassaram a capacidade dos programadores de usar esses recursos com eficácia. Vários processos e metodologias foram desenvolvidos nas últimas décadas para melhorar o gerenciamento da qualidade de software , como programação procedural e programação orientada a objetos . No entanto, projetos de software grandes, complicados, mal especificados ou que envolvem aspectos desconhecidos ainda são vulneráveis a problemas grandes e imprevistos.
Veja também
- AI inverno
- Lista de projetos de software personalizados com falha e orçamento excessivo
- Fred Brooks
- Acidente de sistema
- Singularidade tecnológica
Referências
links externos
- Edsger Dijkstra: The Humble Programmer (arquivo PDF, 473kB)
- Brian Randell : As Conferências de Engenharia de Software da OTAN
- Markus Bautsch: Cycles of Software Crises in: ENISA Quarterly on Secure Software (arquivo PDF; 1,86 MB)
- Hoare 1996, "Como o software ficou tão confiável sem provas?"