sexta-feira, 6 de fevereiro de 2009

Engenharia de Software














Engenharia de Software
- Introdução






O que é Software?
 Segundo (Pressman, 2000):
 instruções (programas de computador) que, quando executadas, produzem a função e o desempenho desejados;
 estruturas de dados que possibilitam que programas manipulem adequadamente as informações;
 Documentos que descrevem a operação e uso dos programas.
 Segundo (Sommerville, 2002):
 Software é o conjunto de programas de computador,juntamente com a documentação e os dados de configuração necessários à sua operação

Características do Software
 É o Produto da Engenharia de Software.
 O Software é desenvolvido ou projetado por engenharia, não é fabricado no sentido clássico.
 Software não “se desgasta”
 Software não é sensível aos problemas ambientais que fazem com que o hardware se desgaste
 Toda falha indica erro de projeto ou implementação: manutenção do SW é mais complicada que a do HW
 Software não dá “avisos” de que pode falhar mais tarde. Em eletrônica, por exemplo, várias observações podem ser feitas periodicamente nos sinais para verificar o potencial de mau funcionamento.

O que é um software de qualidade?
 O software que satisfaz os requisitos solicitados pelo usuário. Deve ser fácil de manter, ter bom desempenho,ser confiável e fácil de usar.
 Alguns atributos de qualidade
 Manutenibilidade
 O software deve evoluir para atender os requisitos que mudam
 Eficiência
 O software não deve desperdiçar os recursos do sistema
 Usabilidade
 O software deve ser fácil de usar pelos usuários para os quais ele foi projetado

Qualidade de Software
(Um exemplo para varejo)
 Correto
 A loja não pode deixar de cobrar por produtos comprados pelo consumidor
 Robusto e altamente disponível
 A loja não pode parar de vender
 Eficiente
 O consumidor não pode esperar
 A empresa quer investir pouco em recursos computacionais(CPU, memória, rede)
 Amigável e fácil de usar
 A empresa quer investir pouco em treinamento






Qualidade de Software
(Um exemplo para varejo)
 Altamente extensível e adaptável
 A empresa tem sempre novos requisitos (para ontem!)
 A empresa quer o software customizado do seu jeito(interface,teclado, idioma, moeda, etc.)
 Aberto, compatível, de fácil integração com outros sistemas
 A empresa já tem controle de estoque, fidelização, etc.
 Portável e independente de plataforma (hw e sw)
 A empresa opta por uma determinada plataforma
 Baixo custo de instalação e atualização
 A empresa tem um grande número de PDVs .Mas...temos a crise de software
 Refere-se a um conjunto de problemas encontrados no desenvolvimento de software
 25% dos projetos são cancelados
 75% dos sistemas não funcionam como planejado
 os problemas são proporcionais a complexidade dos sistemas




Crise de Software
 1. As estimativas de prazo e de custo frequentemente são imprecisas
 O tempo de desenvolvimento é bem maior do que o estimado
 “Não dedicamos tempo para coletar dados sobre o processo de desenvolvimento de software”
 2. A produtividade das pessoas da área de software não tem acompanhado a demanda por seus serviços
 “Os projetos de desenvolvimento de software normalmente são efetuados apenas com um vago indício das exigências do cliente”

Crise de Software
 3. A qualidade de software às vezes é menos que adequada
 Só recentemente começam a surgir conceitos quantitativos sólidos de garantia de qualidade de software
 4. O software existente é muito difícil de manter
 A tarefa de manutenção devora o orçamento destinado ao software
 A facilidade de manutenção não foi enfatizada como um critério importante

Crise de Software
 estimativas de prazo e de custo ↑
 produtividade das pessoas ↓
 qualidade de software ↓
 software difícil de manter ↑




Causas da crise de software
 Causas mais óbvias
Pouco tempo dedicado para coletar dados sobre o desenvolvimento do software - resulta
em estimativas “a olho”
Comunicação entre o cliente e o desenvolvedor é muito fraca
Falta de testes sistemáticos e completos
Foguete Ariane 5

Foguete Ariane 5
 Projeto da Agência Espacial Européia que custou:
 10 anos.
 US$ 8 Bilhões
 Capacidade 6 toneladas.
 Garante supremacia européia no espaço.

Foguete Ariane 5
 Vôo inaugural em 04 de junho de 1996 Resultado
 Explosão 40 segundos após a decolagem.
 Destruição do foguete e carga avaliada em US$ 500milhões.

O que aconteceu?
 Fato: o veículo detonou suas cargas explosivas de autodestruição e explodiu no ar.
 Por que?Porque ele estava se quebrando devido às forças aerodinâmicas. Mas por que?
 O foguete tinha perdido o controle de direção.Causa disso?
 Os computadores principal e back-up deram shut-down ao mesmo tempo.

O que aconteceu?
 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.Ironia...
 O resultado desta conversão não era maisnecessário após a decolagem...Boeing 787 Dreamliner
 O novo Boeing 787 Dreamliner oferece serviço de acesso à Internet aos seus passageiros. Boa idéia?
 SIM, mas não se a rede de acesso à Internet permitir também aceder aos sistemas de controle do próprio avião...

Nenhum comentário: