SlideShare a Scribd company logo
1 of 26
Armadilhas no Desenvolvimento
de Software e Estudo de Caso
Engenharia de Software
Aula 01
Prof. Luciano Leme
Engenharia de Software - Prof. Luciano Leme 2
ACIDENTES
• “O modo mais provável do mundo ser
destruído, como concorda a maioria dos
especialistas, é através de um acidente. É
ai que nós entramos. Somos profissionais
de computação. Nós causamos
acidentes.”
Nathaniel Borestein
Engenharia de Software - Prof. Luciano Leme 3
Uma Crise no horizonte
• A indústria de Software tem tido uma
“crise” que a acompanha há quase 30
anos:
– Aflição Crônica != Crise
• Problemas não se limitam ao software que
não funciona adequadamente, mas
abrangem:
– desenvolvimento, testes, manutenção,
suprimento etc.
Engenharia de Software - Prof. Luciano Leme 4
Therac-25
• Equipamento de Radioterapia com
software controlador.
• Entre 1985 e 1987 se envolveu em 6
acidentes, causando mortes por
overdoses de radiação.
Engenharia de Software - Prof. Luciano Leme 5
Therac-25
• Software foi adaptado de uma antecessora,
Therac-6:
– O dispositivo responsável para sincronizar o hardware
é removido, mas o software não possui sincronismo
– O software falha na tarefa de manter invariantes
essenciais:o feixe de elétrons ou o feixe mais forte de
radiação e a chapa se interferem na geração do raio X
– O programador não tinha experiência em programação
concorrente
– Falhas por falta de testes integrados
– Falta de documentação
• http://sunnyday.mit.edu/therac-25.html
Engenharia de Software - Prof. Luciano Leme 6
Acidente no Panamá
• AAgência Internacional de Energia Atômica
declara ‘emergência radiológica’ no Panamá
em 22 de Maio de 2001
• 28 pacientes super expostos; 8 morreram, 3
dos quais em decorrência direta do fato;
espera-se que 3/4 dos 20 sobreviventes
desenvolvam ‘sérias complicações que em
alguns casos podem vir a ser fatais’
Engenharia de Software - Prof. Luciano Leme 7
Acidente no Panamá
• Especialistas encontraram equipamentos radioterápicos
‘em perfeito funcionamento’; os dados coletados pelo
sistema não indicavam nenhuma situação de emergência
• Se dados são registrados para diversos blocos de
blindagem contra radiação em uma única ação, temos
uma dose incorreta processada pelo sistema
• Finalmente o FDA concluiu que um dos fatores
causadores da falha foi a ‘interpretação, por parte do
software, dos dados coletados dos blocos dos feixes de
radiação’
• Detalhes:
http://www.fda.gov/Radiation-EmittingProducts/RadiationSafe
Engenharia de Software - Prof. Luciano Leme
Denver International Airport
• Custo do projeto: US$ 4.9 bilhões
– 100 mil passageiros por dia
– 1.200 voos
– 53 milhas quadradas
– 94 portões de embarque e desembarque
– 6 pistas de pouso / decolagem
8
Engenharia de Software - Prof. Luciano Leme
Denver International Airport
• Erros no sistema automático de transporte de bagagens
(misloaded, misrouted, jammed):
– Atraso na abertura do aeroporto com custo total estimado em
US$360 Milhões
• 86 milhões de dólares para consertar o sistema
9
Engenharia de Software - Prof. Luciano Leme 10
London Ambulance Service
(1992)
• Perdas de chamadas, despacho duplo de
chamadas duplicadas
• Escolha ruim do desenvolvedor:
experiência inadequada
• http://www.cs.ucl.ac.uk/staff/A.Finkelstein/las.h
Engenharia de Software - Prof. Luciano Leme
Ariane 5
11
Engenharia de Software - Prof. Luciano Leme
Ariane 5
• Projeto da Agência
Espacial Europeia que
custou:
– 10 anos.
– US$ 8 Bilhões.
• Capacidade 6 toneladas.
• Garante supremacia
europeia no espaço.
12
Engenharia de Software - Prof. Luciano Leme
Vôo inaugural em
4/junho/1996
13
Engenharia de Software - Prof. Luciano Leme
Resultado
• Explosão 40
segundos após a
decolagem.
• Destruição do
foguete e carga
avaliados em US$
500 milhões.
14
Engenharia de Software - Prof. Luciano Leme 15
O que aconteceu? (I)
• 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 tinha perdido o controle de direção
(altitude). Causa disso?
• Os computadores principal e back-up deram
shut-down ao mesmo tempo.
Engenharia de Software - Prof. Luciano Leme 16
O que aconteceu? (II)
• Por que o shut-down? Ocorrera um run time
error (out of range, overflow ou outro) e
ambos os computadores se desligaram.
De onde veio esse erro?
• Um programa que convertia um valor em
ponto flutuante para um inteiro de 16 bits
recebeu como entrada um valor que
estava fora da faixa permitida.
Engenharia de Software - Prof. Luciano Leme 17
Especificamente:
O que faltou?
strict precondition 1:
{
Set."x"=FLPT and Set."y"=INT16
and -32768 <= x <= +32767
}
program code:
y := int(x);
postcondition:
{Set."x"=FLPT and Set."y"=INT16 and y=int(x)}
Engenharia de Software - Prof. Luciano Leme 18
Ironia Total...
• O resultado desta conversão não era nem
mais necessário após a decolagem...
Engenharia de Software - Prof. Luciano Leme 19
ENEM (08/2010)
• Vazam dados de 12 milhões de inscritos no
ENEM.
• Informações (RG, CPF, nome de mãe, data
de nascimento, nota etc.) que deveriam ser
mantidas sob sigilo ficam expostas no site do
organizador do exame.
• Informações vazadas permitem fraudes por
parte de estelionatários.
• No mundo virtual, apenas gaveta e chave
não são suficientes para proteger um
documento?
Engenharia de Software - Prof. Luciano Leme 20
GOL (08/2010)
• Atrasos em voos.
• Implantação de novo sistema foi apontada
como a causa para o problema logístico
que levou aos atrasos.
• Imagem da empresa prejudicada.
• Milhares são vítimas de prejuízos
financeiros e/ou psicológicos?
Engenharia de Software - Prof. Luciano Leme 21
Mas quais são os problemas?
• A sofisticação do software ultrapassou
nossa capacidade de construção.
• Nossa capacidade de construir programas
não acompanha a demanda por novos
programas.
• Nossa capacidade de manter programas
é ameaçada por projetos ruins.
Engenharia de Software - Prof. Luciano Leme 22
Perguntas que a Engenharia
de Software quer responder:
• Por que demora tanto para concluir um
projeto (não cumprimos prazos)?
• Por que custa tanto (uma ordem de
magnitude a mais)?
• Por que não descobrimos os erros antes
de entregar o software ao cliente?
• Por que temos dificuldades de medir o
progresso enquanto o software está
sendo desenvolvido?
Engenharia de Software - Prof. Luciano Leme 23
Causas óbvias
• Não dedicamos tempo para coletar dados
sobre o desenvolvimento do software -
resultando em estimativas “a olho”.
• Comunicação entre o cliente e o
desenvolvedor é muito fraca ou
incompleta.
• Falta de testes sistemáticos e completos.
Engenharia de Software - Prof. Luciano Leme 24
Causas menos óbvias
• O Software é desenvolvido ou projetado
por engenharia, não manufaturado no
sentido clássico (característica 1).
• Gerentes sem background em
desenvolvimento de SW.
• Profissionais recebem pouco treinamento
formal.
• Falta investimento (em ES).
• Faltam métodos e automação.
Engenharia de Software - Prof. Luciano Leme 25
Principais conceitos
da Eng. Software
• Especificações de requisitos
• Documentações / Diagramas
• Implementações
• Testes
• Homologações
• Configurações
• Qualidade
• Modelos
• Revisões
Engenharia de Software - Prof. Luciano Leme 26
Dúvidas
?

