UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO



Documentos relacionados
SISTEMA DE HELP DESK BASEADO EM RBC

ISO/IEC 12207: Gerência de Configuração

Sistemas de Informação I

GUIA DE CURSO. Tecnologia em Sistemas de Informação. Tecnologia em Desenvolvimento Web. Tecnologia em Análise e Desenvolvimento de Sistemas

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

Governança de TI. ITIL v.2&3. parte 1

TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES

SISTEMA DE GESTÃO DE PESSOAS SEBRAE/TO UNIDADE: GESTÃO ESTRATÉGICA PROCESSO: TECNOLOGIA DA INFORMAÇÃO

CHECK - LIST - ISO 9001:2000

Glossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart.

Feature-Driven Development

Universidade Paulista

Gerenciamento de Incidentes

FACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO <NOME DO TRABALHO> <Nome do Aluno> <Nome do Orientador>

ADMINISTRAÇÃO DE ATIVOS DE TI GERENCIAMENTO DE LIBERAÇÃO

Entendendo como funciona o NAT

Rotina de Discovery e Inventário

Engenharia de Software III

PEN - Processo de Entendimento das Necessidades de Negócio Versão 1.4.0

2 Diagrama de Caso de Uso

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

AVALIAÇÃO DE INTERFACES UTILIZANDO O MÉTODO DE AVALIAÇÃO HEURÍSTICA E SUA IMPORTÂNCIA PARA AUDITORIA DE SISTEMAS DE INFORMAÇÕES

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos

Pós-Graduação em Gerenciamento de Projetos práticas do PMI

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1.

Processos Técnicos - Aulas 4 e 5

Engenharia de Requisitos Estudo de Caso

10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO

Processos de Desenvolvimento de Software

Algoritmos: Lógica para desenvolvimento de programação de computadores. Autor: José Augusto Manzano. Capítulo 1 Abordagem Contextual

Resumo do BABok 2.0 O Guia de Referência de Análise de Negócio Curso de Analista de Negócio 3.0

Manual Geral do OASIS

Gerenciamento de Problemas

Satélite. Manual de instalação e configuração. CENPECT Informática cenpect@cenpect.com.br

UNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas

Manual SAGe Versão 1.2 (a partir da versão )

CONCURSO PÚBLICO ANALISTA DE SISTEMA ÊNFASE GOVERNANÇA DE TI ANALISTA DE GESTÃO RESPOSTAS ESPERADAS PRELIMINARES

5 Mecanismo de seleção de componentes

EMENTAS DAS DISCIPLINAS

Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto

Administração de Sistemas de Informação Gerenciais

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

SUMÁRIO Acesso ao sistema... 2 Atendente... 3

MASTER IN PROJECT MANAGEMENT

Introdução a Computação

Conceitos de Banco de Dados

TI Aplicada. Aula 02 Áreas e Profissionais de TI. Prof. MSc. Edilberto Silva prof.edilberto.silva@gmail.com

LISTA DE VERIFICAÇAO DO SISTEMA DE GESTAO DA QUALIDADE

Plano de Gerenciamento do Projeto

F.1 Gerenciamento da integração do projeto

Corporativo. Transformar dados em informações claras e objetivas que. Star Soft.

ENGENHARIA DE SOFTWARE I

Sistemas Distribuídos

RESPOSTA AO QUESTIONAMENTO FORMULADO POR EMPRESA INTERESSADA NO CERTAME.

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource Rev: 02

IP significa Internet Protocol. A Internet é uma rede, e assim como ocorre em qualquer tipo de rede, os seus nós (computadores, impressoras, etc.

Introdução à Computação

SISTEMAS DISTRIBUÍDOS

)HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR

Análise e Projeto Orientados por Objetos

Proposta de Avaliação de Empresas para o uso do SAAS

Prova de Conhecimento para Consultores de Implementação MPS.BR INSTRUÇÕES

INTRODUÇÃO A PORTAIS CORPORATIVOS

ROTEIRO PARA ELABORAÇÃO DE PROJETOS

ACOMPANHAMENTO GERENCIAL SANKHYA

Módulo 4: Gerenciamento de Dados

IBM Managed Security Services for Agent Redeployment and Reactivation

Gerenciamento de software como ativo de automação industrial

CENTRAL DE SERVIÇOS APOIADA EM SOFTWARE LIVRE

OCOMON PRIMEIROS PASSOS

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd.

Planejamento Estratégico de TI. Prof.: Fernando Ascani

Aplicação Prática de Lua para Web

15/03/2010. Análise por pontos de função. Análise por Pontos de Função. Componentes dos Pontos de Função. Componentes dos Pontos de Função

A importância da comunicação em projetos de

Projeto de Sistemas I

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

