67
UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE SISTEMAS DE INFORMAÇÃO – BACHARELADO APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO SUPORTE AOS CLIENTES DA EMPRESA EDUSOFT TECNOLOGIA LTDA RODRIGO RAFAEL BARBOSA BLUMENAU 2012 2012/1-16

APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

UNIVERSIDADE REGIONAL DE BLUMENAU

CENTRO DE CIÊNCIAS EXATAS E NATURAIS

CURSO DE SISTEMAS DE INFORMAÇÃO – BACHARELADO

APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC

NO SUPORTE AOS CLIENTES DA EMPRESA EDUSOFT

TECNOLOGIA LTDA

RODRIGO RAFAEL BARBOSA

BLUMENAU 2012

2012/1-16

Page 2: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

RODRIGO RAFAEL BARBOSA

APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC

NO SUPORTE AOS CLIENTES DA EMPRESA EDUSOFT

TECNOLOGIA LTDA.

Trabalho de Conclusão de Curso submetido à Universidade Regional de Blumenau para a obtenção dos créditos na disciplina Trabalho de Conclusão de Curso II do curso de Sistemas de Informação— Bacharelado.

Prof. Roberto Heinzle, Doutor - Orientador

BLUMENAU 2012

2012/1-16

Page 3: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC

NO SUPORTE AOS CLIENTES DA EMPRESA EDUSOFT

TECNOLOGIA LTDA.

Por

RODRIGO RAFAEL BARBOSA

Trabalho aprovado para obtenção dos créditos na disciplina de Trabalho de Conclusão de Curso II, pela banca examinadora formada por:

______________________________________________________ Presidente: Prof. Roberto Heinzle, Doutor – Orientador, FURB

______________________________________________________ Membro: Prof. Oscar Dalfovo, Doutor – FURB

______________________________________________________ Membro: Prof. Everaldo Artur Grahl, Mestre – FURB

Blumenau, 06 de julho de 2012.

Page 4: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

Dedico este trabalho à minha família, e em especial à minha esposa que sempre me apoiou.

Page 5: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

AGRADECIMENTOS

À Deus, pelo seu amor e por inúmeras vezes ter estendido a sua mão para me levantar.

À minha família, que sempre esteve presente.

À minha esposa, por ser uma mulher segundo o coração de Deus e por ter entendido

todas as vezes que abdiquei do nosso tempo para outras atividades, não tão importantes, mas

necessárias.

À Edusoft, por ter me proporcionado crescimento e grande parte do meu

conhecimento.

Ao meu orientador, Roberto Heinzle, por ter acreditado na conclusão deste trabalho.

Page 6: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

No coração do prudente repousa a sabedoria, mas no coração dos tolos ela não é conhecida.

Provérbios 14:33

Page 7: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

RESUMO

Este trabalho foi desenvolvido para a área de suporte da empresa Edusoft Tecnologia Ltda e apresenta um sistema que faz uma busca por soluções ideais comparando com a dúvida do atendente frente a uma nova solicitação. Este sistema é baseado em técnicas de Raciocínio Baseado em Casos (RBC), mais precisamente a técnica de similaridade local, onde é aplicada uma série de comparações entre a dúvida do atendente e as soluções anteriores que estão armazenadas em um banco de dados externo, a fim de apresentar os melhores resultados e repassar ao cliente uma resposta correta. É fundamental que na área de suporte exista uma agilidade nos atendimentos para que os clientes sintam-se satisfeitos com o serviço prestado. Em vista dessa situação justifica-se o desenvolvimento de uma ferramenta que automatize esse processo. Utilizando RBC, banco de dados SQL Server e linguagem PHP, foi desenvolvida uma aplicação capaz de pesquisar e apresentar soluções precisas ao atendente quando o mesmo enfrentar um problema que ainda não conhece, com isso proporcionando aos clientes uma resposta rápida e um maior número de situações resolvidas em menor tempo. Como resultado observou-se a agilidade na pesquisa e na apresentação do percentual de similaridade entre os casos passados e o atual, tornando o atendimento eficiente.

Palavras-chave: Similaridade local. RBC. Help Desk. FAQ.

Page 8: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

ABSTRACT

This work was developed for the support area of Technology Ltda. enterprise and presents a system that searches for ideal solutions comparing with the doubts of the attendant when facing a new request. This system is based on techniques of Case Based Reasoning (RBC), more precisely the technique of local similarity, where it is applied a series of comparison among the attendant doubt and the earlier solutions that are stored in an external database, in order to present the best results and pass to the client a correct answer. It is fundamental that in the support area that there is agility in the care so that the clients feel satisfied with the service. Considering this situation it is justified the development of a tool that automates the process. By using the RBC, database SQL Server and PHP language, it was developed an application capable of researching solutions more precisely, thereby providing a biggest number of situations solved in a lower time. As a result there was flexibility in the search and the accuracy of the information by presenting the percentage of similarity between the current and past cases, making it efficient service.

Key-words: Local similarity. RBC. Help Desk. FAQ

Page 9: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

LISTA DE FIGURAS

Figura 1 - Ciclo RBC ................................................................................................................ 17

Figura 2 - Diagrama de Atividades Atual ................................................................................. 22

Figura 3 - Tela de pesquisa sistema atual ................................................................................. 23

Figura 4 - Tela de resultado da pesquisa .................................................................................. 23

Figura 5 – Etapa de consulta..................................................................................................... 24

Figura 6 - Interface de entrada das palavras chaves ................................................................. 25

Figura 7 - Cálculo de similaridade finalizado .......................................................................... 26

Figura 8 - Diagrama de Atividades Proposto ........................................................................... 28

Figura 9 - Diagrama de casos de uso ........................................................................................ 31

Figura 10 - Fluxo de atividades do sistema .............................................................................. 32

Figura 11 - Modelo Entidade Relacionamento ......................................................................... 33

Figura 12 - Codificação Lista Armazenada .............................................................................. 35

Figura 13 - Codificação Lista Sinônimos ................................................................................. 36

Figura 14 - Tela login ............................................................................................................... 37

Figura 15 - Mensagem erro login ............................................................................................. 38

Figura 16 - Tela bem vindo ...................................................................................................... 38

Figura 17 - Novo cadastro ........................................................................................................ 39

Figura 18 - Mensagem email já cadastrado .............................................................................. 39

Figura 19 - Nova senha ............................................................................................................. 39

Figura 20 - Mensagem erro nova senha.................................................................................... 40

Figura 21 - Menu do sistema .................................................................................................... 40

Figura 22 - Nova palavra chave ................................................................................................ 40

Figura 23 - Nova correlação ..................................................................................................... 41

Figura 24 - Novo sinônimo ....................................................................................................... 41

Figura 25 - Tela consulta .......................................................................................................... 41

Figura 26 - Cálculo da similaridade ......................................................................................... 43

Figura 27 - Resultado consulta ................................................................................................. 43

Figura 28 - Detalhes chamado .................................................................................................. 44

Figura 29 - Gráfico gerencial.................................................................................................... 45

Figura 30 - Relatório usuários .................................................................................................. 45

Figura 31 - Relatório usuários em pdf ...................................................................................... 45

Page 10: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

Figura 32 - Relatório sinônimos ............................................................................................... 46

Figura 33 - Relatório sinônimos em pdf ................................................................................... 46

Figura 34 - Relatório palavras chaves ...................................................................................... 46

Figura 35 - Relatório palavras chaves em pdf .......................................................................... 47

Figura 36 - Relatório correlações ............................................................................................. 47

Figura 37 - Relatório correlações em pdf ................................................................................. 47

Figura 38 - Teste em relação à Figura 3 ................................................................................... 49

Figura 39 - Dicionário da tabela correlação ............................................................................. 63

Figura 40 - Dicionário da tabela palavras ................................................................................. 63

Figura 41 - Dicionário da tabela sinônimos.............................................................................. 63

Figura 42 - Dicionário da tabela sugestão ................................................................................ 64

Figura 43 - Dicionário da tabela usuário .................................................................................. 64

Figura 44 – Dicionário da tabela solicitacao ............................................................................ 64

Page 11: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

LISTA DE QUADROS

Quadro 1 - Fórmula correção ortográfica ................................................................................. 20

Quadro 2 - Requisitos funcionais ............................................................................................. 30

Quadro 3 - Requisitos não funcionais ...................................................................................... 30

Quadro 4 - Cálculo do score ..................................................................................................... 42

Quadro 5 - Caso de Uso “Consultar Casos” ............................................................................. 54

Quadro 6 - Caso de Uso “Consultar Palavras Chaves” ............................................................ 55

Quadro 7 - Caso de Uso “Cadastrar Palavras Chaves” ............................................................ 56

Quadro 8 - Caso de Uso “Cadastrar Sinônimos” ...................................................................... 57

Quadro 9 - Caso de Uso “Consultar Sinônimos” ..................................................................... 57

Quadro 10 - Caso de Uso "Cadastro usuário/senha" ................................................................ 58

Quadro 11 - Caso de Uso "Consultar usuário" ......................................................................... 59

Quadro 12 - Caso de Uso "Cadastrar Correlações" .................................................................. 60

Quadro 13 - Caso de Uso "Consultar Correlações" .................................................................. 60

Quadro 14 - Caso de Uso "Efetuar Login" ............................................................................... 61

Quadro 15 - Caso de Uso "Gerar Nova Senha" ........................................................................ 62

Page 12: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

LISTA DE SIGLAS

CSS - Cascading Style Sheets

FAQ – Frequently Asked Questions

HTML - HyperText Markup Language

MER - Modelo Entidade Relacionamento

PDF – Portable Document Format

RBC - Raciocínio Baseado em Casos

RF – Requisito Funcional

RN - Regra Negócio

RNF - Requisito Não Funcional

