métodos formais centro de informática ufpe 2009.1

Post on 19-Apr-2015

120 Views

Category:

Documents

4 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Métodos Formais

Centro de InformáticaUFPE

2009.1

Software é diferente?

tempo

CriatividadeInteligência

CálculoTeoria

Inovação

1884

Repetição “trivial”

1975

Home Insurance Building Prefeitura do Recife

O mesmo padrão ocorre para outros produtos: pontes, túneis, estradas, casas, viadutos, ginásios, etc.

Software é diferente?

tempo

CriatividadeInteligência

CálculoTeoria

Inovação

1954

Repetição “trivial”

2009

John Backus & Fortran

Má notícia: este padrão raramente ocorre na Engenharia de Software. Compiladoes são uma exceção.

Geradores de compiladores

Software é diferente?

Burj Dubai

Museu Guggenheim

Euro Túnel

Large Hadron Collider

Software é diferente?

Engenharia Civil Engenharia de Software

Faz produtos fixos (prédios, pontes, estradas)

Faz produtos novos (iTunes, orkut, gmail notifier)

Software é diferente?

CriatividadeInteligência

CálculoTeoria

Inovação

tempoSkype

CriatividadeInteligência

CálculoTeoria

Inovação

tempoiPhone

CriatividadeInteligência

CálculoTeoria

Inovação

tempoBompreço

CriatividadeInteligência

CálculoTeoria

Inovação

tempo

Sistema Único de Saúde

Software é diferente?

• Entretanto, projetos de ponta da Engenharia Civil– O cálculo não é abandonado (pelo contrário!)

• Simulações e cálculos são feitos exaustivamente

– Não há fase de testes após a entrega

Software é diferente?

• Por que a Engenharia de Software continua semi-formal? – Semi-formal = Semi-artesanal– A principal razão é custo

• Apenas projetos de ponta na Engenharia de Software adotam cálculos (por exemplo, a NASA)

• É possível introduzir métodos mais formais mantendo um bom custo/benefício?

Métodos Formais

Mundo Real Modelo

Cientista(Isaac Newton)

Força

Gravitação Massa

221

r

mmGF

Fórmulas e propriedades específicas de um produto (provados matematicamente com papel e lápis)

Métodos Formais

Cientista(Tony Hoare)

Pré-condição

Pós-condição Invariante

}{;}{

}{}{},{}{

RTSP

RTQQSP

Mundo Real Modelo

Fórmulas e propriedades específicas de um produto (provados matematicamente com papel e lápis)

Neste curso....

Cientista(Tony Hoare)

Pré-condição

Pós-condição Invariante

}{;}{

}{}{},{}{

RTSP

RTQQSP

Mundo Real Modelo

Ferramenta

Produto não verificado

Produto verificado

Resumo

• As engenharias usam matemática em projetos inovadores– Trazem muita qualidade– Dispensam boa parte dos testes

• Infelizmente, a maioria dos projetos de software são inovadores (ou de difícil reuso)– O uso de métodos formais traz muita qualidade, mas

é caro.– É possível achar um meio termo razoável através de

ferramentas automáticas?

top related