Universidade Federal Rural de Pernambuco. Bacharelado em Sistemas de Informação. Disciplina: Análise e Projeto de Sistemas de Informação

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

Administração de CPD Chief Information Office

3 Qualidade de Software

Profa. Gislaine Stachissini. Unidade III GOVERNANÇA DE TI

Despachante Express - Software para o despachante documentalista veicular DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1

Introdução Ciclo de vida tradicional de desenvolvimento Prototipagem Pacotes de software Desenvolvimento de 4ª geração Terceirização

Soluções de Gerenciamento de Clientes e de Impressão Universal

Veja e interprete rapidamente qualquer tipo de informação. Compare os resultados e construa seu próprio dashboard de forma simples.

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho

ROTEIRO PARA TREINAMENTO DO SAGRES DIÁRIO Guia do Docente

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

Aplicativo para elaboração de questionários, coleta de respostas e análise de dados na área da saúde em dispositivos móveis

Prof. Raul Sidnei Wazlawick UFSC-CTC-INE. Fonte: Análise e Projeto de Sistemas de Informação Orientados a Objetos, 2ª Edição, Elsevier, 2010.

Segurança Computacional. Rodrigo Fujioka

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

MANUAL DE UTILIZAÇÃO DO SISTEMA GLPI

Engenharia de Software

Transcrição:

UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO SISTEMA DE HELP DESK BASEADO EM RBC Área de Inteligência Artificial por Tharso de Souza Ferreira Rudimar Luís Scaranto Dazzi, Dr. Orientador Itajaí (SC), julho de 2008

UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO SISTEMA DE HELP DESK BASEADO EM RBC Área de Inteligência Artificial por Tharso de Souza Ferreira Relatório apresentado à Banca Examinadora do Trabalho de Conclusão do Curso de Ciência da Computação para análise e aprovação. Orientador: Rudimar Luís Scaranto Dazzi, Dr. Itajaí (SC), julho de 2008

SUMÁRIO LISTA DE ABREVIATURAS... iv LISTA DE FIGURAS... v LISTA DE TABELAS... vi RESUMO... vii ABSTRACT... viii 1 INTRODUÇÃO... 9 1.1 PROBLEMATIZAÇÃO... 11 1.1.1 Formulação do Problema... 11 1.1.2 Solução Proposta... 11 1.2 OBJETIVOS... 11 1.2.1 Objetivo Geral... 11 1.2.2 Objetivos Específicos... 12 1.3 METODOLOGIA... 12 1.4 ESTRUTURA DO TRABALHO... 12 2 FUNDAMENTAÇÃO TEÓRICA... 13 2.1 HELP DESK... 13 2.2 INTELIGÊNCIA ARTIFICIAL... 15 2.2.1 História... 16 2.3 RACIOCÍNIO BASEADO EM CASOS... 17 2.3.1 Histórico... 19 2.3.2 Elementos Básicos do RBC... 20 2.3.3 Funcionamento de um RBC... 21 2.3.4 Representação de um Caso... 22 2.3.5 Similaridade... 24 2.3.6 Adaptação... 29 2.3.7 Aprendizado... 30 2.4 SISTEMAS SIMILARES... 32 2.4.1 Fireman Professional... 32 2.4.2 HelpDesk-3... 35 2.4.3 Automidia CBR... 37 2.4.4 Análise de ferramentas similares... 39 3 PROJETO... 40 3.1 ANÁLISE DE REQUISITO... 42 3.1.1 Requisitos Funcionais... 42 3.1.2 Requisitos não funcionais... 43 3.1.3 Regras de negócio... 43 3.2 MODELAGEM DO SISTEMA... 44 ii

3.2.1 Diagrama de casos de uso... 44 3.2.2 Diagrama de classes... 55 3.2.3 Diagrama Entidade-Relacionamento (ER)... 62 3.2.4 Diagrama de seqüência... 63 3.3 TECNOLOGIAS UTILIZADAS NO PROJETO... 67 3.4 INTERFACE DO SISTEMA... 68 3.5 TESTES... 81 4 CONCLUSÃO... 83 REFERÊNCIAS BIBLIOGRÁFICAS... 84 iii

LISTA DE ABREVIATURAS CBR DHCP DNS ER IP PHP RBC SE SQL TCC UFRGS UFSC UML UNIVALI Case Based Reasoning Dynamic Host Configuration Protocol Domain Name System Entidade Relacionamento Internet Protocol Hypertext Preprocessor Raciocínio Baseado em Casos Sistemas Especialistas Structured Query Language Trabalho de Conclusão de Curso Universidade Federal do Rio Grande do Sul Universidade Federal de Santa Catarina Unified Modeling Language Universidade do Vale do Itajaí iv

