• Nenhum resultado encontrado

3.1 MODELAGEM

3.1.5 Diagramas de Classes

Figura 26.Diagrama de seqüência dos agentes envolvidos no processo de leilão

3.1.5.1 Classes da Ferramenta

As classes da ferramenta são aquelas que são usadas em todo o Gilgamesh. Na Figura 27, pode ser visualizado esse diagrama de classes. As classes presentes no diagrama são: GLance.

GLeilao, GUsuario, GProduto e GOferta.

Figura 27. Diagrama de classes da ferramenta GLance

Classe que representa os lances submetidos aos leilões. A Tabela 5 e a Tabela 6 demonstram os atributos e as operações, respectivamente.

Tabela 5. Atributos da classe GLance

Atributo Descrição do Atributo descricao: String Descrição do lance Produto: GProduto Produto do lance

quantidade: int Quantidade proposta no lance valor: float Valor do lance

Tabela 6. Operações da classe GLance

Operação Parâmetros Descrição da Operação getDescricao(): String Retorna descrição do lance getProduto(): GProduto Retorna produto do lance getQuantidade(): int Retorna quantidade do lance getValor(): float Retorna valor do lance

recoverData(): GLance Recupera informações a partir do banco setLance(): void String desc Insere informações do lance

storeData(): void Armazena dados do leilão no banco de dados

GLeilao

Classe que representa as características de um leilão virtual. Nas Tabela 7 e Tabela 8 estão descritos as informações de atributos e operações, respectivamente.

Tabela 7. Atributos da classe GLeilao

Atributo Descrição do Atributo descricao: String Descrição do leilão Lances: GLance Lances do leilão Ofertas: GOferta Ofertas do leilão tipo: String Tipo do leilão

Tabela 8. Operações da classe GLeilao

Operação Parâmetros Descrição da Operação getDescricao(): String Retorna a descrição do produto getLances(): GLance [] Retorna lances submetidos ao leilão getOfertas(): GOfertas Retorna as ofertas do leilão

getTipo(): String Retorna o tipo do leilão

recoverLeilao(): void String leilao Atualiza o objeto com os dados pertinentes a leilão da base

setLeilao(): void String tipo, String descricao, GLance Lances, GOferta Oferta

Insere informações do leilão nos atributos

storeData(): void Armazena dados do objeto no banco

GUsuario

A classe GUsuario é a responsável de armazenar e processar as informações do usuário. A Tabela 9 e a Tabela 10 descrevem, respectivamente, os atributos e as operações da classe.

Tabela 9. Atributos da classe GUsuario

Atributo Descrição do Atributo email: String Email do usuário nome: String Nome do usuário

Tabela 10. Operações da classe GUsuario

Operação Parâmetros Descrição da Operação getEmail(): String Retorna e-mail do usuário

getNome(): String Retorna nome do usuário

setEmail(): void String email Insere o email do usuário setNome(): void String nome Insere nome do usuário

GProduto

A classe GProduto representa um produto no Gilgamesh. A Tabela 11 e a Tabela 12 representam, respectivamente, a descrição dos atributos e operações da classe GProduto.

Tabela 11. Atributos da classe GProduto

Atributo Descrição do Atributo caracteristicas String[] Características do produto descricao String Descrição do produto

Tabela 12. Operações da classe GProduto

Operação Parâmetros Descrição da Operação getCaracteristicas():

String[]

Retorna as características do produto getDecricao(): String Retorna a descrição do produto setProduto(): void String desc,

String carac[]

Insere dados de produto

GOferta

A classe GOferta representa a oferta de um produto à venda. Na Tabela 13 e na Tabela 14 estão listadas as descrições dos atributos e das operações, respectivamente.

Tabela 13. Atributos da classe GOferta

Atributo Descrição do Atributo descricao: String Descrição da oferat Produto: GProduto Produto da oferta quantidade: int Quantidade ofertada valor: float Valor mínimo da oferta

Tabela 14. Operações da classe GOferta

Operação Parâmetros Descrição da Operação getDescricao(): String Retorna descrição da oferta getProduto(): GProduto Retorna produto da oferta getQuantidade(): int Retorna quantidade da oferta

getValor(): float Retorna valor da oferta (preço unitário) recoverData(): void String leilão Atualiza dados do objeto com dados da base setOferta(): void String desc,

GProduto Produto, int qtd,

float valor

Configura atributos do objeto oferta

storeData(): void Armazena dados da oferta no banco de dados

