métodos formais

12
1 Métodos Formais Desenvolvimento Formal de Software

Upload: phila

Post on 05-Jan-2016

44 views

Category:

Documents


0 download

DESCRIPTION

Métodos Formais. Desenvolvimento Formal de Software. Visão geral. Motivação Um Modelo para Desenvolvimento Formal de Software Estilos de Especificação Considerações Finais. Motivação. Crise de Software Na prática, o desenvolvimento é Ad hoc Não há um padrão para o processo - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Métodos Formais

1

Métodos Formais

Desenvolvimento Formal de Software

Page 2: Métodos Formais

2

Visão geral

Motivação

Um Modelo para Desenvolvimento Formal de Software

Estilos de Especificação

Considerações Finais

Page 3: Métodos Formais

3

Motivação Crise de Software

– Na prática, o desenvolvimento é Ad hoc– Não há um padrão para o processo– São necessários: teorias, técnicas, métodos,

ferramentas,... Profissionais incapazes de controlar

– Custo– Tempo (duração do processo)– Qualidade do produto desenvolvido

Manutenção: 70-80% do esforço dedicado

Page 4: Métodos Formais

4

Modelo de Desenvolvimento - Na Prática

Especificação

Projeto

Implementação

Manutenção Especificação: informal Projeto: informal ou estruturado, semi-formal

– JSD, Yourdon, OMT, BON, UML, ... Implementação: sem garantia de realizar o projeto

Verificação e validação são ignorados!

Page 5: Métodos Formais

5

O que é um método formal emengenharia de software?

Método de desenvolvimento de software através do qual se pode definir

precisamente um sistema e

desenvolver implementações garantidamente corretas em relação a esta definição.

Page 6: Métodos Formais

6

Características de Métodos Formais

Delineamento preciso do processo de desenvolvimento

Baseado em linguagens de especificação e programação com semântica bem definida

Processo de desenvolvimento incremental, que possibilita expressão em vários níveis de abstração

Processo de desenvolvimento usualmente baseado em regras de transformação

Page 7: Métodos Formais

7

Por que métodos formais?

Lançador Ariane – Explodiu 40s após lançamento em 1996

Therac-25 – Entre 1985 e 1987, pelo menos 6

acidentes causaram mortes e ferimentos graves durante terapia de radiação

Dezenas de outros acidentes Perda de controle do desenvolvimento

e evolução de sistemas complexos

Page 8: Métodos Formais

8

Alguns resultados práticos

CICS da IBM Unidade de ponto flutuante (transputers) Protocolos de comunicação Aplicações espaciais e de aviação Sistemas de controle de trens Equipamentos médicos Arquiteturas de hardware Aplicações bancárias Aplicações meteorológicas

Page 9: Métodos Formais

9

Especificação Formal Descrição Matemática Precisa

– Não ambígua – Permite verificar propriedades (ex.

consistência) – Usualmente abstratas e concisas

É a base para– Documento contratual – Documentação do produto – Referência para etapas seguintes

E aspectos como completude, corretude? Especificação é apenas uma etapa!

Page 10: Métodos Formais

10

Grau de formalismo no desenvolvimento

Informal ou Ad hoc – Pouca (ou nenhuma) regra pré-definida

Sistemático – Conjunto de regras pré-estabelecidas

Rigoroso – Regras de transformação estritas– Partes críticas desenvolvidas formalmente

Formal – Verificação formal de todo o processo

Page 11: Métodos Formais

11

Um Modelo para Desenvolvimento Formal

Modelo Contratual– Cada etapa do desenvolvimento é

caracterizada por um contrato entre um cliente e um fornecedor.

– Por exemplo, na fase de análise de requisitos, o cliente é o usuário final do sistema e o fornecedor é o analista.

– Validação e verificação são realizadas

Page 12: Métodos Formais

12