LISTA DE FIGURAS Figura 1. As divisões do processo do RBC.... 18 Figura 2. Ciclo do Raciocínio Baseado em Casos.... 22 Figura 3. O Ciclo RBC Versão mais Analítica... 23 Figura 4. Abertura de um chamado.... 33 Figura 5. Abertura de um chamado via Web.... 34 Figura 6. Criação da Base de conhecimento.... 35 Figura 7. Abertura de chamados via web.... 36 Figura 8. Busca por problemas já conhecidos.... 37 Figura 9. Automidia Change Management - Interface Web para os Analistas.... 39 Figura 10. Projeto visão do usuário.... 41 Figura 11. Caso de Uso do Administrador.... 44 Figura 12. Caso de Uso do Usuário.... 52 Figura 13. Diagrama de classes.... 56 Figura 14. Diagrama Entidade Relacionamento (ER).... 63 Figura 15. Configuração de usuário.... 64 Figura 16. Configura Casos.... 65 Figura 17. Consultar Casos.... 66 Figura 18. Tela de Login.... 68 Figura 19. Tela de apresentação do módulo administrador.... 69 Figura 20. Tela de consulta de problemas cadastrados.... 70 Figura 21. Tela de cadastro de categorias.... 71 Figura 22. Tela de cadastro de estrutura de produto.... 72 Figura 23. Tela de cadastro de caso.... 73 Figura 24. Tela de configuração de usuários.... 74 Figura 25. Tela de alteração dos dados do usuário.... 75 Figura 26. Tela de cadastro de usuário.... 76 Figura 27. Tela de alteração de senha.... 77 Figura 28. Tela de apresentação do módulo do usuário.... 78 Figura 29. Tela de consulta solução.... 79 Figura 30. Tela de consulta histórico.... 80 Figura 31. Tela de alteração de senha.... 81 v

LISTA DE TABELAS Tabela 1. Análise de Ferramentas Similares... 39 Tabela 2. Descrição das tabelas de dados.... 57 Tabela 3. Dicionário de Dados da Tabela Casos.... 58 Tabela 4. Dicionário de Dados da Tabela Caso_problema.... 58 Tabela 5. Dicionário de Dados da Tabela Chamado.... 59 Tabela 6. Dicionário de Dados da Tabela Problema.... 59 Tabela 7. Dicionário de Dados da Tabela Status.... 59 Tabela 8. Dicionário de Dados da Tabela Categoria.... 60 Tabela 9. Dicionário de Dados da Tabela Conjunto.... 60 Tabela 10. Dicionário de Dados da Tabela Conj_obj.... 60 Tabela 11. Dicionário de Dados da Tabela Objeto.... 60 Tabela 12. Dicionário de Dados da Tabela Conj_prob.... 61 Tabela 13. Dicionário de Dados da Tabela prob_status.... 61 Tabela 14. Dicionário de Dados da Tabela Usuário.... 62 vi

RESUMO FERREIRA, Tharso de Souza. Sistema de Help Desk Baseado em RBC. Itajaí, 2008. 68 f. Trabalho de Conclusão de Curso (Graduação em Ciência da Computação) Centro de Ciências Tecnológicas da Terra e do Mar, Universidade do Vale do Itajaí, Itajaí, 2008. Com os avanços tecnológicos no começo do século XXI, alguns itens como o computador e a Internet tornaram-se fatores essenciais na vida de qualquer pessoa, muito mais que a televisão, que até alguns anos era campeã nessa liderança. Com o aumento da utilização de tais recursos, a quantidade de problemas sobre eles aumentou consideravelmente, assim como a rapidez e a importância na resolução dos mesmos. Para o suporte nessa área, uma área que se tornou importante é a do help desk, porém são profissionais que muitas vezes fazem a utilização do tempo para resolução de problemas semelhantes ou até mesmo iguais, enquanto de outra forma poderiam dedicar esse tempo a novos problemas ou outras situações. Essa necessidade motivou ao desenvolvimento de um sistema que permitisse ao usuário um contato direto com as soluções dos profissionais de help desk sem a utilização direta do seu tempo. A característica principal do sistema é a utilização do conhecimento adquirido em situações anteriores, assim sendo problemas podem ser utilizado com base nas novas utilizações do sistema. Com a utilização do Raciocínio Baseado em Casos (RBC), uma técnica de Inteligência Artificial, casos anteriormente são recuperados e comparados por processos de similaridade com o problema atual e com os problemas eficazmente resolvidos no passado. Palavras-chave: RBC. Inteligência Artificial. Help Desk. vii

