Você está na página 1de 22

1

ENGENHARIA DE
SOFTWARE
UNIDADE 1 Introduo Engenharia de Software
(Aula 2 Aspectos Conceituais)
Prof. Ivan Nunes da Silva
2
Introduo
O Software ultrapassou o Hardware
como chave para o sucesso de muitos
sistemas baseados em computador
(Pressman).
2
3
Atributos do Software
Completude da
informao
user-friendlyness
web-enhanced
inteligncia
funcionalidade
compatibilidade
suporte
Tornam um
produto
melhor que
outro
4
A Importncia do Software
Durante as 3 primeiras dcadas da
era do computador, o principal
desafio era desenvolver um
HARDWARE de baixo custo e alto
desempenho.
O hoje o desafio melhorar a
qualidade (e reduzir os custos) das
solues baseadas em
SOFTWARE!
3
5
A Evoluo do Software
- Nova
Revoluo
Industrial
(Toffler)
- 3
a
Onda
Computao
6
Ferro (Darby, 1709)
Mquina a vapor:
Inventada (Newcomen, 1712).
Aperfeioada (WATT, 1766 - 69 -82).
Mecanizao da indstria txtil:
Tear Mecnico (Kay, 1722).
Mquina de fiar (Hargreaves, 1764).
Aspectos sociais, polticos e
econmicos.
Revoluo Industrial // 1
a
Onda
4
7
Ao (Bessemel, 1856 e 1885 - Liga).
Locomotiva a Vapor (Rede de
Transporte - 1830).
Mquina de Costura (SINGER,1851).
Motor a combusto interna:
Primeiro eficiente (OTTO, 1876).
Produo automobilstica em massa
(Daimler e Benz, 1896).
Desemprego e fim da escravido.
Revoluo Industrial // 2
a
Onda
8
Energia Nuclear (Fermi, 1942).
Uso Industrial/Comercial da Eletricidade.
Computadores Eletrnicos (ENIAC, 1946).
Transistor (Shockley et al., 1948).
Sociedade Sociedade
Industrial da Informao
transformao
Revoluo Industrial // 3
a
Onda
5
9
A Evoluo do Software
Software dividido em 4 Eras:
Primeiros anos 1950 - 1965
Segunda Era 1965 - 1975
Terceira Era 1975 - 1988
Quarta Era 1988 - (...)
10
O Que Software?
Definio - Software :
1
o
) Instrues (programas de computador)
que, quando executadas, produzem a
funo e o desempenho desejados.
2
o
) Estruturas de dados que permitem a
manipulao das informaes.
3
o
) Documentos que descrevem a operao
e uso dos programas.
6
11
Caractersticas do Software // 1
O Software desenvolvido ou
projetado por engenharia, no
manufaturado no sentido clssico:
Custos so concentrados no trabalho
de engenharia.
Projetos no podem ser geridos como
projetos de manufatura.
Fbrica de Software!
12
Software no desgasta!
Software no sensvel aos problemas
ambientais que fazem com que o
hardware se desgaste.
Toda falha indica erro de projeto ou
implementao: manuteno do SW
mais complicada que a do HW.
Toda falha de software indica falha no projeto.
Manuteno de hardware normalmente feita
por componentes de reposio.
Inexiste peas de reposio para a
manuteno de um software.
Caractersticas do Software // 2
7
13
Curvas de Falhas SWx HW
Caractersticas do Software // 3
Falhas em HW
Falhas iniciais so elevadas
devido a erros de projeto e/ou
defeitos de manufatura.
Os defeitos so corrigidos e o
ndice de falhas fica estvel.
Conforme o tempo passa os
componentes se desgastam
naturalmente (
o
C, vibrao, etc).
Falhas em SW
Falhas iniciais so relacionadas a
defeitos no descobertos.
Durante sua vida til o software
passa por manuteno,
implicando nos picos de falhas.
Antes que a curva possa retornar
ao ndice de falhas original, outra
mudana solicitada.
14
A maioria dos softwares feita sob
medida e no montada a partir de
componentes existentes.
Completamente diferente de Hardware.
Situao est mudando:
Orientao a objetos.
Reusabilidade o Grande Objetivo
(diminui custos e melhora projetos).
Caractersticas do Software // 4
8
15
Aplicaes de Software
Software Bsico.
Software de Tempo Real.
Software Comercial.
Software Cientfico ou de
Engenharia.
Software Embutido.
Software de Computador Pessoal.
Software de Inteligncia Artificial.
16
A Crise do Software
A indstria de Software tem tido
uma crise que a acompanha h
quase 30 anos.
Problemas no se limitam ao
software que no funciona
adequadamente, mas abrange:
Desenvolvimento, Testes,
Manuteno, Suprimento, etc.
9
17
Acidentes // Therac-25
Equipamento de Radioterapia.
um dos acidentes mais srios relacionados
falhas de software jamais relatados.
Entre 1985 e 1987 se envolveu em 6 acidentes,
causando mortes por overdoses de radiao.
Software escrito em assembly foi adaptado de
uma antecessora (Therac-6) e era operado por
um PDP-11:
Falhas por falta de testes integrados.
Falta de documentao.
Falta de restries de contorno.
Falta de envolvimento de tcnicos no projeto e nos
testes. Programa escrito por uma nica pessoa.
18
Acidentes // Therac-25
Foi envolvida em 6
acidentes srios.
Todos os acidentes
envolveram morte
ou deixaram
seqelas para o
resto da vida.
Causou morte por
overdose de
radiao.
Total negligncia
dos responsveis
pela mquina.
10
19
Acidentes // Denver Int. Airport
Custo do projeto: US$ 4.9 bilhes
100 mil passageiros por dia.
1.200 vos.
53 milhas quadradas.
94 portes de embarque e desembarque.
6 pistas de pouso/decolagem.
20
Acidentes // Denver Int. Airport
Erros no sistema automtico de transporte de
bagagens (descarregamento falho, roteamento
incorreto, emperramento sbido, etc):
Atraso na abertura do aeroporto com custo total
estimado em US$360 Milhes.
86 milhes para consertar o sistema.
11
21
Acidentes // Ariane 5
22
Acidentes // Ariane 5
Projeto da Agncia
Espacial Europia que
custou:
10 Anos.
US$ 8 Bilhes.
Capacidade de carga
para 6 toneladas.
Garante supremacia
europia no espao.
12
23
Vo Inaugural em 04/06/1996.
Acidentes // Ariane 5
24
Exploso 40 segundos
aps a decolagem.
Destruio do foguete e
carga (4 satlites)
avaliadas em US$ 500
milhes.
Resultados do Vo Inaugural:
Acidentes // Ariane 5
13
25
O Que Aconteceu (I):
Fato: o veculo detonou suas cargas
explosivas de autodestruio e explodiu
no ar. Por que?
Porque ele estava se quebrando devido
s foras aerodinmicas. Mas por que?
O foguete tinha perdido o controle de
direo (atitude). Qual a causa disso?
Os computadores principal e backup deram
shutdown ao mesmo tempo.
Acidentes // Ariane 5
26
O Que Aconteceu (II):
Por que o Shut-down? Ocorrera um run
time error (out of range, overflow , ou
outro) e ambos computadores se
desligaram. De onde veio este 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 para um
inteiro.
Acidentes // Ariane 5
14
27
Especificamente, O Que Faltou?
Acidentes // Ariane 5
strict precondition 1:
{Set." x" =FLPT and Set." y" =INT16
and -32768 <=x <=+32767 }
program code:
y := int(x);
28
Uma Ironia do Software:
Acidente // Ariane 5
O resultado desta converso no era
mais necessrio aps a decolagem...
15
Incidente // Avio Lufthansa
29
Incidente // Avio Lufthansa
30
16
Incidente // Avio Lufthansa
O Que Aconteceu (I):
Fato: durante o procedimento de
aterrissagem o avio toca a pista com a
asa esquerda.
Condies climticas: fortes ventos.
Interpretao equivocada do software
em relao aos comandos adquiridos
pelo sistema.
31
Incidente // Avio Lufthansa
O computador de bordo do vo muda
automaticamente do modo flight-
approach para o modo ground de forma
com que as rodas toquem a pista
rapidamente.
Uma vez no modo ground, no mais
permitido manipular as asas
bruscamente, igual ao que o piloto
poderia fazer para compensar os fortes
ventos.
32
17
Incidente // Avio Lufthansa
O computador assumiu o controle do
avio e corrigiu as aes de emergncia
do piloto, fazendo o avio se inclinar
violentamente.
O avio estava sendo pilotado
aparentemente pelo computador durante
3 segundos, antes do piloto conseguir
novamente retomar o controle e evitar a
coliso.
33
34
Problemas Com Software
A sofisticao do software ultrapassou
nossa capacidade de construo.
Nossa capacidade de construir
programas no acompanha a demanda
por novos programas.
Nossa capacidade de manter programas
ameaada por projetos ruins.
18
35
Perguntas que ES quer Responder:
Porque demora tanto para concluir um
projeto (no cumprimos prazos)?
Porque custa tanto (uma ordem de
magnitude a mais)?
Porque no descobrimos os erros antes
de entregar o software ao cliente?
Porque temos dificuldade de medir o
progresso enquanto o software est
sendo desenvolvido?
36
Causas bvias dos Problemas
No dedicamos tempo para coletar
dados sobre o desenvolvimento do
software - resulta em estimativas
cruas .
Comunicao entre o cliente e o
desenvolvedor muito fraca.
Falta de testes sistemticos e
completos.
19
37
Causas Menos bvias
O Software desenvolvido ou projetado
por engenharia, no manufaturado no
sentido clssico.
Gerentes sem background em
desenvolvimento de SW.
Profissionais recebem pouco
treinamento formal.
Falta investimento (em ES).
Falta mtodos e automao.
38
Mitos do Software (Administrativos)
Um manual oferece tudo que se precisa
saber.
Computadores de ltima gerao
solucionam problemas de
desenvolvimento.
Se estamos atrasados, basta adicionar
programadores e tirar o atraso.
20
39
Mitos do Software (Cliente)
Uma declarao geral suficiente
para comear a escrever
programas.
Mudanas podem ser facilmente
acomodadas em um projeto
Ver Figura Pressman // Pag. 28.
40
Mitos do Software (Desenvolvedor)
Um programa est terminado ao
funcionar.
Quanto mais cedo escrever o cdigo,
mais rpido terminarei o programa.
S posso avaliar a qualidade de um
programa em funcionamento.
A nica coisa a ser entregue em um
projeto o programa funcionando.
21
41
Engenharia de Software o
estabelecimento e uso de slidos
princpios de engenharia para que
se possa obter economicamente
um software que seja confivel e
que funcione eficientemente em
mquinas reais
METODOLOGIA!
Engenharia de Software (Definio)
42
Engenharia de Software (Abrangncia)
EngSoft possui 3 elementos fundamentais:
Mtodos: como fazer .
Ferramentas: apoio automatizado aos mtodos.
Procedimentos: elo de ligao entre os mtodos
e as funes do software.
Existem diversos Paradigmas de
Engenharia de Software:
Abordagens que envolvem os mtodos,
ferramentas e procedimentos descritos acima.
22
43
Engenharia de Software (Paradigmas)
Existem dezenas.
As 4 principais so:
Ciclo de Vida Clssico (modelo Cascata).
Prototipagem.
Incremental.
Espiral.
44
Concluso
Software elemento chave para o
sucesso. Mas:
Software no hardware.
Software no fcil.
Software pode trazer elevados
prejuzos.
Software gera responsabilidade para
quem o desenvolveu.

Você também pode gostar