Ciclo de palestras anual para compartilhamento de conhecimentos desenvolvidos e/ou de interesse dos colaboradores. Disseminar e divulgar conhecimento entre os colaboradores da empresa, bem como com clientes convidados. Tem como objetivo aumentar a integração entre os colaboradores e projetos e o fortalecimento da marca em relação aos clientes.
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
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.