More Related Content

Similar to Armadilhas no Desenvolvimento de Software

Plano do projeto de software
Plano do projeto de softwarePlano do projeto de software
Plano do projeto de softwareDanilo Gois
 
Verificação e Validação
Verificação e ValidaçãoVerificação e Validação
Verificação e ValidaçãoMarcelo Yamaguti
 
Engenharia de Software - Unimep/Pronatec - Aula 3
Engenharia de Software - Unimep/Pronatec - Aula 3Engenharia de Software - Unimep/Pronatec - Aula 3
Engenharia de Software - Unimep/Pronatec - Aula 3André Phillip Bertoletti
 
Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 1
Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 1Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 1
Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 1Renato Leal
 
Introdução a Engenharia de Software.pdf
Introdução a Engenharia de Software.pdfIntrodução a Engenharia de Software.pdf
Introdução a Engenharia de Software.pdfIvanFontainha
 
Motivações para se testar o software
Motivações para se testar o softwareMotivações para se testar o software
Motivações para se testar o softwareFernando Fabricio
 
Por quê o software continua inseguro (versão extendida)?
Por quê o software continua inseguro (versão extendida)?Por quê o software continua inseguro (versão extendida)?
Por quê o software continua inseguro (versão extendida)?Vinicius Oliveira Ferreira
 
