• Nenhum resultado encontrado

Especificação Formal. Especificação no Processo de Software

N/A
N/A
Protected

Academic year: 2021

Share "Especificação Formal. Especificação no Processo de Software"

Copied!
8
0
0

Texto

(1)

1

Engenharia de Software Engenharia de Software

Especificação Formal

• Técnicas para a especificação não ambígua de

software

• Objectivos

– Explicar o lugar da especificação formal de software no processo de

software

– Explicar quando a utilização de especificação formal é vantajosa d

ponto de vista dos custos

– Descrever o modelo de processo baseado na transformação das

especificações formais num sistema executável

Instituto Superior Politécnico de VISEU

Escola Superior de Tecnologia

Especificação no Processo de Software

• A especificação e a concepção estão

inextrincavelmente interligados

• A concepção arquitectural é essencial para

estruturar a especificação

• As especificações formais são expressas em notação

matemática com vocabulário definido com precisão,

sintaxe e semânticas

(2)

3 Engenharia de Software Engenharia de Software

Especificação e Concepção

Architectur al design Requir ements specification Requir ements definition Software specification High-level design

Increasing contractor involvement Decreasing client involvement

Specification

Design

Instituto Superior Politécnico de VISEU

Escola Superior de Tecnologia

Especificação no Processo de Sofware

Requirements specification Formal specification System modelling Ar chitectural design Requirements definition High-level design

(3)

5

Engenharia de Software Engenharia de Software

Especificação Formal em Avaliação

• As técnicas formais não são largamente utilizadas

no desenvolvimento de software à escala industrial

• Dada a relevância da matemática em outras

disciplinas ligadas à engenharia, porquê esta

situação?

Instituto Superior Politécnico de VISEU

Escola Superior de Tecnologia

O Porquê da sua não Utilização?

• Conservadorismo inerente da gestão. É difícil de demonstrar

as vantagens da especificação formal de uma forma objectiva

• Muitos engenheiros não têm treino nas matemáticas

discretas necessárias à especificação formal

• Os clientes do sistema podem ser relutantes em financiar as

actividades de especificação

• Algumas classes de software (particularmente sistemas

interactivos e sistemas concorrentes) são difíceis de especificar utilizando técnicas correntes

(4)

7

Engenharia de Software Engenharia de Software

O Porquê da sua não Utilização?

• Há uma ignorância em larga escala da aplicabilidade das

especificações formais

• Há pouco suporte de ferramentas disponíveis para notações

formais

• Alguns cientistas da computação que são familiares com

métodos formais têm falta de conhecimento dos problemas do mundo real aos quais eles podem ser aplicados e então empregam a técnica em sistemas não reais, de que não se encontra aplicabilidade.

Instituto Superior Politécnico de VISEU

Escola Superior de Tecnologia

Vantagens da Especificação Formal

• Proporciona discernimento nos requisitos de software e sua

concepção

• As especificações formais podem ser analisadas

matematicamente e a consistência e a perfeição aliada à integralidade da especificação demonstrada. Pode ser possível provar que a implementação corresponde à especificação

• As especificações formais podem ser utilizadas para guiar o

pessoal encarregado dos testes dos componentes na identificação dos casos de teste apropriados

• As especificações formais podem ser processadas utilizando

ferramentas de software. Pode ser possível animar

(5)

9

Engenharia de Software Engenharia de Software

Sete mitos do métodos formais

• Software perfeito resulta dos métodos formais

– Sem sentido - a especificação formal é um modelo do mundo real e pode incorporar incompreensões, erros e omissões. Contudo, uma abordagem formal é efectiva dado que faz com que os erros de especificação sejam mais fáceis de detectar e podem constituir uma base não ambígua para concepção do sistema.

• Métodos formais significam proporcionar programas

– Especificar formalmente um sistema é valioso sem verificação formal do programa dado que força uma análise detalhada prematura no processo de desenvolvimento

• Métodos formais só podem ser justificados em sistemas onde

a segurança é um factor critico

– A experiência industrial sugere que os custos de desenvolvimento para todas as classes de sistemas diminuem se for utilizada a especificação formal

Instituto Superior Politécnico de VISEU

Escola Superior de Tecnologia

Sete mitos do métodos formais

• Métodos formais são para matemáticos

– Sem sentido . Só matemática simples é necessária.

• Métodos formais aumentam os custos de desenvolvimento

– Não provado. Contudo, o padrão de custos é alterado, com mais custo em fases iniciais do processo de software.

• Os clientes não podem compreender as especificações

formais

