O que foi a Crise do Software e o início da Engenharia de Software
A Crise do software foi um termo que surgiu nos anos 70, O termo expressava as dificuldades do desenvolvimento de software frente ao rápido crescimento da demanda por software, da complexidade dos problemas a serem resolvidos e da inexistência de técnicas estabelecidas para o desenvolvimento de sistemas que funcionassem adequadamente ou pudessem ser validados.
No Início dos anos 70, quando vivia-se a terceira era do software, houveram muitos problemas de prazo e custo no desenvolvimento de software, devido a baixa produtividade, baixa qualidade e difícil manutenção do software.
Grande parte dos projetos continuam com estes problemas ainda na atualidade, assim pode-se dizer que a crise continua vigente.
Os problemas mais comuns no desenvolvimento de software.
- Estimativas de prazo e de custo imprecisas .
- Produtividade das pessoas da área de software não acompanha a demanda.
- Prazos ultrapassados.
- Custos acima do previsto.
- A facilidade de manutenção não era enfatizada como um critério importante, gerando assim custos de manutenção elevados.
- não atendimento dos requisitos do usuário.
- 1/3 dos projetos eram cancelados.
- 2/3 dos projetos extrapolavam o orçamento.
Custo hardware x software
- 1970 = 8:2
- 1991 = 2:8
- Hoje = 1:9
Exemplo de Falha no Desenvolvimento do Software
- Ariane 5 – Projeto Espacial da agência Européia
- Custo US$8 Bilhões.
- 10 anos de desenvolvimento.
- Explosão 40 segundos após a decolagem.
- Destruição do foguete e carga avaliada em mais de US$480 Milhões.
Solução para a crise do software
- Utilização de técnicas, ferramentas e processos sistematizados para produzir software.
- Treinamento e educação em conjunto com a mudança de paradigma sobre o que é desenvolver software e como deveria ser feito.
- Criação da Engenharia de Software.
A criação da Engenharia de Software surgiu numa tentativa de contornar a crise do software e dar um tratamento de engenharia(mais sistemático e controlado) ao desenvolvimento de sistemas de software complexos.
O termo Engenharia de Software tornou-se conhecido após uma conferência em 1968, quando as dificuldades e armadilhas de projetar sistemas complexos foram discutidas francamente. A busca de soluções começou. Ela se concentrou em melhores metodologias e ferramentas. As mais importantes foram as linguagens de programação que refletem os estilos procedimental, modular e, em seguida, orientado a objeto. A engenharia de software está intimamente ligada ao aparecimento e aperfeiçoamento desses estilos. Também importantes foram os esforços de sistematização, automatização da documentação do programa e testes. Por último, a verificação analítica e provas de correção deveriam substituir os testes. só após a conferência as dificuldades foram discutidas abertamente e confessadas com franqueza incomum, e os termos “engenharia de software” e “crise de software” foram criados.
A Engenharia de Software se concentra nos aspectos práticos da produção de um sistema de software, enquanto a ciência da computação estuda os fundamentos teóricos dos aspectos computacionais.
Referências
- PRESSMAN, Roger. Software Engineering: A Practitioner’s Approach, 6ª edição, Mc Graw Hill, 2005
- . «Ariane-5G». Gunter’s Space Page. Consultado em6 September 2014.
- Naur and B. Randell, Eds.Software Engineering. Report on a Conference held in Garmisch, Oct. 1968, sponsored by NATO
- https://ariane.cnes.fr/en/5-goodies/decollage-parfait-pour-ariane-5