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

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

1 Métodos Formais Desenvolvimento Formal de Software.

Apresentações semelhantes


Apresentação em tema: "1 Métodos Formais Desenvolvimento Formal de Software."— Transcrição da apresentação:

1 1 Métodos Formais Desenvolvimento Formal de Software

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

3 3 Motivação n 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,... n Profissionais incapazes de controlar –Custo –Tempo (duração do processo) –Qualidade do produto desenvolvido n Manutenção: 70-80% do esforço dedicado

4 4 Modelo de Desenvolvimento - Na Prática Especificação  Projeto  Implementação  Manutenção n Especificação: informal n Projeto: informal ou estruturado, semi-formal –JSD, Yourdon, OMT, BON, UML,... n Implementação: sem garantia de realizar o projeto n Verificação e validação são ignorados!

5 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 6 Características de Métodos Formais n Delineamento preciso do processo de desenvolvimento n Baseado em linguagens de especificação e programação com semântica bem definida n Processo de desenvolvimento incremental, que possibilita expressão em vários níveis de abstração n Processo de desenvolvimento usualmente baseado em regras de transformação

7 7 Por que métodos formais? n Lançador Ariane –Explodiu 40s após lançamento em 1996 n Therac-25 –Entre 1985 e 1987, pelo menos 6 acidentes causaram mortes e ferimentos graves durante terapia de radiação n Dezenas de outros acidentes n Perda de controle do desenvolvimento e evolução de sistemas complexos

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

9 9 Especificação Formal n Descrição Matemática Precisa –Não ambígua – Permite verificar propriedades (ex. consistência) –Usualmente abstratas e concisas n É a base para –Documento contratual –Documentação do produto – Referência para etapas seguintes n E aspectos como completude, corretude? n Especificação é apenas uma etapa!

10 10 Grau de formalismo no desenvolvimento n Informal ou Ad hoc –Pouca (ou nenhuma) regra pré-definida n Sistemático –Conjunto de regras pré-estabelecidas n Rigoroso –Regras de transformação estritas –Partes críticas desenvolvidas formalmente n Formal –Verificação formal de todo o processo

11 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 12


Carregar ppt "1 Métodos Formais Desenvolvimento Formal de Software."

Apresentações semelhantes


Anúncios Google