– Podem, se as especificações estiverem parafraseadas em linguagem natural ou por animação de especificações.

• Métodos formais só foram ainda utilizados em sistemas

triviais

– Há agora muitos exemplos publicados de experiências com métodos formais em sistemas não triviais.

(6)

11

Engenharia de Software Engenharia de Software

O Veredicto!

• As razões invocadas para a não utilização de métodos e

especificações formais são fracas e de natureza não técnica.

• Contudo, há boas razões para a não utilização desses

métodos, derivadas das alterações havidas no mercado e da prática em engenharia de software

– A migração para sistemas interactivos. As técnicas de especificação formal não abrangem de forma efectiva especificação com interface gráfica

– O sucesso de métodos de engenharia de software no processo de concepção e desenvolvimento. O investimento em outras técnicas de engenharia de software pode revelar-se mais vantajosa do ponto de vista relação custos-proveitos

Instituto Superior Politécnico de VISEU

Escola Superior de Tecnologia

Utilização dos Métodos Formais

• Estes métodos não deverão ser largamente utilizados num

futuro previsível. De igual forma não se revelarão vantajosos na relação custos-proveitos para a maioria de classes de sistemas (ex. sistemas interactivos e de negócio)

• Tornar-se-ão a abordagem normal ao desenvolvimento de

sistemas onde a segurança, fiabilidade sejam críticos e na definição de standards, eu devem ser não ambíguos e precisos

• Isto irá alterar o padrão de custos ao longo do processo do

(7)

13

Engenharia de Software Engenharia de Software

Custos de Desenvolvimento com Especificação Formal

Specification Design and Implementation Validation Specification Design and Implementation Validation Cost Without formal specification With formal specification

Instituto Superior Politécnico de VISEU

Escola Superior de Tecnologia

Abordagens de Especificações Formais

• Abordagem algébrica

– O sistema é descrito em termos das operações e os seus relacionamentos

• Abordagem baseada em modelos

– Um modelo para o sistema actua como uma especificação. Este modelo é construído utilizando entidades matemáticas bem conhecidas tais como conjuntos e sequências

(8)

15

Engenharia de Software Engenharia de Software

Linguagens de Especificação Formal

Sequential Concurrent

Algebraic Larch (Guttag et al., 1985) , OBJ (Futatsugi et al., 1985)

Lotos (Bolognesi and Brinksma, 1987),

Model-based Z (Spivey, 1989) VDM (Jones, 1980)

CSP (Hoare, 1985) Petri Nets (Peterson, 1981)

Instituto Superior Politécnico de VISEU

Escola Superior de Tecnologia

Pontos Chave

A especificação formal do sistema complementa as técnicas informais de especificação

As especificações formais são precisas e não ambíguas. Eliminam áreas de dúvida numa especificação

A especificação formal força a uma análise dos requisitos do sistema numa fase prematura. A correcção dos erros nessa fase é mais barato do que modificar um sistema já entregue

As técnicas de especificação formal não são vantajosas do ponto de vista da relação custos-proveitos, no desenvolvimento de sistemas interactivos. São mais aplicáveis no desenvolvimento de sistemas de segurança crítica e standards.

Referências

Documentos relacionados

KGP-5-K5 Conjunto de 5 filtros para copo de gravidade – Copos GFC Capacidade do copo 560 mls Peso (pistola e copo) 768 gramas Espalhador de Ar e Anel Revest.Latão Bico de Fluido

Os seguintes sintomas podem ocorrer no caso de uso de uma quantidade maior do que a indicada de atenolol: bradicardia (batimento lento do coração), hipotensão (pressão

• Modelo formal para representar ações e estados do mundo e um algoritmo que trata o problema como uma busca no espaço de estados;.. – Linguagem formal para a especificação

Uma vez que existem muitos SGWfC, e os cientistas podem usar qualquer um deles para especificar seus experimentos, deveríamos ser capazes de verificar os

Essas reformulações já evidenciam, também, que a causa formal parece deter certa primazia sobre as demais, dado que a especificação relevante de todas as outras inclui uma

A ação initiate MPS deve contratar um agente da semântica de ações para cada modelo de processamento de mensagens que exista 11a entidade, a ação initiate SS para cada modelo

Neste trabalho abordaremos somente a semântica de passo pequeno (também conhecida como Semântica de Transição), pois o desenvolvimento dos ambientes Prolog e ParaLog, descritos

Conjunto de quatro peças, para transmissão manual e transmissão automática, apenas para condução à esquerda.. Disponível nas seguintes cores: