Engenharia de software
Aula 02
Tópicos da Aula
Engenharia de Software: Conceitos Fundamentais
Motivação e Conceitos Fundamentais Leis de Lehman (Evolução de Software) Engenharia de Software: Visão Geral Desenvolvimento de sistemas
Visões do sistema (charge) Atividades principais
Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo figueiredo@dcc.ufmg.br
05 Agosto 2010
Revisão
O que é software?
Motivação e Conceitos Fundamentais
Programa de computador + Documentação Classificação fundamental
Produtos genéricos (ex. MS Office) Produtos encomendados (ex. Locadora do Zé)
Crise do Software (1968)
Custos de hardware caindo Custos do software subindo Avanços em hardware
Permitem desenvolvimento de sistemas cada vez mais complexos
Software está em todo lugar
Resultado (software)
Custos altos, projetos atrasados, sistemas não confiáveis, desempenho insatisfatório, etc...
1
Desafios de Produzir Software
Confiabilidade Exemplo: Vôo Air France Rio - Paris
1. Dados conflitantes (falha nos sensores) 2. Sistema assume o controle (piloto automático) 3. Piloto tenta reiniciar o sistema (boot) 4. Em 4 minutos o avião mergulha no oceano
The Last Four Minutes of Air France Flight 447. http://www.spiegel.de/international/world/0,1518,679980,00.html
Desafios de Produzir Software
Preço e desempenho Celular
Pouco espaço na memória Grande variação em características de aparelhos
Desafios de Produzir Software
Sistemas Críticos Equipamentos médicos
Extremamente críticos Lidam com vidas
Em Resumo...
O desenvolvimento informal de software não é suficiente
Técnicas e métodos são necessários
Algumas dificuldades Caixas eletrônicos
Prejuízos financeiros Heterogeneidade Prazo de entrega Mudança contínua
O que é Engenharia de Software?
A Engenharia de Software é uma disciplina de engenharia relacionada a todos os aspectos de produção de software. Ian Sommerville Foco no desenvolvimento de software de alta qualidade dentro de