Sofware
Uma Crise no horizonte A industria de Sof w are tem t do crise um a que a acom panha há quase 30 anos. Problem as não se lim itam ao sof w are que não funciona adequadam ente, m as abran desenvolvim ento, testes, m anutenção, suprim ento, etc.
Therac-25 Equipamento de Radioterapia. Entre 1985 e 1987 se envolveu em 6 acidentes, causando mortes por overdoses de radiação. Sofware foi adaptado de uma antecessora, Therac-6: falhas por falta de testes integrados falta de documentação página 382 do Pfeeger (literatura de engenharia de sofware).
Denver Internatonal Airport Custo do projeto: US$ 4.9 bilhões 100 mil passageiros por dia 1.200 vôos 53 milhas quadradas 94 portões de embarque e desembarque 6 pistas de pouso / decolagem
Denver Internatonal Airport Problemas: Erros no sistema automátco de transporte de bagagens: Atraso na abertura do aeroporto com custo total estmado em US$360 Milhões 86 milhões para consertar o sistema.
Ariane 5
Ariane 5 Projeto da Agência Espacia Européia que custou: 10 anos. U S$ 8 Bilhões. Capacidade 6 toneladas. G arante suprem acia europé no espaço.
Vôo inaugural em 4/junho/1996
Resultado Explosão 40 segundo após a decolagem. D estruição do foguet e carga avaliada em U S$ 500 m ilhões.
O que aconteceu? Fato: o veículo detonou suas cargas explosivas de autodestruição e explodiu no ar. Por que? Porque ele estava se quebrando devido às forças aerodinâmicas. Mas por que? O foguete tnha perdido o controle de direção (attude). O que causou isso? Os computadores principal e back-up deram shutdown ao mesmo tempo
O que aconteceu? (II) Por que o Shut-down? Ocorrera um run tme error (out of range, overfow, ou outro) e ambos computadores se desligaram. De onde veio este erro? Um programa que converta um valor em ponto futuante para um inteiro de 16 bits recebeu como entrada um valor que estava fora da faixa permitda.
Especifcamente: O que faltou? strict preconditon 1: { Set."x"=FLPT and Set."y"=INT16 and -32768 <= x <= +32767 } program code: y := int(x); postconditon: {Set."x"=FLPT and Set."y"=INT16 and y=int(x)}
Ironia... O resultado desta conversão não era m ais necessário após a decolagem...
Receita Federal dos Estados Unidos N o com eço da década de 80, a Receita Federal d Estados U nidos (IRS) contratou a em presa Sperr Corporaton para construir um sistem a autom at de processam ento de form ulários de im postos federais. D e acordo com o jornal am ericano W ashington Post, o sistem a se m ostrou inadequad à carga de trabalho, custou cerca de duas vezes esperado e deve ser logo subst tuído (Saw yer, 1985)
(contnuação) Em 1985, foi necessário adicionar U S$ 90 m ilhõe aos U S$ 103 m ilhões que já haviam sido pagos p equipam entos Sperry. da A lém disso o problem a acarretou o atraso das resttuições da IRS aos contribuintes, o que forçou a IRS a pagar U S$ 40 m ilhões em juros e U S$ 23 m ilhões em horas ex para os funcionários que tentaram com pensar o estrago.
(contnuação) Em 1996, a situação não havia melhorado. O jornal americano Los Angeles Times publicou, em 29 de março daquele ano, que ainda não havia nenhum plano para a modernização dos computadores da IRS, somente um relatório com 6.000 páginas. O congressista americano Jim Lighfoot chamou o projeto de um fasco de quatro bilhões de dólares que está afundando por falta de planejamento Professora: Lucélia Oliveira
Quais são os problemas? A sofstcação do sof w are ultrapassou nos capacidade de construção. N ossa capacidade de construir program as acom panha a dem anda por novos progra N ossa capacidade de m anter program as é am eaçada por projetos ruins.
Importância do Planejamento Em 1994, uma pesquisa realizada pelo The Standish Group demonstrava que nos Estados Unidos apenas cerca de 19% do total de projetos de sofware iniciados eram terminados com sucesso. 52,2% dos projetos eram concluídos com atrasos e acima dos orçamentos. 31,1% eram cancelados. Professora: Lucélia Oliveira
Perguntas que a Engenharia de Sofware quer responder: Porque demora tanto para concluir um projeto (não cumprimos prazos)? Porque custa tanto (uma ordem de magnitude a mais)? Porque não descobrimos os erros antes de entregar o sofware ao cliente? Porque temos difculdade de medir o progresso enquanto o sofware está sendo desenvolvido?
Causas óbvias N ão dedicam os tem po para coletar dados sobre o desenvolvim ento do sof w are - re em estm atvas a olho. Com unicação entre o cliente e o desenvolvedor é m uito fraca. Falta de testes sistem át cos e com pletos.
Causas menos óbvias O Sofware é desenvolvido ou projetado por engenharia, não manufaturado no sentdo clássico. Profssionais recebem pouco treinamento formal. Falta investmento (em ES). Falta métodos e automação.
Mitos do Sofware - Administratvos U m m anual oferece tudo que se precisa s Com putadores de últm a geração solucion problem as de desenvolvim ento. Se estam os atrasados, basta adicionar program adores e trar o atraso (cham ado conceito de hordas de m ongois ).
Mitos do Sofware - do Cliente U m a declaração geral é sufciente para com eçar a escrever program as. M udanças podem ser facilm ente acom oda em um projeto.
Mitos do Sofware do Profssional Um programa está terminado ao funcionar. Quanto mais cedo escrever o código, mais rápido terminarei o programa. Só posso avaliar a qualidade de um programa em funcionamento. A única coisa a ser entregue em um projeto é o programa funcionando.
Quanto mais tarde a detecção de um erro, mais cara é a sua correção! Segundo Pfeeger, o custo para a correção de um erro cometdo em um projeto durante a etapa inicial da análise é um décimo do custo para corrigir um erro semelhante depois que o sistema foi entregue ao cliente. Metade dos custos de correção de defeitos encontrados durante a fase de testes e manutenção vem de erros cometdos no início de vida do sistema.
Sugestão para detecção de erros Muitos estudantes estão acostumados a desenvolver e testar o seu próprio sofware; Seus testes podem ser menos efetvos do que pensam; Fagan, estudou o modo como os defeitos têm sido detectados: ele descobriu que executar um programa com dados de teste revela somente cerca de um quinto dos defeitos cometdos durante o desenvolvimento do sistema.
Sugestão para detecção de erros(contnuação) O processo de revisão, realizado por colegas que mutuamente examinam e comentam o código e o projeto que eles criam, revela quatro dos cinco defeitos restantes (Fagan, 1986) Então, a qualidade do sofware pode aumentar consideravelmente somente com a revisão e dos trabalhos pelos colegas.
Qual tem sido o grau de sucesso dos sistemas atuais? Pense com o era a vida das pessoas antes dos processad de texto, das planilhas eletrônicas, do correio eletrônico telefonia sofstcada. O s produtos de sof w ares têm apoiado avanços na m ed na agricultura, nos transportes, etc A lém de nos perm itr realizar as coisas nunca feitas ante com o m icrocirurgias, educação, m ultm ídia e robótca.