16
Crise do Software

Crise de software2

Embed Size (px)

Citation preview

Page 1: Crise de software2

Crise do Software

Page 2: Crise de software2

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).

Page 3: Crise de software2

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.

Page 4: Crise de software2

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…

Page 5: Crise de software2

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.

Page 6: Crise de software2

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.

Page 7: Crise de software2

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.

Page 8: Crise de software2

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.

Page 9: Crise de software2

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.

Page 10: Crise de software2

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.

Page 11: Crise de software2

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.

Page 12: Crise de software2

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.

Page 13: Crise de software2

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

Page 14: Crise de software2

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

Page 15: Crise de software2

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

Page 16: Crise de software2

Dificuldades Saber quais os requisitos;

Ferramentas e linguagem;

Tempo e custos;

Prever falhas;

Cuidar da manutenção e versões.