UC – Use Case

UML – Unified Modeling Language

Page 13: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

SUMÁRIO

1 INTRODUÇÃO .................................................................................................................. 12

1.1 OBJETIVOS DO TRABALHO ......................................................................................... 12

1.2 ESTRUTURA DO TRABALHO ....................................................................................... 13

2 FUNDAMENTAÇÃO TEÓRICA .................................................................................... 14

2.1 HELP DESK ...................................................................................................................... 14

2.1.1 FAQ NA ÁREA DE HELP DESK .................................................................................. 14

2.2 RACIOCÍNIO BASEADO EM CASOS ........................................................................... 15

2.2.1 DEFINIÇÃO DE RBC ................................................................................................. 15

2.2.2 HISTÓRIAS DOS SISTEMAS RBC ........................................................................... 15

2.2.3 CICLO DE RBC ........................................................................................................... 16

2.2.4 DESENVOLVIMENTO DE UM SISTEMA RBC ...................................................... 17

2.2.4.1 REPRESENTAÇÃO DE CASOS ............................................................................ 17

2.2.4.2 SIMILARIDADE ..................................................................................................... 18

2.2.4.2.1 SIMILARIDADE LOCAL .................................................................................... 19

2.2.4.3 RECUPERAÇÃO DE CASOS ................................................................................ 20

2.2.4.4 REUTILIZAÇÃO DOS CASOS ............................................................................. 20

2.3 SISTEMA ATUAL ........................................................................................................... 21

2.4 TRABALHOS CORRELATOS ......................................................................................... 24

3 DESENVOLVIMENTO .................................................................................................... 27

3.1 LEVANTAMENTO DE INFORMAÇÕES ....................................................................... 27

3.2 ESPECIFICAÇÃO ............................................................................................................. 28

3.2.1 REQUISITOS FUNCIONAIS ......................................................................................... 29

3.2.2 REQUISITOS NÃO FUNCIONAIS ............................................................................... 30

3.2.3 DIAGRAMA DE CASOS DE USO ................................................................................ 30

3.2.4 FLUXO DE ATIVIDADES ............................................................................................ 31

3.2.5 MODELO ENTIDADE RELACIONAMENTO ............................................................ 33

3.3 IMPLEMENTAÇÃO ......................................................................................................... 33

3.3.1 TÉCNICAS E FERRAMENTAS UTILIZADAS ........................................................... 34

3.3.2 CODIFICAÇÃO DO SISTEMA ..................................................................................... 34

3.3.3 OPERACIONALIDADE DA IMPLEMENTAÇÃO ...................................................... 36

3.3.4 INICIANDO O USO DO SISTEMA .............................................................................. 37

Page 14: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

3.3.5 RELATÓRIOS ................................................................................................................ 44

3.4 RESULTADOS E DISCUSSÃO ....................................................................................... 48

4 CONCLUSÕES .................................................................................................................. 50

4.1 EXTENSÕES ..................................................................................................................... 50

REFERÊNCIAS BIBLIOGRÁFICAS ................................................................................. 52

APÊNDICE A – Descrição dos Casos de Uso ...................................................................... 54

APÊNDICE B – Detalhamento do dicionário de dados ...................................................... 63

Page 15: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

12

1 INTRODUÇÃO

Conforme Kolodner (1993), o Raciocínio Baseado em Casos (RBC) é uma técnica que

busca resolver novos problemas através de soluções anteriores. É usada uma experiência

passada, comparada com a atual e verificado a similaridade entre elas. Após a análise usa-se a

que melhor se identificou com o problema atual para resolvê-lo.

A utilização de RBC na área de Help Desk aos clientes tem crescido nos últimos anos,

segundo Wangenheim e Wangenheim (2003), o “Raciocínio Baseado em Casos estabeleceu-

se nos últimos anos como uma das tecnologias mais populares e disseminadas para o

desenvolvimento de Sistemas Baseados em Conhecimento.” Sistemas que utilizam RBC na

área de Help Desk têm por objetivo prover aconselhamento útil ou peças de informações

necessárias para o processo decisório dos técnicos em suporte.

Neste ambiente de Help Desk, focado na empresa Edusoft, o problema que existe é a

demora de repostas, pois não existe nenhum mecanismo que efetue uma busca otimizada dos

casos anteriores para solução de novos casos. Visando diminuir o tempo de atendimento aos

clientes, propõe-se o desenvolvimento de uma aplicação baseada em FAQ (Frequently Asked

Questions) da qual irá apresentar respostas ou possíveis soluções para as dúvidas mais

frequentes, e consequentemente a empresa terá clientes mais satisfeitos.

11..11 OOBBJJEETTIIVVOOSS DDOO TTRRAABBAALLHHOO

Este trabalho tem como objetivo principal apresentar uma aplicação baseada em

técnicas RBC, mais precisamente a similaridade local, para reduzir na área de suporte o tempo

de resposta que é dada aos clientes da empresa Edusoft Tecnologia Ltda. na solução de novos

problemas.

Os objetivos específicos do trabalho são:

a) permitir que o atendente consiga buscar soluções precisas ou semelhantes frente à

uma nova solicitação;

b) proporcionar maior precisão nas respostas aos clientes através das possíveis

soluções apresentadas pelo sistema;

Page 16: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

13

c) apresentar em tela e de forma organizada os resultados para auxiliar o atendimento

ao cliente. Esta organização se dá na ordenação descendente do valor de percentual

de similaridade, sendo 100% o caso com maior precisão;

d) apresentar gráfico detalhado dos chamados aberto, em aberto e fechados em um

determinado período;

e) permitir ao atendente gerar relatórios dos dados cadastrados.

11..22 EESSTTRRUUTTUURRAA DDOO TTRRAABBAALLHHOO

A estrutura deste trabalho está dividida em quatro capítulos

O primeiro capítulo tem-se a introdução ao tema principal, bem como a origem para a

criação do trabalho.

O segundo capítulo apresenta-se a fundamentação teórica sobre conceitos e técnicas de

RBC, sistema atual e os trabalhos correlatos.

O terceiro capítulo apresenta o desenvolvimento da aplicação, bem como detalhes

sobre as especificações, operacionalidade do sistema, técnicas e ferramentas utilizadas.

O quarto capítulo apresenta as conclusões bem como se apresentam sugestões para

trabalhos futuros.

Page 17: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

14

2 FUNDAMENTAÇÃO TEÓRICA

Este capítulo aborda assuntos como Raciocínio Baseado em Casos (RBC), sua história,

definição, ciclo de vida e desenvolvimento, o sistema atual, trabalhos correlatos e Help Desk.

22..11 HHEELLPP DDEESSKK

Help Desk é um termo da linguagem inglesa que designa o serviço de apoio ao usuário

de informática, telefonia e tecnologias de informação, fornecendo suporte e resolução de

problemas técnicos.

O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto por

telefone, e-mail, conexão remota entre outros meios de comunicação.

Segundo O‘brien (2003) as organizações estão cada vez mais buscando novas técnicas

para ajudar no atendimento ao cliente, criando grupos chamados de centro de informações,

formados por pessoas capacitadas que através do serviço de Help Desk interagem com o

cliente para auxiliá-lo no dia-a-dia. Os atendentes de Help Desk muitas vezes dispõem de

vários meios de comunicação para auxiliar o cliente, como softwares de conexão remota, chat,

tutoriais e vídeos tutoriais, assim, facilitando e simplificando o atendimento.

22..11..11 FFAAQQ NNAA ÁÁRREEAA DDEE HHEELLPP DDEESSKK

Uma FAQ é uma base com as perguntas mais frequentes sobre um determinado

domínio, neste caso a área de Help Desk da empresa Edusoft Tecnologia Ltda. Em uma FAQ,

cada caso ou cada chamado é apresentado juntamente com sua descrição e solução

(Fernandes, 2010). Uma FAQ para a área de Help Desk se torna uma grande aliada no

atendimento, pois através dessa base de conhecimento os atendentes poderão encontrar

possíveis soluções aos problemas enfrentados no dia a dia.

Page 18: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

15

22..22 RRAACCIIOOCCÍÍNNIIOO BBAASSEEAADDOO EEMM CCAASSOOSS

O Raciocínio Baseado em Casos (RBC) é uma abordagem para a solução de problemas

e para o aprendizado com base em experiências passadas. De forma simplificada, RBC foca

na solução de um novo problema (caso) relembrando uma situação anterior similar e, então,

reutiliza a informação e conhecimento daquela situação.

22..22..11 DDEEFFIINNIIÇÇÃÃOO DDEE RRBBCC

Segundo Aamodt e Plaza (1994), RBC é uma técnica de Inteligência Artificial com

foco para a solução de problemas e para o aprendizado baseado em experiências anteriores.

RBC oferece a possibilidade de se modelar e analisar o comportamento de aprendizado e

resolução de problemas humanos e é capaz de integrar capacidade de aprendizado e solução

construtivas de problemas. Um novo problema é resolvido através de soluções armazenadas

em uma base de casos similares ao atual.

O sistema RBC é responsável pela busca de soluções de forma rápida, possibilitando

uma interação adequada com o usuário. Essa pesquisa de experiências armazenadas verifica

se existem casos semelhantes com as características do problema atual, e caso encontre as

utiliza para solucionar o problema.

22..22..22 HHIISSTTÓÓRRIIAASS DDOOSS SSIISSTTEEMMAASS RRBBCC

RBC iniciou na Inteligência Artificial com os trabalhos de Schank e Abelson sobre

Memória Dinâmica e no modelo cognitivo de uma função central de lembranças de situações

passadas e de padrões de situações (WANGENHEIM; WANGENHEIM, 2003). A Memória

Dinâmica tem origem na tentativa de se criar modelos cognitivos da solução de problemas e

