Luokat: Kaikki - linguagem - programação - eficiência - técnicas

jonka Renato de Sá 10 vuotta sitten

249

Capitulo 2 1969

Capitulo 2 1969

Especificação de Software

Definição de um sistema

Refutações
Scalzi:

Necessita descrição completa do sistema antes de implementar

Oestreicher:

Impossibilidade de voltar ao passo 1 caso necessario

Engeli

Desnecessário para pequenos sistemas

Não funciona para sistemas grandes

Possíveis passos

10. tomar último refinamento como especificação da implementação do sistema

9. simular o novo refinamento

retornar a passos de implementação de módulo e refinamento se não satisfatório

8. refinamento da implementação

7. Simular os módulos implementados

Se não satifatorio,redefinir os modulos, volte para 6

6.Colocar as implementações em modulos

5.Definir primeiras implementação

Usar uma linguagem de especificação de software (SSL)

4. Remover contradições e minimizar complexidade

se o resultado é insatisfatório, retorne para 1

3. Formalizar a descrição

2. Listar funções e objetos externos

1. Descrição informal do sistema

Linguagens de Implementação

Preconceito com LPs simples
Simplicidade afasta programadores

Acham que eles podem desenvolver uma LP própria

Mudança de ponto de vista

Menos dependente de usuario, maior eficiencia

Dijskstra
Naturalidade X Eficiencia das LP

maior naturalidade não significa menor eficiencia

Wirth
LPs devem Encontrar um meio-termo

Mais próxima possivel da maquina, mas independente dela

Linguagens que refletem propriedades do hardware

Podem desenvolver programa eficientes

Objeção principal de Linguagens de implementação que são distantes do hardware (alto nível)

Longe das realidades das maquinas

Não muito eficientes

Afetam engenharia de software
definem nossos raciocínios

Linguagens de Especificação

Schwartz:
Definição de dados separado dos procedimentos
Falkoff
Há espaço para duas linguagens

linguagem natural

linguagem formal de programação

Perlis
questões de programação giram em torno de uma linguagem

facilita a vida dos desenvolvedores

Feldman
descrição de estados

X*X = z

x
processo descritivo

linguagem de programação

Lowry
divergência das linguagens se deve à falta de boas técnicas de otimização
Seegmüller
Linguagem de implementação != linguagem de especificação