ABSTRACT With the technological advances at the beginning of the twenty-first century, some items of the computer and Internet have become essential in every person s life, even more than television, that until some years ago was the champion of the electronic sector. Because the increase of operation of these resources, the quantity of problems about the electronic systems also have risen considerably just like the speed and importance of the resolution of these products. To the support of this area, the Help Desk has gotten importance, although the professionals of this area are the ones who use their time solving similar or even equal problems, while they could use this time to new problems or different situations. This need has motivated the development of a system that allows the user a direct contact with the solutions of the Help Desk professionals without using all their time. The main characteristic of the system is the use of the knowledge acquired in the past situations, so the problems may be used as basis for the new cases. With the use of Reasoning Based on Cases (RBC), a technical of Artificial Intelligence, past cases are recovered and compared by processes of similarity between the actual problem and problems effectively solved in the past. Keywords: Reasoning Based on Cases. Artificial Intelligence. Help Desk. viii

1 INTRODUÇÃO No início do século XXI, as centrais de atendimento já possuíam a capacidade de executar determinados serviços sem a intervenção humana, poupando recursos e dedicação para os mesmos. Ainda assim, existem resoluções para determinados problemas e ações no sistema que são muito complexas para serem automatizadas. Qualquer empresa que tenha seu próprio Help Desk, ou seja, um serviço de apoio ao usuário para suporte de problemas técnicos, lidam todos os dias com um imenso número de chamados, sobre diversas dúvidas. Entretanto em sua grande maioria, essas chamadas são semelhantes ou até mesmo iguais. Desta forma o deslocamento de um técnico e a atenção dada a essas dúvidas gera um consumo de tempo e recurso humano desperdiçado equivocadamente, além dos gastos com deslocamento e a utilização de meios de telecomunicação, como telefone, largamente utilizado pelas empresas. Grande parte das dúvidas geradas são simples e podem ser resolvidas pelo próprio usuário. Estas são dúvidas cotidianas ou utilizações incorretas, e que consomem de alguma forma, recursos da empresa que podem ser empregados em outro setor. No caso de um provedor de Internet, este arca diariamente com dúvidas simples, tais como problemas de navegação. Grande parte desses problemas podem ser resolvido simplesmente com a configuração de um DNS (Domain Name System - Sistema de Nomes de Domínios), conexão nula ou limitada, que pode ser resolvido efetuando a configuração de um IP (Internet Protocol), problemas de acesso a programas de Chat de conversa, que muitas vezes podem ser solucionadas com a correção do calendário e relógio do computador. Para dispositivos de hardware, placa de rede desativada, cabo de rede desconectado, programa da interface de rede instalado incorretamente, geram o mesmo problema de dificuldade na navegação, mais abordados de forma diferente. Muitos usuários no ímpeto do momento, ao se depararem com dificuldade ao acessar um determinado domínio na Internet chegam à conclusão que não existe sinal, sem ao menos tentar efetuar a navegação em outros domínios. Partindo do princípio que endereços na internet estão hospedados em servidores diferentes, ou seja, com disponibilidades diferentes, a dificuldade em acessar um domínio na internet não pode 9

torna-se uma obrigatoriedade para o acesso aos outros domínios. Dessa forma freqüentes problemas de navegação podem ser solucionados tentando acessar domínios totalmente opostos. Estes são problemas que o usuário por si mesmo tem a opção de resolver no mesmo instante e sozinho, apenas com a indicação de uma direção para a solução. Na grande maioria dos casos, porém a empresa provedora de serviços de Internet se vê obrigada a abrir um chamado para aquele problema, solicitando até mesmo um prazo de 24 a 48 horas para a conclusão, sendo este um procedimento considerado padrão entre os provedores de serviço de Internet. A união da grande quantidade de chamadas e os prazos praticados pelas empresas provedoras de serviços de internet torna o atendimento ao usuário demorado. Uma estratégia para solucionar o problema dos atendimentos é a criação de um Sistema de help desk, que se constitui de uma aplicação composta de técnicas de RBC (Raciocínio Baseado em Casos). O funcionamento de todo o sistema está baseado em perguntas e respostas, onde as dúvidas do usuário são consultadas em uma base de dados e usando-se uma métrica pré-estabelecida, retorna com uma resposta semelhante ao questionamento do usuário. O sistema de help desk deve ser de fácil usabilidade e fácil acesso, desenvolvido diretamente para usuários que possuem os mínimos conceitos sobre informática. Quando um novo problema é encontrado, o RBC relembra casos similares e adapta as soluções que funcionaram no passado ao problema corrente. Subjacente a este enfoque está a suposição de que problemas cuja descrição possui formas similares apresentam soluções similares. Conseqüentemente soluções de problemas prévios similares ao atual torna-se um ponto de partida útil para soluções de um novo problema (WANGENHEIM e WANGENHEIM, 2003). O sistema em questão não possui o intuito de substituir os meios convencionais de suporte e solução aos problemas do usuário, mas sim, agregar valor, tornando o serviço de Help Desk já existente mais eficaz e eficiente. Este projeto de pesquisa também se justifica em nível de Trabalho de Conclusão de Curso para o Curso de Ciência da Computação, por se tratar do desenvolvimento de uma solução computacional que faz o uso de conceitos e teorias como as citadas anteriormente. 10

