confiabilidade de software completo

20
Confiabilidade de software Técnicas de melhoria de confiabilidade de software Carlos Eduardo Monteiro de Sá Péricles Nunes da Silva Robson Moreno da Silva

Upload: romossil

Post on 14-Jun-2015

311 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Confiabilidade de Software Completo

Confiabilidade de software

Técnicas de melhoria de confiabilidade de software

Carlos Eduardo Monteiro de SáPéricles Nunes da SilvaRobson Moreno da Silva

Page 2: Confiabilidade de Software Completo

Técnicas de Melhoria de Confiabilidade de Software

AbordagemCapacidade de Supressão de

Falhas

Programação de N versões (NVP) Total

Blocos de Recuperação (RB) Total

Auditoria de Software (AS) Parcial

Supervisão de Software (SS) Pequena

Alto Custo

Baixo Custo

Page 3: Confiabilidade de Software Completo

Processo de Recuperação de Erros

ObjetivoEstratégia SimplesCapaz de Lidar com Múltiplos erros

Tipos de Exceções

Falha ao fornecer respostas

Falha

LocaisInterface

Page 4: Confiabilidade de Software Completo

Processo de Recuperação de Erros

Atividade Normal Tratamento de Exceção

Requisição de Serviço

Resposta Normal

Retorno ao Normal

Exceção de Interface

Exceções de Falha

Exceções de Falha

Exceção de Interface

Exceções Locais

Resposta Normal

Requisição de Serviço

Page 5: Confiabilidade de Software Completo

Processo de Recuperação de Erros

JuizTratador de Execeções

V1 TE1 V2 TE2 Vn TEn

Controlador TE

Requisição de Serviço

Requisição de Serviço

Resposta Normal

Resposta Normal

Resposta Anormal

Resposta Anormal

Page 6: Confiabilidade de Software Completo

Recovery BlocksObjetivo: prevenir que falhas de determinado componente de software tenham impacto no sistema inteiro

Assegurar teste de aceitaçãoPela primeira alternativaSenão pela segunda alternativa . . .Senão pela alternativa nSenão erro

Page 7: Confiabilidade de Software Completo

Recovery Blocks

Descartar o Checkpoint

Estabelecer o Checkpoint

Restaurar o Checkpoint

Executar o teste de aceitação

Existe uma nova alternativa & o prazo não expirou?

Executar a Alternativa

Positivo

Falhou

Sinal de Exceção

Sim

RECOVERY BLOCK

Entrada

Saída

Não

Exceção de Falha

Page 8: Confiabilidade de Software Completo

Recovery BlocksPossíveis Falhas

Falha do Teste de

Aceitação

TimeOut

Erro de Código

Exceção provocada por um RB

interno

Page 9: Confiabilidade de Software Completo

N – Version Programming

Programação de N-Versões;N maior ou igual a 2;Todas as versões devem partir da mesma

especificação inicial;Versões executadas paralelamente ou

seqüencialmente;Trabalha com um sistema de votação

(algoritmo de decisão);

Page 10: Confiabilidade de Software Completo

N – Version Programming

Versão 1

Versão 2

Versão N

ENTRADAAlgoritmo

de Decisão

SAÍDA

Page 11: Confiabilidade de Software Completo

NVP: Pré-Requisitos

NVP

Linguagens diferentes

Compiladores diferentes

Algoritmos diferentes

Equipes diferentes

Page 12: Confiabilidade de Software Completo

NVP: Algoritmo de Decisão

Deve ser extremamente confiável;Usualmente elege a resposta mais

freqüente;Para 2 versões o sistema é encerrado em

caso de divergência;Resultado é avaliado e retornado para

versões errôneas;Uso conjunto de testes de aceitação.

Page 13: Confiabilidade de Software Completo

NVP: Algoritmo de Decisão

Comparação de votos

Comparação consistente

Múltiplas saídas

Ponto flutuante

Page 14: Confiabilidade de Software Completo

NVP: Principais Características

Saídas sempre corretas

Custo elevadoMascaramento

de falhas

Page 15: Confiabilidade de Software Completo

Auditora de SoftwareGrupo ou individual (um ou mais

entrevistados);Procedimentos, politicas e requisitos;

◦ Registro e fatos;Trata de não-conformidades;

Page 16: Confiabilidade de Software Completo

Auditora de SoftwarePlanejando:

◦Objetivos;◦Não conformidades;◦Produto ou processo?;◦Como será realizada;◦Cronograma.

Freqüência depende do projeto ou organização.

Page 17: Confiabilidade de Software Completo

Auditora de SoftwareDurante:

◦ Questionar;◦ Identificar melhorias e boas práticas;◦ Solicitar evidencias das informações pelos

entrevistados.Depois:

◦ Confirmar as não-conformidades identificadas;

◦ Relatório;◦ Compartilha o relatório.

Page 18: Confiabilidade de Software Completo

Auditora de SoftwarePode-se utilizar métricas:

◦# não-conformidades;◦# auditorias planejadas X #

auditorias realizadas;◦# não-conformidades fechadas por

mês.Software de auxilio ao

planejamento e execução de auditorias: SE Audit

Page 19: Confiabilidade de Software Completo

Auditora de Software

Page 20: Confiabilidade de Software Completo

Supervisão de SoftwareSistema sendo monitorado;Detectar falhas no estagio

operacional;Sistema consistente quanto as

especificações;

Metodos:◦ Inserir sinais de entrada: analisar sinais de

saída;◦ Feito por um software supervisor;◦ Relato imediato de falhas.

CUSTO MENOR

+

SEM OUTRAS VERSÕES