Sistemas Críticos, Confiabilidade e Prototipação de Software: resumo

ComputaçãoAtualizado em 187,98 KB

Resumo

O documento apresenta os conceitos de sistemas críticos, distinguindo segurança, proteção e confiabilidade, e explica como especificar requisitos a partir da análise de riscos. Aborda também métricas de confiabilidade como POFOD, ROCOF, MTTF e AVAIL, a arquitetura de software e a prototipação como forma de validar requisitos. Ao final, o estudante compreende como esses temas se relacionam no desenvolvimento de software confiável.

Pontos-chave

  • Um sistema é crítico quando uma falha pode causar perdas econômicas, danos físicos ou ambientais ou riscos à vida humana.
  • Disponibilidade é a probabilidade de o sistema estar operacional em um instante; confiabilidade é a probabilidade de operação livre de falhas durante um tempo especificado.
  • Riscos são classificados como intoleráveis, ALARP (tão baixos quanto razoavelmente praticável) ou aceitáveis.
  • Métricas de confiabilidade: POFOD (probabilidade de falha sob demanda), ROCOF (taxa de ocorrência de falhas), MTTF (tempo médio para falha) e AVAIL (disponibilidade).
  • A IEC 61508 é um padrão internacional para gerenciamento de segurança em sistemas de proteção, com níveis de integridade de 1 a 4.
  • A prototipação evolucionária refina o protótipo até o sistema final; a descartável é usada para validar requisitos e depois descartada.

Teste-se

Introdução aos Sistemas Críticos

A familiarização com a falha de sistema é essencial, pois sistemas podem entrar em colapso sem um motivo aparente. Tais falhas podem causar danos significativos, o que nos leva a tomar medidas para contornar a falta de confiança, como o uso de backups.

  • Quanto maior o grau de confiança, maior o custo.
  • Quanto maior a confiança, menor o desempenho (devido à verificação de estados e recuperação de falhas).
  • A confiança, às vezes, é mais importante que o desempenho.

Definição de Sistemas Críticos

Um sistema é considerado crítico quando uma falha pode causar:

  • Perdas econômicas;
  • Danos físicos ou ambientais;
  • Riscos à vida humana.

Nesses sistemas, o custo de uma falha é grande ou irreparável, tornando a confiança o requisito mais importante.

Tipos de Sistemas Críticos

  • Segurança: Envolve ferimentos, riscos à vida humana e danos ambientais.
  • Missão: Quando o objetivo principal não é atingido (ex: controle de aeronaves).
  • Negócios: Resulta no fracasso dos negócios que utilizam o sistema (ex: sistema bancário).

Componentes Sujeitos a Falha

  • Hardware: Erros de fabricação, fim da vida útil ou erro de especificação no projeto.
  • Software: Enganos ou erros de implementação.
  • Humanos: Má operação do sistema.

Disponibilidade e Confiabilidade

Disponibilidade: É a probabilidade de um sistema, em um determinado instante, estar operacional e capaz de fornecer os serviços requeridos.

Confiabilidade: É a probabilidade de operação livre de falhas durante um tempo especificado, em um dado ambiente, para um propósito específico.

Exemplo Comparativo:

  • Sistema A: Falha uma vez por ano, mas demora 3 dias para reiniciar. (Mais confiável).
  • Sistema B: Falha uma vez por mês, mas demora 10 minutos para reiniciar. (Mais disponível).

A confiabilidade é relativa e depende do contexto (ex: carro a 100 km/h vs. uso de um S.O.). Técnicas para melhorá-la incluem evitar defeitos no desenvolvimento, detectar erros em testes e implementar tolerância a defeitos.

Segurança e Proteção

Segurança (Safety)

Reflete a capacidade do sistema operar de forma normal e anormal sem oferecer ameaças às pessoas ou ao ambiente.

  • Segurança Primária: A disfunção do software afeta diretamente.
  • Segurança Secundária: A disfunção afeta indiretamente (ex: programas de cálculos de engenharia).