do aprendizado de situações com base em memórias episódicas, criada por Shank em 1982,

esses estudos mostraram que a compreensão da linguagem está diretamente relacionada com a

Page 19: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

16

informação em memória (KOSLOSKY, 1999).

Segundo Costa (1999) o primeiro sistema que utilizou o modelo de memória dinâmica

foi o sistema CYRUS, desenvolvido por Janet Kolodner. Este sistema utilizou uma estrutura

hierárquica chamada pacotes de organização de memória episódica, onde casos específicos

com propriedades similares eram organizados em estruturas mais generalizadas. O CYRUS

era basicamente um sistema de perguntas e respostas sobre viagens e reuniões do Secretário

de Estado Americano Cyrus Vance.

22..22..33 CCIICCLLOO DDEE RRBBCC

O Ciclo de RBC, proposto por Aamodt e Plaza (1994), que engloba um ciclo de

raciocínio contínuo é composto por quatro tarefas principais:

a) recuperar: recuperar caso(s) mais similar(es) da base de casos, ou seja, a partir da

apresentação de um novo problema é feita a busca na base de casos para encontrar

problemas parecidos com o atual;

b) reutilizar: a partir do caso encontrado é reutilizada a sua solução para o caso atual;

c) revisar: é realizado uma revisão e analisado se a solução encontrada pode ou não

ser aplicada para o caso atual;

d) reter: é a parte que o sistema armazena a experiência do novo caso e sua solução

para futuras recuperações.

Dado um novo problema, a base de casos é pesquisada à procura de tarefas

anteriormente resolvidas cuja descrição seja similar à da situação atual. No entanto, essa

pesquisa não é realizada com base numa filosofia tudo-ou-nada, como por exemplo, uma

pesquisa em um banco de dados. Usa-se uma ordem de preferência que estabelece quais dos

casos são mais similares ao atual e quais são menos. A ideia é que o caso encontrado e a sua

solução atendam suficientemente ao caso atual conforme mostra a Figura 1.

Page 20: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

17

Fonte: Adaptado de Barrone (2003).

Figura 1 - Ciclo RBC

22..22..44 DDEESSEENNVVOOLLVVIIMMEENNTTOO DDEE UUMM SSIISSTTEEMMAA RRBBCC

Conforme Wangenheim e Wangenheim (2003), as etapas mais importantes do

processo de desenvolvimento de um sistema RBC são:

a) aquisição do conhecimento;

b) representação de caso;

c) similaridade;

d) recuperação de casos;

e) reutilização de casos.

22..22..44..11 RReepprreesseennttaaççããoo DDee CCaassooss

Conhecimento, em um sistema RBC, é principalmente armazenado sob a forma de

casos. Para Wangenheim e Wangenheim (2003), um caso é uma peça do conhecimento

contextualizado representando um episódio ou experiências concretas, onde contém lições

passadas, que é o conteúdo do caso e o contexto em que a lição pode ser usada.

Page 21: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

18

Casos podem ser encontrados sob muitas formas e tamanhos. Um caso pode ter

diferentes conteúdos e representações dependendo da área de domínio da aplicação. Um caso

representa normalmente uma situação experimentada. Essas experiências adquiridas quando

relembradas mais tarde, formam um contexto no qual o conhecimento nela inserido é

supostamente aplicável. Quando uma situação similar aparece, as decisões e o conhecimento

armazenado irão prover um ponto de partida para a interpretação da nova situação. Para

Wangenheim e Wangenheim (2003), um caso é composto dos seguintes componentes

principais:

a) a descrição do problema que foi resolvido ou a situação que foi compreendida;

b) a solução que descreve como o problema foi resolvido. Pode ser uma ação, um

plano ou uma informação útil ao usuário.

22..22..44..22 SSiimmii llaarriiddaaddee

O objetivo do Raciocínio Baseado em Casos é a reutilização de soluções conhecidas no

contexto de um problema novo, de solução ainda desconhecida. Em função disto, a

determinação de exemplos de casos adequados é fundamental. Uma das hipóteses básicas de

sistemas baseados em RBC é que problemas similares possuem soluções semelhantes, e um

caso só é útil se ele é similar à questão atual.

Conforme Wangenheim e Wangenheim (2003), os conceitos de similaridade que

determinam se um caso passado é similar à questão atual envolve:

a) a definição de cenários e das metas a serem atingidas através da recuperação de

casos na base de casos;

b) a identificação da descrição do problema importante para a determinação da

similaridade entre um caso e uma questão e também de um modelo, definindo por

que essas descrições são importantes;

c) a definição de um método para decidir se o caso é similar, analisando uma relação

de preferência sobre os casos da base de casos ou definindo um grau numérico de

similaridade entre um caso e uma questão.

Para que se possam encontrar casos similares na base de casos, é necessário definir

quais atributos serão usados para realizar a comparação entre um caso passado e a situação

Page 22: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

19

atual. Estes atributos são conhecidos como índices. Índices são entidades de informação, ou

uma parte da descrição de um caso e que são importantes para determinar a similaridade entre

um caso passado e o caso atual. Segundo Heinrich (2000) a recuperação certa para o caso

certo é um fator chave para a credibilidade de uma aplicação em RBC. A determinação da

similaridade com base nesses índices é que vai predizer a utilidade de um caso em um

problema particular.

22..22..44..22..11 SSiimmii llaarriiddaaddee LLooccaall

Segundo Lee (1998) a métrica de similaridade é uma função que mede numericamente

os graus de similaridade entre dois casos. Uma métrica de similaridade tem por objetivo

numerar a similaridade entre dois casos. Todos os casos existentes na base de casos são

avaliados e comparados com o problema de entrada. Pode-se destacar como aspectos

fundamentais na recuperação dos casos a similaridade entre os casos e qual ao grau de

importância. Para modelar os diferentes graus de importância utilizam-se pesos ou algum

mecanismo similar.

Segundo Santos (2007) pode-se dividir a similaridade de duas formas:

a) similaridade global: a nível de casos;

b) similaridade local: a nível de atributos.

Pode-se ter um caso com valores de atributos diferentes, mas que podem ser similares

ao procurado, não sendo passivo de distinção entre os demais, cujos valores são diferentes.

Algumas técnicas são usadas na similaridade local, tais como:

a) correspondência exata: duas strings são similares se são escritas exatamente iguais;

b) correção ortográfica: compara o número de caracteres exatamente iguais;

c) contagem de palavras: conta o número de palavras exatamente iguais.

A seguir é apresentada a fórmula utilizada no cálculo da técnica correção ortográfica e

um exemplo da técnica, técnica está que será a principal do sistema para encontrar o

percentual de similaridade entre uma palavra e outra.

Page 23: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

20

Fonte: Adaptado de Wangenheim e Wangenheim (2003)

Quadro 1 - Fórmula correção ortográfica

22..22..44..33 RReeccuuppeerraaççããoo ddee ccaassooss

O objetivo da recuperação de casos é encontrar um caso ou um pequeno conjunto de

casos na base de casos que contenha uma solução útil para o problema atual. Para Lee (1998),

a etapa de recuperação consiste em fazer uma busca na memória de casos e selecionar quais

podem ser utilizados para o caso atual. Esta busca é feita através de algoritmos que

selecionam casos com determinada similaridade em relação ao novo caso.

Para Gaebler (1999), recuperação de casos tem como propósito recuperar, de uma

memória de casos, o caso mais adequado a uma nova situação e sugerir a solução desse caso

ou uma adaptação dela como solução do novo caso.

22..22..44..44 RReeuuttii ll iizzaaççããoo ddooss ccaassooss

Uma vez que um caso adequado é recuperado da base de casos, a solução deste caso

será objeto de uma tentativa de reutilizá-lo no problema atual. A partir desse ponto, é feito

uma reutilização de conhecimento de solução de problemas por meio da transferência de

conhecimento do caso anterior, para o caso atual.

De acordo com Reis (1997), a tarefa de reutilização de casos caracteriza-se por adaptar

a solução armazenada de um caso recuperado às necessidades de um caso proposto. A

reutilização consiste na adaptação da solução do caso anterior ao caso atual. A etapa de

adaptação de casos prevê utilizar os casos da base na solução do novo problema.

Page 24: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

21

2.3 SISTEMA ATUAL

A Edusoft possui mais de 25 anos de experiência no mercado e é uma empresa

especialista em software de gestão acadêmica. Atualmente conta com mais de 50

colaboradores e seu software de gestão acadêmica, Mentor Gestão Acadêmica, é um sistema

de gestão desenvolvido para integrar as áreas de uma unidade institucional, como tesouraria e

secretaria.

A área de suporte da Edusoft possui sete pessoas envolvidas e todos atendem os

mesmos módulos. Porém, cada atendente dedica-se a uma quantidade de clientes

determinados pelo supervisor da área de suporte e nem todos os clientes possuem todos os

possíveis módulos do sistema. Por haver essa divisão de clientes e também de existir a

possibilidade de algum desses clientes não utilizar um dos módulos, alguns atendentes têm

mais conhecimento em alguns módulos do que os outros atendentes, se tornando um tipo de

especialista daquele módulo.

O processo de atendimento normal se dá através da ferramenta atual de suporte

técnico, mas é possível que o cliente também envie um email ou efetue um telefonema

expondo sua dúvida ou problema com o sistema. Quando uma solicitação é aberta pelo cliente

através do sistema de suporte técnico atual, um atendente assume a solicitação e, caso este

atendente souber responder de imediato à dúvida exposta, encaminha ao cliente a resposta

através da ferramenta de help desk. Quando respondido ao cliente o atendente altera a situação

do chamado para aguardando cliente. Caso o atendente não saiba a resposta da dúvida atual,

ou trata-se de uma nova customização, o atendente encaminha uma tarefa ao

