A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Desenvolvimento Formal de Software

Apresentações semelhantes


Apresentação em tema: "Desenvolvimento Formal de Software"— Transcrição da apresentação:

1 Desenvolvimento Formal de Software
Métodos Formais Desenvolvimento Formal de Software

2 Visão geral Motivação Um Modelo para Desenvolvimento Formal de Software Estilos de Especificação Considerações Finais

3 Motivação Crise de Software Profissionais incapazes de controlar
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

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!

5 O que é um método formal em engenharia 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.

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

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

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

9 Especificação Formal Descrição Matemática Precisa É a base para
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!

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

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

12


Carregar ppt "Desenvolvimento Formal de Software"

Apresentações semelhantes


Anúncios Google