Qualidade de software

Começar. É Gratuito
ou inscrever-se com seu endereço de e-mail
Rocket clouds
Qualidade de software por Mind Map: Qualidade de software

1. Robert William Bemer (EUA 1920 - 2004)

1.1. Cientista da Computação

1.2. Contribuições

1.2.1. IBM nas décadas de 50 e 60

1.2.2. Um dos criadores do código ASCII

1.2.3. Bug do Milenio

1.2.3.1. Números de anos com dois digitos

1.2.3.1.1. Incompatibilidade de HW + SW

2. Correctness

2.1. Formal Correctness

2.1.1. Conhecimento matemático

2.1.1.1. Técnicas para verificação de programas

2.1.1.1.1. Design Do Pascal

2.1.1.2. Provar a exatidão dos programas

2.1.2. Correção de programas

2.1.2.1. Técnica

2.1.2.1.1. Anexar predicados a várias partes do programa

2.1.3. Teste

2.1.3.1. Estabelecer proposições básicas de uma prova indutiva

2.1.3.2. Mostra a presença e não a ausência de bugs

2.1.4. Erro Obscuro

2.1.4.1. Exemplo

2.1.4.1.1. Não encontrado

2.1.4.2. Frequência na prática

2.1.4.2.1. Ninguém sabe

2.1.4.3. Dificuldade

2.1.4.3.1. Presença aumenta

2.2. Debugging

2.2.1. Termos

2.2.1.1. Debug

2.2.1.1.1. Módulos individuais

2.2.1.1.2. Melhor quando...

2.2.1.2. Teste

2.2.1.2.1. Sistema como um todo

2.2.2. Técnicas

2.2.2.1. Clássicas

2.2.2.1.1. Online (tempo real)

2.2.2.1.2. Offiline (logs, relatórios)

2.2.3. Importância

2.2.3.1. Funções

2.2.3.1.1. Encontrar bugs

2.2.3.1.2. Tornar código eficiente

2.2.3.1.3. Gerar documentação

2.2.3.1.4. Trazer flexibilidade (trabalhar em diferentes ambientes)

2.2.4. Tratabilidade

2.2.4.1. Linguagens de fácil análise (Fortran,...)

2.2.4.2. Linguagens de difícil análise(Assembly,...)

3. Performance Measurement

3.1. Monitores de Hardware

3.1.1. O que está fazendo

3.1.1.1. Reconfigurar o hardware

3.1.1.1.1. Melhor performance

3.1.2. Beneficio Adicional

3.1.2.1. Rastreamentos detalhados

3.1.2.1.1. refizeram os programas

3.1.2.1.2. melhoraram o desempenho

3.2. Medições

3.2.1. Usar em sistemas existentes

3.2.1.1. Problema

3.2.1.1.1. Programadores se adaptam

3.2.2. Relógio

3.2.2.1. Tempo Real

3.2.2.2. Tempo de Computação

3.2.2.3. Ajudar Usuário a ajustar programa

3.2.2.4. Todo computador deve ter um acessível

3.2.3. Avaliar se as mudanças foram efetivas

3.2.3.1. Muito difícil estimar eficácia

3.2.3.1.1. variedade de configurações

3.2.4. Medição apropriadas

3.2.4.1. Seguem algum padrão?

3.2.4.1.1. Por isso deve-se medir

3.2.5. Muitas estatísticas

3.2.5.1. Comportamento consistente

3.2.5.1.1. Úteis para tirar mais proveito

3.3. Sinais de Áudio e monitores

3.3.1. reconhecer padrões

3.3.1.1. Obter informações valiosas

3.3.2. Manual de coisas úteis

3.3.2.1. ACM SIGOPS

3.4. Problema Diferente

3.4.1. Usuário individual

3.4.1.1. Melhorar própria utilização

3.4.1.2. Piorar a dos outros

3.4.1.3. Não

3.4.1.3.1. Melhor sem as ferramentas

3.5. Computadores e software são complexos

3.5.1. Ferramentas analíticas inadequadas

3.5.1.1. não são familiares para engenheiros de software

3.5.1.2. São tendenciosas pelas condições locais

4. Edsger Wybe Dijkstra (Holanda 1930 - 2002)

4.1. Contribuições

4.1.1. Desenvolvimento de programas e algoritmos

4.1.1.1. Algoritmo de Dijkstra (problema do caminho mínimo em grafos)

4.1.2. Linguagens de programação (prêmio Turing)

4.1.2.1. "O programador humilde"

4.1.2.2. ALGOL

4.1.3. Sistemas operacionais

4.1.3.1. Criador do SO THE

4.1.4. Processamento distribuídos

4.1.5. Semáforos para coordenar múltiplos processadores

4.2. Cientista da computação e físico teórico

5. Niklaus Wirth (Suíça 1934)

5.1. Engenheiro eletrônico

5.2. Atualmente professor de informática na Suíça

5.3. Contribuições

5.3.1. Criador das linguagens

5.3.1.1. Pascal

5.3.1.2. Modula-2

5.3.1.3. Oberon