Confiabilidade de Software Completo
Transcript of 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
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
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
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
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
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
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
Recovery BlocksPossíveis Falhas
Falha do Teste de
Aceitação
TimeOut
Erro de Código
Exceção provocada por um RB
interno
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);
N – Version Programming
Versão 1
Versão 2
Versão N
ENTRADAAlgoritmo
de Decisão
SAÍDA
NVP: Pré-Requisitos
NVP
Linguagens diferentes
Compiladores diferentes
Algoritmos diferentes
Equipes diferentes
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.
NVP: Algoritmo de Decisão
Comparação de votos
Comparação consistente
Múltiplas saídas
Ponto flutuante
NVP: Principais Características
Saídas sempre corretas
Custo elevadoMascaramento
de falhas
Auditora de SoftwareGrupo ou individual (um ou mais
entrevistados);Procedimentos, politicas e requisitos;
◦ Registro e fatos;Trata de não-conformidades;
Auditora de SoftwarePlanejando:
◦Objetivos;◦Não conformidades;◦Produto ou processo?;◦Como será realizada;◦Cronograma.
Freqüência depende do projeto ou organização.
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.
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
Auditora de Software
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