Proteção (Security)

Capacidade do sistema se proteger contra invasão acidental ou deliberada. Danos incluem interrupção de serviço, corrupção de dados e revelação de informações confidenciais.

Requisitos de Confiança

  • Requisitos funcionais: Definem recursos de verificação, recuperação e proteção.
  • Requisitos não funcionais: Definem a confiabilidade e disponibilidade necessária.
  • Requisitos de exclusão: Definem estados e condições que não devem surgir.

Especificação Dirigida a Riscos

O objetivo é compreender os riscos e definir requisitos que os reduzam. Os estágios são:

  1. Identificação de riscos: Identificar riscos potenciais.
  2. Análise e classificação: Avaliar a severidade.
  3. Decomposição: Descobrir as causas originais.
  4. Avaliação de redução: Definir como eliminar ou reduzir o risco.

Imagen

Riscos da Bomba de Insulina

  • Dose excessiva ou insuficiente de insulina.
  • Falha de energia (bateria).
  • Interferência elétrica ou mau contato.
  • Infecção ou reação alérgica.

Classificação de Riscos

  • Intolerável: Nunca deve resultar em acidente.
  • ALARP (As Low As Reasonably Practical): Minimizar riscos considerando custo e prazo.
  • Aceitável: Consequências aceitáveis sem custos extras de redução.

Imagen

Aceitabilidade Social e Avaliação

A aceitabilidade é subjetiva e determinada por fatores humanos, sociais e políticos. A sociedade torna-se menos propensa a aceitar riscos com o tempo. A avaliação estima a probabilidade e severidade (improvável, rara, alta, etc.).

Imagen

Decomposição de Riscos

  • Técnicas indutivas (bottom-up): Partem de uma falha para avaliar perigos.
  • Técnicas dedutivas (top-down): Partem de um perigo para deduzir causas (ex: Análise de Árvore de Defeitos).

Imagen

Estratégias de Redução de Riscos

  • Prevenção de riscos.
  • Detecção e remoção.
  • Limitação de danos.

Em sistemas críticos, utiliza-se uma mistura de estratégias, como sensores de detecção e sistemas de proteção independentes.

Riscos de Software na Bomba de Insulina:

  • Erros de aritmética: Overflow ou underflow (usar tratadores de exceção).
  • Erros de algoritmo: Comparar doses com limites seguros.

Imagen

Normas e Ciclo de Vida

A IEC 61508 é um padrão internacional para gerenciamento de segurança em sistemas de proteção. A segurança é uma propriedade emergente do sistema como um todo.

Imagen Imagen

Requisitos de Segurança

  • Funcionais: Como o sistema fornece proteção.
  • Integridade: Confiabilidade do sistema de proteção (níveis 1 a 4).

Especificação de Proteção

Diferente da segurança, não possui ciclo de vida ou padrões tão definidos. Foca em ativos e ameaças genéricas usando tecnologias como criptografia.

Imagen

Estágios da Especificação de Proteção

  1. Identificação e avaliação de ativos.
  2. Análise de ameaças e riscos.
  3. Atribuição de ameaças aos ativos.
  4. Análise de tecnologia disponível.
  5. Especificação de requisitos (identificação, autenticação, autorização, privacidade, etc.).

Imagen

Confiabilidade de Software

  • Hardware: Probabilidade de falha física e tempo de reparo.
  • Software: Probabilidade de saída incorreta (não se desgasta).
  • Operador: Probabilidade de erro humano.

Métricas de Confiabilidade

Imagen

  • POFOD (Probabilidade de Falha sob Demanda): Útil para sistemas de proteção intermitentes.
  • ROCOF (Taxa de Ocorrência de Falhas): Relevante para sistemas de processamento contínuo.
  • MTTF (Tempo Médio para Falha): Importante para transações longas.
  • AVAIL (Disponibilidade): Fração de tempo que o sistema está disponível.

