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

Page 17: Crise de software2

Engenharia de Software Abordagem sistemática para o desenvolvimento;

Aplicação pratica de conhecimento científico no software;

Disciplina que usa princípios de engenharia para produzir e manter softwares.

Page 18: Crise de software2

Engenharia de Software:Objectivos

Melhorar a qualidade do software;

Aumentar a produtividade;

Satisfazer profissionalmente engenheiros de software.

Page 19: Crise de software2

Engenharia de Software:Princípios

Reduzir inconsistências;

Apenas aspectos importantes, ignorar os detalhes;

Lidar com complexidade;

Reutilizar;

Flexibilizar.

Page 20: Crise de software2

Fonte: modificado de The Standish Group International Inc (2006).

Page 21: Crise de software2

Fonte: modificado de The Standish Group International Inc (2006).

Page 22: Crise de software2

Exercícios O que seria necessário aplicar para evitar a Crise do Software?

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.

Estamos ainda numa Crise de Software? Sim, a engenharia de software ainda precisa evoluir para

atingir patamares similares a outras engenharias. Os projectos de software ainda estão sujeitos a fracassos e é importante que sejam mantidas pesquisas com o objectivo de gerar novos processos e padrões para facilitar seu desenvolvimento.

Page 23: Crise de software2

Exercícios (Cont.) Segundo a Engenharia de Software, o que é um software de

baixa qualidade? Software sem documentação e com código desorganizado

que não permite a extensibilidade.

O facto do Software ser feito sob encomenda é um complicador? Torna a construção, de certa forma, artesanal? Cada software deve ser construído de forma única. Ele é

desenvolvido através do conhecimento e experiência dos analistas, projectistas e programadores. A criatividade é peça fundamental neste desenvolvimento.

Page 24: Crise de software2

Portabilidade de uma aplicação Uma aplicação portátil é um programa que pode ser levado

connosco para qualquer parte num aparelho portátil como um disco externo, PEN USB, iPod. Estes programas não necessitam que seja instalado software adicional, apenas é necessário fazer o donwload da aplicação, extrair e já está pronta a funcionar.

É uma óptima maneira de termos sempre á mão ferramentas de Office, editor de imagem, Web Browser, Chat, etc…

Page 25: Crise de software2

1º Passo:

Escolher o programa que quer tornar portátil. Eu, escolhi o MP3 Rocket..Para o fazer, precisarás de uns programas próprios, no meu caso eu escolhi o 7-zip e o Universal Extractor. É também necessário criar uma pasta e colocar lá o ficheiro 7zS que deve ser sacado.Instala-los!

Page 26: Crise de software2

2º Passo:

Depois de todos os programas instalados, no ficheiro do programa escolhido para tornar portátil, clique no botão direito do rato e escolha a opção:”UniExtract para Subdirectoria”. Para o fazer, é necessário também o programa Win Rar instalado.

Page 27: Crise de software2

3º Passo:

Seleccionar todos os ficheiros extraídos e com o botão direito do rato, escolher a opção 7-zip – adicionar ficheiros. Aparecerá esta janela. Grave numa pasta onde colocou o ficheiro 7zS.

Page 28: Crise de software2

4º Passo:

Ambos os ficheiros devem estar colocados na mesma pasta.

Page 29: Crise de software2

ProntoO programa está pronto a correr!