1.1 PROBLEMATIZAÇÃO 1.1.1 Formulação do Problema Os profissionais que trabalham diariamente com atendimento ao cliente e com a solução de dificuldades relacionados a problemas computacionais, tem que lidar com uma gama extensa de conhecimentos. Entretanto pela infinidade de situações, muitos desses conhecimentos se perdem com o passar do tempo e o desgaste do profissional em continuar armazenando situações com a sua própria prática. Muitos desses conhecimentos podem ser reutilizados visto que fazem parte de situações iguais ou até mesmo similares, retornando para o usuário uma solução mais rápida e mais precisa. 1.1.2 Solução Proposta A solução proposta baseia-se em uma técnica de Inteligência Artificial denominada Raciocínio Baseado em Casos, visando melhoria do atendimento e resolução do problema pelo especialista. Por se tratar de um sistema web, a interface permite a interação do usuário com o especialista, evitando assim que problemas simples, de fácil resolução possam comprometer o tempo de atendimento ao usuário. Desta forma o especialista tem mais tempo disponível para o atendimento do próximo usuário, otimizando o tempo de atendimento e a qualidade do serviço. 1.2 OBJETIVOS 1.2.1 Objetivo Geral O objetivo geral deste projeto é desenvolver um sistema de Help Desk, usando Raciocínio Baseado em Casos para auxiliar no atendimento dos clientes no setor de suporte de um provedor de internet situado na cidade de Balneário Camboriú. 11

1.2.2 Objetivos Específicos Pesquisar e analisar soluções similares; Determinar os principais requisitos exigidos pelo sistema; Compreender as metodologias utilizadas para o desenvolvimento de um sistema RBC; Pesquisar e definir parâmetros para o RBC; Pesquisar e definir as tecnologias necessárias para a implementação do sistema; Realizar a modelagem conceitual do sistema; Implementar o sistema; Testar e validar o sistema; e Documentar o desenvolvimento e os resultados do sistema. 1.3 Metodologia Para o desenvolvimento da fundamentação teórica, foram realizadas pesquisas visando entender conceitos e metodologias envolvidas no processo de tratamento de informações de um sistema Help Desk, conhecer o método de Raciocínio Baseado em Casos tais como ferramentas necessárias ao desenvolvimento web. As pesquisas se fundamentaram em livros, artigos científicos, sites na Internet que abordam o assunto e trabalhos acadêmicos. Em uma segunda etapa do trabalho, foi realizada a análise do sistema, usando UML (Unified Modeling Language) para diagramar o modelo proposto. As demais etapas serão descritas no TCCII. 1.4 Estrutura do trabalho O trabalho está dividido em quatro capítulos: Introdução, Fundamentação Teórica, Projeto e Considerações Finais. 12

O primeiro capítulo apresenta uma breve introdução sobre o tema, descrevendo o problema e apresentando uma solução. Também foi feita uma discussão sobre como os objetivos devem ser trabalhados para que até o fim do desenvolvimento do trabalho os mesmos possam ser alcançados. No segundo capítulo é apresentado um estudo mais aprofundado sobre os temas que serão abordados no trabalho. Inicia-se apresentando um estudo sobre a Inteligência Artificial, mais especificamente sobre o Raciocínio Baseado em Casos, que é a técnica utilizada neste projeto de pesquisa. E ao final são demonstrado outros sistemas de Help Desk largamente utilizados no mercado. O terceiro capítulo refere-se ao projeto, incluindo os requisitos do sistema e a forma como ele será modelado e desenvolvido. Também é apresentado uma descrição sobre as ferramentas utilizadas para o desenvolvimento do sistema, como por exemplo o PHP (Hypertext Preprocessor) e o MySQL. O quarto capitulo apresenta as conclusões e recomendações para trabalhos futuros. 2 FUNDAMENTAÇÃO TEÓRICA Para o desenvolvimento do sistema de Help Desk necessita-se o conhecimento de conceitos de Inteligência Artificial, mais exatamente em Raciocínio Baseado em Casos e Rotinas de um setor de Help Desk. A seguir serão abordados os assuntos considerados os mais relevantes para este projeto. 2.1 HELP DESK Inicialmente para o desenvolvimento deste projeto deve-se entender o significado de Help Desk. A palavra é um termo inglês, que se descreve como serviço de apoio ao usuário. O Help Desk é uma área especializada na resolução de problemas, e suporte técnico a equipamentos de informática e telecomunicações, seja por telefone ou acesso remoto, com o objetivo de auxiliar e resolver problemas que os usuários possam ter. O objetivo maior do 13

