1 / 12

Métodos Formais

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

phila
Download Presentation

Métodos Formais

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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 • 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 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.

  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 • 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

More Related