58
4.1.2 Demais Exemplos
Na tabela a seguir é apresentado um resumo das demais operações de sistema
definidas para o sistema de manutenção de contratos. Nela é possível visualizar as pré-
condições e as pós-condições das operações e também a seqüência de regras aplicadas
pelo algoritmo de busca para atingir um estado final.
Operação Pré-condições Pós-condições Seqüência de regras aplicadas
insereClausula
(num_contrato : int;
txClausula: String)
- Existe um contrato com
número igual ao
num_contrato.
- Criada uma instancia de
clausula.
- Clausula foi associada com o
ContratoAtual.
- O atribulo texto de Clausula
recebe txClausula.
Regra 3 - recuperou o contrato.
Regra 2 – delegou para contrato.
Regra 1 – criou clausula.
Regra 1 – associou clausula.
Regra 1 – modificou texto
removeClausula(num_co
ntrato :int,
num_clausula:int)
- Existem um contrato com
número igual ao parâmetro
num_contrato.
- Existe uma clausula com
número igual ao parâmetro
num_clausula.
- A instancia de clausula cujo
número é igual ao parâmetro
num_clausula foi destruída..
Regra 3 – recuperou o contrato.
Regra 2 – delegou para contrato.
Regra 3 – recuperou clausula.
Regra 1 – destruiu clausula.
removeContrato
(num_contrato :int)
- Existe um Contrato cujo
número é igual ao
num_contrato.
- A instância de Contrato é
destruída.
Regra 3 – recuperou o contrato.
Regra 1 – destruiu contrato.
insereCliente (cpf_cli: int,
nome_cli: String, rua_cli:
String, num_cli:String,
cid_cli:String)
- Não existe um cliente com
CPF igual a cpf_cli.
- Criada uma nova instância de
Cliente.
- Criada uma nova instancia de
endereço.
Regra 1 – criou cliente.
Regra 1 – modificou cpf.
Regra 1 – modificou nome.
Regra 2 – delegou para cliente.
Regra 1 – criou endereço.
Regra 1 – modificou rua.
Regra 1 – modificou numero.
Regra 1 – modificou cidade.
removeCliente (cpf_cli:
int)
- Existe um cliente cujo
CPF é igual ao parâmetro
cpf_cli.
- A instância de Cliente foi
destruída.
Regra 3 – recuperou cliente.
Regra 1 – destruiu cliente.
atualizaEndereco(cpf_cli:
int, nova_rua: String,
novo_num: String,
nova_cidade: String)
- Existe um cliente cujo
CPF é igual ao parâmetro
cpf_cli.
- O cliente possui um
endereço associado.
- O atributo rua de endereço
recebeu o parâmetro nova_rua.
- O atributo numero recebeu o
parâmetro novo_num.
- O atributo cidade recebeu o
parâmetro nova_cidade.
Regra 3 – recuperou cliente.
Regra 2 – delegou para cliente.
Regra 1 – modificou rua.
Regra 1 – modificou numero.
Regra 1 – modificou cidade.
FIGURA 18 – Resumo das regras aplicadas na criação dos diagramas de comunicação.
Embora o mecanismo ainda apresente algumas limitações, que são discutidas
mais adiante, a aplicação do método a este conjunto de operações/contratos mostra que
ele é capaz de produzir diagramas para situações reais encontradas no desenvolvimento
de sistemas de informação.