Help Desk é fornecer aos usuários um ponto único de contato (SPOC - Single Point Of Contact), essencial para a comunicação entre os usuários e os profissionais da TI. O Help Desk surgiu da idéia de um mal necessário, ou seja, com a função de manter em funcionamento todo o aparato tecnológico que na teoria é responsável pelo crescimento do negócio da empresa. O Help Desk é obrigado a dispor de uma variada gama de conhecimentos, sendo que nem tudo que se apresenta através de dificuldade está disponível, anotado ou documentado, novos problemas são criados a partir do conflito de novas tecnologias, tornando-se algo inusitado. De acordo com Cohen (2005), os Help Desks são constituídos sobre a tríade pessoas, tecnologias e processos. Hoje em dia, os gerentes destas áreas encontram no mercado de fornecedores um grande leque de ferramentas para suprir a lacuna tecnologia. Possuem bom conhecimento sobre como organizar os mecanismos que envolvem processos, frutos elaborados da fusão organizacional de antigos setores de Organização e Métodos com as áreas de tecnologia da informação. Na grande maioria dos setores de Help Desk, o principal problema se concentra em receber mais chamados do que se pode atender. Na lógica a melhor maneira de solucionar esse problema é diminuir o numero de chamados efetivos que chegam até o Help Desk. O principal foco na diminuição de chamados para o Help Desk é a solução dos problemas que são gerados no dia-a-dia, porém na rotina das empresas, muitos são os problemas que se repetem, e chegam seguidas vezes ao suporte. O setor do Help Desk já tem por si próprio que lidar com metas para que mantenha toda a estrutura tecnológica da empresa em funcionamento, ou seja, deve-se separar o que é efetivo para ser solucionados diretamente pelo Help Desk, e o que são problemas repetitivos nos quais existem alternativas para sua solução. Na utilização de computadores, internet ou um sistema interno da empresa, os usuários se deparam com problemas iguais ou similares todo o tempo. O que acontece nesse caso é a forma que o problema é apresentado. Problemas de DNS (Domain Name System - Sistema de Nomes de Domínios), por exemplo, afeta diversos programas que acessam a internet, se não existe atribuição automática de DNS na rede onde se está navegando, o mesmo necessita que seja configurado no computador um endereço de DNS para o seu perfeito funcionamento, desta forma um programa de Chat, por exemplo, que 14

não conecta ou não executa todas as suas funções pode ter seus problemas atribuídos a uma mesma fonte, porém apresentado de forma diferente. Na tentativa de conectar-se à um rede sem fio por exemplo, no dispositivo de rede é atribuído a informação conexão nula ou limitada. Neste caso determina-se que o dispositivo provedor da rede sem fio não está configurado para trabalhar com DHCP, ou seja não distribui IP s automaticamente. Assim sendo, o computador que tenta ingressar em sua rede não conseguirá navegar sem um IP configurado manualmente, enquanto para o usuário o único ponto relevante é que o mesmo não consegue utilizar a internet. Grande parte dos problemas relacionados à utilização de tecnologias de informática possui entre si uma similaridade por menor que ela seja. Assim sendo o tempo gasto na resolução definitiva de problemas, em grande parte é curto. A demora é notada pelo tempo que o profissional leva de deslocamento até a fonte, mais o tempo que é informado pelo usuário sobre as dificuldades. Problemas que podem ser resolvidos com a utilização de um sistema, deixando assim para o Help Desk apenas as situações efetivas. Fatores estes que tornam o serviço mais ágil, desafogando o setor, que é constantemente fonte de reclamações pela demora no seu atendimento. 2.2 INTELIGÊNCIA ARTIFICIAL A palavra inteligência vem do latim inter (entre) e legere (escolher). Portanto, inteligência significa aquilo que permite ao ser humano escolher entre uma, duas ou várias opções, ou ainda a habilidade de realizar uma determinada tarefa de forma eficiente. A palavra artificial vem do latim artificiale, e significa algo não natural (produzido pelo homem). Assim, inteligência artificial é um tipo de inteligência produzida pelo homem para dotar as máquinas de algum tipo de habilidade que simula a inteligência humana.(fernandes, 2003 apud MENEZES, 2006). A inteligência Artificial (IA) busca prover máquinas com a capacidade de realizar algumas atividades mentais do ser humano. Em geral são máquinas com algum recurso computacional, de várias arquiteturas, que permitem a implementação de rotinas não necessariamente algorítmicas. As atividades realizadas por estas máquinas podem envolver a sensopercepção (como tato, audição, e visão), as capacidades intelectuais (como 15

aprendizado de conceitos e de juízos, raciocínio dedutivo e memória), a linguagem (como as verbais e gráficas) e atenção (decisão no sentido de concentrar as atividades sobre um determinando estímulo) (NASCIMENTO JR. e YONEYAMA, 2000). Em termos de tecnologia, IA permite que máquinas possam realizar tarefas complexas no lugar do operador humano, liberando-o de atividades enfadonhas, insalubres ou inseguras. Também pode aumentar a eficiência do humano na sua interação com equipamentos sofisticados. Permite, ainda que conhecimentos possam ser compartilhados por muitas pessoas, sem que haja necessidade de consultas a especialistas (NASCIMENTO JR. e YONEYAMA, 2000). 2.2.1 História O primeiro trabalho reconhecido como IA foi realizado por Warren McCulloch e Walter Pitts (1943). Eles se basearam em três fontes: o conhecimento da filosofia básica, a função dos neurônios no cérebro, uma análise formal da lógica proporcional criada por Russel e Whitehead, e a teoria da computação de Turing. Esses dois pesquisadores propuseram um modelo de neurônios artificiais no qual cada neurônio se caracterizava por estar ligado ou desligado, com a troca para ligado ocorrendo em resposta à estimulação por um número suficiente de neurônios vizinhos. O estado de um neurônio era considerado equivalente em termos concretos a uma proposição que definia seu estímulo adequado. Por exemplo, eles mostraram que qualquer função computável podia ser calculada por uma rede de neurônios conectados, e que todos os conectivos lógicos (e, ou, não etc.) podiam ser implementados por estruturas de redes simples. McCulloch e Pitts também sugeriram que redes definidas adequadamente seriam capazes de aprender. Donald Hebb (1949) demonstrou uma regra de atualização simples para modificar as intensidades de conexão entre neurônios. Sua regra, aprendizagem de Hebb, continua a ser um modelo influente até hoje (RUSSELL e NORVIG, 2004). Surgiram vários exemplos de trabalhos que hoje podem ser caracterizados como IA, mas foi Alan Turing que primeiro articulou uma visão completa da IA em seu artigo de 1950 intitulado Computing Machinery and Intelligency. Nesse artigo, ele apresentou o 16