3.1.5.2 Classes dos Agentes

As classes dos agentes são aquelas que são usadas para implementar os agentes do Gilgamesh. Na Figura 28, pode ser visualizada esse diagrama de classes. As classes presentes no diagrama são classificadas como classe do módulo de leilões e classes do módulo de busca de produto.

Figura 28. Diagrama de classes dos agentes do Gilgamesh Classes do módulo de leilões

As classes do módulo de leilões são aquelas que projetam classes que serão implementadas no módulo de leilões do Gilgamesh. Essas classes são: GAgOfertante, GAgArrematante e GAgInterfaceCLIPS.

GAgOfertante

A classe GAgOfertante representa o Agente Ofertante do Gilgamesh. Na Tabela 15 e na Tabela 16 podem ser visualizados, respectivamente, atributos e operações da classe.

Tabela 15. Atributos da classe GAgOfertante

Atributo Descrição do Atributo

Leiloes[]: GLeilao Leilões nos quais o leiloeiro participa

Tabela 16. Operações da classe GAgOfertante

Operação Parâmetros Descrição da Operação finalizeLeilao(): void GLeilao Leilao Finaliza leilão

recebeLance(): void GLance Lance Recebe lances

recoverData(): void Atualiza informações do agente através do banco de dados

showVencedor():

GAgArrematante

Retorna vencedor do leilão

storeData(): void Armazena informações do ofertante no banco de dados

GAgArrematante

A classe GAgArrematante representa o Agente Arrematante do Gilgamesh. Na Tabela 17 e na Tabela 18 podem ser visualizados, respectivamente, atributos e operações da classe.

Tabela 17. Atributos da classe GAgArrematante Atributo Descrição do Atributo Lances[] GLance Lances do arrematante

Tabela 18. Operações da classe GAgArrematante

Operação Parâmetros Descrição da Operação

recoverData(): void GUsuario Usuario Atualiza informações do agente de acordo com o banco de dados

storeData(): void Armazena informações do agente no banco de dados

submitLance(): void GLeilao Leilao Submete lances ao leilão

GAgInterfaceCLIPS

A classe GAgInterfaceCLIPS representa o Agente Interface Sistema Especialista do Gilgamesh. Na Tabela 19 e na Tabela 20 podem ser visualizados, respectivamente, atributos e operações da classe.

Tabela 19. Atributos da classe GAgBuscaLeilao Atributo Descrição do Atributo

lstRequisicoes: ArrayList Lista de requisições ao Sistema Especialista

Tabela 20. Operações da classe GAgBuscaLeilao

Operação Parâmetros Descrição da Operação setRequisicao(): void GilgaMessage

GMRequisicao

Recupera resultado da execução da requisição a regra

getResultadoRequisicoes():

String

String nomeAgente Retorna resultado das requisições ao Sistema Especialista

Classes do módulo de busca de produtos

As classes do módulo de busca de preços são: GAgWebCrawler e GAgBuscaProduto.

GAgWebCrawler

A classe GAgWebCrawler representa o Agente Web Crawler do Gilgamesh. Na Tabela 21 e na Tabela 22 podem ser visualizados, respectivamente, atributos e operações da classe.

Tabela 21. Atributos da classe GAgWebCrawler Atributo Descrição do Atributo

queueLinks: String[] Fila de links a serem varridos pelo agente

Tabela 22. Operações da classe GAgWebCrawler

Operação Parâmetros Descrição da Operação

accessWeb(): String[] String url Acessa uma página Web e retorna a mesma seachLinks(): void String[] pagina Retorna links encontrados em uma página e os

grava no final da queueLinks

GAgBuscaProduto

A classe GAgBuscaProduto representa o Agente Busca Produto do Gilgamesh. Na Tabela 23 e na Tabela 24 podem ser visualizados, respectivamente, atributos e operações da classe.

Tabela 23. Atributos da classe GAgBuscaProduto Atributo Descrição do Atributo

listPaginas: String[][] Lista de páginas que foram armazenadas pelo Agente Web Crawler

Tabela 24. Operações da classe GAgBuscaProduto

Operação Parâmetros Descrição da Operação

recoverData(): void Busca todas as páginas que o Agente Web Crawler gravou no banco de dados e grava as mesmas na lista de páginas (lstPagina)

searchProduto(): void Procura informações de produtos nas páginas da lista lstPagina e grava estes produtos em uma tabela de ocorrências no banco de dados

Documentos relacionados