UNIVERSIDADE SÃO FRANCISCO Engenharia de Computação CELSO HENRIQUE CESILA LUIZ FELIPE MOREIRA DO AMARAL MICHEL HENRIQUE LEITE RICARDO CHICARONI SISTEMA HELP DESK UTILIZANDO BANCO DE DADOS MULTIMÍDIA Itatiba 2013 CELSO HENRIQUE CESILA – R.A. 002200900532 LUIZ FELIPE MOREIRA DO AMARAL – R.A. 002200900532 MICHEL HENRIQUE LEITE – R.A. 002200900532 RICARDO CHICARONI – R.A. 002200900532 SISTEMA HELP DESK UTILIZANDO BANCO DE DADOS MULTIMÍDIA Monografia apresentada ao Curso de Engenharia de Computação da Universidade São Francisco, como requisito parcial para obtenção de título Bacharel em Engenharia de Computação. Orientador Prof. Glauco Kiss Leme. Itatiba 2013 RESUMO Hoje em dia há um crescimento muito grande de sistemas informatizados, estão praticamente em todos os aparelhos e cada vez mais integrados, contudo o conhecimento técnico e a familiaridade com estes novos produtos não crescem na mesma velocidade. Por esta razão existe uma demanda crescente para os serviços de suporte e que este por sua vez precisa atender o mais rápido possível o cliente. Este trabalho visa construir um protótipo de um programa para gerenciar pedidos de suporte, que também possui uma base de conhecimento multimídia utilizando um sistema de busca por palavra-chave. Palavras chave: Mídia, Multimídia, Base de Dados, Help Desk ABSTRACT Nowadays there is a very large growth of computerized systems, are virtually all devices and increasingly integrated, however the technical knowledge and familiarity with these new products don’t grow at the same rate. For this reason there is an increasing demand for support services and this must meet as soon as possible the client. This work aims to build a prototype of a program to manage support requests, which also has a base of knowledge using a multimedia search engine by keyword. Key Words: Media, Multimedia, Database, Help Desk LISTA DE ILUSTRAÇÕES Figura 1 - Gráfico que demonstra as diferentes fontes de suporte dentro de uma organização. ....................................................................................................... 21 Figura 2 - Gráfico sobre as atuais fontes de suporte. ................................................ 22 Figura 3 - Gráfico que demonstra o número de tentativas de atendimento para resolver um problema. ...................................................................................................... 23 Figura 4 - Gráfico que demonstra os canais de atendimentos utilizados pelo usuário. .. 24 Figura 5 - Fluxograma do sistema. ........................................................................ 28 Figura 6 – Relacionamento entre tabelas do banco de dados. .................................... 29 Figura 7 - Tela de Home ...................................................................................... 35 Figura 8 - Tela de Solicitações .............................................................................. 35 Figura 9 - Tela de Solicitação ............................................................................... 36 Figura 10 - Solicitação finalizada .......................................................................... 37 Figura 11 - Solicitação palavra chave .................................................................... 38 Figura 12 - Solicitação FAQ ................................................................................. 39 Figura 13 - Tela de login. ..................................................................................... 45 Figura 14 - Tela de alterar senha ........................................................................... 46 Figura 15 - Tela de soluções básicas. ..................................................................... 46 Figura 16 - Tela de buscar usuário. ........................................................................ 47 Figura 17 - Tela de cadastro de usuário/técnico....................................................... 47 Figura 18 - Tela de relatórios. ............................................................................... 48 Figura 19 - Tela de Soluções................................................................................. 49 LISTA DE TABELAS Tabela 1 - Descrição dos campos da tabela PessoaFisica. ......................................... 30 Tabela 2 - Descrição dos campos da tabela Tecnico. ............................................... 30 Tabela 3 - Descrição dos campos da tabela Usuario................................................. 31 Tabela 4 - Descrição dos campos da tabela Solicitacao. ........................................... 31 Tabela 5 - Descrição dos campos da tabela SolicitacaoAnexo. ................................. 32 Tabela 6 - Descrição dos campos da tabela SolicitacaoComentario. .......................... 32 Tabela 7 - Descrição dos campos da tabela SolicitacaoFAQ. .................................... 33 Tabela 8 - Descrição dos campos da tabela PalavraChave. ....................................... 33 Tabela 9 - Descrição dos campos da tabela SolicitacaoFAQPalavraChave. ................ 33 Tabela 10 - Descrição dos campos da tabela SolicitacaoPalavraChave. ..................... 34 Tabela 11 - Descrição dos campos da tabela TipoServiço. ....................................... 50 Tabela 12 - Descrição dos campos da tabela SubTipoServico. .................................. 50 Tabela 13 - Descrição dos campos da tabela Prioridade. .......................................... 51 Tabela 14 - Descrição dos campos da tabela Estado. ............................................... 51 Tabela 15 - Descrição dos campos da tabela Cidade. ............................................... 51 Tabela 16 - Descrição dos campos da tabela Bairro. ................................................ 52 Tabela 17 - Descrição dos campos da tabela Logradouro. ........................................ 52 Tabela 18 - Descrição dos campos da tabela AreaAtuacao. ...................................... 52 Tabela 19 - Descrição dos campos da tabela Status. ................................................ 53 Tabela 20 - Descrição dos campos da tabela SolicitacaoStatus. ................................ 53 SUMÁRIO 1. INTRODUÇÃO .............................................................................................. 8 2. OBJETIVO .................................................................................................... 9 3. METODOLOGIA ......................................................................................... 10 4. MÍDIA E MULTIMÍDIA .............................................................................. 11 4.1. Mídia de Percepção ........................................................................................... 11 4.2. Mídia de Representação .................................................................................... 11 4.3. Mídia de Apresentação ...................................................................................... 12 4.4. Mídia de Armazenamento ................................................................................. 12 4.5. Mídia de Transmissão ....................................................................................... 12 4.6. Multimídia ........................................................................................................ 13 BANCO DE DADOS .................................................................................... 14 5. 5.1. Banco de dados multimídia ............................................................................... 15 5.2. Blocos binários .................................................................................................. 16 5.3. Metadados ......................................................................................................... 18 5.4. Indexação de dados multimídia ......................................................................... 18 CONCEITOS INICIAIS DE HELP DESK .................................................... 20 6. 6.1. Serviço de Help Desk ......................................................................................... 24 6.2. Base de Conhecimentos ..................................................................................... 25 DESENVOLVIMENTO DO SOFTWARE .................................................... 27 7. 7.1. Modelo de Entidade Relacional ......................................................................... 28 7.1.1. Tabela PessoaFisica ....................................................................................... 29 7.1.2. Tabela Tecnico .............................................................................................. 30 7.1.3. Tabela Usuario .............................................................................................. 30 7.1.4. Tabela Solicitacao.......................................................................................... 31 7 7.1.5. Tabela SolicitacaoAnexo................................................................................ 32 7.1.6. Tabela SolicitacaoComentario ....................................................................... 32 7.1.7. Tabela SolicitacaoFAQ .................................................................................. 32 7.1.8. Tabela PalavraChave .................................................................................... 33 7.1.9. Tabela SolicitacaoFAQPalavraChave............................................................ 33 7.1.10. Tabela SolicitacaoPalavraChave ................................................................... 33 Funcionalidades ................................................................................................ 34 7.2. 7.2.1. Abertura de solicitação .................................................................................. 34 7.2.2. Acompanhamento da solicitação ................................................................... 36 7.2.3. Busca por palavras chave .............................................................................. 37 7.2.4. Base de conhecimento .................................................................................... 38 8. CONCLUSÃO E TRABALHOS FUTUROS .................................................. 40 9. REFERÊNCIAS BIBLIOGRÁFICAS........................................................... 41 APÊNDICE A ........................................................................................................ 45 Telas do software ......................................................................................................... 45 APÊNDICE B ........................................................................................................ 50 Tabelas do banco de dados........................................................................................... 50 8 1. INTRODUÇÃO Com o crescimento da informática as empresas possuem cada vez mais equipamentos que se conectam entre si de alguma forma, hoje em dia existem desde celulares, computadores até geladeiras que se conectam na internet ou em rede local. Diante deste crescimento, as empresas possuem uma equipe para auxiliar na resolução de problemas ou dúvidas que os outros colaboradores possam ter. Este ambiente pode demandar muitos controles para o gerenciamento das solicitações existentes e estes controles acabam gerando vários processos dentro da equipe de suporte. Sendo assim, as empresas utilizam sistemas denominados Help Desk. Este tipo de software tem a função de auxiliar a equipe de suporte para coordenar e solucionar os incidentes que ocorrem com os usuários, assegurando que os chamados gerados por estes incidentes não sejam perdidos, esquecidos ou negligenciados. Segundo ECOIT (2012) em geral, a oferta de serviço para Service Desk é representada por apenas 6% do custo total da área de Tecnologia da Informação de uma organização. No entanto, em relação aos serviços de TI 50% da percepção de qualidade de atendimento de toda a área é decaída sobre o Service Desk. Este trabalho se propõe a abordar esse assunto, melhorando os moldes de gerenciamento de chamados a TI, utilizando uma nova ferramenta construída com a tecnologia C# (.Net) e banco de dados MS SQL utilizando o conceito de base multimídia . 9 2. OBJETIVO O objetivo deste trabalho é desenvolver protótipo de uma aplicação para gerenciar pedidos de suporte para T.I. utilizando a tecnologia .NET, permitindo o armazenamento dos anexos, enviados pelos solicitantes de suporte e que permita também a construção de uma base de conhecimento própria, possibilitando inserir qualquer tipo de arquivo que oriente à solução de um problema, através de um banco de dados multimídia, possibilitando a centralização e o gerenciamento destes arquivos. 10 3. METODOLOGIA Este trabalho será baseado no desenvolvimento de um sistema de gerenciamento de pedido de suporte, que possui uma base de dados multimídia. Essa base possibilita a construção de uma base de conhecimento própria e o cruzamento do cadastro dos problemas com as suas respectivas soluções, permitindo aos usuários e técnicos visualizarem as soluções encontradas para problemas semelhantes. Inicialmente, foi criado o banco de dados do sistema através da ferramenta Microsoft SQL Server 2012 Express, no qual foram estruturadas as tabelas e seus relacionamentos, assim como os tipos dos dados que serão armazenados em cada campo. A partir do banco de dados obtido foi gerado o MER – Modelo Entidade Relacionamento (Figura 5), que tem o objetivo de tornar graficamente visível a modelagem do banco de dados. Com o banco de dados pronto, se deu início ao desenvolvimento do software proposto utilizando o Microsoft Visual Studio 2010, utilizando a tecnologia C#/.Net. Os conceitos de banco de dados multimídia são utilizados no armazenamento dos anexos enviados tanto pelo usuário quanto pelo técnico na tela de acompanhamento do ticket de suporte aberto. 11 4. MÍDIA E MULTIMÍDIA Mídia é um meio de distribuir, representar e apresentar informações. Nessa área é interessante aprofundar-se nas mídias digitais, que são as mídias processadas por sistemas computacionais. Dentre essas mídias existem a mídia de percepção, de representação, de apresentação, de armazenamento e a de transmissão. 4.1. Mídia de Percepção Mídia de percepção se trata da forma como a informação é apresentada, seja através de sons, imagens estáticas ou dinâmicas, conteúdo escrito dentre outras formas. A mídia de percepção trabalha os sentidos do ser humano, sendo eles tato, olfato, paladar, visão e audição. 4.2. Mídia de Representação Mídia de representação aborda a forma computacional de como as informações são representadas: BMP – Bitmap: o formato de imagem BMP é baseado em um mapa de bits para a representação de gráficos, assim composto de pixels. Caracterizado por gerar arquivos grandes e não compactados. PNG – Portable Network Graphics: o formato PNG é caracterizado pela compressão (regulável), maior gama de profundidade de cores, permite comprimir imagens sem perda. O canal alfa é utilizado para definir o grau de opacidade de cada pixel, assim proporcionando a existência de transparência na imagem. JPEG – Joint Photographic Experts Group: o formato JPEG (ou JPG) possui um grau de compressão regulável, permitindo definir o tamanho em disco ocupado pelo arquivo além do nível de qualidade da imagem. AVI – Audio Video Interleaver: o formato AVI é composto pelo encapsulamento do áudio e do vídeo, mantendo as proporções e particularidades de cada parte. 12 MP4: o formato é baseado em parte da especificação MPEG-4 desenvolvido pela ISSO/IEC. Este formato é similar ao AVI, entretanto traz algumas vantagens, como, por exemplo, um melhor suporte a codificação de vídeo H.264 e suporte nativo a legendas. WMV – Windows Media Video: o formato foi desenvolvido pela Microsoft. Os arquivos WMV utilizam o Advanced Systems Format (ASF), sendo que ele especifica a estrutura do fluxo do vídeo. MP3: sendo um dos primeiros formatos com compressão de áudio com perdas quase imperceptíveis, possui seu bitrate na ordem de kbps (quilobits por segundo), sendo 128 kbps a taxa padrão. Este formato de áudio é largamente utilizado para execução de arquivos de música. WMA – Windows Media Audio: o formato WMA, assim como o formato WMV, foi desenvolvido pela Microsoft. Este é um formato lossy, ou seja, possui remoção de certas frequências e harmônicos, sendo estas informações geralmente contidas no fluxo de áudio original, durante a compressão neste formato. AAC – Advance Audio Coding: este formato possui uma codificação para compressão com perda de dados de som digital. Este possui bitrates similares ao MP3. 4.3. Mídia de Apresentação Mídia de apresentação é o meio físico responsável por obter ou visualizar o conteúdo digital. Como exemplos têm os monitores, teclados, microfones e câmeras. 4.4. Mídia de Armazenamento Mídia de armazenamento é o dispositivo responsável por armazenar as informações de forma compacta e de fácil acesso. Como exemplos têm os discos rígidos (HDs), pen-drives e CD-ROMs. 4.5. Mídia de Transmissão Mídia de transmissão é o meio físico utilizado para efetuar a distribuição dos dados. Como exemplos têm a fibra óptica, os cabos metálicos e as ondas de rádio. 13 4.6. Multimídia Pode-se apresentar a multimídia como sendo a área responsável por integrar de maneira computacional textos, gráficos, imagens, vídeos, animações, sons e qualquer outro meio onde todo o tipo de informação pode ser representado, armazenado, transmitido e processado em um sistema computacional. O conceito multimídia é relativamente novo, sendo a primeira referência ao termo surgida em 1959, no livro Instructional Media and Methods de Brown (CLARK; CRAIG, 1992). Desde então este conceito foi bastante difundido sendo atualmente encontrado em todas as partes, seja em apresentação multimídia, comunicação multimídia, sistema multimídia, pacote multimídia, equipamentos multimídia, serviço multimídia e muitos outros. Na percepção de Dowling (2011) fundamentalmente multimídia é uma mistura digital de imagens baseadas em computação, texto, áudio, vídeo e animação que podem estar em várias formas diferentes. Dowling (2011) ainda diz que as imagens, textos e sons usados na multimídia são essencialmente um aglomerado de dígitos. Dependendo de sua combinação eletrônica e da quantidade de 0s e 1s, os resultados são ilimitados desde que haja memória suficiente para lidar com todos os componentes multimídia. Adiante será abordado o conceito de multimídia no armazenamento ao banco de dados. 14 5. BANCO DE DADOS Segundo Ramos (2000), um banco de dados é uma coleção de dados relacionados coerentemente, representando um universo de informações determinado do mundo real. Eles são projetados, construídos e povoados com dados para um propósito específico. Podem ser de qualquer tamanho e de complexidade variável. Ainda na opinião de Ramos (2000) os sistemas de bancos de dados pretendem fornecer ao usuário uma visão abstrata dos dados. O nível físico (nível menor de abstração) descreve como os dados são armazenados fisicamente. O nível lógico (nível intermediário) representa os dados e as relações em ter eles em termos de estrutura relativamente simples. Por último, o nível de visão (nível maior de abstração) especifica somente parte do banco de dados, pois diferentes usuários podem precisar de diferentes visões do banco. No sistema de banco de dados temos dois tipos distintos de linguagem, são elas linguagem de definição de dados (LDD) e linguagem de Manipulação de dados (LMD). Ramos (2000) explica que a LDD permite especificar o esquema de um banco de dados, suas estruturas de armazenamento e métodos de acesso. Já a LMD permite aos usuários recuperar informações e atualizar o banco de dados. A parte de recuperação de informações do banco é conhecida como linguagem de consulta e pode ser classificada em procedimental (o usuário descreve o resultado desejado e especifica um conjunto de operações sobre o banco de dados para obtê-lo) e não procedimental (o usuário descreve o resultado desejado sem especificar como será obtido). Além das linguagens os bancos de dados possuem modelos diferentes que caracterizam a forma, o tipo e como os dados são armazenados, dentre eles temos os bancos de dados relacionais e os bancos de dados orientados a objetos. Para Nielsen (2005) bancos de dados relacionais são bancos de dados tradicionais que organizam dados semelhantes ou relacionados em uma única tabela. Bancos de dados relacionais são excelentes com os requisitos do esquema de dados estáveis que inclui certo mínimo de relações (por exemplo, um cliente é um contato). Para Akume (2011) os bancos de dados tradicionais, cujos registros são compostos por campos de uma única dimensão, as buscas quase sempre são feitas com o objetivo de retornar exatamente os registros especificados pelas consultas. 15 Em uma síntese Wilton e Colby (2005) dizem que a principal vantagem do banco de dados é a obtenção de dados rápidos e eficientes. Um banco de dados ajuda você a organizar seus dados em uma maneira lógica. Sistemas de gerenciamento de banco de dados são ajustados para recuperar rapidamente os dados que você quer e do jeito que você quer. Nesse contexto é interessante se aprofundar em como são armazenados os arquivos multimídia e qual a melhor modelo a se aplicar. 5.1. Banco de dados multimídia O banco de dados multimídia tem o diferencial de unificar os tipos de dados em um só banco. Sua utilização é basicamente representar além de informações comuns, informações audiovisuais de forma satisfatória. Segundo Grosky (1994) os dados multimídia superam em complexidade o conjunto dos tipos de dados alfanuméricos. Silberschatz, Korth e Sudarshan (1997) disseram que os Sistemas de Gerenciamento de Banco de Dados (SGBDs) são altamente recomendados para serem utilizados em conjunto com as aplicações que manipulam informações, pois eles oferecem vantagens muito atraentes. Complementando Ramos (2000) fala sobre as vantagens dos SGBDs, como a transparência dos aspectos de armazenamento físico, independência e consistência dos dados, facilidade de consulta, acesso multiusuário e um repositório de dados para ser compartilhado por várias aplicações. “O crescente aumento de aplicações que integram dados mais complexos vem estimulando o desenvolvimento de novas tecnologias de banco de dados. Os modelos mais destacados são o relacional e o orientado a objeto.” (KIM, 1990) Na opinião de Ramos (2000) as estruturas propostas no modelo relacional não são adequadas para representar dados complexos, pois ele limita-se a apresentar valores atômicos e simples. Ramos (2000) expõe que o modelo relacional-objeto estende o modelo relacional, oferecendo um esquema de tipos mais completo. As facilidades dos sistemas extensíveis podem ser utilizadas para definir estruturas que representem os diferentes tipos de dados multimídia e operações sobre eles. 16 A forma de armazenamento desses dados no banco é através dos campos de blocos binários. 5.2. Blocos binários Os blocos binários são muito conhecidos como blob (binary large objects). Como diz Ramos (2000) um blob é um campo sem tipo, frequentemente de tamanho grande e variável. Ainda segundo Ramos quando um blob é requisitado, ele é simplesmente entregue à aplicação, a qual é responsável pelo seu processamento, sendo assim, fica encarregada da interpretação dos blocos binários. Os SGBDs mais conhecidos têm campos de blocos binários que são criados para receber informações de qualquer tipo em formato binário e armazena-los em uma tabela do banco de dados. Esses campos são administrados de maneiras um pouco diferente entre os SGBDs. Será apresentada a diferença entre os campos blob do MySQL 5.6, do Oracle 11g e do MS SQL Server 2012. No MySQL 5.6 os campos com características blob são: TINYBLOB: esse campo armazena até 255 Bytes de informação; BLOB: esse campo armazena até 64 KB de informação; MEDIUMBLOB: esse campo armazena até 16 MB de informação; LONGBLOB: esse campo armazena até 4 GB de informação. Esses campos com exceção do TINYBLOB não podem ser chaves primárias de uma tabela e neles não é possível utilizar os comandos de GROUP e SORT. Outra característica do MySQL é que e esses campos são interpretados como campos de texto (TEXT) com a diferença de que os campos blob são case-sensitive, enquanto os campos TEXT são caseinsentive. No Oracle 11g os campos de blocos binários são chamados: BLOB: esse campo armazena até 4 GB de informação; CLOB: esse campo armazena até 4 GB de informação; 17 NCLOB: esse campo armazena até 4 GB de informação. No banco de dados Oracle os campos do tipo BLOB, CLOB e NCLOB são denominados LOB (Large Objects). O campo BLOB (binary large object) armazena os dados de forma binária, são úteis para armazenar informação digital (por exemplo, imagens, áudio, vídeo). Um tipo de dado CLOB (character large objeto) contém dados de caractere, com base no conjunto de caracteres padrão no servidor, são úteis para armazenar texto. A diferença entre CLOB e NCLOB é que no caso do NCLOB os dados de caracteres são com base no conjunto de caracteres nacional no servidor. No MS SQL Server 2012 os campos de blocos binários são chamados: BINARY(N): esse campo armazena até 8.000 Bytes de informação; VARBINARY(N): esse campo armazena até 8.000 Bytes de informação; VARBINARY(MAX): esse campo armazena até 2 GB de informação; IMAGE: esse campo armazena até 2 GB de informação. A diferença entre o campo BINARY(N) e VARBINARY(N) é que no BINARY(N) seja qual for a quantidade de dados armazenados, todo o campo será completado com espaços em branco até o tamanho N estabelecido, enquanto no campo VARBINARY(N) o tamanho do campo é alocado de acordo com a quantidade de dados armazenados. O campo VARBINARY(MAX) funciona igual o VARBINARY(N), no entanto o tamanho máximo do campo é estendido para 2 GB. Com isso é recomendado utilizar o BINARY(N) quando os tamanhos dos dados da coluna não sofrem muita variação, utilizar o VARBINARY(N) quando os tamanhos dos dados da coluna variam muito e utilizar o VARBINARY(MAX) quando os tamanhos dos dados da coluna são maiores que 8.000 bytes. O campo IMAGE é muito parecido com o campo VARBINARY(MAX), as únicas diferenças são que ele não pode ser chave primária da tabela e não pode ser usado pelas clausulas ORDER BY e GROUP BY. Ele foi mantido no banco por uma questão de compatibilidade com as versões anteriores do MS SQL Server. Para recuperar os dados armazenados nos campos blob de um SGBD normalmente são utilizados os metadados. 18 5.3. Metadados Como os dados multimídia são normalmente de tipos variados e complexos de se administrar, são usados alguns meios de auxílio para manipular essas informações, como a utilização de metadados para sua descrição. Tannembaum (2002), diz que metadados podem ser definidos como “dados sobre dados”, ou seja, informações estruturadas que descrevem dados. Fornecem informações sobre um determinado recurso, facilitando a compreensão, a interoperabilidade, a identificação, o compartilhamento, a utilização, a reutilização, o gerenciamento e a recuperação, de maneira mais eficiente. Segundo Niso (2004) ao gerenciar o uso de metadados, alguns cuidados devem ser tomados, como o vocabulário utilizado em suas descrições, pois os usuários podem cometer erros de grafia ou utilização de termos regionais, dificultando a pesquisa e a recuperação da informação. A linguagem de indexação é responsável por atribuir metadados a um objeto multimídia. 5.4. Indexação de dados multimídia Na opinião de Silva (2006) a indexação de objetos multimídia consiste na descrição de suas características, em determinado contexto, assim, a indexação tende a ser um dos requisitos para a pesquisa e a recuperação da informação multimídia. A atribuição de metadados a um objeto multimídia é realizado através de uma análise conceitual. Essa indexação pode ser feita de forma manual ou automática e serve para a descrição do objeto. Para Silva (2006) na indexação manual, a atribuição dos valores aos metadados é feita de acordo com o conhecimento do usuário, podendo gerar grande variedade de valores, tendo em vista que eles são escolhidos de acordo com a interpretação sobre o objeto, que podem ser diferenciadas, dependendo do usuário. A indexação automática é realizada por meio de algoritmos que realizam a extração das informações do objeto, como, por exemplo, a resolução da imagem ou a frequência do som. 19 Também é importante observar a forma de indexação usada na busca desses dados. Como diz Wen-Syan et al. (1997) o processo de consulta em base de dados multimídia é diferente da maneira tradicional utilizada nos sistemas de base de dados relacional, pois os conteúdos armazenados em sistemas de banco de dados tradicionais são bastante precisos, diferente dos dados multimídia. Nos SGBDs relacionais existem dois tipos de operadores que são mais utilizados, os operadores de comparação por igualdade (= e ≠), que podem ser utilizados em qualquer tipo de dados, pois é sempre possível decidir se dois elementos são iguais ou não, e os operadores relacionais (<, ≤ e >, ≥), esses não podem ser aplicados nos dados multimídias, pois eles não têm a capacidade de decidir qual arquivo precede ou sucede o outro. Na opinião de Wen-Syan et al. (1997), para a recuperação de informação, os documentos são representados com uma lista de palavras chaves. Para recuperar o documento, o sistema compara as palavras-chave especificadas pelo usuário com a lista de palavras chaves que o documento possui. Segundo Faloutsos (1996) na área de dados complexos, como é o caso dos dados multimídia, mesmo as operações de comparação por igualdade têm pouca utilidade, uma vez que a existência de dois elementos exatamente iguais é muito rara. “Assim, para dados complexos, as consultas por similaridade tornam-se a solução mais adequada e o grau de similaridade entre os dados é o fator mais importante” (FALOUTSOS,1997). Ferreira (2008) diz que com a emergência do suporte a dados multimídia em SGBDs relacionais, os operadores por similaridade vêm despertando muito interesse, principalmente para a recuperação por conteúdo de dados complexos de diversos tipos. Sendo assim, é muito importante procurar estabelecer um processo de indexação eficiente dos dados multimídia, pois sua recuperação está diretamente relacionada ao armazenamento de suas informações. 20 6. CONCEITOS INICIAIS DE HELP DESK O serviço de apoio a usuários para suporte e solução de problemas é chamado de Help Desk, sendo que este apoio pode ser tanto para usuários dentro de uma empresa, quanto externamente por empresas de prestação de serviços ou até mesmo para apoio aos produtos oferecidos por ela. Comumente existe uma divisão das equipes que realizam atendimentos aos usuários em níveis de atendimento, sendo eles primeiro, segundo e terceiro nível. Primeiro nível de atendimento destina-se ao atendimento inicial ao usuário podendo ele ser através de ligações telefônicas ou até mesmo por tickets de suporte através de portais na internet. Este nível é caracterizado por uma equipe de atendentes que resolve o problema durante a própria ligação telefônica ou interação através de tickets de suporte, em casos que o problema não é resolvido pelo primeiro nível, o mesmo é direcionado para o segundo nível. Segundo nível de atendimento é composto por uma equipe dotada de conhecimentos mais específicos sobre o ambiente, serviço ou produto oferecido pela empresa. Este nível trata de problemas não solucionados pelo primeiro nível de atendimento. A equipe do segundo nível faz o atendimento tanto remoto (ligações telefônicas ou tickets de suporte), quanto in loco através de visita técnica para solução do problema em questão. Terceiro nível de atendimento é composto por uma equipe de especialistas capacitados a resolver os problemas não solucionados pelo segundo nível. Este é o último nível de resolução de problemas antes dos fabricantes de software ou hardware. De acordo com um estudo realizado por Roos (2009), a participação no mercado do Help Desk (uso deste recurso para solução de problemas), é menor que 20%, visto que, são necessárias em médias seis tentativas para solucionar um problema. Para o autor, quando os usuários têm um problema de TI, eles têm várias opções para tentar resolve-lo. Em vez de entrar em contato com a central de atendimento, os usuários podem tentar resolve-lo por meios próprios, possivelmente utilizando ferramentas de autoajuda. Se isso não funcionar, eles podem pedir ajuda de um colega ou um super usuário ou até mesmo um membro da família (ROOS, 2009). 21 Em uma pesquisa sobre o assunto, Roos, entrevistou várias pessoas sobre quais são as diferentes fontes de suporte dentro da organização onde estavam. Abaixo podemos ver o gráfico obtido através dos resultados. Fonte: Roos (2009) Figura 1 - Gráfico que demonstra as diferentes fontes de suporte dentro de uma organização. No gráfico acima, as cores diferentes representam a função do entrevistado. Embora todos os entrevistados sejam pessoas de TI, eles tinham diferentes funções relativas ao suporte. Alguns tinham a função de usuário final, alguns representavam a central de atendimento que forneceu o suporte, e alguns estavam encarregados da administração do suporte. As barras mostram as respostas de cada função, para a seguinte pergunta: Quão grande é a proporção de soluções fornecidas aos usuários por eles mesmos, colegas, etc? (ROOS, 2009). Como podemos ver a função de cada entrevistado tem um papel importante nos resultados. Segundo Roos, é evidente que as pessoas que prestam serviço de Help Desk superestimam sua participação no mercado. Eu pensei que a participação de mercado seria importante para medir o sucesso do Help Desk, muito mais importante do que a satisfação do cliente, que pode ser manipulado facilmente. Eu criei uma ferramenta de medição 22 para descobrir a participação de mercado real. O instrumento foi utilizado em algumas empresas e os resultados foram interessantes, assim como um pouco surpreendente. Os resultados obtidos até agora se baseiam numa pequena amostra de empresas, mas baseiam-se nas respostas de várias centenas de usuários. (ROOS, 2009). Fonte: Roos (2009) Figura 2 - Gráfico sobre as atuais fontes de suporte. Nota-se que a participação no mercado do Help Desk é menor quando comparado com as estimativas obtidas na pesquisa anterior, que trazia a uma participação entre 37% e 57% dependendo da função. A segunda pesquisa de Roos analisou também, em média quantas tentativas são necessárias para resolver um único problema. Abaixo podemos verificar os resultados obtidos: 23 Fonte: Roos (2009) Figura 3 - Gráfico que demonstra o número de tentativas de atendimento para resolver um problema. Um resultado realmente surpreendente, pelo menos para mim, foi o fato de que frequentemente levou muitas tentativas para resolver um problema. O número médio de tentativas foi de 6 e a mediana de 3,5. Menos de 20% dos usuários conseguiram resolver seu problema com apenas uma tentativa. Essa é uma imagem muito triste (ROOS, 2009). Segundo Roos (2009) o numero grande de tentativas se deu pelos vários canais de apoio que foram utilizados. Isso também foi medido na pesquisa. Segundo os dados obtidos para resolver um problema foram possibilitados seis canais diferentes de comunicação, tal como é mostrado no gráfico seguinte. Os canais eram [1] próprio usuário, [2] automação [3], Help Desk, [4] colega, [5] superusuário, e [6] outra pessoa. 24 Fonte: Roos (2009) Figura 4 - Gráfico que demonstra os canais de atendimentos utilizados pelo usuário. Os resultados mostraram que 10% dos usuários utilizaram todas as seis e 50% utilizaram pelo menos três canais de suporte para resolver um único problema. Um caso típico pode ser tentar primeiro ele mesmo, em seguida, pedir a um colega e um superusuário e, finalmente, entrar em contato com o Help Desk. Apenas metade dos problemas acaba no Help Desk. Cada tentativa de resolver um problema leva cerca de 10 minutos, em média, muito tempo é desperdiçado. A ferramenta mede o tempo perdido na tentativa de resolver o problema e também o tempo perdido enquanto espera por uma solução. A média para o total de horas de trabalho perdidas foi de 1,5 horas por problema (ROOS, 2009). As pesquisas levantadas por Ross foram realizadas na Finlândia. Apesar de assumir ser dificíl dizer o quão bem os resultados podem ser usados para representar lugares fora da Finlândia, afirma que um serviço de Help Desk, tem as mesmas funções e são muito parecidos em qualquer lugar. 6.1. Serviço de Help Desk "O Service Desk é uma forma de gerir um serviço de apoio aos utilizadores de um sistema, participantes de um projeto ou simplesmente empregados de uma empresa." (POWER WEB MARKETING, 2013). 25 O Service Desk possibilita que exista um ponto de contato único para uma comunicação eficaz entre as equipes de tecnologia da informação e os utilizadores finais, além de ter como objetivo solucionar o mais rápido possível, minimizando os impactos que as falhas em TI possam causar para o negócio da empresa. Uma boa ferramenta de help desk, parametrizada e utilizada adequadamente pode fazer grande diferença na rotina diária de uma empresa (POWER WEB MARKETING, 2013). As informações geradas por esse sistema de serviço é extremamente útil, podendo criar uma base conhecimentos sólida para auxiliar os profissionais da área de TI. 6.2. Base de Conhecimentos Segundo Semer (2013) podemos definir base de conhecimentos como sendo uma biblioteca de solução de problemas, ou seja, um repositório contendo os problemas e dúvidas apresentados pelos usuários e as soluções que foram empregadas para os seus respectivos problemas. Para encontrar essas soluções é feita uma busca dentro da base possibilitando aos técnicos, agilidade na solução dos chamados. Já é evidente que com o aumento do parque tecnológico e o avanço das ferramentas computadorizadas o número de solicitações nas áreas de TI das empresas vem crescendo em alta velocidade, e com esse crescimento a busca por soluções se torna cada vez mais difícil, sendo que as informações ficam cada vez mais descentralizadas. Semer (2013) expressa isso em seu texto onde diz que quando não se utiliza uma base de conhecimento na busca por soluções a busca acaba sendo demorada, levando horas e até dias para serem encontradas. E também aponta a necessidade de compartilhar essas soluções, de forma que cada analista não guarde para si o conhecimento adquirido. Semer (2013) ainda informa que no Brasil não existem bases de conhecimentos prontas para serem utilizadas, ficando a cargo das empresas o preenchimento e atualização continua dentro do software. Quanto mais os analistas colaborarem com informações para o acervo, inserindo conteúdo, mais valiosa será à base de conhecimentos. Atualmente também se encontra muitas empresas que estrategicamente, disponibilizam uma base de conhecimentos para os usuários, com soluções de nível mais básico, visando e aumentar o interesse do usuário diminuir o número de solicitações que chegam ao departamento de TI. 26 80% do volume dos chamados feitos ao seu service desk referem-se a apenas 20% da variedade de ocorrências. Então por que não transcrever o conhecimento das soluções, que já está na cabeça de seus analistas, e criar uma base de conhecimento com soluções relacionadas a esses 20% e agilizar a solução de 80% dos volumes de chamados? (ECOIT, 2012). Os benefícios de uma base de conhecimento bem estruturada e bem alimentada são nítidos na rapidez para atender os chamados, no compartilhamento do conhecimento, na aprendizagem de novos colaboradores e na independência de uma pessoa específica para resolver determinados problemas. 27 7. DESENVOLVIMENTO DO SOFTWARE Quando se trata de volume de dados em softwares que são comumente utilizados em empresas, ou até mesmo por consumidores visando facilitar as rotinas do dia-a-dia, a centralização e facilidade de acesso melhoram o gerenciamento dos dados, pois pode – se designar atributos de busca que tornam mais ágeis a sua recuperação. Para isso, o banco de dados multimídia vem sendo explorado, visto que ele permite o armazenamento de arquivos de texto, vídeo, áudio e gráficos. Com essa tecnologia, não faz mais necessário o armazenamento de centenas de arquivos divididos em centenas de pastas, sendo que os arquivos podem ser armazenados em um único banco de dados, no qual, qualquer tipo de dado multimídia pode ser gerenciado. O protótipo do sistema de Help Desk aqui proposto deve ao final de sua implementação obter um sistema que permita a interação entre usuário e suporte para solução de ocorrências, permitindo o armazenamento de qualquer tipo de arquivo no banco de dados, como por exemplo, vídeos, planilhas, PDF, etc. Para que os mesmos possam ser usados futuramente como fonte de conhecimento para a resolução de outros problemas. Além de possibilitar que sejam associadas soluções para os grupos de pedido de suporte e que posteriormente o sistema indique quais as possíveis soluções por meio de buscas inteligentes entre palavras chave, utilizando soluções pré-classificadas na base de dados, criando uma biblioteca própria de conhecimento para facilitar o suporte. Como mostra a Figura 5, foi usada a ferramenta bizagi para construir um fluxograma que representa a utilização do sistema. 28 Figura 5 - Fluxograma do sistema. Para a realização do software primeiramente foi idealizado o banco de dados e o fluxo de informações que passará por ele. 7.1. Modelo de Entidade Relacional A Figura 6 foi criada pelo MS SQL Server e representa o diagrama relacional entre as tabelas e suas ligações que são utilizadas para armazenar os dados que alimentam o sistema: 29 Figura 6 – Relacionamento entre tabelas do banco de dados. A seguir serão mostradas detalhadamente as principais tabelas, com seus campos e funções. 7.1.1. Tabela PessoaFisica Nessa tabela que são armazenadas as informações genéricas de todos os usuários do sistema, tanto usuários como técnicos. Foi criada essa tabela única de cadastro de pessoas, e dividido os tipos diferentes de usuários do sistema com informações próprias de cada um, dessa forma simplificando as ligações do banco. Segue as definições dos campos da tabela: 30 Nome_Campo Tipo_Dado Comentario_Campo IDPessoaFisica Int Chave Primária da tabela. Senha VarChar(20) Armazena a senha utilizada no sistema. NomePessoaFisica VarChar(80) Armazena o nome completo da pessoa. DataNascimento Date Armazena a data de nascimento da pessoa. RG Char(9) Armazena o RG da pessoa. CPF Char(11) Armazena o CPF da pessoa. Telefone Char(10) Armazena o telefone da pessoa. Email VarChar(80) Armazena o e-mail da pessoa. IDLogradouro Int Chave Estrangeira referente a tabela Logradouro. Numero VarChar(6) Armazena o número da residência da pessoa. Referencia VarChar(100) Armazena a referência de localidade sobre a residência da pessoa. ObsPessoaFisica VarChar(200) Armazena observações sobre a pessoa. PessoaFisicaAtivo Char(1) Determina se a pessoa está ativa ou não. S -> Sim e N -> Não Tabela 1 - Descrição dos campos da tabela PessoaFisica. 7.1.2. Tabela Tecnico Tabela onde são armazenados os dados específicos do técnico, complementando assim os dados genéricos da tabela PessoaFisica. Segue as definições dos campos da tabela: Nome_Campo Tipo_Dado Comentario_Campo IDTecnico SmallInt Chave Primária da tabela. IDPessoaFisica Int Chave Estrangeira referente a tabela PessoaFisica. IDAreaAtuacao SmallInt Chave Estrangeira referente a tabela AreaAtuacao. TecnicoAtivo Char(1) Determina se o técnico está ativo ou não. S -> Sim e N -> Não Tabela 2 - Descrição dos campos da tabela Tecnico. 7.1.3. Tabela Usuario Tabela onde são armazenados os dados específicos do usuário, complementando assim os dados genéricos da tabela PessoaFisica. Segue as definições dos campos da tabela: 31 Nome_Campo Tipo_Dado Comentario_Campo IDUsuario Int Chave Primária da tabela. IDPessoaFisica Int Chave Estrangeira referente a tabela PessoaFisica. Setor VarChar(50) Armazena o setor em que o usuário trabalha. Sala Char(5) Armazena o número da sala do usuário. Turno VarChar(15) Armazena o turno em que o usuário trabalha. UsuarioAtivo Char(1) Determina se o usuário está ativo ou não. S -> Sim e N -> Não Tabela 3 - Descrição dos campos da tabela Usuario. 7.1.4. Tabela Solicitacao Essa tabela pode ser considerada uma das mais importantes do banco, pois é nela que são armazenadas as informações das solicitações abertas pelos usuários, ela tem o papel de armazenar as informações de várias tabelas para que possa ser feita a classificação da solicitação. Segue as definições dos campos da tabela: Nome_Campo Tipo_Dado Comentario_Campo IDSolicitacao Int Chave Primária da tabela. IDUsuario Int Chave Estrangeira referente a tabela Usuario. IDTipoServico SmallInt Chave Estrangeira referente a tabela TipoServico. IDSubTipoServico SmallInt Chave Estrangeira referente a tabela SubTipoServico. Chave Estrangeira referente a tabela Prioridade, onde a prioridade IDPrioridadeTecnico SmallInt é atribuída pelo técnico. Chave Estrangeira referente a tabela Prioridade, onde a prioridade IDPrioridadeUsuario SmallInt é atribuída pelo usuário. DataSolicitacao DateTime Armazena o horário em que a solicitação foi criada. Descricao Text Armazena o texto em que o usuário descreve o problema. SolicitacaoAtivo Char(1) Determina se a solicitação está ativa ou não. S -> Sim e N -> Não Tabela 4 - Descrição dos campos da tabela Solicitacao. 32 7.1.5. Tabela SolicitacaoAnexo Esta tabela armazena os arquivos que são adicionados na solicitação, podendo ser anexado qualquer tipo de arquivo, como imagens, textos ou até mesmo vídeos. Segue as definições dos campos da tabela: Nome_Campo Tipo_Dado Comentario_Campo IDSolicitacaoAnexo Int Chave Primária da tabela. IDSolicitacao Int Chave Estrangeira referente a tabela Solicitacao. NomeArquivoAnexo VarChar(50) Armazena o nome do arquivo anexado. Anexo Varbinary(MAX) Armazena o arquivo anexado a solicitação. Tabela 5 - Descrição dos campos da tabela SolicitacaoAnexo. 7.1.6. Tabela SolicitacaoComentario Nessa tabela são armazenados os comentários de uma solicitação. Segue as definições dos campos da tabela: Nome_Campo Tipo_Dado Comentario_Campo IDSolicitacaoComentario SmallInt Chave Primária da tabela. IDSolicitacao Int Chave Estrangeira referente a tabela Solicitacao. IDTecnico SmallInt Chave Estrangeira referente a tabela Tecnico. DataComentario DateTime Armazena a data em que o comentário foi feito. Comentario Text Armazena o comentário feito sobre a solicitação. Tabela 6 - Descrição dos campos da tabela SolicitacaoComentario. 7.1.7. Tabela SolicitacaoFAQ Essa tabela é responsável por armazenar quem pode visualizar a solicitação, se todos ou apenas o técnico, e os anexos necessários para a resolução da solicitação. Segue as definições dos campos da tabela: Nome_Campo Tipo_Dado Comentario_Campo IDSolicitacaoFAQ Int Chave Primária da tabela. Visualizacao Char(1) Determina quem pode visualizar o anexo. NomeArquivoFAQ VarChar(50) Nome do arquivo anexado. 33 AnexoFAQ Varbinary(MAX) Armazena o arquivo anexado. Tabela 7 - Descrição dos campos da tabela SolicitacaoFAQ. 7.1.8. Tabela PalavraChave Tabela criada para armazenar as palavras chave que serão utilizadas na busca pela solicitação. Segue as definições dos campos da tabela: Nome_Campo Tipo_Dado Comentario_Campo IDPalavraChave Int Chave Primária da tabela. NomePalavraChave VarChar(20) Nome da Palavra Chave. Determina se a palavra chave está ativa ou não. S -> Sim e N -> PalavraChaveAtivo Char(1) Não Tabela 8 - Descrição dos campos da tabela PalavraChave. 7.1.9. Tabela SolicitacaoFAQPalavraChave Essa tabela uni as informações da tabela SolicitacaoFAQ e da tabela PalavraChave, definindo assim as palavras chaves da Solicitação FAQ. Segue as definições dos campos da tabela: Nome_Campo Tipo_Dado Comentario_Campo IDSolicitacaoFAQPalavraChave Int Chave Primária da tabela. IDSolicitacaoFAQ Int Chave Estrangeira referente a tabela SolicitacaoFAQ. IDPalavraChave Int Chave Estrangeira referente a tabela PalavraChave. Tabela 9 - Descrição dos campos da tabela SolicitacaoFAQPalavraChave. 7.1.10. Tabela SolicitacaoPalavraChave É nessa tabela que é feita a ligação entre a solicitação e as palavras chave que a compreendem. 34 Segue as definições dos campos da tabela: Nome_Campo Tipo_Dado Comentario_Campo IDSolicitacaoPalavraChave Int Chave Primária da tabela. IDSolicitacao Int Chave Estrangeira referente a tabela Solicitacao. IDPalavraChave Int Chave Estrangeira referente a tabela PalavraChave. Tabela 10 - Descrição dos campos da tabela SolicitacaoPalavraChave. 7.2. Funcionalidades Serão apresentadas abaixo as principais funcionalidades do software, como a abertura de uma solicitação no sistema, o acompanhamento das solicitações criadas, o funcionamento da busca de solução por palavras-chave e a base de conhecimento que é alimentada pelas soluções das solicitações que são abertas. 7.2.1. Abertura de solicitação Para que seja feita a abertura de um chamado no software desenvolvido é necessário primeiramente autenticar-se com o login e a senha, então será exibida a tela Home onde há um menu dos recursos oferecidos pelo sistema, inclusive a entrada “Solicitação”. Como mostrado na Figura 7: 35 Figura 7 - Tela de Home Quando selecionada a opção “Solicitações” será exibida a tela que contém todas as solicitações, no caso do usuário todas as solicitações que ele abriu e no caso do técnico todas as solicitações que estão no seu nome. Nessa tela é adicionado um botão para criar uma nova solicitação. Este botão foi criado nessa tela pensando na obrigação que o usuário adquire em verificar suas solicitações anteriores antes de criar uma nova solicitação, tentando assim evitar a duplicação de chamados pelo mesmo usuário. Como apresentado na Figura 8: Figura 8 - Tela de Solicitações 36 Ao clicar no botão “Nova Solicitação” é então aberta a tela onde o usuário cria a sua solicitação. Como exibido na Figura 9: Figura 9 - Tela de Solicitação 7.2.2. Acompanhamento da solicitação Quando a solicitação é criada ela vai para tela de “Solicitação” e fica na tabela de solicitações, assim o usuário pode consulta-la para checar se o técnico adicionou algum comentário na sua solicitação. O papel do técnico nessa fase é verificar a solicitação do usuário e responde-lo com o procedimento necessário para solucionar o chamado ou se necessário fazer o atendimento pessoalmente. Segue na Figura 10 uma solicitação feita e respondida pelo técnico: 37 Figura 10 - Solicitação finalizada 7.2.3. Busca por palavras chave Na tela de abertura de solicitação tem um campo chamado “Palavra(s) Chave(s)”, onde o técnico seleciona as palavras chave que condiz com a solicitação, o usuário também pode seleciona-las, mas o técnico deve checar antes de encerrar o chamado, como apresentado na Figura 11. Essas palavras são usadas quando é feita a busca por uma solução, essa busca funciona da seguinte forma, são classificadas palavras chave para o problema e comparadas com as palavras associadas aos chamados, os chamados que tem alguma palavra chave igual ao do problema é apresentado como possível solução, sendo que os chamados para ser uma solução devem estar com o seu campo Status como concluído. 38 Figura 11 - Solicitação palavra chave 7.2.4. Base de conhecimento A base de conhecimento do software é gerada a partir das soluções dos chamados criados, sendo necessário que os técnicos formulem boas respostas e expliquem de maneira organizada todo o processo de resolução do problema para garantir uma base de dados consistente. Como apresentado na Figura 12 o campo ”FAQ(s)” da tela de solicitação é utilizado para armazenar as informações necessárias para orientar um técnico que necessite resolver outra solicitação igual ou parecida. 39 Figura 12 - Solicitação FAQ 40 8. CONCLUSÃO E TRABALHOS FUTUROS Pode se concluir que o objetivo do trabalho foi alcançado, permitir que o usuário abra um pedido de suporte associe um anexo ou mais para elucidar melhor o problema, escrever comentários no pedido de suporte caso necessite alguma interação com o técnico e na abertura da solicitação caso exista uma solução ela é exibida para o usuário, se a solução não atender o usuário continua o processo de abertura da solicitação. O técnico por sua vez analisa o pedido de suporte, altera os campos que classificam o pedido de suporte quando necessário e anexa uma solução ao pedido de suporte, que esta por sua vez será parte da base de conhecimento. Para trabalhos futuros poderia ser aplicado algum algoritmo de aprendizado e classificação tornando as sugestões de solução cada vez mais assertiva, desenvolver um aplicativo para smartphones e/ou desenvolver uma versão para internet, tornando a comunicação entre o usuário e o suporte mais versátil e dinâmica. As funcionalidades poderiam ser melhoradas como criação de relatórios gerenciais, avaliação da solução apresentada pelo técnico. 41 9. REFERÊNCIAS BIBLIOGRÁFICAS AKUNE, F. C. Indexação multimídia escalável e busca por similaridade em alta dimensionalidade. 2011. 72 f. Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação, Campinas, SP. Disponível em: <http://www.bibliotecadigital.unicamp.br/document/?code=000836613&opt=1>. Acesso em: 05 Set. 2013. ALECRIM, E. Formatos de imagens: JPEG, GIF, PNG e outros. Infowester. Disponível em: < http://www.infowester.com/imagens.php>. Acesso em: 02 Nov. 2013. AMOROSO, D. Saiba quais são as principais diferenças entre formatos de áudio. Tecmundo. Disponível em: <http://www.tecmundo.com.br/audio/7945-saiba-quais-sao-asprincipais-diferencas-entre-formatos-de-audio.htm#ixzz2lfqhb7Ze>. Acesso em: 02 Nov. 2013. ATKINSON, M.; BANCILHON, F.; DEWITT, D.; DITTRICH, K.; MAIER, D.; ZDONIK, S. The Object-Oriented Database System Manifesto, in BANCILHON F.; DELOBEL C.; KANELLAKIS, P. (eds), Building an Object-Oriented Database System. The Story of O2, Morgan Kaufmann Publishers, San Mateo, CA, (1992). Capítulo 1. CAMPBELL, S. T.; CHUNG, S. M. Database Aproach for the Management of Multimedia Information, in NWOSU, K. C.; THURAISINGHAM, B.; BERRA, P. B. (eds), Multimedia Database Systems. Design and Implementation Strategies, Kluwer Academic Publishers, Norwell, MA, (1996). Capítulo 2. CLARK, R.; CRAIG, T. Research and Theory on multi-media learning effects. In Max Giardina (ed.), Berlin: Springer-Verlag, p. 19-30, 1992. DOWLING, J. C. Multimedia Demystified. McGraw Hill, 2011. 42 ECOIT. Service Desk. from EcoIT. Disponível em: <http://www.ecoit.com.br/servicedesk.php>. Acesso em: 02 Nov. 2013. FALOUTSOS, C. Searching multimedia databases by content. The Kluwer internation series on advancing database systems. Boston, MA: Kluwer Academc Publishers, 1996. ______. Indexing of multimedia data. In: Multimedia Databases in Perspective, Springer, p. 219–245, 1997. FERREIRA, M. R. P. Suporte a consultas por similaridade unárias em SQL. 2008. 85 f. Dissertação (mestrado) – Universidade de São Paulo, Ciências de Computação e Matemática Computacional, São Carlos, SP. Disponível em: <http://www.teses.usp.br/teses/disponiveis/55/55134/tde-01042008-101843/>. Acesso em: 15 Out. de 2013. GROSKY, W. I. Multimedia Information Systems, IEEE Multimedia 1(1): p. 12-24, 1994. ______. Managing Multimedia Information in a Database Enviroment, in LITWIN, W.; MARZY T.; VOSSEN, G. (eds), Lecture Notes in Computer Science, Vol. 1475, 1998. KIM, W. Object-Oriented Databases: Definition and Research Directions, IEEEE Transactions on Knowledge and Data Engineering 2(3): 327-341, 1990. NIELSEN, P. SQL SERVER2005 Bible. Indianapolis: Wiley, 2005. NISO, NATIONAL INFORMATION STANDARDS ORGANIZATION. Understanding Metadata. Disponível em: < http://www.niso.org/publications/press/>. 2004. Acesso em Setembro/2013. Acessado em: 23 Out. 2013. 43 PAZANDAK, P.; SRIVASTAVA, J. Evaluating Object DBMSs for Multimedia, IEEE Multimedia 4(3): 34-49, 1997. POWER WEB MARKETING. Service Desk: Software para atendimento online. Retrieved 5 4, from Power Web Marketing. Disponível em: <http://www.pwm.pt/Websolutions/Oque%C3%A9oServiceDesk/tabid/3799/Default.aspx>. Acesso em: 20 Out. 2013. RAMOS, A. M. M. Suporte para áudio em sistemas relacionais. 2000. 39f. Dissertação (mestrado) - Universidade Estadual de Campinas, Faculdade de Engenharia Elétrica e de Computação, Campinas, SP. Disponível em: <http://libdigi.unicamp.br/document/?code=vtls000216001>. Acesso em: 23 Out. 2013. RODRIGUES, L.; Entenda as diferenças entre os formatos de arquivos de vídeo. 2013. TechTudo. Disponível em: <http://www.techtudo.com.br/artigos/noticia/2013/04/entendadiferencas-entre-os-formatos-de-arquivos-de-video.html>. Acesso em: 02 Nov. 2013. ROOS, A. What is the market share of your service desk?. 2009. from ITSM Portal. Disponível em: <http://www.itsmportal.com/columns/what-market-share-your-servicedesk#.Uo-H08RDu2V>. Acesso em: 25 Out. 2013. SEMER, H. A importância da base de conhecimento no ambiente de help desk. Sobre a empresa EMBI soluções Digitais. Disponível em: <http://embi.embihelpdesk.com.br/kb/article/updates/a-importancia-da-base-deconhecimento-no-ambiente-de-help-desk>. Acesso em: 22 Set. 2013. SILVA, R. C. Benchmark em Banco de Dados Multimídia: Análise de Desempenho em Recuperação de Objetos Multimídia. 2006. Dissertação (Mestrado) UFPR. SILBERSCHATZ, A.; KORTH, H. F.; SUDARSHAN, S. Database System Concepts, 3 edn, McGraw-Hill, New York, NY, 1997. 44 TANNENBAUM, A. Metadata Solutions: using Metamodels, Repositories, XML and Enterprise Portals to Generate Information on Demand. Addison Wesley, 2002. WILTON, P.; COLBY, J. W. Beginning SQL. Indianapolis: Wiley, 2005. WEN-SYAN LI, K.; SELÇUK C.; KYOJI H.; YOSHINORI H. Facilitating Multimedia Database exploration through Visual interfaces and perpetual query reformulations. C&C Research Laboratories, Nec USA , San Jose, CA, 1997. 45 APÊNDICE A Telas do software Serão apresentadas as telas do sistema, com a descrição e funcionalidades de cada uma delas: Login Tela de login do sistema, nela é feita a autenticação do usuário/técnico para utilizar o software. Figura 13 - Tela de login. Alterar Senha Nessa tela a troca da senha é feita colocando o nome de usuário, a senha antiga, depois informando a nova senha, a confirmação e a senha é alterada. 46 Figura 14 - Tela de alterar senha Soluções Básicas Exibe um campo de pesquisa que busca soluções que podem ser tratadas pelo próprio usuário através de uma descrição rápida do problema. Figura 15 - Tela de soluções básicas. Usuário Tela onde o técnico pode pesquisar por todos os usuários do sistema. Nessa tela existe o botão para criar um novo usuário, editar um usuário já cadastrado e excluir os usuários que não fazem mais parte do sistema. 47 Figura 16 - Tela de buscar usuário. Cadastro Tela onde é cadastrado o usuário ou técnico. Nela são questionadas todas as informações necessárias para o cadastro. Figura 17 - Tela de cadastro de usuário/técnico. 48 Relatórios Nessa tela é mostrado um ListBox apresentado os relatórios disponíveis e um filtro do período em que se deseja que o relatório seja criado. Depois de exibido na tela é dada a opções de salvar o relatório no computador. Figura 18 - Tela de relatórios. Soluções de Chamados Essa tela exibe a base de conhecimento, onde estão armazenadas todas as soluções de chamados do sistema. Nessa tela é possível buscar soluções, criar novas soluções para problemas mais recentes, editar soluções anteriores, excluir soluções obsoletas e selecionar quais dessas soluções estão em um nível básico, em que o usuário possa utiliza-las para resolver alguns problemas simples sem a necessidade de abrir um chamado. 49 Figura 19 - Tela de Soluções. 50 APÊNDICE B Tabelas do banco de dados As tabelas complementares do banco de dados estão listadas abaixo com informações sobre os seus campos e funções. Tabela TipoServico É a tabela responsável por armazenar os tipos de serviços que podem ser prestados pelos técnicos. Esta tabela auxilia o gerenciamento das solicitações, direcionando-as para os técnicos que atuam na área em que a solicitação é identificada. Segue as definições dos campos da tabela: Nome_Campo Tipo_Dado Comentario_Campo IDTipoServico SmallInt NomeTipoServico VarChar(20) Armazena o nome de um tipo de serviço. TipoServicoAtivo Char(1) Chave Primária da tabela. Determina se o TipoServico está ativo ou não. S -> Sim e N -> Não Tabela 11 - Descrição dos campos da tabela TipoServiço. Tabela SubTipoServico Essa tabela também é responsável em auxiliar o gerenciamento das solicitações, ela armazena uma segunda camada de tipos de serviços, mais específicos, aumentando a precisão para classificar e direcionar a solicitação. Segue as definições dos campos da tabela: Nome_Campo Tipo_Dado Comentario_Campo IDSubTipoServico SmallInt Chave Primária da tabela. NomeSubTipoServico VarChar(20) Armazena o nome de um subtipo de serviço. Determina se o SubTipoServico está ativo ou não. S -> Sim e SubTipoServicoAtivo Char(1) N -> Não Tabela 12 - Descrição dos campos da tabela SubTipoServico. 51 Tabela Prioridade Nesta tabela são armazenadas as prioridades que são atribuídas as solicitações. Por exemplo: Alta, Média, Baixa. Segue as definições dos campos da tabela: Nome_Campo Tipo_Dado Comentario_Campo IDPrioridade SmallInt NomePrioridade VarChar(20) Nome da Prioridade que é dada as solicitações PrioridadeAtivo Char(1) Chave Primária da tabela. Determina se a Prioridade está ativa ou não. S -> Sim e N -> Não Tabela 13 - Descrição dos campos da tabela Prioridade. Tabela Estado Tabela preenchida com todos os estados brasileiros, utilizada para compor o endereço dos usuários do sistema. Criada para evitar inconsistência de dados no banco. Segue as definições dos campos da tabela: Nome_Campo Tipo_Dado Comentario_Campo IDEstado Tinyint Chave Primária da tabela. NomeEstado VarChar(19) Nome do Estado. Sigla Char(2) Sigla do Estado. Ex: SP. Tabela 14 - Descrição dos campos da tabela Estado. Tabela Cidade Tabela preenchida com todas as cidades brasileiras, utilizada para compor o endereço dos usuários do sistema. Criada para evitar inconsistência de dados no banco. Segue as definições dos campos da tabela: Nome_Campo Tipo_Dado Comentario_Campo IDCidade Int Chave Primária da tabela. IDEstado Tinyint Chave Estrangeira referente a tabela Estado. NomeCidade VarChar(35) Nome da Cidade. Tabela 15 - Descrição dos campos da tabela Cidade. 52 Tabela Bairro Tabela preenchida com todos os bairros de cidades brasileiras, utilizada para compor o endereço dos usuários do sistema. Criada para evitar inconsistência de dados no banco. Segue as definições dos campos da tabela: Nome_Campo Tipo_Dado Comentario_Campo IDBairro Int Chave Primária da tabela. IDCidade Int Chave Estrangeira referente a tabela Cidade. Nome VarChar(80) Nome do Bairro. Tabela 16 - Descrição dos campos da tabela Bairro. Tabela Logradouro Tabela preenchida com todos os logradouros das cidades brasileiras, utilizada para compor o endereço dos usuários do sistema. Criada para evitar inconsistência de dados no banco. Segue as definições dos campos da tabela: Nome_Campo Tipo_Dado Comentario_Campo IDLogradouro Int Chave Primária da tabela. IDBairro Int Chave Estrangeira referente a tabela Bairro. IDTipoLogradouro SmallInt Tipo de endereço. Ex: Rua, Avenida. NomeLogradouro VarChar(30) Nome de rua, avenida ou travessa. CEP Char(8) Numero do Código de Endereçamento Postal. Tabela 17 - Descrição dos campos da tabela Logradouro. Tabela AreaAtuacao Nesta tabela são armazenadas as áreas de atuação que os técnicos são classificados. Segue as definições dos campos da tabela: Nome_Campo Tipo_Dado Comentario_Campo IDAreaAtuacao SmallInt Chave Primária da tabela. NomeAreaAtuacao VarChar(30) Nome da área de atuação de um técnico. AreaAtuacaoAtivo Char(1) Determina se a área está ativa ou não. S -> Sim e N -> Não Tabela 18 - Descrição dos campos da tabela AreaAtuacao. 53 Tabela Status Essa tabela armazena os status que podem ser atribuídos às solicitações, esses status mudam conforme a evolução da solicitação. Alguns exemplos de status são aberto, fechado, pendente, etc. Segue as definições dos campos da tabela: Nome_Campo Tipo_Dado Comentario_Campo IDStatus SmallInt Chave Primária da tabela. NomeStatus VarChar(20) Armazena o nome de um Status. StatusAtivo Char(1) Determina se o Status está ativo ou não. S -> Sim e N -> Não Tabela 19 - Descrição dos campos da tabela Status. Tabela SolicitacaoStatus Nessa tabela é feita a ligação entre o status, a solicitação e o técnico que está administrando a solicitação. Por ela é possível saber a data que foram alterados os status da solicitação. Segue as definições dos campos da tabela: Nome_Campo Tipo_Dado Comentario_Campo IDSolicitacaoStatus Int Chave Primária da tabela. IDSolicitacao Int Chave Estrangeira referente a tabela Solicitacao. IDTecnico SmallInt Chave Estrangeira referente a tabela Tecnico. IDStatus SmallInt Chave Estrangeira referente a tabela Status. DataStatus DateTime Armazena a data em que foi mudado o Status da solicitação. Tabela 20 - Descrição dos campos da tabela SolicitacaoStatus.