Testes de software(feed_back)
Testes de software(feed_back)Testes de software(feed_back)
Testes de software(feed_back)Ramon Tanoeiro
 
[Pt br] - 36751 - mitre att&amp;ck - azure
[Pt br] - 36751 - mitre att&amp;ck - azure[Pt br] - 36751 - mitre att&amp;ck - azure
[Pt br] - 36751 - mitre att&amp;ck - azureEnrique Gustavo Dutra
 
Be Aware Webinar Symantec - Reduza as vulnerabilidades do seu ambiente de TI
Be Aware Webinar Symantec - Reduza as vulnerabilidades do seu ambiente de TIBe Aware Webinar Symantec - Reduza as vulnerabilidades do seu ambiente de TI
Be Aware Webinar Symantec - Reduza as vulnerabilidades do seu ambiente de TISymantec Brasil
 
Paradigmas De Engenharia De Software
Paradigmas De Engenharia De SoftwareParadigmas De Engenharia De Software
Paradigmas De Engenharia De SoftwareRobson Silva Espig
 
Desenvolvedores, a Segurança precisa de vocês
Desenvolvedores, a Segurança precisa de vocêsDesenvolvedores, a Segurança precisa de vocês
Desenvolvedores, a Segurança precisa de vocêsVinicius Oliveira Ferreira
 
Introdução à Engenharia de Software
Introdução à Engenharia de SoftwareIntrodução à Engenharia de Software
Introdução à Engenharia de SoftwareClaudia Melo
 

Similar to Armadilhas no Desenvolvimento de Software (20)

Crise de software2
Crise de software2Crise de software2
Crise de software2
 
Analise sistemas 06
Analise sistemas 06Analise sistemas 06
Analise sistemas 06
 
Plano do projeto de software
Plano do projeto de softwarePlano do projeto de software
Plano do projeto de software
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Teste de software
Teste de software Teste de software
Teste de software
 
Verificação e Validação
Verificação e ValidaçãoVerificação e Validação
Verificação e Validação
 
Engenharia de Software - Unimep/Pronatec - Aula 3
Engenharia de Software - Unimep/Pronatec - Aula 3Engenharia de Software - Unimep/Pronatec - Aula 3
Engenharia de Software - Unimep/Pronatec - Aula 3
 
Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 1
Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 1Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 1
Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 1
 
Aula 06 softwares
Aula 06   softwaresAula 06   softwares
Aula 06 softwares
 
Aula 6 - Qualidade de Software
Aula 6 - Qualidade de SoftwareAula 6 - Qualidade de Software
Aula 6 - Qualidade de Software
 
Introdução a Engenharia de Software.pdf
Introdução a Engenharia de Software.pdfIntrodução a Engenharia de Software.pdf
Introdução a Engenharia de Software.pdf
 
Motivações para se testar o software
Motivações para se testar o softwareMotivações para se testar o software
Motivações para se testar o software
 
Por quê o software continua inseguro (versão extendida)?
Por quê o software continua inseguro (versão extendida)?Por quê o software continua inseguro (versão extendida)?
Por quê o software continua inseguro (versão extendida)?
 
Testes de software(feed_back)
Testes de software(feed_back)Testes de software(feed_back)
Testes de software(feed_back)
 