Imagen

Passos para Especificação

  1. Analisar consequências de falhas por subsistema.
  2. Dividir falhas em classes.
  3. Definir métricas de confiabilidade para cada classe.
  4. Identificar requisitos funcionais para reduzir falhas críticas.

Exemplo: Sistema de Caixa Eletrônico (ATM)

Imagen

A validação empírica de confiabilidade muito alta é quase impossível, pois o tempo de teste superaria o tempo de vida do sistema.

Arquitetura de Software

A arquitetura é o framework fundamental. Decisões incluem tipo de aplicação, distribuição e estilos. Atributos principais:

  • Desempenho: Minimizar comunicações.
  • Proteção: Arquitetura em camadas.
  • Segurança: Isolar componentes críticos.
  • Disponibilidade: Redundância.
  • Manutenção: Baixa granularidade.

Prototipação de Software

A prototipação é uma abordagem evolutiva para validar requisitos através de versões iniciais (protótipos). Ajuda na redução de riscos e na compreensão das necessidades dos usuários.

Benefícios e Tipos

  • Prototipação Evolucionária: O protótipo é refinado até se tornar o sistema final.
  • Prototipação Descartável: Usada para validar requisitos e depois jogada fora.

Vantagens: Melhoria na facilidade de uso, qualidade do projeto e redução de esforço. Problemas: Dificuldades de gerenciamento, manutenção e questões contratuais.

Técnicas de Prototipação Rápida

  • Linguagens dinâmicas de alto nível.
  • Programação de banco de dados.
  • Reuso de componentes e frameworks (Visual Basic, JavaBeans).

Metodologias Ágeis

O desenvolvimento ad-hoc produz resultados ruins em sistemas grandes. Enquanto a engenharia tradicional foca em projetar antes de construir, as metodologias ágeis buscam flexibilidade para alterar o software conforme a necessidade.

Pontos-Chave

  • A análise de riscos é a base para requisitos de confiabilidade.
  • Métricas como POFOD, ROCOF, MTTF e AVAIL definem a confiabilidade quantitativamente.
  • A prototipação é essencial para interfaces e validação rápida.
  • Arquiteturas bem definidas suportam atributos como segurança e disponibilidade.

Baixar

PDF Word HTML

Perguntas frequentes

Qual a diferença entre disponibilidade e confiabilidade?

Disponibilidade é a probabilidade de o sistema estar operacional e capaz de fornecer serviços em um determinado instante. Confiabilidade é a probabilidade de operar sem falhas durante um tempo especificado, em um ambiente e propósito determinados.

O que é ALARP na classificação de riscos?

ALARP significa 'As Low As Reasonably Practical', ou seja, minimizar o risco considerando custo e prazo. Riscos intoleráveis nunca devem resultar em acidente, enquanto os aceitáveis não exigem custos extras de redução.

Qual a diferença entre segurança e proteção em sistemas?

Segurança (safety) é a capacidade de operar sem ameaçar pessoas ou o ambiente. Proteção (security) é a capacidade de se defender contra invasões acidentais ou deliberadas, evitando interrupção de serviço, corrupção de dados e revelação de informações.

Teste-se

Cartões de revisão

Clique em um cartão para ver a resposta.

Teste

1. Qual das seguintes opções define disponibilidade segundo o texto?
2. Qual métrica é relevante para sistemas de processamento contínuo?
3. Como a classificação ALARP deve ser entendida?
4. Qual técnica parte de um perigo para deduzir suas causas?
5. Qual padrão internacional é citado para gerenciamento de segurança em sistemas de proteção?
6. Na prototipação evolucionária, o que acontece com o protótipo?
7. Por que a validação empírica de confiabilidade muito alta é quase impossível?

Perguntas geradas com IA a partir do documento: verifique as respostas com o texto.