SlideShare una empresa de Scribd logo
1 de 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
?

Más contenido relacionado

Similar a 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 a 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
 

Último

Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalJacqueline Cerqueira
 
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxOsnilReis1
 
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
activIDADES CUENTO  lobo esta  CUENTO CUARTO GRADOactivIDADES CUENTO  lobo esta  CUENTO CUARTO GRADO
activIDADES CUENTO lobo esta CUENTO CUARTO GRADOcarolinacespedes23
 
A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.silves15
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxLuizHenriquedeAlmeid6
 
Bullying - Texto e cruzadinha
Bullying        -     Texto e cruzadinhaBullying        -     Texto e cruzadinha
Bullying - Texto e cruzadinhaMary Alvarenga
 
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -Aline Santana
 
UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfManuais Formação
 
Universidade Empreendedora como uma Plataforma para o Bem comum
Universidade Empreendedora como uma Plataforma para o Bem comumUniversidade Empreendedora como uma Plataforma para o Bem comum
Universidade Empreendedora como uma Plataforma para o Bem comumPatrícia de Sá Freire, PhD. Eng.
 
D9 RECONHECER GENERO DISCURSIVO SPA.pptx
D9 RECONHECER GENERO DISCURSIVO SPA.pptxD9 RECONHECER GENERO DISCURSIVO SPA.pptx
D9 RECONHECER GENERO DISCURSIVO SPA.pptxRonys4
 
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
 
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniModelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniCassio Meira Jr.
 
GÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - CartumGÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - CartumAugusto Costa
 
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
 
Música Meu Abrigo - Texto e atividade
Música   Meu   Abrigo  -   Texto e atividadeMúsica   Meu   Abrigo  -   Texto e atividade
Música Meu Abrigo - Texto e atividadeMary Alvarenga
 
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Mary Alvarenga
 
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxLuizHenriquedeAlmeid6
 
ELETIVA TEXTOS MULTIMODAIS LINGUAGEM VER
ELETIVA TEXTOS MULTIMODAIS LINGUAGEM VERELETIVA TEXTOS MULTIMODAIS LINGUAGEM VER
ELETIVA TEXTOS MULTIMODAIS LINGUAGEM VERDeiciane Chaves
 
Slides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptxSlides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptxSilvana Silva
 

Último (20)

Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem Organizacional
 
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
 
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
activIDADES CUENTO  lobo esta  CUENTO CUARTO GRADOactivIDADES CUENTO  lobo esta  CUENTO CUARTO GRADO
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
 
A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
 
Bullying - Texto e cruzadinha
Bullying        -     Texto e cruzadinhaBullying        -     Texto e cruzadinha
Bullying - Texto e cruzadinha
 
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
 
UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdf
 
Universidade Empreendedora como uma Plataforma para o Bem comum
Universidade Empreendedora como uma Plataforma para o Bem comumUniversidade Empreendedora como uma Plataforma para o Bem comum
Universidade Empreendedora como uma Plataforma para o Bem comum
 
D9 RECONHECER GENERO DISCURSIVO SPA.pptx
D9 RECONHECER GENERO DISCURSIVO SPA.pptxD9 RECONHECER GENERO DISCURSIVO SPA.pptx
D9 RECONHECER GENERO DISCURSIVO SPA.pptx
 
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
 
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniModelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
 
GÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - CartumGÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
 
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
 
Música Meu Abrigo - Texto e atividade
Música   Meu   Abrigo  -   Texto e atividadeMúsica   Meu   Abrigo  -   Texto e atividade
Música Meu Abrigo - Texto e atividade
 
CINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULACINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULA
 
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
 
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
 
ELETIVA TEXTOS MULTIMODAIS LINGUAGEM VER
ELETIVA TEXTOS MULTIMODAIS LINGUAGEM VERELETIVA TEXTOS MULTIMODAIS LINGUAGEM VER
ELETIVA TEXTOS MULTIMODAIS LINGUAGEM VER
 
Slides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptxSlides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptx
 

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 ?

Notas del editor

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