desenvolvimento, altera a responsabilidade da tarefa para o grupo desenvolvimento e a

posição da solicitação é alterada para aguardando desenvolvimento. Após, é registrado na

solicitação do cliente uma nova mensagem informando-o que a solicitação foi encaminhada

ao setor de desenvolvimento.

Muitas vezes, simples dúvidas já foram respondidas pelo mesmo atendente, porém ele

não se recorda da solução e deverá efetuar uma busca nos chamados anteriores ou falar com

os demais atendentes, ocorrendo uma demora na busca pela solução ideal e na resposta do

chamado. A Figura 2 apresenta o diagrama de atividades com o processo atual de atendimento

ao cliente da empresa Edusoft Tecnologia Ltda.

Page 25: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

22

Figura 2 - Diagrama de Atividades Atual

Quando a solução é registrada no chamado é dado um prazo para que o cliente registre

seu parecer. Após esse prazo o chamado é finalizado e o mesmo não poderá ser reaberto. Caso

o problema não tenha sido resolvido por completo é encaminhado novamente ao

desenvolvimento para correção. Na Figura 3 é possível visualizar a tela de pesquisa no

sistema de suporte técnico atual. Na Figura 4 é possível verificar que não trouxe nenhum

possível resultado, nem se sabe qual o percentual de similaridade entre os casos armazenados.

Page 26: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

23

Figura 3 - Tela de pesquisa sistema atual

Figura 4 - Tela de resultado da pesquisa

A ferramenta atual além de ser usada para registro dos chamados usa-se também para

registro de horas, controle de versão atual, versão de liberação quando customização, análise

de tempos por atendente, data de vencimento do chamado, pessoa responsável pelo chamado,

produto vinculado ao chamado, prioridade, entre outros dados.

Page 27: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

24

2.4 TRABALHOS CORRELATOS

Viel (2010) propôs em seu Trabalho de Conclusão de Curso (TCC) uma ferramenta

que utiliza RBC a fim de efetuar a gestão do conhecimento na área de Help Desk da empresa

inDATA Sistemas Ltda. A ferramenta tem por objetivo auxiliar os atendentes de Help Desk

no compartilhamento do conhecimento do qual será útil para a resolução de problemas

encontradas no sistema inSIG (Figura 5). Neste trabalho foi utilizada a linguagem Java e o

banco de dados MySql. Foi utilizada a técnica do vizinho mais próximo.

Fonte: Viel (2010).

Figura 5 – Etapa de consulta

Silva (2002) propôs em seu Trabalho de Conclusão de Curso (TCC) uma ferramenta

que utiliza a técnica RBC para auxiliar o departamento de suporte técnico, visando à

informatização de suas atividades no que diz respeito ao registro de chamados e na agilidade

dos atendimentos, conforme Figura 6. Para desenvolvimento foi utilizada a ferramenta

Genexus e o Visual Basic 6.0. O Banco de dados utilizado foi Microsoft Access.

Page 28: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

25

Fonte: Silva (2002).

Figura 6 - Interface de entrada das palavras chaves

Wilvert (2005) propôs através de seu Trabalho de Conclusão de Curso (TCC) uma

ferramenta que auxilie a área de Help Desk da empresa Senior Sistemas (Figura 7). O sistema

visa o auxílio aos atendentes bem como o compartilhamento do conhecimento, dos quais

serão úteis na resolução de problemas. Foi utilizada a técnica de RBC com o método do

Vizinho mais Próximo e para o desenvolvimento do Sistema de Apoio a Help Desk (SAHD)

foi utilizado o ambiente de desenvolvimento Borland Delphi 5 e o sistema gerenciador de

banco de dados Microsoft SQL Server 2000.

Page 29: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

26

Fonte: Wilvert (2005).

Figura 7 - Cálculo de similaridade finalizado

Page 30: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

27

3 DESENVOLVIMENTO

Neste capítulo estão descritos os requisitos funcionais, os requisitos não funcionais,

regras de negócio, o diagrama de casos de uso, o fluxo de atividades com o sistema

desenvolvido, o modelo de entidade relacionamento, a implementação e a sua discussão.

33..11 LLEEVVAANNTTAAMMEENNTTOO DDEE IINNFFOORRMMAAÇÇÕÕEESS

Depois de observado o ambiente de suporte da Edusoft identificou-se a necessidade de

um sistema que fosse capaz de agilizar as respostas aos clientes. Visto que a demanda de

atendimento é alta e a não existência de um mecanismo que possibilite dar respostas mais

ágeis e precisas, o atendimento acaba sendo prejudicado. Com esse sistema será possível

diminuir o tempo de resposta.

Para efetuar as buscas com precisão faz-se necessário informações de palavras chaves,

sinônimos e correlações. No cenário atual os casos passados, que formam um banco de

informações para solucionar novos casos, que serão comparados com a nova solicitação para

que se encontre possíveis soluções, são armazenados em outra base de dados atráves da

ferramenta 0800NET. Portanto este sistema terá a finalidade de extrair os casos mais similares

efetuando uma série de verificações em todos os casos dessa base externa com a dúvida do

usuário, resultando num percentual de similaridade para cada caso que vai de 1 a 100 por

cento caso encontrar. Cada caso pode representar uma possível solução frente à esta nova

solicitação, sendo que deve ser considerado o maior valor de similaridade para o caso com a

melhor resposta.

A Figura 8 apresenta o diagrama de atividades com o processo de atendimento ao

cliente da empresa Edusoft Tecnologia Ltda.

Page 31: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

28

Figura 8 - Diagrama de Atividades Proposto

33..22 EESSPPEECCIIFFIICCAAÇÇÃÃOO

A seguir são apresentados os requisitos funcionais (RF), requisitos não funcionais

(RNF), Regras de Negócio (RN), diagrama de casos de uso, fluxo de atividades e modelo

entidade relacionamento (MER).

Page 32: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

29

33..22..11 RReeqquuiissii ttooss FFuunncciioonnaaiiss

O Quadro 2 apresenta os requisitos funcionais previstos para o sistema e sua

rastreabilidade, ou seja, vinculação com o(s) caso(s) de uso associado(s).

Requisitos Funcionais Caso de Uso

RF01: O sistema deverá permitir a consulta de casos similares e suas

soluções através da integração do banco de dados do sistema atual. Etapa de

recuperação e reutilização.

UC01

RF02: O sistema deverá permitir a consulta de palavras chaves. Nesta tela

deverá ser possível gerar um relatório pdf e a existência de um botão

facilitador para efetuar um novo cadastro, caso o usuário deseje fazer.

UC02

RF03: O sistema deverá permitir cadastrar, alterar e excluir uma palavra

chave.

UC03

RF04: O sistema deverá permitir cadastrar, alterar e excluir um sinônimo. UC04

RF05: O sistema deverá permitir a consulta dos sinônimos. Nesta tela

deverá ser possível gerar um relatório pdf e a existência de um botão

facilitador para efetuar um novo cadastro, caso o usuário deseje fazer.

Também deverá aparecer qual a palavra chave está vinculada ao sinônimo.

UC05

RF06: O sistema deverá permitir cadastrar e alterar um usuário. UC06

RF07: O sistema deverá permitir a consulta dos usuários cadastrados. Nesta

tela deverá ser possível gerar um relatório pdf e a existência de um botão

facilitador para efetuar um novo cadastro, caso o usuário deseje fazer.

UC07

RF08: O sistema deverá permitir cadastrar, alterar e excluir uma correlação. UC08

RF09: O sistema deverá permitir a consulta das correlações. Nesta tela

deverá ser possível gerar um relatório pdf e a existência de um botão

facilitador para efetuar um novo cadastro, caso o usuário deseje fazer.

Também deverá aparecer qual a palavra chave está vinculada à correlação.

UC09

RF10: O sistema deve conter uma tela de login com os campos usuário e

senha, exigindo autenticação do usuário.

UC10

RF11: O sistema deverá permitir gerar uma nova senha. UC11

RF12: O sistema deverá gerar gráfico estatístico da quantidade de chamados

aberto, em aberto e fechado do qual será utilizado pela gerência.

UC12

Page 33: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

30

RF13: O sistema deverá permitir o envio de sugestões para melhorias no

sistema.

UC13

Quadro 2 - Requisitos funcionais

33..22..22 RReeqquuiissii ttooss NNããoo FFuunncciioonnaaiiss

O Quadro 3 lista os requisitos não funcionais previstos para o sistema.

Requisitos Não Funcionais

RNF01: O sistema deverá ser implementado na linguagem PHP.

RNF02: O sistema deverá utilizar o banco de dados SQL Server.

RNF03: O sistema deverá ser compatível com Internet Explorer superior a versão 6.0.

RNF04: O sistema deverá controlar a sessão do usuário, seja na entrada ou na saída.

Quadro 3 - Requisitos não funcionais

33..22..33 DDiiaaggrraammaa ddee ccaassooss ddee uussoo

Para o sistema efetuar de forma satisfatória o que ele propôs foram definidos quatorze

casos de uso. A Figura 9 exibe o diagrama de casos de uso do sistema. O detalhamento dos

casos de uso está descrito no apêndice A.

Page 34: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

31

Figura 9 - Diagrama de casos de uso

33..22..44 FFlluuxxoo ddee aattiivviiddaaddeess

Neste tópico é apresentado o fluxo de atividades do sistema. A Figura 10 apresenta de

forma esquemática uma representação do processo com o sistema.

Page 35: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

32

Figura 10 - Fluxo de atividades do sistema

Conforme pode ser visto na Figura 10, para efetuar a consulta dos casos são

necessários alguns passos antes de finalizar o processo descrito no fluxo. Para cada tela é

realizado um controle de acesso e caso o usuário não possue este acesso, ou mesmo sua sessão