teste de Turing, aprendizagem de máquina, algoritmos genéricos e aprendizagem por esforço (RUSSELL e NORVIG, 2004). Segundo Rabuske (1995 apud MENEZES, 2006), já em 1965, Zadeh propõe a base lógica difusa, também chamada de lógica nebulosa ou fuzzy logic, que lida com a avaliação de expressões lógicas contendo valores incertos. Grande parte do trabalho em redes neurais nos anos 80 foi realizada na tentativa de definir a abrangência do que poderia ser feito e de aprender como as redes neurais diferem das técnicas tradicionais. Utilizando uma metodologia aperfeiçoada e estruturas teóricas, o campo chegou a uma compreensão tal que, agora, as redes neurais podem ser comparadas as técnicas correspondentes da estatística, do reconhecimento de padrões e do aprendizado de máquinas, podendo ser utilizada a técnica mais promissora em cada aplicação. (RUSSELL e NORVIG, 2004). 2.3 RACIOCÍNIO BASEADO EM CASOS No dia-a-dia do ser humano, problemas que surgem a todo o momento em suas vidas forçam-nos a tomar decisões. As pessoas, por natureza trabalham com a hipótese de já ter vivido problema ou situação semelhante anteriormente, ou em outros casos, conhecem alguém que já tenha vivido o mesmo problema. Dessa experiência vivida ou adquirida utiliza-se solução semelhante ou até mesmo igual, focando na resolução do seu próprio problema. Segundo Wangenheim e Wangenheim (2003), a tecnologia de RBC pode ser analisada de dois pontos de vista diferentes. Pode ser considerada como uma metodologia para modelar o raciocínio e o pensamento humano e também como uma metodologia para construir sistemas computacionais inteligentes. Para Fernandes (2003 apud MIOTTO, 2006), o processo característico do RBC, Raciocínio Baseado em Casos, consiste em identificar o problema atual, buscar a 17

experiência mais semelhante na memória e aplicar o conhecimento desta experiência passada no problema atual. Abel (1996 apud MIOTTO, 2006), informa que para um domínio particular os problemas a serem resolvidos tendem a ser recorrentes e repetir-se com pequenas alterações em sua versão original. Desta forma, soluções anteriores podem ser aplicadas também com pequenas alterações. Segundo Leak (1996 apud THÉ, 2001) os sistemas de RBC podem ser interpretativos, onde utiliza casos anteriores como ponto de referência para classificar e/ou caracterizar novas situações, ou os RBC s podem ser como soluções de problemas que utiliza casos anteriores para sugerir soluções para aplicar em novas circunstâncias. Segundo Fox (1995 apud GROSSMANN JR., 2002), o processo do RBC pode ser dividido em tarefas separadas, porém onde exatamente ficam as linhas que separam cada tarefa depende de cada aplicação em particular. Em linhas gerais normalmente esse processo se divide em três partes: a recuperação de um caso semelhante da base de casos, a avaliação do caso recuperado frente às necessidades do novo caso, e a adaptação do caso recuperado para que atenda satisfatoriamente o novo problema, conforme podemos ver na figura 1. Figura 1. As divisões do processo do RBC. Fonte: Adaptado de Grossmann Jr.(2002). 18

