Carregar apresentação
A apresentação está carregando. Por favor, espere
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.
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.