[Pt br] - 36751 - mitre att&amp;ck - azure
[Pt br] - 36751 - mitre att&amp;ck - azure[Pt br] - 36751 - mitre att&amp;ck - azure
[Pt br] - 36751 - mitre att&amp;ck - azure
 
Be Aware Webinar Symantec - Reduza as vulnerabilidades do seu ambiente de TI
Be Aware Webinar Symantec - Reduza as vulnerabilidades do seu ambiente de TIBe Aware Webinar Symantec - Reduza as vulnerabilidades do seu ambiente de TI
Be Aware Webinar Symantec - Reduza as vulnerabilidades do seu ambiente de TI
 
Paradigmas De Engenharia De Software
Paradigmas De Engenharia De SoftwareParadigmas De Engenharia De Software
Paradigmas De Engenharia De Software
 
Dba Testes Gerentes B2
Dba Testes Gerentes B2Dba Testes Gerentes B2
Dba Testes Gerentes B2
 
Desenvolvedores, a Segurança precisa de vocês
Desenvolvedores, a Segurança precisa de vocêsDesenvolvedores, a Segurança precisa de vocês
Desenvolvedores, a Segurança precisa de vocês
 
Introdução à Engenharia de Software
Introdução à Engenharia de SoftwareIntrodução à Engenharia de Software
Introdução à Engenharia de Software
 

Recently uploaded

O Universo Cuckold - Compartilhando a Esposas Com Amigo.pdf
O Universo Cuckold - Compartilhando a Esposas Com Amigo.pdfO Universo Cuckold - Compartilhando a Esposas Com Amigo.pdf
O Universo Cuckold - Compartilhando a Esposas Com Amigo.pdfPastor Robson Colaço
 
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfBRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfHenrique Pontes
 
Currículo escolar na perspectiva da educação inclusiva.pdf
Currículo escolar na perspectiva da educação inclusiva.pdfCurrículo escolar na perspectiva da educação inclusiva.pdf
Currículo escolar na perspectiva da educação inclusiva.pdfIedaGoethe
 
Habilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasHabilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasCassio Meira Jr.
 
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxQUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxIsabellaGomes58
 
A experiência amorosa e a reflexão sobre o Amor.pptx
A experiência amorosa e a reflexão sobre o Amor.pptxA experiência amorosa e a reflexão sobre o Amor.pptx
A experiência amorosa e a reflexão sobre o Amor.pptxfabiolalopesmartins1
 
Prática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGISPrática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGISVitor Vieira Vasconcelos
 
02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdfJorge Andrade
 
Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.Susana Stoffel
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Centro Jacques Delors
 
Educação São Paulo centro de mídias da SP
Educação São Paulo centro de mídias da SPEducação São Paulo centro de mídias da SP
Educação São Paulo centro de mídias da SPanandatss1
 
Cultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfCultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfaulasgege
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalJacqueline Cerqueira
 
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxApostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxIsabelaRafael2
 
637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano
637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano
637743470-Mapa-Mental-Portugue-s-1.pdf 4 anoAdelmaTorres2
 
Intolerância religiosa. Trata-se de uma apresentação sobre o respeito a diver...
Intolerância religiosa. Trata-se de uma apresentação sobre o respeito a diver...Intolerância religiosa. Trata-se de uma apresentação sobre o respeito a diver...
Intolerância religiosa. Trata-se de uma apresentação sobre o respeito a diver...LizanSantos1
 
William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfAdrianaCunha84
 
Programa de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasPrograma de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasCassio Meira Jr.
 
PPT _ Módulo 3_Direito Comercial_2023_2024.pdf
PPT _ Módulo 3_Direito Comercial_2023_2024.pdfPPT _ Módulo 3_Direito Comercial_2023_2024.pdf
PPT _ Módulo 3_Direito Comercial_2023_2024.pdfAnaGonalves804156
 
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024Sandra Pratas
 

Recently uploaded (20)

O Universo Cuckold - Compartilhando a Esposas Com Amigo.pdf
O Universo Cuckold - Compartilhando a Esposas Com Amigo.pdfO Universo Cuckold - Compartilhando a Esposas Com Amigo.pdf
O Universo Cuckold - Compartilhando a Esposas Com Amigo.pdf
 
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfBRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
 
