Oportunidades de Pesquisa em
Engenharia de Software
Onde existe software?
• 98% dos microprocessadores não estão nos
computadores, mas embutidos em produtos
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
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
Weinberg's Law.
• "If builders built buildings the way
programmers wrote programs, then the first
woodpecker that came along would destroy
civilization.“
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
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
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
• 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
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
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
Corpo de Conhecimento da Engenharia
de Software (SWEBOK)
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
Ex. de sistema complexo
Como construir um SW para controlar um sistema de
controle de transportes distribuído em tempo real?
Qualidade de Software
• Qualidade de processos de
desenvolvimento de software
• Métricas de projeto
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.
Perguntas/Dúvidas
• Prof. Michel Soares
• http://lattes.cnpq.br/5953076413314506
• mics.soares@gmail.com

Oportunidades de Pesquisa em Engenharia de Software

  • 1.
    Oportunidades de Pesquisaem Engenharia de Software
  • 2.
    Onde existe software? •98% dos microprocessadores não estão nos computadores, mas embutidos em produtos
  • 4.
    O que acontecequando 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 acontecequando 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. • "Ifbuilders built buildings the way programmers wrote programs, then the first woodpecker that came along would destroy civilization.“
  • 8.
    Apolo 11 • TheApollo 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 systemat 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: WindowsNT 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 fazerIC? • Aprender mais que apenas as disciplinas • Participar de projetos de pesquisa • Ter o nome em publicações regionais, nacionais e internacionais • Trilha para mestrado
  • 14.
    Corpo de Conhecimentoda Engenharia de Software (SWEBOK)
  • 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 sistemacomplexo 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.
  • 19.
    Perguntas/Dúvidas • Prof. MichelSoares • http://lattes.cnpq.br/5953076413314506 • mics.soares@gmail.com