Upload
tiago-pinhao
View
558
Download
1
Tags:
Embed Size (px)
Citation preview
Crise do Software
Crise de Software Primeira Era -» 50-65
Software Customizado; Personalizados sem nenhuma documentação; Batch.
Segunda Era -» 65-75 Multiusuário; Tempo Real; BD, produto de software; Software houses (crise de software).
Crise de Software (Cont.) Terceira Era -» 75-85
Sistemas Distribuídos;; IA; Hardware de baixo custo;
Quarta Era -» 85-… Sistemas especialistas;; Redes Neurais; Computação parela.
Crise de Software (cont.) Primeira geração -» assembley;
Segunda geração -» Fortran, Cobol, Algol;
Terceira geração -» Pascal, Eifel,…;
Quarta geração -» Dbase, lg de consultas SQL, geradores de programa, lg de especificação formal, ferramentas…
Crise de Software (cont.) 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.
As causas da crise do software estão ligadas a complexidade do processo de software e a relativa imaturidade da engenharia de software como profissão.
Crise de Software (cont.) Os problemas que originaram essa crise tinham relacionamento
directo com a forma de trabalho das equipes. Eram problemas que não se limitavam a "sistemas que não funcionam correctamente", mas envolviam também dúvidas sobre como desenvolver e manter um volume crescente de software e ainda estar preparado para as futuras demandas. Essencialmente, eram sintomas provenientes do pouco entendimento dos requisitos por parte dos desenvolvedores, somados às técnicas e medidas pobres aplicadas sobre o processo e o produto, além dos poucos critérios de qualidade estabelecidos até então.
Crise de Software (cont.) Todos esses factores exigiram respostas e métodos que foram
sendo aprimorados e documentados, dando início à área de Engenharia de Software. A busca por eficiência e competência revelou oportunidades, desafios e perigos que guiaram as tecnologias e apontaram novos rumos para as pesquisas.
Manifestação da crise Projectos estourando o orçamento; Projectos estourando o prazo; Software de baixa qualidade; Software muitas vezes não atingiam os requisitos; Projectos ingerenciaveis e o código difícil de manter; Má qualidade das teorias, metodologias e ferramentas de
desenvolvimento utilizadas; Complexidade dos sistemas, dificuldade de formalização.
Soluções para a crise Análise Económica de Sistemas de Informações; O uso de melhores técnicas, métodos e ferramentas; Mais treinamento e educação: Actualmente não se investe o
suficiente; A mudança de paradigma sobre o que é desenvolver software e como
deveria ser feito; Trabalho em equipa; Combinar métodos para as fases do desenvolvimento; Ferramentas para automatizar esses mesmos métodos; Técnicas para assegurar a qualidade.
Crise de Software: Problemas Software inadequado; Cronogramas e custos imprecisos; Inexistência de dados históricos acerca do processo de
desenvolvimento; Comunicação deficiente; Carência de conceitos quantitativos; Difícil manutenção.
A Crise de Software e a Idade Média
Origens da Crise de Software, pode-se comparar com a história das outras indústrias. Por exemplo, antes da revolução industrial, os sapatos eram feitos de forma muito individual. Nesses tempos mais remotos, os sapateiros faziam cada par de sapatos de forma única para cada cliente, desde a obtenção da matéria prima até o produto final.
As semelhanças com a indústria de software começam logo aí. Primeiro, porque as técnicas de desenvolvimento de software ainda não estão totalmente maduras e consolidadas. Afinal, a variedade de técnicas que surgiram nas últimas décadas é enorme, abrangendo ideias. Em segundo lugar, existe uma tendência muito forte em desenvolver software sem aproveitar o material produzido no passado. E para piorar, além de entregá-lo quase sempre mal documentado, a maior parte do conhecimento envolvido na sua construção permanece apenas na cabeça dos desenvolvedores.
Tipos de erros Sistemas desenvolvidos correctamente a partir de
especificações erradas ou incompletas;
Corte deliberado do escopo do projecto, em razão do estouro do prazo ou da verba do projecto;
Sistemas desenvolvidos incorrectamente a partir de especificações corretas.
O impactocustos e prazos
Grande mais de 50% de aumento em custos/prazos Moderado de 11 a 50% de aumento em custos/prazos Pequeno de 0 a 10% de aumento em custos/prazos
Causas de erros
A- 44% Definição inicial falha B- 36% Novas aplicações desconhecidas dos usuário C-23% Projecto tão longo que os requisitos mudaram durante o
desenvolvimento D- 22% Falhas/dificuldades em administrar a expectativa dos
usuários E- 19% Dificuldade em envolver os usuários nos estágios iniciais do
projecto F- 19% Dificuldade em empregar técnicas de prototípico ou
desenvolvimento conjunto
Técnicas para superar A- 63% Projectar aplicações conjuntamente usuários e
desenvolvedores B- 25% Usar prototípico para obter definição de requisitos C- 23% Buscar requisitos D- 23% Usar ferramentas de controle e gerência de projectos E- 16% Dizer “NÃO” às solicitações de alteração dos requisitos,
depois de iniciado o projecto
Dificuldades Saber quais os requisitos;
Ferramentas e linguagem;
Tempo e custos;
Prever falhas;
Cuidar da manutenção e versões.