não exista mais, o mesmo será redirecionado para a tela de login.

Page 36: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

33

33..22..55 MMooddeelloo EEnnttiiddaaddee RReellaacciioonnaammeennttoo

A Figura 11 apresenta o modelo entidade relacionamento no qual estão as tabelas que

são persistidas no banco de dados utilizado pela aplicação.

Figura 11 - Modelo Entidade Relacionamento

Para o funcionamento do sistema foram definidas cinco tabelas no banco de dados,

visto que todo o processo de consulta através das técnicas RBC é realizado diretamente no

código fonte. As tabelas serão utilizadas apenas para armazenar as informações pertinentes ao

processo e que serão utilizadas no momento que o usuário disparar o processo de busca por

casos similares. No apêndice B consta o dicionário de dados.

33..33 IIMMPPLLEEMMEENNTTAAÇÇÃÃOO

A seguir são mostradas as técnicas e ferramentas utilizadas, a operacionalidade da

implementação, bem como partes da codificação do sistema, processos de parametrização do

sistema e resultado final.

Page 37: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

34

33..33..11 TTééccnniiccaass ee ffeerrrraammeennttaass uuttii ll iizzaaddaass

Para o desenvolvimento do sistema de FAQ baseado em técnicas RBC foi utilizado a

linguagem PHP, versão 5.2.6. Para o desenvolvimento das telas foi utilizado a linguagem

HTML e para alguns controles de validação de campos foi utilizado a linguagem Javascript e

o framework jQuery. O banco de dados, conforme explicitado no RNF02, foi o Sql Server.

A especificação deste sistema foi feita utilizando-se os diagramas da Unified Model

Language (UML), usando o software de modelagem Enterprise Architect, produzindo os

modelos de casos de uso. O modelo entidade relacional foi reproduzido com o software

DBDesigner 4 e o fluxo de atividades foi desenvolvido com o software BizAgi Process

Modeler, versão 1.5.0.1.

33..33..22 CCooddii ff iiccaaççããoo ddoo ssiisstteemmaa

A seguir apresentam-se duas partes do código onde é verificada a similaridade do caso

que está armazenado no banco de dados externo com as palavras que foram armazenadas

anteriormente da dúvida do usuário (Figura 12), e a similaridade com os casos do banco de

dados externo com a lista de sinônimos cadastrados (Figura 13).

Na figura 12 é utilizado o comando foreach para percorerr a lista que contém as

palavras mais similares da dúvida do usuário no momento que se faz a pesquisa, e em seguida

é calculado o percentual de similaridade de cada palavra desta lista com cada caso do banco

de dados externo atráves da função verificaCaractere. Após, para cada situação (100% ou >=

80% < 100%), é incrementado uma variável de controle da quantidade de cada uma delas e

outra variável que faz apenas o controle para informar se encontrou ($qtd_encontrada_3++)

que no final servirá para dizer quantas palavras de cada caso passado foi encontrado em

relação a lista. Essa lista é composta de palavras que foram armazenadas no momento que o

usuário efetuou a pesquisa, em relação aos cadastros do sistema. Exemplo: no cadastro de

palavras chaves existe a palavra disciplina e na pesquisa do usuário existe a mesma palavra,

esta palavra será armazenada na lista.

Na figura 13 inicialmente é executado um comandl sql para buscar todos os sinônimos

no banco de dados do sistema, em seguida é inicializado com zero uma variável de controle

Page 38: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

35

para informar se a palavra foi encontrada, após é gerado uma laço com o comando while para

calcular o percentual de similaridade entre o sinônimo e cada palavra da dúvida do usuário

através da função verificaCaractere. Quando satisfaz uma das situações (100% ou >= 80% <

100%), é incrementado uma variável de controle da quantidade de cada uma delas e a variável

de controle para informar se encontrou ($qtd_encontrada_2++) que no final servirá para

dizer quantas palavras de cada caso passado foi encontrado em relação a lista. O comando

array_push inclui o sinônimo para dentro da lista citada na descrição da figura 13.

Figura 12 - Codificação Lista Armazenada

Page 39: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

36

Figura 13 - Codificação Lista Sinônimos

33..33..33 OOppeerraacciioonnaall iiddaaddee ddaa iimmpplleemmeennttaaççããoo

O sistema foi desenvolvido em duas partes, uma parte utilizando PHP para o

processamento das informações (lado server), e a parte das telas com HTML, Cascade Style

Sheets (CSS), Javascript e jQuery (lado client).

Todas as telas possuem chamadas que fazem validação das sessões dos usuários, e

todas que necessitam de informações do banco de dados, possuem uma chamada que efetua

esta comunicação, sendo totalmente transparente ao usuário. Isso faz com que estas duas

partes do sistema fiquem bem isoladas e de fácil manutenção.

Page 40: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

37

33..33..44 IInniicciiaannddoo oo uussoo ddoo ssiisstteemmaa

O início do uso do sistema dá-se através de uma tela de autenticação, chamado também

de tela de login (Figura 15). Nesta tela são exigidos o login e a senha. Caso o usuário ou a

senha sejam inválidos, o sistema apresentará a mensagem exibida na Figura 16.

Uma vez que o usuário esteja identificado o sistema apresenta uma tela de boas vindas

(Figura 16) e qual o nível de acesso este usuário possui. Esta tela foi desenvolvida a fim de

implantar futuramente níveis de acesso e assim apresentar ao usuário quais as opções estarão

disponíveis. Neste cenário atual basta o usuário selecionar a opção Entrar para efetivamente

fazer login no sistema.

Figura 14 - Tela login

Page 41: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

38

Figura 15 - Mensagem erro login

Figura 16 - Tela bem vindo

Ainda na tela de login o usuário tem duas opções, uma delas é fazer um novo cadastro

caso não possua selecionando a opção Novo Cadastro (Figura 17). Após o cadastro o usuário

receberá um email para validá-lo no mesmo email informado no formulário, sem essa

validação não será possível entrar no sistema. Caso o nome de usuário ou email já exista, o

sistema irá apresentar uma mensagem de alerta para que seja informado um usuário ou email

diferente (Figura 18).

A outra opção é de gerar uma nova para caso o usuário não se lembre da atual. Basta

selecionar a opção Gerar Nova Senha e o usuário será redirecionado para outra tela onde

deverá informar o email que foi informado no momento do cadastro (Figura 19). Após

informar o email e selecionar a opção Gerar Senha o usuário receberá uma nova senha. Caso

o usuário venha informar um email que não esteja no banco de dados, será apresentando uma

Page 42: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

39

mensagem de alerta informando que o email não está cadastrado (Figura 20).

Figura 17 - Novo cadastro

Figura 18 - Mensagem email já cadastrado

Figura 19 - Nova senha

Page 43: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

40

Figura 20 - Mensagem erro nova senha

Após o usuário estar autorizado são apresentados todos os menus, com o nome do

usuário exibido no canto superior direito, e como tela inicial a tela de consultas que é a parte

principal do sistema (Figura 21).

Figura 21 - Menu do sistema

A Figura 22 apresenta a tela de cadastro de palavras chaves, onde existe apenas um

campo para tal informação e a opção de Enviar onde fará o cadastro.

Figura 22 - Nova palavra chave

A Figura 23 apresenta a tela de cadastro das correlações, que são necessárias para

refinar a pesquisa. Nesta tela existe um campo texto e uma combo com a lista de palavras

chaves já cadastrada na Figura 22 para vincular à correlação.

Page 44: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

41

Figura 23 - Nova correlação

A Figura 24 apresenta a tela de cadastro dos sinônimos, que são necessários também

para refinar a similaridade e a busca por casos que se assemelham ao atual. Nesta tela também

aparece uma combo com a lista de palavras chaves das quais serão vinculadas ao sinônimo.

Figura 24 - Novo sinônimo

Alimentado os três cadastros citados anteriormente o usuário poderá fazer sua pesquisa

na opção Consultas onde será exibido um campo texto que se faz necessário o preenchimento

de no mínimo vinte caracteres para que o sistema prossiga a busca (Figura 25).

Figura 25 - Tela consulta

Inserido a dúvida o sistema apresenta os resultados em uma tabela sendo ordenado o

campo % do maior para o menor (Figura 27). Essa tabela apresenta quatro informações, sendo

elas, o percentual de similaridade em relação à dúvida do usuário e cada caso encontrado na

base de dados do 0800net (primeira coluna), o número do chamado do 0800net (segunda

coluna), a descrição do título do chamado (terceira coluna) e detalhes (informações do

chamado do 0800net). A opção de detalhes é de grande utilidade para o usuário já que ao

clicar abre-se uma janela que apresenta algumas informações úteis para o atendimento (Figura

28). Nessa tela o usuário tem à disposição além do número do chamado e a descrição

Page 45: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

42

apresentado na Figura 27, a data de abertura do chamado, a data de fechamento do chamado,

os trâmites do chamado e alguns detalhes de cada um deles sendo o principal a descrição de

cada trâmite, tornando-se útil ao usuário para a resposta ao cliente. Através dessas

informações o usuário poderá apresentar uma resposta mais precisa e rápida ao cliente.

Para conseguir efetuar o cálculo da similaridade são utilizados alguns métodos da

similaridade local, mais precisamente a técnica correção ortográfica e contagem de palavras,

onde se verifica a quantidade de caracteres e/ou quantidade de palavras iguais e realiza-se um

score para a dúvida do usuário (Figura 26). Em seguida um score para cada caso já

armazenado e por fim uma regra de três entre os dois scores.

Para cada score existem cinco categorias, sendo elas, palavras iguais, palavras

similares, sinônimos iguais e sinônimos similares, palavras não encontradas. Cada uma dessas