Currículo escolar na perspectiva da educação inclusiva.pdf
Currículo escolar na perspectiva da educação inclusiva.pdfCurrículo escolar na perspectiva da educação inclusiva.pdf
Currículo escolar na perspectiva da educação inclusiva.pdf
 
Habilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasHabilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e Específicas
 
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxQUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
 
A experiência amorosa e a reflexão sobre o Amor.pptx
A experiência amorosa e a reflexão sobre o Amor.pptxA experiência amorosa e a reflexão sobre o Amor.pptx
A experiência amorosa e a reflexão sobre o Amor.pptx
 
Prática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGISPrática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGIS
 
02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf
 
Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029
 
Educação São Paulo centro de mídias da SP
Educação São Paulo centro de mídias da SPEducação São Paulo centro de mídias da SP
Educação São Paulo centro de mídias da SP
 
Cultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfCultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdf
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem Organizacional
 
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxApostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
 
637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano
637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano
637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano
 
Intolerância religiosa. Trata-se de uma apresentação sobre o respeito a diver...
Intolerância religiosa. Trata-se de uma apresentação sobre o respeito a diver...Intolerância religiosa. Trata-se de uma apresentação sobre o respeito a diver...
Intolerância religiosa. Trata-se de uma apresentação sobre o respeito a diver...
 
William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdf
 
Programa de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasPrograma de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades Motoras
 
PPT _ Módulo 3_Direito Comercial_2023_2024.pdf
PPT _ Módulo 3_Direito Comercial_2023_2024.pdfPPT _ Módulo 3_Direito Comercial_2023_2024.pdf
PPT _ Módulo 3_Direito Comercial_2023_2024.pdf
 
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
 

