O documento discute os riscos de falhas em sistemas de software complexos, citando exemplos históricos como o acidente do foguete Ariane 5 e as mortes causadas por uma máquina de radioterapia. Também aborda oportunidades de pesquisa em engenharia de software, como arquitetura de software, qualidade de processos e sistemas intensivos em software.
2. Onde existe software?
• 98% dos microprocessadores não estão nos
computadores, mas embutidos em produtos
3.
4. O que acontece quando o software
falha?
• Explosão do foguete Ariane 5 (conversão
de 64 bits para um inteiro de 16 bits)
• O foguete se auto-destruiu em 37
segundos
• Perda estimada: U$500M
5. O que acontece quando o software
falha?
• Máquina de radioterapia Therac-25
• Overdose de radiação a vários pacientes
entre 1975 e 1987
• 6 mortes
• “… primary reason should be attributed to the
bad software design and development
practices”
• Erros:
▫ Práticas da Engenharia de Software não foram
usadas
▫ Projeto de software mal-feito
▫ testes mal-feitos
6. Weinberg's Law.
• "If builders built buildings the way
programmers wrote programs, then the first
woodpecker that came along would destroy
civilization.“
7.
8. Apolo 11
• The Apollo 11 lunar landing
would have been impossible
had it not been for software
engineering. But today, with
commercial pressures,
software engineering is in
danger.
• In 1969 IBM described the
6Mbyte programs it
produced for the Apollo
mission as "among the most
complex ever written“
▫ 145KLOC
▫ RAM: 2K
▫ ROM: 32K
9. Complexidade de software
• Em 1981, carros da
GM possuiam 50 000
linhas de código.
• Atualmente os veículos
possuem
▫ 100 milhões de
linhas de código e
▫ no mínimo 30
microprocessadores
10. Baggage handling system at the new
Denver International Airport
• Iniciado em 1991
• Sistema muito mais
complexo que o imaginado
▫ Rede de mais de 100 PC’s
• Atraso de 16 meses para
iniciar operações no
aeroporto
• US$560M de prejuízo
▫ US$1,1M por dia !!!
• Abandonado em 2005
• Nunca subestimem a
complexidade do software
11. • 1993: Windows NT 3.1 - 6 MLOC
• 1994: Windows NT 3.5 - 10 MLOC
• 1996: Windows NT 4.0 - 16 MLOC – 1,5K persons
• 2000: Windows 2000 - 29 MLOC - 3,1K persons
• 2002: Windows XP - 40 MLOC - 4K persons
• 2007: Windows Vista - ~50 MLOC - ~5K persons
12. Oportunidades de IC
• O que é Iniciação Científica?
• Bolsas remuneradas
▫ R$400,00
▫ Dedicação
20 h/sem
• IC voluntária
▫ Dedicação
20 h/sem
13. Por que fazer IC?
• Aprender mais que apenas as disciplinas
• Participar de projetos de pesquisa
• Ter o nome em publicações regionais,
nacionais e internacionais
• Trilha para mestrado
15. Temas de Pesquisa
• Arquitetura de Software
• Requisitos de Software
• Projeto de Software
• Linguagens de modelagem - UML, SysML,
MARTE, Redes de Petri, Lógica Linear
• Orientação a Aspectos
• Qualidade de Processos de Software
• Software-Intensive Systems
• Service-Oriented Architecture
16. Ex. de sistema complexo
Como construir um SW para controlar um sistema de
controle de transportes distribuído em tempo real?
17. Qualidade de Software
• Qualidade de processos de
desenvolvimento de software
• Métricas de projeto
18. Resumindo
• Se você for construir sozinho uma casinha
de cachorro, não precisa usar engenharia
• Mas ...
▫ Para sistemas médios e grandes,
complexos, críticos, que podem causar
grandes danos, usar engenharia de
software deve ser obrigatório.