categorias recebeu um peso para que ao final de sua etapa os pesos fossem multiplicados pela

quantidade de vezes que esta categoria apareceu. Exemplificando, o texto procurado foi

“Como cadastrar uma disciplina”. Após executar alguns procedimentos de eliminação de

termos que não agregam significado (Exemplo: como, uma), a palavra final ficou “cadastrar

disciplina”. Em seguida o sistema verifica as palavras iguais ou similares com a lista de

palavras chaves, sinônimos iguais ou similares com a lista de sinônimos, ou ainda palavras

não encontradas. Por exemplo, caso o sistema tenha encontrado uma palavra igual, uma

palavra similar e as demais zero. O cálculo do score da dúvida ficaria da seguinte forma

(Quadro 4).

Quadro 4 - Cálculo do score

É importante ressaltar que para as categorias iguais e similares o sistema armazena as

palavras em uma lista para posteriormente serem utilizadas no cálculo de cada caso da base de

dados. Para o cálculo do score de cada caso o sistema utiliza a lista citada anteriormente e

também a lista de sinônimos para a comparação, exceto com a lista de palavras chaves, pois

esta é utilizada apenas no cálculo da dúvida do usuário. Depois de realizado o score de cada

situação os sistema faz uma regra de três, onde o score da dúvida representa 100%,

encontrando o percentual de similaridade em relação à dúvida do usuário.

Page 46: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

43

Figura 26 - Cálculo da similaridade

Figura 27 - Resultado consulta

Page 47: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

44

Figura 28 - Detalhes chamado

33..33..55 RReellaattóórriiooss

O usuário tem à disposição um gráfico gerencial no menu Gráficos Gerenciais e alguns

relatórios no menu Relatórios onde poderá ser excluído, editado, feito um novo cadastro ou

gerado arquivo pdf das informações em tela, exceto na tela de usuários onde no pdf aparece

todos os usuários e em tela apenas do próprio usuário. Na Figura 29 é apresentado o gráfico

gerencial de chamados que é composto pelas seguintes informações: quantidade de chamados

abertos no período, quantidade de chamados em aberto no período e a quantidade de

chamados fechados no período. Todas essas informações são consultadas no banco de dados

do 0800net. Na Figura 30 apresenta-se a tela de usuários onde mostra as informações apenas

do seu usuário. Na Figura 31 apresenta-se o relatório de todos os usuário cadastrados em pdf.

Page 48: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

45

Figura 29 - Gráfico gerencial

Figura 30 - Relatório usuários

Figura 31 - Relatório usuários em pdf

Na Figura 32 apresenta-se os cadastros dos sinônimos em tela.

Page 49: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

46

Figura 32 - Relatório sinônimos

Na Figura 33 apresenta-se o relatório de sinônimos em pdf.

Figura 33 - Relatório sinônimos em pdf

Na Figura 34 apresenta-se os cadastros das palavras chaves em tela.

Figura 34 - Relatório palavras chaves

Page 50: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

47

Na Figura 35 apresenta-se o relatório de palavras chaves em pdf.

Figura 35 - Relatório palavras chaves em pdf

Na Figura 36 apresenta-se os cadastros das correlações em tela.

Figura 36 - Relatório correlações

Na Figura 37 apresenta-se o relatório de correlações em pdf.

Figura 37 - Relatório correlações em pdf

Page 51: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

48

33..44 RREESSUULLTTAADDOOSS EE DDIISSCCUUSSSSÃÃOO

Através de algumas técnicas RBC descritas nesse trabalho, sendo elas a técnica da

correção ortográfica e contagem de palavras, foi possível desenvolver uma ferramenta capaz

de auxiliar a equipe de suporte da empresa Edusoft, bem como agilizar as respostas aos

clientes. Não foi desenvolvida uma ferramenta de help desk propriamente dita, mas sim uma

ferramenta de busca por soluções, pois o foco do trabalho foi desenvolver um aplicativo que

auxiliasse os atendentes na busca por casos similares na tentativa de agilizar o atendimento

aos clientes. Pôde-se observar que a característica marcante neste trabalho em relação às

etapas do RBC é a etapa de Recuperação, onde o principal objetivo foi apresentar os casos

mais similares ao usuário e a partir daí segue-se com as etapas de reutilização e revisão.

Diferentemente do foco deste trabalho, mas mantendo a mesma linha de pensamento,

os trabalhos correlatos desenvolveram uma ferramenta de help desk que armazena os casos,

situação essa que não está contido neste trabalho (etapa de retenção), pois os casos estão

armazenados em outro banco de dados.

Na Figura 38 é possível identificar possíveis soluções em relação à dúvida ‘cadastrar

um professor na base’, diferentemente do resultado da mesma dúvida inserida no 0800net na

Figura 5 onde não apresenta nenhuma possível solução nem existe uma coluna de

similaridade.

Em relação ao trabalho do Viel (2010), este trabalho apresenta um item a mais de

comparação que seriam as correlações, informação esta que não permite uma determinada

palavra perder seu significado quando existem mais de um argumento (Exemplo: matricula de

aluno).

Em relação ao trabalho do Silva (2002), este trabalho apresenta as correlações,

informação esta que não permite uma determinada palavra perder seu significado quando

existem mais de um argumento (Exemplo: matricula de aluno), o cadastro dos sinônimos que

servem para vincular a uma palavra chave outro significado aumentando o índice de acerto, e

também de não permitir determinar um peso para cada palavra chave, pois o próprio sistema

já existe seus pesos definidos que valem para todas as palavras, evitando cálculos errados.

Em relação ao trabalho de wilvert (2005), este trabalho apresenta também as

correlações, sinônimos e não é necessário vincular uma palavra chave a um caso, o próprio

sistema se encarrega de encontrar os casos mais similares apenas com os cadastros.

Como resultado final observou-se a agilidade e precisão do sistema na procura por

Page 52: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

49

casos similares apresentando de forma ordenada as soluções e suas similaridades (coluna %),

onde foi possível identificar o tempo que era gasto para resolver um simples atendimento

antes de existir a ferramenta (menos de 5 segundos para encontrar as possíveis soluções).

Figura 38 - Teste em relação à Figura 3

Page 53: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

50

4 CONCLUSÕES

Neste trabalho, se propôs o desenvolvimento de uma aplicação baseada em FAQ para

fornecer possíveis soluções de forma ágil frente a novas solicitações na área de Help Desk da

empresa Edusoft Tecnologia Ltda. Através da criação desta ferramenta pôde-se aumentar o

nível de precisão dos casos que se assemelham à dúvida do usuário (Figura 38).

O sistema desenvolvido possui funcionalidades que auxiliam não apenas o atendente

que busca por soluções aos problemas/dúvidas enfrentadas no dia a dia, mas também o

supervisor da área de Help Desk, como por exemplo, os relatórios e gráfico gerencial.

Diante das funcionalidades implementadas, o sistema desenvolvido conseguiu atender

seus objetivos. Através do desenvolvimento de uma interface simples e intuitiva, a equipe de

Help Desk da Edusoft poderá utilizar esta ferramenta no apoio à tomadas de decisões nas

soluções de novos casos.

Com relação às tecnologias empregadas, o framework jQuery e a linguagem Javascript

permitiram agilizar a implementação do sistema, fornecendo técnicas rápidas para validação

de campos.

Portanto o investimento em um sistema que traga aos atendentes casos com alto grau

de similaridade à sua dúvida, reproduzindo respostas precisas aos clientes, justifica-se quando

este é colocado em prática e notam-se os resultados observados na Figura 38.

As limitações que podem ser apontadas é o fato do sistema não efetuar o

armazenamento dos casos, mas sim apenas efetuar a consulta em outra base de dados, e

através das técnicas de RBC encontrar os casos mais similares, o cadastramento de erros

conhecidos, o cadastramento dos pesos ao invés de estarem fixos no sistema e limitar a

pesquisa em no mínimo vinte caracteres.

44..11 EEXXTTEENNSSÕÕEESS

Como sugestões para trabalhos futuros podem ser destacados:

a) cadastramento dos casos;

b) cadastramento de erros conhecidos para facilitar ainda mais a busca por casos

similares;

Page 54: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

51

c) cadastramento dos pesos deixando de estarem fixos no sistema;

d) relatórios gerenciais mais aprimorados, como por exemplo: chamados abertos, em

aberto e fechados por atendente, chamados abertos, em aberto e fechados por

atendente e produto.

Page 55: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

52

REFERÊNCIAS BIBLIOGRÁFICAS

AAMODT, A.; PLAZA, E. Case-Based Reasoning: Foundational Issues, Methodological Variations, and Systems Approaches. In: Artificial Intelligence Communications, 7., 1994, Catalonia: Proceedings... Catalonia: IOS Press, 1994. p.39-59.

ABEL, Mara. Um estudo sobre Raciocínio Baseado em Casos. Porto Alegre, 1996. Disponível em: <http://www.inf.ufrgs.br/bdi/administrator/components/com_jresearch/files/publications/CBR-TI60.pdf>. Acesso em: 11 jun. 2012.

BARRONE, Dante (Org.). Sociedades Artificiais: a nova fronteira da inteligência das maquinas. Porto Alegre: Bookman, 2003.

COSTA, Marcello Thiry Comicholi da. Uma arquitetura baseada em agentes para suporte ao ensino à distância. Florianópolis, 1999. Tese (Doutorado em Engenharia de Produção) - Programa de Pós-Graduação em Engenharia de Produção, Universidade Federal de Santa Catarina, Florianópolis. Disponível em: <http://www.eps.ufsc.br/teses99/thiry/cap4.htm>. Acesso em: 11 jun. 2012

