SlideShare uma empresa Scribd logo
1 de 16
Baixar para ler offline
Realização
PROCESSO PARA DESENVOLVIMENTO DE SOFTWARE
SEGURO (EMBARCADO E ATM)
Alexandre Rafaini
III SDTA / 2017
Quando o software falha?
Nunca
Sempre
Às vezes
Depende
Quando o HARDWARE falha?
Mortalidade infantil
Falha aleatória
Desgaste
Total de falhas
Contribuição de diferentes modos de falha para a falha de um componente
Tempo
Taxadefalha
Quando o software falha?
Não envelhece
Não enferruja
Não gasta
Não deforma
Não racha
Não existe restrição ambiental...
... desde que seja executado em hardware
apropriado e operacional.
Mas... exemplos provam o contrário
Therac-25
Saída dependente de
sequência ou
temporização de
eventos não
controláveis
(Race condition)
Destróier
Sheffield
Identificação de
aproximação de
míssil como
“friendly”
Míssil Patriot
Valor da precisão truncada em
0,000000095s
100 horas de operação
erro total de 0,34s
Velocidade – 1.676 m/s
Erro na interceptação – 570 m
1982 1986 1991
Garantia via Processo
ARP4754A
Processos de
Hardware
Processos de Sistemas
Safety
Assessment
Requisitos
Aprovação
Verificação
Integração
Planejamento
Desenvolvimento
- Requisitos
- Design
- Codificação
- Integração
Verificação
Configuração
Garantia
Qualidade
Certificação
Processos de Software
DO-178C
DO-278A
DO-254
DO-297
Níveis de Garantia
Rigor
Condição de
Falha
Probabilidade
DO-178C
Software Level
DO-278A
Assurance Level
Catastrophic 10-9 A AL1
Hazardous 10-7 B AL2
Major 10-5 C AL3
Not equivalent AL4
Minor 10-3 D AL5
No Safety Effect 1 E AL6
Estrutura por Objetivos
DO-178C DO-278A #Objetivos
#Objetivos
COTS (DO-278A)
A AL1 71 14
B AL2 69 14
C AL3 62 14
Not equivalent AL4 46 14
D AL5 26 12
E AL6 0 0
Planejamento
Desenvolvimento
Verificação de Requisitos
Verificação de Design
Verificação de Codificação e
Integração
Teste de Integração
Verificação da Verificação
Gestão de Configuração
Garantia da Qualidade
Certificação
DO-178C – DAL A / DO-278A – AL1
Test coverage of software structure
(modified condition/decision coverage) is
achieved.
1. Condições assumem todos os valores
possíveis
2. Toda condição independentemente afeta
a saída da decisão
Verification of additional code, that cannot
be traced to Source Code, is achieved.
Garantia de cobertura de código adicional
gerado pelo compilador ou linker.
Objetivos específicos
DO-178C – DAL B / DO-278A – AL2
Objetivos específicos
High-level requirements are
compatible with target computer.
Conflitos entre requisitos de alto-nível e target (tempo de
resposta, input/output hardware).
Low-level requirements are
compatible with target computer.
Equivalente para requisitos de baixo-nível (uso de recursos
como barramento...).
Low-level requirements are verifiable. Todos requisitos podem ser verificados.
Software architecture is compatible
with target computer.
Inicialização, operação assíncrona, sincronismo,
interrupções...
Software architecture is verifiable. Arquitetura pode ser verificada (algoritmos recursivos não
delimitados...).
Source Code is verifiable. Toda estrutura do código fonte pode ser verificada sem
necessidade de alterações.
Test coverage of software structure
(decision coverage) is achieved.
Cobertura de todas as decisões (branches).
Statement Coverage – DAL C / AL3
1. printsum (int a, int b){
2. int result = a + b;
3. if (result > 0)
4. printcol (“red”, result);
5. else if (result < 0)
6. printcol (“blue”, result);
7. }
TC #1
a = 3
b = 9
0% 25% 50% 75% 100%
Statement Coverage – DAL C / AL3
1. printsum (int a, int b){
2. int result = a + b;
3. if (result > 0)
4. printcol (“red”, result);
5. else if (result < 0)
6. printcol (“blue”, result);
7. }
TC #1
a = 3
b = 9
TC #2
a = -5
b = -8
0% 25% 50% 75% 100%
Decision (branch) Coverage – DAL B / AL2
1. printsum (int a, int b){
2. int result = a + b;
3. if (result > 0)
4. printcol (“red”, result);
5. else if (result < 0)
6. printcol (“blue”, result);
[else do nothing]
7. }
1
2
3
5 4
6
7
F T
F
T
TC #1
a = 3
b = 9
TC #2
a = -5
b = -8
TC #3
a = 0
b = 0
4 branches
0% 25% 50% 75% 100%
Modified Condition / Decision Coverage
if A or (B and C):
T F T F T F
TC #1 A não B C TRUE
1. Condições assumem todos os valores
possíveis
2. Toda condição independentemente
afeta a saída da decisão
A
B
C
TC #2 não A não B C False
TC #3 não A B C TRUE
TC #4 não A não B não C False
Considerações adicionais (outras graduações)
Acoplamento de dados e de controle
Independência
Qualificação de Ferramentas
COTS
OBRIGADO!
www.atech.com.br
contato@atech.com.br
SÃO JOSÉ DOS CAMPOS
Rodovia Presidente Dutra, KM 138
Bloco 3, Sala 302
+55 12 3878-4373
SÃO PAULO
Rua do Rocio, 313 - 4° andar
Vila Olímpia
+55 11 3103-4600
ATECH Talks
Apresentações e discussões sobre assuntos
técnicos de interesse.
SDTA
Ciclo de palestras anual para compartilhamento
de conhecimentos desenvolvidos e/ou de
interesse dos colaboradores.
UX CAFÉ
Encontro mensal com o objetivo de debater sobre
os temas usabilidade, design e experiência do
usuário.