Armadilhas no Desenvolvimento de Software

  • 1. Armadilhas no Desenvolvimento de Software e Estudo de Caso Engenharia de Software Aula 01 Prof. Luciano Leme
  • 2. Engenharia de Software - Prof. Luciano Leme 2 ACIDENTES • “O modo mais provável do mundo ser destruído, como concorda a maioria dos especialistas, é através de um acidente. É ai que nós entramos. Somos profissionais de computação. Nós causamos acidentes.” Nathaniel Borestein
  • 3. Engenharia de Software - Prof. Luciano Leme 3 Uma Crise no horizonte • A indústria de Software tem tido uma “crise” que a acompanha há quase 30 anos: – Aflição Crônica != Crise • Problemas não se limitam ao software que não funciona adequadamente, mas abrangem: – desenvolvimento, testes, manutenção, suprimento etc.
  • 4. Engenharia de Software - Prof. Luciano Leme 4 Therac-25 • Equipamento de Radioterapia com software controlador. • Entre 1985 e 1987 se envolveu em 6 acidentes, causando mortes por overdoses de radiação.
  • 5. Engenharia de Software - Prof. Luciano Leme 5 Therac-25 • Software foi adaptado de uma antecessora, Therac-6: – O dispositivo responsável para sincronizar o hardware é removido, mas o software não possui sincronismo – O software falha na tarefa de manter invariantes essenciais:o feixe de elétrons ou o feixe mais forte de radiação e a chapa se interferem na geração do raio X – O programador não tinha experiência em programação concorrente – Falhas por falta de testes integrados – Falta de documentação • http://sunnyday.mit.edu/therac-25.html
  • 6. Engenharia de Software - Prof. Luciano Leme 6 Acidente no Panamá • AAgência Internacional de Energia Atômica declara ‘emergência radiológica’ no Panamá em 22 de Maio de 2001 • 28 pacientes super expostos; 8 morreram, 3 dos quais em decorrência direta do fato; espera-se que 3/4 dos 20 sobreviventes desenvolvam ‘sérias complicações que em alguns casos podem vir a ser fatais’
  • 7. Engenharia de Software - Prof. Luciano Leme 7 Acidente no Panamá • Especialistas encontraram equipamentos radioterápicos ‘em perfeito funcionamento’; os dados coletados pelo sistema não indicavam nenhuma situação de emergência • Se dados são registrados para diversos blocos de blindagem contra radiação em uma única ação, temos uma dose incorreta processada pelo sistema • Finalmente o FDA concluiu que um dos fatores causadores da falha foi a ‘interpretação, por parte do software, dos dados coletados dos blocos dos feixes de radiação’ • Detalhes: http://www.fda.gov/Radiation-EmittingProducts/RadiationSafe
  • 8. Engenharia de Software - Prof. Luciano Leme Denver International Airport • Custo do projeto: US$ 4.9 bilhões – 100 mil passageiros por dia – 1.200 voos – 53 milhas quadradas – 94 portões de embarque e desembarque – 6 pistas de pouso / decolagem 8
  • 9. Engenharia de Software - Prof. Luciano Leme Denver International Airport • Erros no sistema automático de transporte de bagagens (misloaded, misrouted, jammed): – Atraso na abertura do aeroporto com custo total estimado em US$360 Milhões • 86 milhões de dólares para consertar o sistema 9
  • 10. Engenharia de Software - Prof. Luciano Leme 10 London Ambulance Service (1992) • Perdas de chamadas, despacho duplo de chamadas duplicadas • Escolha ruim do desenvolvedor: experiência inadequada • http://www.cs.ucl.ac.uk/staff/A.Finkelstein/las.h
  • 11. Engenharia de Software - Prof. Luciano Leme Ariane 5 11
  • 12. Engenharia de Software - Prof. Luciano Leme Ariane 5 • Projeto da Agência Espacial Europeia que custou: – 10 anos. – US$ 8 Bilhões. • Capacidade 6 toneladas. • Garante supremacia europeia no espaço. 12
  • 13. Engenharia de Software - Prof. Luciano Leme Vôo inaugural em 4/junho/1996 13
  • 14. Engenharia de Software - Prof. Luciano Leme Resultado • Explosão 40 segundos após a decolagem. • Destruição do foguete e carga avaliados em US$ 500 milhões. 14
  • 15. Engenharia de Software - Prof. Luciano Leme 15 O que aconteceu? (I) • 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 tinha perdido o controle de direção (altitude). Causa disso? • Os computadores principal e back-up deram shut-down ao mesmo tempo.
  • 16. Engenharia de Software - Prof. Luciano Leme 16 O que aconteceu? (II) • Por que o shut-down? Ocorrera um run time error (out of range, overflow ou outro) e ambos os computadores se desligaram. De onde veio esse erro? • Um programa que convertia um valor em ponto flutuante para um inteiro de 16 bits recebeu como entrada um valor que estava fora da faixa permitida.
  • 17. Engenharia de Software - Prof. Luciano Leme 17 Especificamente: O que faltou? strict precondition 1: { Set."x"=FLPT and Set."y"=INT16 and -32768 <= x <= +32767 } program code: y := int(x); postcondition: {Set."x"=FLPT and Set."y"=INT16 and y=int(x)}
  • 18. Engenharia de Software - Prof. Luciano Leme 18 Ironia Total... • O resultado desta conversão não era nem mais necessário após a decolagem...
  • 19. Engenharia de Software - Prof. Luciano Leme 19 ENEM (08/2010) • Vazam dados de 12 milhões de inscritos no ENEM. • Informações (RG, CPF, nome de mãe, data de nascimento, nota etc.) que deveriam ser mantidas sob sigilo ficam expostas no site do organizador do exame. • Informações vazadas permitem fraudes por parte de estelionatários. • No mundo virtual, apenas gaveta e chave não são suficientes para proteger um documento?
  • 20. Engenharia de Software - Prof. Luciano Leme 20 GOL (08/2010) • Atrasos em voos. • Implantação de novo sistema foi apontada como a causa para o problema logístico que levou aos atrasos. • Imagem da empresa prejudicada. • Milhares são vítimas de prejuízos financeiros e/ou psicológicos?
  • 21. Engenharia de Software - Prof. Luciano Leme 21 Mas quais são os problemas? • A sofisticação do software ultrapassou nossa capacidade de construção. • Nossa capacidade de construir programas não acompanha a demanda por novos programas. • Nossa capacidade de manter programas é ameaçada por projetos ruins.
  • 22. Engenharia de Software - Prof. Luciano Leme 22 Perguntas que a Engenharia de Software quer responder: • Por que demora tanto para concluir um projeto (não cumprimos prazos)? • Por que custa tanto (uma ordem de magnitude a mais)? • Por que não descobrimos os erros antes de entregar o software ao cliente? • Por que temos dificuldades de medir o progresso enquanto o software está sendo desenvolvido?
  • 23. Engenharia de Software - Prof. Luciano Leme 23 Causas óbvias • Não dedicamos tempo para coletar dados sobre o desenvolvimento do software - resultando em estimativas “a olho”. • Comunicação entre o cliente e o desenvolvedor é muito fraca ou incompleta. • Falta de testes sistemáticos e completos.
  • 24. Engenharia de Software - Prof. Luciano Leme 24 Causas menos óbvias • O Software é desenvolvido ou projetado por engenharia, não manufaturado no sentido clássico (característica 1). • Gerentes sem background em desenvolvimento de SW. • Profissionais recebem pouco treinamento formal. • Falta investimento (em ES). • Faltam métodos e automação.
  • 25. Engenharia de Software - Prof. Luciano Leme 25 Principais conceitos da Eng. Software • Especificações de requisitos • Documentações / Diagramas • Implementações • Testes • Homologações • Configurações • Qualidade • Modelos • Revisões
  • 26. Engenharia de Software - Prof. Luciano Leme 26 Dúvidas ?

