Curso: Ciênc. da Computação
Engenharia e Qualidade de
Software
Aula (2) : Visão Geral - Engenharia de Software
Professor: Luiz Sérgio A. Silva
[email protected]
Colaboração:
Prof. Gregorio Perez
Escopo da Engenharia de
Software
• Aspectos Históricos
– 1968 Conferência da OTAN
– Objetivo: Resolver a “Crise do Software”
– Software entregue:
• atrasado
• fora do orçamento
• com falhas residuais
Engenharia e Qualidade de Software - Prof. Luiz Sérgio A. Silva
Escopo da Engenharia de
Software
• 1979 – Comando Estratégico do Ar
– Iniciou contra-ataque à URSS
– Simulação interpretada como ataque real
• 1991 – Guerra do Golfo
– 28 mortos, 98 feridos
– Sincronia dos mísseis Patriot
• 1985-87 Therac – 25 (Sistema Médico)
– Pelo menos 2 pacientes mortos por radiação
– Software de controle de dose
Engenharia e Qualidade de Software - Prof. Luiz Sérgio A. Silva
Escopo da Engenharia de
Software
• O estabelecimento e uso dos princípios
da Engenharia a fim de obter software de
baixo custo que seja confiável e trabalhe
com eficiência em máquinas reais
Fratz Bauer, 1969
Por que não construir um software como se
fosse uma ponte ?
Engenharia e Qualidade de Software - Prof. Luiz Sérgio A. Silva
Software
• Instruções
– Quando
executadas,
desempenho desejados
produzem
função
e
• Estrutura de Dados
– Possibilitam que os programas
adequadamente a informação
manipulem
• Documentos
– Descrevem a operação e uso dos programas
Engenharia e Qualidade de Software - Prof. Luiz Sérgio A. Silva
Software - Características
Hardware
• Software
– Desenvolvido
– Não se Desgasta
(se deteriora)
– Feito sob medida
Construído
se Desgasta
Montado a partir de
componentes
existentes
Sistemas
Mais Especializado -> Menor capacidade de
adaptação
Maior -> mais recursos para manutenção
Engenharia e Qualidade de Software - Prof. Luiz Sérgio A. Silva
Índice de Falhas
Curva de Falha para Hardware
“mortalidade
infantil”
“desgaste”
tempo
Engenharia e Qualidade de Software - Prof. Luiz Sérgio A. Silva
Curva de Falha para Software
mudança
Índice de Falhas
Novos picos de falhas devido à mudança
Curva Real
Curva Idealizada
tempo
Engenharia e Qualidade de Software - Prof. Luiz Sérgio A. Silva
Escopo da Engenharia de
Software
Engenharia de Software
não é “Engenharia”
• A aplicação de uma abordagem
sistemática, disciplinada e quantitativa
para o desenvolvimento, operação e
manutenção do software
Engenharia e Qualidade de Software - Prof. Luiz Sérgio A. Silva
Software - Aplicações
• Básico (de Sistema)
– programas escritos para dar apoio a outros programas
• Tempo Real
– monitora, analisa e controla eventos do mundo real
• Comercial
– sistemas de operações comerciais e tomadas de
decisões administrativas
• Científico e de Engenharia
– caracterizado por algoritmos de processamento de
números
Engenharia e Qualidade de Software - Prof. Luiz Sérgio A. Silva
Software - Aplicações
• Embutido (Embarcado)
– usado para controlar produtos e sistemas para os
mercados industriais e de consumo
• Computador Pessoal
– envolve processamento de textos, planilhas eletrônicas,
diversões, etc.
• Inteligência Artificial
– faz uso de algoritmos não numéricos para resolver
problemas que não sejam favoráveis à computação ou à
análise direta
Engenharia e Qualidade de Software - Prof. Luiz Sérgio A. Silva
Software - Evolução
• 1950 – 1965 (eram as trevas...)
Software
Hardware
Contínuas mudanças
De Propósito Geral
Você escreve, você roda e,
se falhar, você conserta
1950
1960
2010
1970
Arte Secundária
poucos métodos
sistemáticos
Aplicações
Específicas
Distribuição Limitada
Nenhuma
Documentação
1980
1990
Engenharia e Qualidade de Software - Prof. Luiz Sérgio A. Silva
2000
Software - Evolução
• 1965 – 1975 (Segunda Era)
–
–
–
–
–
–
1950
Multiprogramação e sistemas Multiusuário
Técnicas Interativas
Tempo Real
Banco de Dados
Produto Software – software houses
Manutenção quase impossível
Crise do Software
1960
1970
1980
1990
Engenharia e Qualidade de Software - Prof. Luiz Sérgio A. Silva
2000
2010
Software - Evolução
• 1975 – 1985 (Terceira Era)
(e ainda hoje)
– Sistemas Distribuídos
– Redes Locais
– Produtos Inteligentes (uso generalizado)
– Equipamento (Hardware) de baixo custo
– Impacto do Consumidor
1950
1960
1970
1980
1990
Engenharia e Qualidade de Software - Prof. Luiz Sérgio A. Silva
2000
2010
Software - Evolução
• 4a Geração (1985 – ... )
–
–
–
–
–
–
1950
Sistemas Desktop poderosos
Tecnologia Orientada a Objetos
Sistemas Especialistas
Redes Neurais Artificiais
Computação Paralela
Redes
1960
1970
1980
1990
Engenharia e Qualidade de Software - Prof. Luiz Sérgio A. Silva
2000
2010
Software - Evolução
• Atualmente
– Sistemas Desktop poderosos
– Sistemas Integrados
• ERP é uma necessidade, não um luxo
– Tecnologia Orientada a Serviços
– Web Services
Atualmente
1950
1960
1970
1980
1990
Engenharia e Qualidade de Software - Prof. Luiz Sérgio A. Silva
2000
2010
Crise do Software
Crise ? Que Crise ?
• A chamada crise do software está mais próxima
de um mal crônico do que de uma crise
• Já existe a mais de 30 anos e não tem
perspectiva de chegar ao fim
• Falhas de software recebem mais publicidade
do que as histórias de sucesso
Engenharia e Qualidade de Software - Prof. Luiz Sérgio A. Silva
Crise do Software
• Estimativas de Prazo e Custo
• Produtividade
das
pessoas
não
acompanha a demanda pelos serviços
• Qualidade do software é, por vezes,
menos que adequada
• Software existente de difícil manutenção
Engenharia e Qualidade de Software - Prof. Luiz Sérgio A. Silva
Crise do Software - Causas
• Caráter do Software
– Elemento lógico (não físico) do sistema
• Falhas
dos
Responsáveis
Desenvolvimento
pelo
– Resistência a Mudanças
• “Mitos” do Software
– Propagação de desinformação e confusão
Engenharia e Qualidade de Software - Prof. Luiz Sérgio A. Silva
Mitos do Software
• Administrativos
– Manual com todos os procedimentos
disponível é suficiente
– Possuir o “estado da arte” em ferramentas
de desenvolvimento de software
– Adicionar programadores para recuperar o
atraso
Engenharia e Qualidade de Software - Prof. Luiz Sérgio A. Silva
Mitos do Software
• Clientes
– Declaração geral dos objetivos
– Requisitos do projeto mudam. Mudanças
podem ser ajustadas, pois o software é
flexível
Engenharia e Qualidade de Software - Prof. Luiz Sérgio A. Silva
Mitos do Software
• Impacto da Mudança
100
Definição
80
Desenvolvimento
60
Após Lançamento
60 – 100 x
40
20
0
1X
1.5-6x
Fonte: Roger Pressman
Software Engineering
Fourth Edition, McGrawHill, 1997
Engenharia e Qualidade de Software - Prof. Luiz Sérgio A. Silva
Mitos do Software
• Desenvolvedor
– Trabalho acaba quando o software entrar
em funcionamento
– Não há como avaliar a qualidade de um
programa
que
não
estiver
em
funcionamento
– A entrega de um projeto de sucesso é a
entrega de um programa funcionando
Engenharia e Qualidade de Software - Prof. Luiz Sérgio A. Silva
Mitos do Software
• Custo de
cada Fase
Fonte: Stephen R. Schach
Object-Oriented and Classical
Software Engineering
Fifth Edition, WCB/McGraw-Hill, 2002
Engenharia e Qualidade de Software - Prof. Luiz Sérgio A. Silva
Questões
•
O que é Engenharia de Software ? Qual a sua origem ?
•
Engenharia de Software não é Engenharia. A afirmação está
certa ou errada ? Comente
•
Qual a diferença entre Engenharia de Software e Ciências da
Computação ?
•
Um fornecedor de ferramentas de produtividade está oferecendo
um produto a baixo custo que permite desenvolver um software
na metade do tempo que o produto que sua empresa está
utilizando atualmente. Você recomenda a compra do produto ?
Justifique.
Engenharia e Qualidade de Software - Prof. Luiz Sérgio A. Silva
Questões
•
Explique sucintamente a evolução do software.
•
O que é a Crise do Software ? Comente.
•
Discuta 3 mitos do software.
•
O custo da manutenção de um projeto é relevante ? Discuta.
Engenharia e Qualidade de Software - Prof. Luiz Sérgio A. Silva
Obrigado à Todos
Até a próxima
aula..!!!!
Download

Curso: Ciênc. da Computação Engenharia e Qualidade de Software