DELPIZZO, Vanessa L. Francalacci. Prescrição de atividades físicas através do uso da inteligência artificial. Florianópolis, 1997. Tese (Doutorado em Engenharia de Produção) - Programa de Pós-Graduação em Engenharia de Produção, Universidade Federal de Santa Catarina, Florianópolis. Disponível em: <http://www.eps.ufsc.br/disserta98/delpizzo/>. Acesso em: 11 jun. 2012

FERNANDES, Anita Maria da Rocha; GUCKERT, Richard Marthendal; MOREIRA, Daniela Souza; Aplicação de uma FAQ Baseada em RBC para Suporte a Usuários de um Sistema Web. Criciúma, 2010. Disponível em: <http://periodicos.unesc.net/index.php/sulcomp/article/download/281/289.pdf>. Acesso em: 08 jul. 2012. GAEBLER, Ana Cristina. Sistema de controle da qualidade para a produção de manufatura utilizando raciocínio baseado em casos. 1999. 61 f. Trabalho de conclusão de curso (Bacharelado em Ciências da Computação). Centro de Ciências Exatas e Naturais, Universidade Regional de Blumenau, Blumenau.

HEINRICH, Luciane Tondorf. Sistema de informação aplicados a lojas de confecções do Alto Vale do Itajaí – SC utilizando raciocínio baseado em casos. 2000. 72 f. Trabalho de conclusão de curso (Bacharelado em Ciências da Computação). Centro de Ciências Exatas e Naturais, Universidade Regional de Blumenau, Blumenau.

KOLODNER, Janet L. Case-based learning. Boston : Kluwer, 1993.

Page 56: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

53

KOSLOSKY, Marco Antônio Neiva. Aprendizagem baseada em casos um ambiente para ensino de lógica de programação. Florianópolis, 1999. Tese (Programa de Pós-Graduação em Engenharia de Produção), Universidade Federal de Santa Catarina.

LEE, Rosina Weber, Pesquisa jurisprudencial inteligente. Florianópolis, 1998. Tese (Doutorado em Engenharia de Produção) - Programa de Pós-Graduação em Engenharia de Produção, Universidade Federal de Santa Catarina, Florianópolis.

O´BRIEN, J. A. Sistemas de informação e as decisões gerenciais na era da Internet. Tradução Cid Knipel Moreira. São Paulo: Saraiva, 2003.

REIS, Lisiane Albuquerque. SDDEP. Uma aplicação na área médica utilizando raciocínio baseado em casos. 1997. Universidade Federal de Santa Catarina, Florianópolis.

SANTOS, Valdinei Valmir dos. Apoio ao diagnóstico de falhas em sistemas através de RBC. Florianópolis, 2007. Disponível em: <http://projetos.inf.ufsc.br/arquivos_projetos/projeto_613/TCC_Valdinei.pdf>. Acesso em: 11 jun. 2012.

SILVA, Carlos Eduardo de Souza. Sistema de apoio para otimização das atividades de suporte técnico de uma empresa de desenvolvimento de software utilizando Raciocínio Baseado em Casos. 2002. 71 f. Trabalho de Conclusão de Curso (Bacharel em Ciências da Computação) – Centro de Ciências Exatas e Naturais, Universidade Regional de Blumenau.

VIEL, Mateus. Ferramenta de Apoio ao Atendimento a Clientes utilizando Técnica de Raciocínio Baseado em Casos. 2010. 77 f. Trabalho de Conclusão de Curso (Bacharel em Sistemas de Informação) – Centro de Ciências Exatas e Naturais, Universidade Regional de Blumenau, Blumenau.

WANGENHEIM, Christiane Gresse von; WANGENHEIM, Aldo von. Raciocínio baseado em casos. Barueri: Manoele, 2003.

WILVERT, Carla. Sistema de Apoio a Help Desk utilizando Gestão do Conhecimento e Técnica de Raciocínio baseado em Casos. 2005. 72 f. Trabalho de Conclusão de Curso (Bacharel em Sistemas de Informação) – Centro de Ciências Exatas e Naturais, Universidade Regional de Blumenau, Blumenau.

Page 57: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

54

APÊNDICE A – Descrição dos Casos de Uso

Do quadro 5 ao 15 segue-se a documentação que contém o detalhamento dos casos de

uso previsto no diagrama apresentado na subseção 3.2.3.

UC01 Consultar Casos

Permite ao usuário efetuar consultas de casos similares baseando-se nas palavras que forem

digitadas.

Constraints

Pré-condição. O usuário deverá estar identificado no sistema através do seu usuário e senha.

Pré-condição. As palavras chaves, sinônimos e correlações devem estar cadastradas.

Pós-condição. Usuário visualizou os casos similares.

Cenários

Cenário Principal

1. Usuário faz login no sistema;

2. Sistema valida os dados de usuário e senha;

3. Sistema direciona para a tela de consulta;

4. Usuário efetua a consulta;

5. Sistema efetua a busca dos casos no banco de dados externo e aplica a técnica RBC;

6. Sistema apresenta os registros de casos mais similares ordenando pelo percentual de

similaridade.

Quadro 5 - Caso de Uso “Consultar Casos”

UC02 Consultar Palavras Chaves

Permite ao usuário efetuar consultas de palavras chaves que são usadas para a busca de casos

similares, além disso, gerar relatório pdf e efetuar um novo cadastro.

Constraints

Pré-condição. O usuário deverá estar identificado no sistema através do seu usuário e senha.

Pré-condição. O usuário já deverá ter feito no mínimo um cadastro de palavra chave.

Page 58: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

55

Pós-condição. Usuário visualizou os registros das palavras chaves.

Cenários

Cenário Principal

Consulta palavras chaves

1. Usuário faz login no sistema;

2. Sistema valida os dados de usuário e senha;

3. Sistema direciona para a tela de consulta de casos;

4. Usuário acessa a tela de consulta de palavras chaves através do menu Relatórios;

5. Sistema apresenta as palavras chaves em tela, ou é possível também gerar em pdf.

Cenário Alternativo

Alteração

No passo 4 caso o usuário precise editar uma palavra chave ele seleciona a opção Editar ao

lado do registro.

Cenário Alternativo

Exclusão

No passo 4 caso o usuário precise excluir uma palavra chave ele seleciona a opção Excluir ao

lado do registro.

Quadro 6 - Caso de Uso “Consultar Palavras Chaves”

UC03 Cadastrar Palavras Chaves

Permite ao usuário efetuar manutenção nas palavras chaves bem como o processo de inclusão,

alteração ou exclusão de uma palavra chave.

Constraints

Pré-condição. O usuário deverá estar identificado no sistema através do seu usuário e senha.

Pré-condição. A palavra deverá ter no mínimo três caracteres.

Pós-condição. O usuário incluiu, alterou ou excluiu uma palavra chave.

Cenários

Cenário Principal

1. Usuário faz login no sistema;

2. Sistema valida os dados de usuário e senha;

3. Sistema direciona para a tela de consulta de casos;

4. Usuário acessa a tela de cadastro das palavras chaves através do menu Cadastros;

Page 59: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

56

5. Usuário cria um novo registro;

6. Sistema apresenta uma mensagem informando que o cadastro foi realizado com

sucesso.

Cenário Alternativo

Palavra já existente

No passo 5 caso a palavra já exista o sistema apresenta uma mensagem informando que a

palavra já está cadastrada no sistema.

Quadro 7 - Caso de Uso “Cadastrar Palavras Chaves”

UC04 Cadastrar Sinônimos

Permite ao usuário efetuar cadastros de sinônimos vinculados à lista de palavras chaves. Caso

não tenha uma ou mais palavras chaves a serem vinculadas, apresenta o campo vazio.

Constraints

Pré-condição. O usuário deverá estar identificado no sistema através do seu usuário e senha.

Pré-condição. Deverá existir no mínimo uma palavra chave cadastrada.

Pré-condição. O sinônimo deverá ter no mínimo três caracteres.

Pós-condição. O usuário incluiu, alterou ou excluiu um sinônimo.

Cenários

Cenário Principal

1. Usuário faz login no sistema;

2. Sistema valida os dados de usuário e senha;

3. Sistema direciona para a tela de consulta de casos;

4. Usuário acessa a tela de cadastro dos sinônimos através do menu Cadastros;

5. Usuário cria um novo registro vinculando à uma palavra chave;

6. Sistema apresenta uma mensagem informando que o cadastro foi realizado com

sucesso.

Cenário Alternativo

Sinônimo já existente

No passo 5 caso o sinônimo já exista o sistema apresenta uma mensagem informando que o

Page 60: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

57

sinônimo já está cadastrado no sistema.

Quadro 8 - Caso de Uso “Cadastrar Sinônimos”

UC05 Consultar Sinônimos

Permite ao usuário efetuar consultas de sinônimos que são usados para a busca de casos

similares, bem como a edição ou exclusão do registro, além disso, gerar relatório pdf e efetuar

um novo cadastro.

Constraints

Pré-condição. O usuário deverá estar identificado no sistema através do seu usuário e senha.

Pré-condição. O usuário já deverá ter feito no mínimo um cadastro de sinônimo.

Pós-condição. Usuário visualizou os registros dos sinônimos.

Cenários

Cenário Principal

Consulta sinônimos

1. Usuário faz login no sistema;

2. Sistema valida os dados de usuário e senha;

3. Sistema direciona para a tela de consulta de casos;

4. Usuário acessa a tela de consulta de sinônimos através do menu Relatórios;

5. Sistema apresenta os sinônimos em tela, ou é possível também gerar em pdf.

Cenário Alternativo

Alteração

No passo 4 caso o usuário precise editar um registro ele acessa a opção Editar ao lado do

registro

Cenário Alternativo

Exclusão

No passo 4 caso o usuário precise excluir um registro ele aciona a opção Editar ao lado do

registro.

Quadro 9 - Caso de Uso “Consultar Sinônimos”