Editor's Notes

  1. Significant mechanical and software problems have plagued the automated baggage handling system. In tests of the system, bags were misloaded, were misrouted, or fell out of telecarts, causing the system to jam. Video cameras were installed at several known trouble spots to document problems, such as the following: The baggage system continued to unload bags even though they were jammed on the conveyor belt. This problem occurred because the photo eye at this location could not detect the pile of bags on the belt and hence could not signal the system to stop. The baggage system loaded bags into telecarts that were already full. Hence, some bags fell onto the tracks, again causing the telecarts to jam. This problem occurred because the system had lost track of which telecarts were loaded or unloaded during a previous jam. When the system came back on-line, it failed to show that the telecarts were loaded. The timing between the conveyor belts and the moving telecarts was not properly synchronized, causing bags to fall between the conveyor belt and the telecarts. The bags became wedged under the telecarts. This occurred because telecarts were bumping into each other near the load point.
  2. Significant mechanical and software problems have plagued the automated baggage handling system. In tests of the system, bags were misloaded, were misrouted, or fell out of telecarts, causing the system to jam. Video cameras were installed at several known trouble spots to document problems, such as the following: The baggage system continued to unload bags even though they were jammed on the conveyor belt. This problem occurred because the photo eye at this location could not detect the pile of bags on the belt and hence could not signal the system to stop. The baggage system loaded bags into telecarts that were already full. Hence, some bags fell onto the tracks, again causing the telecarts to jam. This problem occurred because the system had lost track of which telecarts were loaded or unloaded during a previous jam. When the system came back on-line, it failed to show that the telecarts were loaded. The timing between the conveyor belts and the moving telecarts was not properly synchronized, causing bags to fall between the conveyor belt and the telecarts. The bags became wedged under the telecarts. This occurred because telecarts were bumping into each other near the load point.
  3. a program segment for converting a floating point number to asigned 16 bit integer was executed with an input data value outside the range representable by a signed 16 bit integer. This run time error (out of range, overflow), which arose in both the active and the backup computers at about the same time, was detected and both computers shut themselves down. This resulted in the total loss of attitude control. The Ariane 5 turned uncontrollably and aerodynamic forces broke the vehicle apart. This breakup was detected by an on-board monitor which ignited the explosive charges to destroy the vehicle in the air. Ironia: o resultado desta conversão não era mais necessário após a decolagem...
  4. a program segment for converting a floating point number to asigned 16 bit integer was executed with an input data value outside the range representable by a signed 16 bit integer. This run time error (out of range, overflow), which arose in both the active and the backup computers at about the same time, was detected and both computers shut themselves down. This resulted in the total loss of attitude control. The Ariane 5 turned uncontrollably and aerodynamic forces broke the vehicle apart. This breakup was detected by an on-board monitor which ignited the explosive charges to destroy the vehicle in the air. Ironia: o resultado desta conversão não era mais necessário após a decolagem...