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

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

propriedades rose, roze, z-eves

Apresentações semelhantes


Apresentação em tema: "propriedades rose, roze, z-eves"— Transcrição da apresentação:

1 propriedades rose, roze, z-eves

2 introdução propriedades em diagramas UML Roze, Z-Eves

3 Propriedades Características desejáveis do sistemas
Úteis para geração de casos de teste Não se sabe a priori se a propriedade é satisfeita

4 classe Conta Conta saldo : \nat = 0 Creditar() Debitar()
CreditarV1V2()

5 exemplo Criar um diagrama de classes no Rose para a classe Conta, inserindo as operações especificadas no diagrama anterior.

6 pré, pós-condições Creditar Debitar pós saldo' = saldo + val?
pré saldo  val? pós saldo' = saldo – val?

7 dúvida? E se o invariante da classe fosse
saldo  0 O que aconteceria com Debitar? E com o saldo?

8 exemplo Inserir as pré e pós condições para as operações de Conta.

9 propriedades Inverso Comutativo Creditar ; Debitar  saldo' = saldo
Creditar[v1/val?] ; Creditar[v2/val?]  Creditar[v2/val?] ; Creditar[v1/val?]

10 exemplo Inserir as propriedades Inverso e Comutativo para a classe Conta. Abrir especificação da classe, clicar na aba “Roze” e escrever a propriedade no campo “properties” Lembre-se de especificar que as operações creditarDebitar e creditarV1V2 são operações auxiliares aba “Roze” -> “isDefinition”’ = true

11 usando o Roze Mapeamento de UML anotado para especificações Z
Selecionar uma classe, selecionar no menu: tools -> roze -> Z property checker Salvar arquivo

12 usando Z-Eves Verificador de sintaxe, teoremas, modelos.
Abrir arquivo criado anteriormente: File -> import Checar especificação Command -> check all paragraphs

13 Provando propriedades com o Z-Eves
Provar propriedade Clicar com botão direito na propriedade e selecionar “show proof” Reduction -> prove by reduce Nem sempre se consegue provar as propriedades na primeira tentativa, por isso há algumas opções para se reescrever a propriedade e tentar novamente

14 exercícios Crie uma classe coleção de contas que possua os métodos:
removerConta(Conta c) adicionarConta(Conta c) Escreva as pré e pós condições das operações. Escreva e teste uma propriedade que diga que: duas inserções do mesmo elemento seguido de sua remoção implica que o elemento não pertence à coleção. Escreva uma propriedade desejada para o seu sistema.


Carregar ppt "propriedades rose, roze, z-eves"

Apresentações semelhantes


Anúncios Google