O Raciocínio Baseado em Casos é a forma lógica de pensamentos racionais, que se baseia em acontecimentos. A técnica é importante no modo de implementar um sistema de Inteligência Artificial, por trazer para próximo a forma de raciocínio do ser humano, de uma maneira simples e fácil de ser entendida. Uma metodologia simples, onde o problema atual é o ponto de partida para buscar experiências passadas, utilizar a mesma solução ou adaptar de forma que se aplique as novas situações. 2.3.1 Histórico Segundo Wangenheim e Wangenheim (2003 ), as raízes do Raciocínio Baseado em Casos na Inteligência Artificial foram inspirados nos trabalhos de Schank e Abelson sobre Memória Dinânima e no modelo cognitivo de uma função central de lembrança de situações passadas (casos e memória episódica) e de padrões de situações. Para Melchiors (1999 apud GROSSMANNN JR., 2002), em 1977, Schank e Abelson propuseram que o conhecimento geral das pessoas sobre as situações está armazenado em scripts, permitindo que elas criem expectativas sobre o que ouvem, e dessa forma façam deduções sobre as relações entre as coisas que ouviram. Os scripts foram propostos como uma estrutura de memória conceitual, descrevendo informação sobre eventos estereotipados, como ir a um restaurante ou a uma consulta a um médico. Porém experimentos com scripts mostraram que eles não representam uma teoria completa de representação de memória. Já que as pessoas confundem eventos que tem scripts similares. Os scripts parecem ser apenas uma faceta dos conhecimentos que as pessoas utilizam para a compreensão: elas se valem também de outros tipos de conhecimento, como o conhecimento sobre objetivos, planos, relações interpessoais e papéis efetuados pelas pessoas, segundo Kolodner (1993 apud GROSSMANNN JR., 2002). Representações sobre estes tipos de conhecimento têm sido propostas e sistemas de computadores que usam estes tipos de conhecimento para o entendimento têm sido desenvolvidos. Outros caminhos dentro da área de RBC foram, em seguida, pesquisados por Gentner, 1983, que estudou sobre o raciocínio analógico. Teoria de formação de conceitos, resolução de problemas e aprendizado experimental dentro da psicologia e da filosofia. Mas um dos primeiros sistemas que utilizou a metodologia de RBC foi o CYRUS, desenvolvido 19

por Janet Kolodner em 1983, baseado no modelo de memória dinâmica de Schank. A memória de casos neste modelo é uma estrutura hierárquica chamada pacotes de organização da memória episódica. A idéia básica é organizar casos específicos que possuam propriedades similares mais generalizadas de acordo com Plaza e Aamodt (1994 apud THÉ, 2001). Outra base de RBC e conjunto de modelos foi desenvolvida por Bruce Poter e seu grupo na University of Texas, em Austin. Inicialmente trabalhando com o problema de aprendizado automático para classificação de tarefas, o grupo desenvolveu o sistema PROTOS. O seguinte sistema enfatiza a integração do conhecimento geral do domínio e do conhecimento específico de casos em uma estrutura de representação unificada um modelo de memória de casos. Além dessa, outra contribuição importante para a área foi o trabalho do grupo de Edwina Rissland na University of Massachussetts, em Amherst, que desenvolveram o sistema HYPO, aplicado para o domínio do Direito segundo Grossmannn Jr. (2002). 2.3.2 Elementos Básicos do RBC Para Wangenheim e Wangenheim (2003), os elementos básicos de um sistema de RBC são: Representação do Conhecimento: Em um sistema de RBC, o conhecimento é representado principalmente em forma de casos que descrevem experiências concretas. No entanto, se for necessário, também outros tipos de conhecimento sobre o domínio de aplicação podem ser armazenados em um sistema de RBC (por exemplo, casos abstratos e generalizados, tipo de dados, modelos de objetos usados como informação). Medida de Similaridade: Temos de ser capazes de encontrar um caso relevante para um problema atual na base de casos e responder à pergunta quando um caso relembrado for similar a um novo problema. Adaptação: Situações representadas como casos dificilmente serão idênticas às do problema atual. Sistemas de RBC avançado têm mecanismos e 20