Visão Geral
Curso Confiabilidade de Software, abrange todos os conceitos, ferramentas e métodos para prever a confiabilidade do software antes de escrever o código. O treinamento em confiabilidade de software fornece todo o conhecimento e as técnicas necessárias para aplicar a confiabilidade de software de forma prática em projetos do mundo real.
A confiabilidade do software é a probabilidade de o software operar sem falhas por um determinado período de tempo sob condições ambientais específicas. A confiabilidade do software é um fator crucial que afeta a confiabilidade do sistema, tanto de hardware quanto de fatores humanos. Existem vários métodos e técnicas para melhorar a confiabilidade do software com um equilíbrio adequado de tempo e orçamento. Além disso, a alta confiabilidade do software é significativamente crucial na área de segurança cibernética.
Conteúdo Programatico
Visão geral
- História da confiabilidade do software
- Definição de confiabilidade de software
- Termos de confiabilidade de software
- Fontes de falhas de software
Ciclo de Vida do Software
- Atividades do ciclo de vida
- Modelos de ciclo de vida
- Perfis de falhas, mão de obra e custos ao longo do ciclo de vida
- Ciclos de Vida de Desenvolvimento de Software (SDLC)
- Fases de desenvolvimento
- Verificação e validação
- Inspeção de software, demonstração, teste, análise
- O que constitui o teste
Teste de software
- Definição de teste de software
- Por que testar?
- O que compõe o teste?
- O que incluir na amostra de teste
- Como selecionar a amostra de teste
- Quantas entradas devem ser testadas
- Limitações de teste
Análise de segurança de software
- O problema
- O que você pode aprender com “n” sucessos?
- Extensões
- Formulários
Fatores que afetam a confiabilidade do software
- Tipo de aplicação
- Metodologias
- Características do produto
- Teste/verificação
- Agendar
- Manutenção
- Perfil operacional/do usuário
Visão geral dos modelos de confiabilidade de software
- Tipos de modelos de confiabilidade de software
- Nomenclatura usada na modelagem
- Suposições dos modelos
Dados Necessários para Modelos
- Tipos de dados
- Dados mínimos de falha necessários
- Configurando o sistema de coleta de dados
- Causa-raiz analisando dados incorretos
Modelos de previsão de confiabilidade de software
- modelos de previsão
- Laboratório de Roma TR-92-52
- Laboratório de Roma TR-92-15
- Modelo de tempo de execução de Musa
- modelo de Putnam
- Coleta de dados históricos
Modelos de estimativa de confiabilidade de software
- Objetivos
- Tipos de modelos de estimativa
- Contagem de falhas
- Exponencial
- Modelo Shooman
- Modelo Lloyd-Lipow
- Modelo Básico de Musa
- Modelo Logarítmico de Musa Modelo Goel-Okumoto
- Modelo de Coleta de Dados Históricos Modelos Weibull
- Modelo de cobertura de teste
- Modelo de cobertura de teste IEEE
- Modelo de cobertura de teste de Leone
- Modelo de sucesso de teste
- Modelos de marcação
- Semeando
- Modelo de grupo de teste duplo
- modelos bayesianos
- Modelo de Thompson e Chelson
- Qualidade de ajuste
Métricas de confiabilidade de software
- Objetivos
- Métricas a serem aplicadas de acordo com a capacidade do seu processo
- Métricas aplicadas na indústria
- Métricas usadas incorretamente
Árvores de falhas de software
- Por que a árvore de falhas é usada?
- Aplicando árvores de falhas ao software
FMEAs de software
- Por que o FMEA é usado?
- Aplicando FMEAs ao software
- Processo e modelo de FMEA do Software
Confiabilidade do sistema Redundância de software
- Configuração da série
- Missão orientada
- Semi-Markov
- Concorrente paralela
- redundância de votação
Melhorando a confiabilidade do software
- Avaliando seu produto e processo
- Técnicas para melhorar a confiabilidade do software
Gerenciando a Confiabilidade do Software
- Matriz de responsabilidades
- Custo benefício da melhoria
Confiabilidade Numérica
- Referência de estrutura
- Erros em uma única operação aritmética
- Erros de cálculo para uma computação inteira