Mais conteúdo relacionado

Semelhante a Garantia de Software Embarcado e ATM

Documento Técnico - Simulado do Exame CASE
Documento Técnico - Simulado do Exame CASEDocumento Técnico - Simulado do Exame CASE
Documento Técnico - Simulado do Exame CASETI Safe
 
TDC Connections 2021 Clausula de Guarda
TDC Connections 2021 Clausula de GuardaTDC Connections 2021 Clausula de Guarda
TDC Connections 2021 Clausula de GuardaDouglas Siviotti
 
Troca de contexto segura em sistemas operacionais embarcados utilizando de té...
Troca de contexto segura em sistemas operacionais embarcados utilizando de té...Troca de contexto segura em sistemas operacionais embarcados utilizando de té...
Troca de contexto segura em sistemas operacionais embarcados utilizando de té...Rodrigo Almeida
 
TechEd 2010: SQL Server com Foco em Diagnóstico de Desempenho
TechEd 2010: SQL Server com Foco em Diagnóstico de DesempenhoTechEd 2010: SQL Server com Foco em Diagnóstico de Desempenho
TechEd 2010: SQL Server com Foco em Diagnóstico de DesempenhoFabrício Catae
 
CLASS 2018 - Palestra de Paulo Roberto Antunes de Souza Jr. (Gerente de Engen...
CLASS 2018 - Palestra de Paulo Roberto Antunes de Souza Jr. (Gerente de Engen...CLASS 2018 - Palestra de Paulo Roberto Antunes de Souza Jr. (Gerente de Engen...
CLASS 2018 - Palestra de Paulo Roberto Antunes de Souza Jr. (Gerente de Engen...TI Safe
 
Introdução ao Matlab - simulink coder support package
Introdução ao Matlab - simulink coder support packageIntrodução ao Matlab - simulink coder support package
Introdução ao Matlab - simulink coder support packageEmbarcados
 
Análise de Falhas em Sistemas modelados
Análise de Falhas em Sistemas modeladosAnálise de Falhas em Sistemas modelados
Análise de Falhas em Sistemas modeladosAlexandre Grossi
 
Introdução à programação embarcada
Introdução à programação embarcadaIntrodução à programação embarcada
Introdução à programação embarcadaRodrigo Almeida
 
Curso de Verão - Aula 03 - Introdução ao CI-CD e Infraestrutura como Código
Curso de Verão - Aula 03 - Introdução ao CI-CD e Infraestrutura como CódigoCurso de Verão - Aula 03 - Introdução ao CI-CD e Infraestrutura como Código
Curso de Verão - Aula 03 - Introdução ao CI-CD e Infraestrutura como CódigoGuilhermeJorgeAragod
 
Dev rioclaro gerenciando o ciclo de vida das suas aplicações em larga escal
Dev rioclaro   gerenciando o ciclo de vida das suas aplicações em larga escalDev rioclaro   gerenciando o ciclo de vida das suas aplicações em larga escal
Dev rioclaro gerenciando o ciclo de vida das suas aplicações em larga escalLuiz Guilherme Bauer Fraga Moreira
 
Verificação e validação de software no âmbito DO-178C - Rodrigo Pimenta Reis
Verificação e validação de software no âmbito DO-178C - Rodrigo Pimenta ReisVerificação e validação de software no âmbito DO-178C - Rodrigo Pimenta Reis
Verificação e validação de software no âmbito DO-178C - Rodrigo Pimenta Reisminastestingconference
 
Agility Networks - F5 GTM v20131009a
Agility Networks - F5 GTM v20131009aAgility Networks - F5 GTM v20131009a
Agility Networks - F5 GTM v20131009aAgility Networks
 
Curso CAT3D 2015 - Resumo das noviades entre 2014 e 2015
Curso CAT3D 2015 - Resumo das noviades entre 2014 e 2015Curso CAT3D 2015 - Resumo das noviades entre 2014 e 2015
Curso CAT3D 2015 - Resumo das noviades entre 2014 e 2015Armando Alaminos Bouza
 
Strider CD - Deploy Contínuo com JavaScript
Strider CD -  Deploy Contínuo com JavaScriptStrider CD -  Deploy Contínuo com JavaScript
Strider CD - Deploy Contínuo com JavaScriptTaller Negócio Digitais
 
Conceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidadeConceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidaderzauza
 

Semelhante a Garantia de Software Embarcado e ATM (20)

Documento Técnico - Simulado do Exame CASE
Documento Técnico - Simulado do Exame CASEDocumento Técnico - Simulado do Exame CASE
Documento Técnico - Simulado do Exame CASE
 
TDC Connections 2021 Clausula de Guarda
TDC Connections 2021 Clausula de GuardaTDC Connections 2021 Clausula de Guarda
TDC Connections 2021 Clausula de Guarda
 
PIF2019 - A17 - Thiago Lombardi - Baumier
PIF2019 - A17 - Thiago Lombardi - BaumierPIF2019 - A17 - Thiago Lombardi - Baumier
PIF2019 - A17 - Thiago Lombardi - Baumier
 
Questionário de automação industrial
Questionário de automação industrialQuestionário de automação industrial
Questionário de automação industrial
 
Troca de contexto segura em sistemas operacionais embarcados utilizando de té...
Troca de contexto segura em sistemas operacionais embarcados utilizando de té...Troca de contexto segura em sistemas operacionais embarcados utilizando de té...
Troca de contexto segura em sistemas operacionais embarcados utilizando de té...
 
TechEd 2010: SQL Server com Foco em Diagnóstico de Desempenho
TechEd 2010: SQL Server com Foco em Diagnóstico de DesempenhoTechEd 2010: SQL Server com Foco em Diagnóstico de Desempenho
TechEd 2010: SQL Server com Foco em Diagnóstico de Desempenho
 
Testes de Segurança de Software (tech-ed 2008)
Testes de Segurança de Software (tech-ed 2008)Testes de Segurança de Software (tech-ed 2008)
Testes de Segurança de Software (tech-ed 2008)
 
Segurança em Desenvolvimento de Software
Segurança em Desenvolvimento de SoftwareSegurança em Desenvolvimento de Software
Segurança em Desenvolvimento de Software
 
CLASS 2018 - Palestra de Paulo Roberto Antunes de Souza Jr. (Gerente de Engen...
CLASS 2018 - Palestra de Paulo Roberto Antunes de Souza Jr. (Gerente de Engen...CLASS 2018 - Palestra de Paulo Roberto Antunes de Souza Jr. (Gerente de Engen...
CLASS 2018 - Palestra de Paulo Roberto Antunes de Souza Jr. (Gerente de Engen...
 
Introdução ao Matlab - simulink coder support package
Introdução ao Matlab - simulink coder support packageIntrodução ao Matlab - simulink coder support package
Introdução ao Matlab - simulink coder support package
 
Análise de Falhas em Sistemas modelados
Análise de Falhas em Sistemas modeladosAnálise de Falhas em Sistemas modelados
Análise de Falhas em Sistemas modelados
 
Introdução à programação embarcada
Introdução à programação embarcadaIntrodução à programação embarcada
Introdução à programação embarcada
 
Curso de Verão - Aula 03 - Introdução ao CI-CD e Infraestrutura como Código
Curso de Verão - Aula 03 - Introdução ao CI-CD e Infraestrutura como CódigoCurso de Verão - Aula 03 - Introdução ao CI-CD e Infraestrutura como Código
Curso de Verão - Aula 03 - Introdução ao CI-CD e Infraestrutura como Código
 
Dev rioclaro gerenciando o ciclo de vida das suas aplicações em larga escal
Dev rioclaro   gerenciando o ciclo de vida das suas aplicações em larga escalDev rioclaro   gerenciando o ciclo de vida das suas aplicações em larga escal
Dev rioclaro gerenciando o ciclo de vida das suas aplicações em larga escal
 
Verificação e validação de software no âmbito DO-178C - Rodrigo Pimenta Reis
Verificação e validação de software no âmbito DO-178C - Rodrigo Pimenta ReisVerificação e validação de software no âmbito DO-178C - Rodrigo Pimenta Reis
Verificação e validação de software no âmbito DO-178C - Rodrigo Pimenta Reis
 
Conceitos de confiabilidade
Conceitos de confiabilidadeConceitos de confiabilidade
Conceitos de confiabilidade
 
Agility Networks - F5 GTM v20131009a
Agility Networks - F5 GTM v20131009aAgility Networks - F5 GTM v20131009a
Agility Networks - F5 GTM v20131009a
 
Curso CAT3D 2015 - Resumo das noviades entre 2014 e 2015
Curso CAT3D 2015 - Resumo das noviades entre 2014 e 2015Curso CAT3D 2015 - Resumo das noviades entre 2014 e 2015
Curso CAT3D 2015 - Resumo das noviades entre 2014 e 2015
 
Strider CD - Deploy Contínuo com JavaScript
Strider CD -  Deploy Contínuo com JavaScriptStrider CD -  Deploy Contínuo com JavaScript
Strider CD - Deploy Contínuo com JavaScript
 
Conceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidadeConceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidade
 

Mais de Atech S.A. | Embraer Group

III SDTA - Seleção e Coordenação de Times Ágeis na Atech
III SDTA - Seleção e Coordenação de Times Ágeis na AtechIII SDTA - Seleção e Coordenação de Times Ágeis na Atech
III SDTA - Seleção e Coordenação de Times Ágeis na AtechAtech S.A. | Embraer Group
 
III SDTA - Modelos Híbridos de Gestão de Projetos (SCRUM + PMBOK)
III SDTA - Modelos Híbridos de Gestão de Projetos (SCRUM + PMBOK)III SDTA - Modelos Híbridos de Gestão de Projetos (SCRUM + PMBOK)
III SDTA - Modelos Híbridos de Gestão de Projetos (SCRUM + PMBOK)Atech S.A. | Embraer Group
 
III SDTA - Framework SCRUM no Processo de Desenvolvimento de Sistemas
III SDTA - Framework SCRUM no Processo de Desenvolvimento de SistemasIII SDTA - Framework SCRUM no Processo de Desenvolvimento de Sistemas
III SDTA - Framework SCRUM no Processo de Desenvolvimento de SistemasAtech S.A. | Embraer Group
 
III SDTA - Estimativas x Metodologias de Desenvolvimento
III SDTA - Estimativas x Metodologias de DesenvolvimentoIII SDTA - Estimativas x Metodologias de Desenvolvimento
III SDTA - Estimativas x Metodologias de DesenvolvimentoAtech S.A. | Embraer Group
 
III SDTA - Estamos Resolvendo o Problema Certo?
III SDTA - Estamos Resolvendo o Problema Certo?III SDTA - Estamos Resolvendo o Problema Certo?
III SDTA - Estamos Resolvendo o Problema Certo?Atech S.A. | Embraer Group
 
III SDTA - Descomplicando Integrações de Sistemas com Barramento de Serviços
III SDTA - Descomplicando Integrações de Sistemas com Barramento de ServiçosIII SDTA - Descomplicando Integrações de Sistemas com Barramento de Serviços
III SDTA - Descomplicando Integrações de Sistemas com Barramento de ServiçosAtech S.A. | Embraer Group
 
III SDTA - Arkhe Governance: do Conceito ao Mercado
III SDTA - Arkhe Governance: do Conceito ao MercadoIII SDTA - Arkhe Governance: do Conceito ao Mercado
III SDTA - Arkhe Governance: do Conceito ao MercadoAtech S.A. | Embraer Group
 
II SDTA - Melhorando as Experiências do Usuário para Ganhar em Produtividade ...
II SDTA - Melhorando as Experiências do Usuário para Ganhar em Produtividade ...II SDTA - Melhorando as Experiências do Usuário para Ganhar em Produtividade ...
II SDTA - Melhorando as Experiências do Usuário para Ganhar em Produtividade ...Atech S.A. | Embraer Group
 
II SDTA - Comando e Controle da 5a Dimensão Operacional
II SDTA - Comando e Controle da 5a Dimensão OperacionalII SDTA - Comando e Controle da 5a Dimensão Operacional
II SDTA - Comando e Controle da 5a Dimensão OperacionalAtech S.A. | Embraer Group
 
II SDTA - Ciclo de C2 e a Evolução das Soluções de Defesa Aeroespacial
II SDTA - Ciclo de C2 e a Evolução das Soluções de Defesa AeroespacialII SDTA - Ciclo de C2 e a Evolução das Soluções de Defesa Aeroespacial
II SDTA - Ciclo de C2 e a Evolução das Soluções de Defesa AeroespacialAtech S.A. | Embraer Group
 
II SDTA - Paralelismo e Processamento Acústico
II SDTA - Paralelismo e Processamento AcústicoII SDTA - Paralelismo e Processamento Acústico
II SDTA - Paralelismo e Processamento AcústicoAtech S.A. | Embraer Group
 
II SDTA - Sistemas Especiais do Controle Nuclear
II SDTA - Sistemas Especiais do Controle NuclearII SDTA - Sistemas Especiais do Controle Nuclear
II SDTA - Sistemas Especiais do Controle NuclearAtech S.A. | Embraer Group
 
II SDTA - Do Big Data à Inteligência Corporativa
II SDTA - Do Big Data à Inteligência CorporativaII SDTA - Do Big Data à Inteligência Corporativa
II SDTA - Do Big Data à Inteligência CorporativaAtech S.A. | Embraer Group
 

Mais de Atech S.A. | Embraer Group (20)

III SDTA - Seleção e Coordenação de Times Ágeis na Atech
III SDTA - Seleção e Coordenação de Times Ágeis na AtechIII SDTA - Seleção e Coordenação de Times Ágeis na Atech
III SDTA - Seleção e Coordenação de Times Ágeis na Atech
 
III SDTA - Práticas de GC na Atech
III SDTA - Práticas de GC na AtechIII SDTA - Práticas de GC na Atech
III SDTA - Práticas de GC na Atech
 
III SDTA - Pentaho PDI na Prática
III SDTA - Pentaho PDI na PráticaIII SDTA - Pentaho PDI na Prática
III SDTA - Pentaho PDI na Prática
 
III SDTA - Modelos Híbridos de Gestão de Projetos (SCRUM + PMBOK)
III SDTA - Modelos Híbridos de Gestão de Projetos (SCRUM + PMBOK)III SDTA - Modelos Híbridos de Gestão de Projetos (SCRUM + PMBOK)
III SDTA - Modelos Híbridos de Gestão de Projetos (SCRUM + PMBOK)
 
III SDTA - Framework SCRUM no Processo de Desenvolvimento de Sistemas
III SDTA - Framework SCRUM no Processo de Desenvolvimento de SistemasIII SDTA - Framework SCRUM no Processo de Desenvolvimento de Sistemas
III SDTA - Framework SCRUM no Processo de Desenvolvimento de Sistemas
 
III SDTA - Estimativas x Metodologias de Desenvolvimento
III SDTA - Estimativas x Metodologias de DesenvolvimentoIII SDTA - Estimativas x Metodologias de Desenvolvimento
III SDTA - Estimativas x Metodologias de Desenvolvimento
 
III SDTA - Estamos Resolvendo o Problema Certo?
III SDTA - Estamos Resolvendo o Problema Certo?III SDTA - Estamos Resolvendo o Problema Certo?
III SDTA - Estamos Resolvendo o Problema Certo?
 
III SDTA - DEVOPS na Atech?
III SDTA - DEVOPS na Atech?III SDTA - DEVOPS na Atech?
III SDTA - DEVOPS na Atech?
 
III SDTA - Descomplicando Integrações de Sistemas com Barramento de Serviços
III SDTA - Descomplicando Integrações de Sistemas com Barramento de ServiçosIII SDTA - Descomplicando Integrações de Sistemas com Barramento de Serviços
III SDTA - Descomplicando Integrações de Sistemas com Barramento de Serviços
 
III SDTA - Arkhe Governance: do Conceito ao Mercado
III SDTA - Arkhe Governance: do Conceito ao MercadoIII SDTA - Arkhe Governance: do Conceito ao Mercado
III SDTA - Arkhe Governance: do Conceito ao Mercado
 
II SDTA - Vantagens do Protótipo Navegável
II SDTA - Vantagens do Protótipo NavegávelII SDTA - Vantagens do Protótipo Navegável
II SDTA - Vantagens do Protótipo Navegável
 
II SDTA - Melhorando as Experiências do Usuário para Ganhar em Produtividade ...
II SDTA - Melhorando as Experiências do Usuário para Ganhar em Produtividade ...II SDTA - Melhorando as Experiências do Usuário para Ganhar em Produtividade ...
II SDTA - Melhorando as Experiências do Usuário para Ganhar em Produtividade ...
 
II SDTA - Tecnologias de Submarinos
II SDTA - Tecnologias de SubmarinosII SDTA - Tecnologias de Submarinos
II SDTA - Tecnologias de Submarinos
 
II SDTA - Comando e Controle da 5a Dimensão Operacional
II SDTA - Comando e Controle da 5a Dimensão OperacionalII SDTA - Comando e Controle da 5a Dimensão Operacional
II SDTA - Comando e Controle da 5a Dimensão Operacional
 
II SDTA - Battlefield Management System
II SDTA - Battlefield Management SystemII SDTA - Battlefield Management System
II SDTA - Battlefield Management System
 
II SDTA - Ciclo de C2 e a Evolução das Soluções de Defesa Aeroespacial
II SDTA - Ciclo de C2 e a Evolução das Soluções de Defesa AeroespacialII SDTA - Ciclo de C2 e a Evolução das Soluções de Defesa Aeroespacial
II SDTA - Ciclo de C2 e a Evolução das Soluções de Defesa Aeroespacial
 
II SDTA - Paralelismo e Processamento Acústico
II SDTA - Paralelismo e Processamento AcústicoII SDTA - Paralelismo e Processamento Acústico
II SDTA - Paralelismo e Processamento Acústico
 
II SDTA - Sistemas Especiais do Controle Nuclear
II SDTA - Sistemas Especiais do Controle NuclearII SDTA - Sistemas Especiais do Controle Nuclear
II SDTA - Sistemas Especiais do Controle Nuclear
 
II SDTA - Produtos de Defesa e Segurança
II SDTA - Produtos de Defesa e SegurançaII SDTA - Produtos de Defesa e Segurança
II SDTA - Produtos de Defesa e Segurança
 
II SDTA - Do Big Data à Inteligência Corporativa
II SDTA - Do Big Data à Inteligência CorporativaII SDTA - Do Big Data à Inteligência Corporativa
II SDTA - Do Big Data à Inteligência Corporativa
 

Garantia de Software Embarcado e ATM

  • 1. Realização PROCESSO PARA DESENVOLVIMENTO DE SOFTWARE SEGURO (EMBARCADO E ATM) Alexandre Rafaini III SDTA / 2017
  • 2. Quando o software falha? Nunca Sempre Às vezes Depende
  • 3. Quando o HARDWARE falha? Mortalidade infantil Falha aleatória Desgaste Total de falhas Contribuição de diferentes modos de falha para a falha de um componente Tempo Taxadefalha
  • 4. Quando o software falha? Não envelhece Não enferruja Não gasta Não deforma Não racha Não existe restrição ambiental... ... desde que seja executado em hardware apropriado e operacional.
  • 5. Mas... exemplos provam o contrário Therac-25 Saída dependente de sequência ou temporização de eventos não controláveis (Race condition) Destróier Sheffield Identificação de aproximação de míssil como “friendly” Míssil Patriot Valor da precisão truncada em 0,000000095s 100 horas de operação erro total de 0,34s Velocidade – 1.676 m/s Erro na interceptação – 570 m 1982 1986 1991
  • 6. Garantia via Processo ARP4754A Processos de Hardware Processos de Sistemas Safety Assessment Requisitos Aprovação Verificação Integração Planejamento Desenvolvimento - Requisitos - Design - Codificação - Integração Verificação Configuração Garantia Qualidade Certificação Processos de Software DO-178C DO-278A DO-254 DO-297
  • 7. Níveis de Garantia Rigor Condição de Falha Probabilidade DO-178C Software Level DO-278A Assurance Level Catastrophic 10-9 A AL1 Hazardous 10-7 B AL2 Major 10-5 C AL3 Not equivalent AL4 Minor 10-3 D AL5 No Safety Effect 1 E AL6
  • 8. Estrutura por Objetivos DO-178C DO-278A #Objetivos #Objetivos COTS (DO-278A) A AL1 71 14 B AL2 69 14 C AL3 62 14 Not equivalent AL4 46 14 D AL5 26 12 E AL6 0 0 Planejamento Desenvolvimento Verificação de Requisitos Verificação de Design Verificação de Codificação e Integração Teste de Integração Verificação da Verificação Gestão de Configuração Garantia da Qualidade Certificação
  • 9. DO-178C – DAL A / DO-278A – AL1 Test coverage of software structure (modified condition/decision coverage) is achieved. 1. Condições assumem todos os valores possíveis 2. Toda condição independentemente afeta a saída da decisão Verification of additional code, that cannot be traced to Source Code, is achieved. Garantia de cobertura de código adicional gerado pelo compilador ou linker. Objetivos específicos
  • 10. DO-178C – DAL B / DO-278A – AL2 Objetivos específicos High-level requirements are compatible with target computer. Conflitos entre requisitos de alto-nível e target (tempo de resposta, input/output hardware). Low-level requirements are compatible with target computer. Equivalente para requisitos de baixo-nível (uso de recursos como barramento...). Low-level requirements are verifiable. Todos requisitos podem ser verificados. Software architecture is compatible with target computer. Inicialização, operação assíncrona, sincronismo, interrupções... Software architecture is verifiable. Arquitetura pode ser verificada (algoritmos recursivos não delimitados...). Source Code is verifiable. Toda estrutura do código fonte pode ser verificada sem necessidade de alterações. Test coverage of software structure (decision coverage) is achieved. Cobertura de todas as decisões (branches).
  • 11. Statement Coverage – DAL C / AL3 1. printsum (int a, int b){ 2. int result = a + b; 3. if (result > 0) 4. printcol (“red”, result); 5. else if (result < 0) 6. printcol (“blue”, result); 7. } TC #1 a = 3 b = 9 0% 25% 50% 75% 100%
  • 12. Statement Coverage – DAL C / AL3 1. printsum (int a, int b){ 2. int result = a + b; 3. if (result > 0) 4. printcol (“red”, result); 5. else if (result < 0) 6. printcol (“blue”, result); 7. } TC #1 a = 3 b = 9 TC #2 a = -5 b = -8 0% 25% 50% 75% 100%
  • 13. Decision (branch) Coverage – DAL B / AL2 1. printsum (int a, int b){ 2. int result = a + b; 3. if (result > 0) 4. printcol (“red”, result); 5. else if (result < 0) 6. printcol (“blue”, result); [else do nothing] 7. } 1 2 3 5 4 6 7 F T F T TC #1 a = 3 b = 9 TC #2 a = -5 b = -8 TC #3 a = 0 b = 0 4 branches 0% 25% 50% 75% 100%
  • 14. Modified Condition / Decision Coverage if A or (B and C): T F T F T F TC #1 A não B C TRUE 1. Condições assumem todos os valores possíveis 2. Toda condição independentemente afeta a saída da decisão A B C TC #2 não A não B C False TC #3 não A B C TRUE TC #4 não A não B não C False
  • 15. Considerações adicionais (outras graduações) Acoplamento de dados e de controle Independência Qualificação de Ferramentas COTS
  • 16. OBRIGADO! www.atech.com.br contato@atech.com.br SÃO JOSÉ DOS CAMPOS Rodovia Presidente Dutra, KM 138 Bloco 3, Sala 302 +55 12 3878-4373 SÃO PAULO Rua do Rocio, 313 - 4° andar Vila Olímpia +55 11 3103-4600 ATECH Talks Apresentações e discussões sobre assuntos técnicos de interesse. SDTA Ciclo de palestras anual para compartilhamento de conhecimentos desenvolvidos e/ou de interesse dos colaboradores. UX CAFÉ Encontro mensal com o objetivo de debater sobre os temas usabilidade, design e experiência do usuário.