Page 61: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

58

UC06 Cadastrar Usuário/Senha

Permite ao usuário efetuar um novo cadastro.

Constraints

Pré-condição. O usuário ou email deverão ser únicos.

Pré-condição. O email deverá ser válido para que o usuário valide através do email que é

enviado após o cadastro, caso contrário náo terá acesso ao sistema.

Pré-condição. O usuário deverá preencher todos os campos.

Pré-condição. Os campos Nome, Sobrenome e Usuário devem ter no mínimo três caracteres.

Pós-condição. O usuário foi incluído.

Cenários

Cenário Principal

1. Usuário aciona a opção de Novo Cadastro na tela de login;

2. Sistema apresenta a tela dos campos a serem preenchidos;

3. Usuário efetua seu cadastro;

4. Sistema envia um email para validar o cadastro;

5. Usuário valida o cadastro;

6. Usuário acessa o sistema com seu usuário e senha enviada por email.

Cenário Alternativo

Usuário ou Email já existente

No passo 3 caso o usuário informe um usuário ou email já existente, o sistema apresenta uma

mensagem de alerta e não prossegue o cadastro.

Cenário Alternativo

Usuário não ativado

No passo 6 enquanto o usuário não validar o passo 5, o mesmo não conseguirá acessar o

sistema.

Quadro 10 - Caso de Uso "Cadastro usuário/senha"

UC07 Consultar Usuário

Permite ao usuário consultar suas próprias informações, bem como efetuar a edição, além

disso, gerar relatório pdf com todos os usuários.

Page 62: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

59

Constraints

Pré-condição. O usuário deverá ter um cadastro no sistema já validado.

Pós-condição. Usuário visualizou ou editou suas informações.

Cenários

Cenário Principal

1. Usuário faz login no sistema;

2. Sistema valida os dados de usuário e senha;

3. Sistema direciona para a tela de consulta;

4. Usuário acessa a tela de consulta de usuário através do menu Relatórios;

5. Sistema apresenta em tela as informações do próprio usuário, ou é possível também

gerar em pdf. Está última apresenta todos os usuários cadastrados.

Cenário Alternativo

Alteração

No passo 5 caso o usuário precise editar alguma informação do seu cadastro, ele seleciona a

opção Editar ao lado do registro.

Quadro 11 - Caso de Uso "Consultar usuário"

UC08 Cadastrar Correlações

Permite ao usuário cadastrar as correlações das palavras chaves. Caso não tenha uma ou mais

palavras chaves a serem vinculadas, apresenta o campo vazio.

Constraints

Pré-condição. O usuário deverá estar identificado no sistema através do seu usuário e senha.

Pré-condição. Deverá existir no mínimo uma palavra chave cadastrada.

Pré-condição. A correlação deverá ter no mínimo três caracteres.

Pós-condição. O usuário incluiu, alterou ou excluiu uma correlação.

Cenários

Cenário Principal

1. Usuário faz login no sistema;

2. Sistema valida os dados de usuário e senha;

3. Sistema direciona para a tela de consulta;

Page 63: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

60

4. Usuário acessa a tela de cadastro das correlações através do menu Cadastros;

5. Usuário cria um novo registro vinculando à uma palavra chave;

6. Sistema apresenta uma mensagem informando que o cadastro foi realizado com sucesso.

Cenário Alternativo

Correlação já existente

No passo 5 caso a correlação já exista o sistema apresenta uma mensagem informando que a

correlação já está cadastrada.

Quadro 12 - Caso de Uso "Cadastrar Correlações"

UC09 Consultar Correlações

Permite ao usuário consultar as correlações cadastradas, bem como a edição ou exclusão do

registro, além disso, gerar relatório pdf e efetuar um novo cadastro.

Constraints

Pré-condição. O usuário deverá ter um cadastro no sistema.

Pré-condição. O usuário já deverá ter feito no mínimo um cadastro de correlação.

Pós-condição. Usuário visualizou ou editou uma correlação.

Cenários

Cenário Principal

1. Usuário faz login no sistema;

2. Sistema valida os dados de usuário e senha;

3. Sistema direciona para a tela de consulta;

4. Usuário acessa a tela de consulta de correlação através do menu Relatórios;

5. Sistema apresenta as correlações em tela, ou é possível também gerar em pdf.

Cenário Alternativo

Alteração

No passo 4 caso o usuário precise editar um registro ele acessa a opção Editar ao lado do

registro

Exclusão

No passo 4 caso o usuário precise excluir um registro ele aciona a opção Excluir ao lado do

registro.

Quadro 13 - Caso de Uso "Consultar Correlações"

Page 64: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

61

UC10 Efetuar Login

Permite ao usuário entrar no sistema através do usuário e senha encaminhados no email após

o cadastro.

Constraints

Pré-condição. O usuário deverá ter validado o cadastro através do email recebido.

Pré-condição. Os campos Usuário e Senha são obrigatórios.

Pós-condição. Usuário logado no sistema com os menus ativos.

Cenários

Cenário Principal

1. Usuário faz login no sistema;

2. Sistema valida os dados de usuário e senha;

3. Sistema exibe os menus e direciona para a tela de consulta;

Cenário Alternativo

Cadastro não ativado

No passo 2 caso o usuário não tenha validado seu cadastro através do email, o mesmo

receberá uma mensagem de alerta em tela e será solicitado os dados novamente.

Cenário Alternativo

Campo obrigatório não informado

No passo 1 caso o usuário informe apenas um dos campos, é apresentado ao lado do campo

em branco uma mensagem de que o campo é obrigatório.

Quadro 14 - Caso de Uso "Efetuar Login"

UC11 Gerar Nova Senha

Permite ao usuário gerar uma nova senha, sendo que esta será enviada para o email informado

no momento do cadastro.

Constraints

Pré-condição. O usuário deverá ter um cadastro no sistema.

Pré-condição. O usuário deverá ter validado seu cadastro.

Page 65: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

62

Pós-condição. Usuário recebeu a nova senha.

Cenários

Cenário Principal

1. Usuário acessa a opção Gerar Nova Senha;

2. Usuário informa o email;

3. Sistema encaminha a nova senha para o email do usuário;

4. Usuário acessa o sistema.

Cenário Alternativo

Email incorreto ou nao encontrado

No passo 2 caso o sistema não encontre o email informado, será apresentando uma mensagem

de alerta ao usuário;

Quadro 15 - Caso de Uso "Gerar Nova Senha"

Page 66: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

63

APÊNDICE B – Detalhamento do dicionário de dados

Segue documentação que contém o detalhamento do dicionário de dados, descrevendo

o MER que está na subseção 3.2.5.

Da figura 39 à 44 estão presentes os dados de todas as tabelas utilizadas pelo sistema,

onde PK representa as chaves primárias e FK as chaves estrangeiras. Os tipos de dados de

cada campo são descritos a seguir:

a) varchar: tipo de campo para armazenamento de strings de caracteres e seu

tamanho é definido em bytes com largura variável, os valores entre parênteses

definem o comprimento máximo em bytes de caracteres;

b) int: tipo de campo para armazenamento de números inteiros;

c) datetime: tipo de campo para armazenamento de datas e horas.

Tabela: tb_correlacao Campo Tipo Descrição Observação

co_codcor int Número sequencial da correlacao.

PK.

co_codpa int Número sequencial da palavra chave.

FK

co_descor varchar(50) Descrição da correlação. Figura 39 - Dicionário da tabela correlação

Tabela: tb_palavras

Campo Tipo Descrição Observação

pa_codpa int Número sequencial da palavra chave.

PK.

pa_despa varchar(20) Descrição da palavra chave. Figura 40 - Dicionário da tabela palavras

Tabela: tb_sinonimo Campo Tipo Descrição Observação

si_codsin int Número sequencial do sinônimo.

PK.

si_codpa int Número sequencial da palavra chave.

FK.

si_dessin varchar(20) Descrição do sinônimo. Figura 41 - Dicionário da tabela sinônimos

Page 67: APLICAÇÃO DE UMA FAQ BASEADA EM TÉCNICAS RBC NO …campeche.inf.furb.br/tccs/2012-I/TCC2012-1-16-VF... · O serviço de Help Desk pode ser disponibilizado tanto pessoalmente, quanto

64

Tabela: tb_sugestao

Campo Tipo Descrição Observação su_codsug int Número sequencial da sugestão. PK.

su_codusu int Número sequencial do usuário que efetuou a sugestão.

FK.

su_dessug varchar(255) Descrição da sugestão. su_data datetime Data de envio da sugestão. su_nome varchar(30) Descrição do nome do usuário.

su_tipo Int Número sequencial do tipo da sugestão.

Figura 42 - Dicionário da tabela sugestão

Tabela: tb_usuario Campo Tipo Descrição Observação

us_codusu int Número sequencial do usuário. PK. us_nome varchar(30) Descrição do nome do usuário.

us_sobrenome varchar(15) Descrição do sobrenome do usuário.

us_email varchar(30) Descrição do email do usuário.

us_info varchar(20) Descrição de informações sobre o usuário.

us_senha varchar(255) Senha do usuário. us_usuario varchar(25) Descrição do nome de usuário. us_nivcad int Nível de acesso do usuário. us_datcad datetime Data de cadastro do usuário. us_ultlog datetime Último acesso do usuário.

us_ativado int Informa se o usuário está ativo, onde 0 não e 1 sim.

Figura 43 - Dicionário da tabela usuário

Tabela: solicitação (chamados) Campo Tipo Descrição Observação

solid int Número sequencial do chamado armazenado no banco de dados do 0800net.

PK.

us_codusu int Número sequencial do código do usuário.

FK.

soltitulo varchar(255) Descrição do chamado. Figura 44 – Dicionário da tabela solicitacao