Alfredo Brandt Brezinski
1 Universidade Estadual de Maringá Centro de Tecnologia - Departamento de Informática Especialização em Desenvolvimento de Sistemas para Web Desenvolvimento de um Sistema de Controle de Atendimentos de Assistência Técnica Cleverson Rocha Prof. Ms. Edson Alves de Oliveira Junior Orientador Maringá, 2009
2 Universidade Estadual de Maringá Centro de Tecnologia - Departamento de Informática Especialização em Desenvolvimento de Sistemas para Web Cleverson Rocha Desenvolvimento de um Sistema de Controle de Atendimentos de Assistência Técnica Trabalho submetido à Universidade Estadual de Maringá como requisito para obtenção do título de Especialista de Desenvolvimento de Sistemas para Web.
3 Universidade Estadual de Maringá Centro de Tecnologia - Departamento de Informática Especialização em Desenvolvimento de Sistemas para Web Cleverson Rocha Desenvolvimento de um Sistema de Controle de Atendimentos de Assistência Técnica Prof. Ms. Edson Alves de Oliveira Junior (Presidente) Prof. Dr. Anderson Faustino Silva Prof. Ms. Ayslan Trevizan Possebom Ass.: Ass.: Ass.:
4 LISTA DE ILUSTRAÇÕES Figura 1. Imagem da tela inicial do Toad for MySQL Figura 2. Imagem das tabelas geradas no DBDesigner Figura 3. Diagrama Entidade-Relacionamento do Sis-Suporte Figura 4. Acesso ao Sistema Figura 5. Tela de Atendimentos pendentes Figura 6. Tela de cadastro de Atendimentos Figura 7. Alterar Atendimento Figura 8. Baixa de atendimentos Figura 9. Cadastro de Clientes Figura 10. Cadastro de Usuários Figura 11. Painel de Controle... 26
5 SUMÁRIO 1. Introdução Fundamentação Teórica Sistemas de Suporte Tecnologias Utilizadas para o Desenvolvimento do Trabalho Linguagem de Programação PHP Mysql Toad for MySQL DBDesigner Servidor Apache Sistema de Suporte Sis-Suporte Caracterizações do Sistema Sis-Suporte Documentação do Sistema Sis-Suporte Telas do Sistema Sis-Suporte Conclusões e Trabalhos Futuros Referências Bibliográficas... 28
6 1. Introdução Com a necessidade de disponibilizar o controle sobre os atendimentos técnicos em uma empresa da região de Maringá, pensou-se na proposta de atender a tais necessidades por meio do desenvolvimento de um sistema (Sis-Suporte) automatizado em que os técnicos possam gerenciar os atendimentos para um futuro controle de sua agenda. O Sis-Suporte permite à empresa disponibilizar o acesso em equipamentos conectados a Internet utilizando, para isso, um navegador. Tal disponibilidade e acessibilidade deixam o sistema mais ativo e de fácil controle. Os usuários com maiores privilégios de acesso ao sistema podem ter controle sobre os atendimentos realizados pelos técnicos tendo, assim, uma forma de observar suas visitas e serviços diários realizados na empresa. Com a disponibilidade de ferramentas de software livre no mercado o Sis- Suporte foi desenvolvido utilizando código-fonte totalmente GPL (General Public License), permitindo a sua utilização sem custo, porém com restrições de autoria, sem a necessidade de se adquirir licenças das ferramentas que o compõem. Este trabalho está organizado da seguinte maneira: na seção 2 são apresentados os conceitos básicos sobre ferramentas de suporte técnico, bem como das tecnologias utilizadas para o desenvolvimento deste trabalho; a seção 3 apresenta o sistema proposto, assim como a sua caracterização, documentação e apresentação das principais telas; e, por fim, a seção 4 apresenta as conclusões e trabalhos futuros. 6
7 2. Fundamentação Teórica Esta seção apresenta os conceitos fundamentais que servem como base para a compreensão deste trabalho. 2.1 Sistemas de Suporte Atualmente, existem poucos sistemas de suporte disponíveis no mercado que permitam o controle de atendimentos técnicos a clientes pela Web. Até mesmo soluções proprietários são difíceis de serem encontradas. O sistema mais semelhante disponível é o SSO (Sistema de Suporte Online) (CÓDIGO LIVRE, 2008), que apresenta falhas tanto na sua instalação, quanto na sua configuração. Sistemas com mínimas funcionalidades semelhantes, como agendas de alarmes, SAC (Serviço de Atendimento ao Consumidor), ordem de serviços com sistemas locais, ordem de serviços complexas ou com poucas funcionalidades, são encontrados. Muitas empresas desenvolvem soluções independentes, sendo que a cada mês os responsáveis pelas filiais passam relatórios para a matriz onde, assim, podem ter informações dos dados de uma empresa. Com um sistema onde os dados fiquem centralizados facilitando o acesso às informações e tomadas de decisão, o administrador pode a qualquer momento acessar os dados do sistema, ou até mesmo verificar se o atendimento de um determinado cliente foi realizado, por quem e quando foi realizado. 2.2 Tecnologias Utilizadas para o Desenvolvimento do Trabalho Várias são as ferramentas gratuitas que seguem a licença GPL(THE GNU OPERATING SYSTEM) e que estão disponíveis na Web. Maiores informações sobre a Licença GPL podem ser acessadas no endereço eletrônico Com o surgimento dessas ferramentas no mercado sem custos de aquisição e de fácil instalação, muitos programadores viram na Web uma nova forma de desenvolvimento de soluções onde o banco de dados fica centralizado, facilitando o controle e a manutenção de tais soluções. 7
8 A seguir são apresentadas as ferramentas mais importantes utilizadas para o desenvolvimento deste trabalho Linguagem de Programação PHP PHP apresenta facilidade de implementação e características de uma linguagem robusta e de grande utilização no mercado. Ela pode ser utilizada segundo as informações disponíveis no site oficial do PHP.net (2008). Muitas empresas como Yahoo, Wordpress estão adotando essa linguagem por possuir uma semelhança a outras existentes, simplificando a manutenção de soluções desenvolvidas. A grande vantagem de utilizar PHP está no fato de ela ser extremamente simples para um iniciante, e oferecer muitos recursos de multiplataforma, acesso a vários bancos de dados, sintaxe similar ao C++ e outras funcionalidades que atendem um programador profissional. O PHP tem como foco principal ser uma linguagem de script do lado do servidor (server-side), script de linha de comando e, recentemente, a disponibilização da linguagem PHP-GTK (PHP.NET, 2008) com recursos robustos do lado do cliente. O PHP pode ser utilizado na maioria dos sistemas operacionais, incluindo Linux, várias variantes Unix, Microsoft Windows, Mac OS X, RISC OS, entre outros. O PHP também é suportado pela maioria dos servidores web atuais, incluindo Apache HTTP Server Project, Microsoft Internet Information Server, Personal Web Server e outros (PHP.NET, 2008). O PHP pode ser configurado como módulo para a maioria dos servidores, e para os outros como um CGI(Common Gateway Interface) (PHP.NET, 2008). A linguagem ainda suporta uma grande quantidade de sistemas gerenciadores de banco de dados como, por exemplo: - dbase; - IBM DB2; - Informix; - Interbase; - msql; - Direct MS-SQL; - Mysql, ODBC; 8
9 - Oracle (OCI7 and OCI8); - PostgreSQL; - SQLite; - Sybase. Com PHP o usuário tem a liberdade para escolher a plataforma e o servidor web. Do mesmo modo, é possível escolher entre utilizar programação estrutural ou programação orientada a objeto, ou ainda uma mistura destes paradigmas MD5 Message-Digest Algorithm 5 (RSA, 2008) é um algoritmo de hash de 128 bits unidirecional desenvolvido pela RSA Data Security, Inc.(RSA, 2008), descrito na RFC 1321, e muito utilizado por softwares com protocolo ponto-a-ponto (P2P), verificação de integridade e logins. Foi desenvolvido em 1991 por Ronald Rivest para suceder ao MD4 que tinha alguns problemas de segurança. Por ser um algoritmo unidirecional, uma hash md5 não pode ser transformada novamente no texto que lhe deu origem. O método de verificação é, então, feito pela comparação das duas hash (uma da base de dados, e a outra da tentativa de login). O MD5 também é usado para verificar a integridade de um ficheiro, através por exemplo, do programa md5sum, que cria a hash de um ficheiro. Isto se pode tornar muito útil para downloads de ficheiros grandes, para programas P2P que constroem o ficheiro através de pedaços e estão sujeitos à corrupção dos mesmos. Como autenticação de login é utilizada em vários sistemas operacionais Unix e em muitos sites com autenticação. O acesso ao sistema procura proteger o usuário perante possíveis acessos não autorizados. Ao ter acesso ao sistema com o usuário e senha, automaticamente o sistema faz o uso do MD5 para garantir que sistemas maliciosos não capturem a mesma, caso ocorra não terão acesso ao sistema, pois para terem acesso terão que ter a senha que gerou e não ela criptografada. Exemplo de uma senha gerada pelo MD5: Senha sem MD5: Senha com MD5: e10adc3949ba59abbe56e057f20f883e 9
10 SESSÕES O suporte a sessões (PHP.NET, 2008) no PHP consiste em uma maneira de preservar certos dados por meio de acessos subseqüentes. Isto permite desenvolver aplicações mais personalizadas e que possa alternar entre páginas mantendo informações. Um visitante acessando o seu web site ganha um identificador único, chamado id de sessão. Este é salvo em um cookie do lado do usuário ou propagado via URL. O suporte a sessão permite registrar um número arbitrário de variáveis que serão preservadas entre as requisições. Quando um visitante acessar o site, o PHP irá conferir automaticamente (se session.auto_start estiver definido como 1) ou quando você pedir (explicitamente através de session_start() ou implicitamente através de session_register()) quando um id de sessão específico for enviado com a requisição. Se este for o caso, o ambiente anteriormente salvo é recriado. O Sis-Suporte faz a verificação em todas as páginas a existência da sessão do usuário e sua senha e faz a sua verificação ao ser carregada, evitando assim o acesso indevido sem sua correta autenticação. O Sistema também preserva a sessão até o navegador ser fechado ou a sessão ser finalizada Mysql Sistema Gerenciador de Banco de Dados (SGBD) utilizado para gerenciar dados de uma aplicação. Algumas características do Mysql (MYSQL, 2009): - testado com um amplo faixa de compiladores diferentes; - compatível com PHP; - grátis na versão open source; - relacionamentos de tabelas e integridade referencial após a versão 3.x; - funciona em diversas plataformas; - multitarefa e multiusuário; O Mysql na sua última versão, conta com novas funções como suporte OpenSSL estável, Stored Procedures, suporte a cursores elementares e outros recursos. 10
11 O custo de aquisição dessa ferramenta na versão open source/free Software é zero, sendo um dos fatores que contribuem para a sua ampla utilização (MYSQL, 2009). Mysql é SGBD que utiliza a linguagem SQL (Structured Query Language). Segundo Muto (2002) o Mysql pode ser considerado um dos projetos de software de origem mais quente desde o linux. É um grande competidor para os maiores sistemas de banco de dados existentes para aplicações de pequeno e médio porte. O sucesso do Mysql deve-se em grande medida à fácil integração com o PHP, incluído quase que obrigatoriamente nos pacotes de hospedagem de sites da Internet oferecidos atualmente. Exemplos de algumas empresas que utilizam o Mysql para disponibilizar o conteúdo na web: Yahoo! Finance MP3.com Motorola NASA Silicon Graphics Texas Instruments O Mysql hoje suporta Unicode, Full Text Indexes, replicação, Hot Backup, GIS, OLAP e muitos outros recursos. Características portabilidade; escrito em C e C++; testado com um amplo faixa de compiladores diferentes; funciona em diversas plataformas; utiliza o GNU Automake, Autoconf, e Libtool para portabilidade; APIs para C, C++, Eiffel, Java, Perl, PHP, Python, Ruby e Tcl; suporte total a multi-threads usando threads diretamente no kernel. Isto significa que se pode facilmente usar múltiplas CPUs, se disponível; fornece mecanismos de armazenamento transacional e não transacional; tabelas em disco (MyISAM) baseadas em árvores-b extremamente rápidas com compressão de índices; 11
12 é relativamente fácil se adicionar outro mecanismo de armazenamento. Isto é útil se você quiser adicionar uma interface SQL a um banco de dados caseiro; um sistema de alocação de memória muito rápido e baseado em processo(thread); joins muito rápidas usando uma multi-join de leitura única otimizada; tabelas hash em memória que são usadas como tabelas temporárias; funções SQL são implementadas por meio de uma biblioteca de classes altamente otimizada e com o máximo de performance. Geralmente não há nenhuma alocação de memória depois da inicialização da pesquisa; disponível como versão cliente/servidor ou embutida(ligada); e outras características que poder ser acessadas no Mysql.com(MYSQL, 2009). No passado, devido a não possuir funcionalidades consideradas essenciais em muitas áreas, como stored procedures, two-phase commit, subselects, foreign keys ou integridade referencial, era frequentemente considerado um sistema mais "leve" e para aplicações menos exigentes, sendo preterido por outros sistemas como o PostgreSQL Toad for MySQL 4.0 Ferramenta utilizada para implementação do banco de dados, Ferramenta Gráfica para manutenção das tabelas do banco de dados. 12
13 Figura 1. Imagem da tela inicial do Toad for MySQL. Toad For MySQL(QUEST SOFTWARE, 2009) é uma ferramenta excelente que auxilia administradores e desenvolvedores de banco de dados Mysql a trabalharem com maior rapidez e facilidade. O programa lhe possibilita a vantagem de trabalhar por abas. Desta maneira, mantém-se uma janela de trabalho organizada, com cada uma das suas ações devidamente separadas nestas abas. Cria e executa queries (consultas) em todas as tabelas do banco. Cada uma destas buscas pode ser apresenta em linhas de códigos, com todas as sintaxes devidamente estruturadas. Toad For MySQL(QUEST SOFTWARE, 2009) possibilita que você verifique cada detalhe sobre estruturas do seu banco de dados DBDesigner4 Ferramenta para elaborar os relacionamentos entre as tabelas do banco de dados Mysql. 13
14 Figura 2. Imagem das tabelas geradas no DBDesigner4 O DBDesigner4 (FABFORCE, 2009) é uma ferramenta muito importante para programadores, analistas e em especial profissionais que lidam com banco de dados. No DBDesigner4(FABFORCE, 2009), você trabalha com modelo de estrutura, visualização estrutura da informação armazenada em um banco de dados (por exemplo Tabelas, Indices, Relações, e outras). Embora é possível armazenar dados default no modelo, só representa o estrutura da informação, não os próprios dados. Criar o banco de dados de acordo o modelo pode ser exportado como um SQL ou pode ser sincronizado com um banco. Ao sincronizar também é usada para alterar o banco de dados automaticamente quando o modelo for alterado. As informações do modelo são geradas em XML. Alunos, professores e profissionais da área da Informática sabem quanto é importante ter um modelo de dados, e é exatamente o que o DBDesigner4 (FABFORCE, 2009) faz: auxilia e cria modelo de banco de dados onde é possível ver falhas de um determinado sistema. Além disso, após criar as suas tabelas, poderá gerar scripts para SQL, imagem entre outros, o que acaba facilitando. 14
15 Na hora de fazer as ligações entre as tabelas, você poderá escolher o tipo, por exemplo: 1 para 1, 1 para N entre outras. Há uma exceção que para criar tabelas N para N (redundância), então a hora que você criar um relacionamento assim, o programa gera uma terceira tabela que faz comunicação das duas, evitando assim, que você cometa erros no seu modelo e futuramente no banco. A sua interface simples e descomplicada, permite que você faça uma modelagem muito mais detalhada e sem muito esforço, Basta arrastar os ícones que estão na barra ao lado esquerdo e começar a desenhar tabelas, relacionamentos e atributos. O sistema oferecido pelo DBDesigner integra design, desenvolvimento, criação e manutenção de bancos de dados visuais em um ambiente único e sem complicações. Ao mesmo tempo, há a combinação de ferramentas profissionais com uma interface limpa e simples de ser usada, para oferecer uma maneira eficiente para que você administre seus bancos de dados. O DBDesigner foi desenvolvido e otimizado para uso com o Mysql, oferecendo assim uma ferramenta competente especialmente para esses usuários. Todas as peculiaridades e características do Mysql foram incorporadas para um controle adequado de seus conjuntos de informações. Alguns destaques que fazem do DBDesigner uma referência são um engine de engenharia reversa, o qual automaticamente obtém um modelo de bancos existentes, diversas ferramentas para modelação, e editores de sincronização que irão aplicar as mudanças automaticamente à base de dados em questão. Modelos de interface Para trabalhar com este gerenciador, há dois modos de interface. Um é o Design Mode, usado para criar e manter o modelo visual dos bancos de dados, o outro é o Query Mode, indicado para trabalhar com dados de tabelas e para criação de elementos SQL para uso em PHP, Kylix ou outras linguagens de programação. Plugins e código aberto Os modelos criados pelo DBDesigner são armazenados em XML, os quais podem ser modificados por plugins usados diretamente pelo programa. Por possuir código aberto, é fácil para programadores desenvolver novos plugins ou expandir este programa para suprir necessidades específicas. Ambiente 15
16 O ambiente de trabalho do DBDesigner é baseado no layout padrão para utilitários. A navegação básica é semelhante à do Adobe Illustrator e do Photoshop, as paletas incluem o recurso "Bird Eyes view" ("Visualização Olhos de Pássaro"), tabelas, etiquetas, regiões e imagens são disponibilizadas, os recursos de soltar e arrastar (dragand-drop) e de menus popup são constantemente disponíveis, as funções refazer e desfazer são ilimitados. Outros destaques impressão avançada de modelos; exibir como imagem; todos os tipos de dados do Mysql com todas as opções; tipos de dados definidos pelo usuário; armazenamento de bancos de dados, com habilidade para salvar um modelo dentro de um banco; acesso via rede ao armazenamento das bases de dados; histórico de comandos SQL; possibilidade de plugins; Essas e outras informações podem ser encontradas no site do DBDesigner4 (FABFORCE, 2009) Servidor Apache O servidor Apache (ou Servidor HTTP Apache, em inglês: Apache HTTP Server, ou simplesmente: Apache) é sem dúvidas, um dos mais robustos e seguros programas desenvolvidos para ambientes TCP/IP e que mantém em operação mais de 60% dos servidores ativos no mundo (MARCELO, 2003). Nasceu quando a NCSA(National Center for Computer Aplications), criou o antigo NCSA Web Server, que naqueles tempos tornou-se o mais popular servidor http existente, mas acabou ficando estagnada com o projeto, fazendo com que muitos da equipe de desenvolvimento saíssem e iniciando assim o desenvolvimento de novas atualizações sobre o sistema que eles haviam trabalhado da NCSA, assim nascendo a Apache que teve seu debut em abril de 1995 sob a versão As principais vantagens da do Servidor apache são; 16
17 - compatível com o protocolo HTTP versão 1.1; - suas funcionalidades são mantidas através de uma estrutura de módulos, podendo inclusive o usuário escrever seus próprios módulos utilizando a API do software; - suporte a CGI, Perl e PHP; - suporte a SSL para transações seguras; - é disponibilizada em versões para vários sistemas operacionais como; Windows, Novell Netware, OS/2 e diversos outros do padrão POSIX (Unix, Linux, FreeBSD, etc)(apache, 2009). Segurança Para garantir segurança nas transações HTTP, o servidor dispõe de um módulo chamado mod_ssl, o qual adiciona a capacidade do servidor atender requisições utilizando o protocolo HTTPS. Este protocolo utiliza uma camada SSL para criptografar todos os dados transferidos entre o cliente e o servidor, provendo maior grau de segurança, confidencialidade e confiabilidade dos dados. A camada SSL é compatível com certificados X.509, que são os certificados digitais fornecidos e assinados por grandes entidades certificadoras no mundo. Configuração O servidor é configurado por um arquivo mestre nomeado httpd.conf e opcionalmente pode haver configurações para cada diretório utilizando arquivos com o nome.htaccess, onde é possível utilizar autenticação de usuário pelo próprio protocolo HTTP utilizando uma combinação de arquivo.htaccess com um arquivo.htpasswd, que guardará os usuários e senhas (criptografadas). 17
18 3. SISTEMA DE SUPORTE SIS-SUPORTE Esta seção apresenta o sistema Sis-Suporte, bem como sua caracterização, documentação e telas. 3.1 Caracterizações do Sistema Sis-Suporte O Sis-Suporte apresenta funções simples que facilitam sua utilização. Seu principal foco é o cadastro de atendimentos a serem agendados. Cada usuário antes de seu primeiro acesso ao sistema deverá ser cadastrado pelo usuário Administrador (usuário com acesso a todas as funcionalidades do sistema), após o cadastro o usuário receberá uma senha de acesso, o mesmo poderá ter acesso às funções conforme liberado pelo usuário Administrador, essas funções podem ser revogadas a qualquer momento pelo usuário Administrador. Os tipos de acessos que o sistema permite são: - Técnico: Acesso a sua agenda de atendimentos, cadastro de seus atendimentos, alteração de seus dados cadastrais e baixa de seus atendimentos. - Administrador: Acesso a todos os atendimentos, cadastro de atendimentos, alteração de seus dados cadastrais, baixa de atendimentos, atendimentos realizados, alteração de cadastro de usuários e reprogramar agendamentos. O sistema controla todos os agendamentos, cada técnico ao realizar o atendimento deverá ter acesso ao sistema e realizar a baixa do mesmo adicionando uma observação ao atendimento caso possua. 18
19 3.2 Documentação do Sistema Sis-Suporte A documentação do sistema proposto é representada por um diagrama entidaderelacionamento, que apresenta todas as entidades existentes, bem como os seus relacionamentos. Figura 3. Diagrama Entidade-Relacionamento do Sis-Suporte. O Banco de dados do Sistema é simples e funcional, onde temos: Atendimentos Onde são registradas todas as informações relativas aos agendamentos dos técnicos cadastrados no sistema. Nesta tabela, serão armazenadas informações como: tipo do atendimento, data e hora a ser realizado, quando foi realizado, observações do atendimento e dados do cliente a ser atendido. 19
20 Clientes Onde são armazenadas todas as informações relacionadas aos clientes a serem atendidos pela empresa. Para a realização do cadastro de atendimento ao cliente, o mesmo deverá estar previamente cadastrado ou poderá ser realizado ao agendar seu atendimento. Usuários Onde são armazenadas todas as informações relacionadas aos usuários cadastrados no sistema. Nesta tabela são definidas as regras de acesso e informações do usuário como a senha criptografada. Recado Privado Onde são armazenadas todas as informações relacionadas aos recados cadastrados pelos administradores. Ao usuário ter acesso ao sistema, o mesmo receberá uma notificação que existe um recado administrativo a ser lido. 3.3 Telas do Sistema Sis-Suporte Aqui são apresentadas as telas do sistema Sis-Suporte onde é possível visualizar todas as funções do sistema e a descrição das mesmas. Figura 4. Acesso ao Sistema 20
21 Caso o Usuário não tenha digitado ou iniciado o acesso ao sistema será solicitado sua autenticação de acesso ao Sis-Suporte. Mesmo que o usuário tente acessar uma página sem antes autenticar-se serão solicitados os dados de acesso. O acesso inicial do sistema cadastra uma sessão com os dados de validação do usuário como nome e senha, após esse cadastro em todas as páginas de acesso será verificada a veracidade das informações informadas com as existentes no sistema. As senhas digitadas são criptografadas com MD5 onde nenhum usuário terá acesso a sua senha, a alteração da mesma poderá ser realizada pelo próprio usuário ou pelo administrador do sistema com privilégios administrativos. Em cada página de acesso ao sistema é incluída uma página que realiza a verificação da autenticação. Figura 5. Tela de Atendimentos pendentes Ao efetuar o login no sistema, serão apresentados todos os atendimentos agendados que foram cadastrados anteriormente por outros usuários administrativos ou o próprio usuário. Com descrição resumida, serão apresentados em uma forma limpa e os atendimentos por ordem de agendamento, dando destaque para os atendimentos marcados como urgente. Pensando em atendimentos que tende a ser realizados com menor tempo, foi criada uma sessão onde poderemos definir como urgente, assim dando destaque na tela de apresentação de sua existência. 21
22 Figura 6. Tela de cadastro de Atendimentos Na tela de cadastro de atendimentos, o usuário adiciona novos atendimentos pendentes a serem realizados. Aqui podemos adicionar a data do atendimento, hora do atendimento, telefones de contato para realizar o atendimento, cliente, problema reclamado, técnico escolhido para o atendimento e tipo do atendimento. Ao cadastrar os atendimentos, o usuário poderá selecionar facilmente o cliente a ser atendimento, caso o cliente não tenha cadastro, o mesmo poderá ser realizado de uma forma simples e rápida. No tipo de atendimento podemos definir como: urgente ou normal. Caso o usuário defina como urgente, ele será destacado na tela de atendimento do técnico designado a fazer o atendimento. Em caso de usuários administrativos, a opção de escolha de outros técnicos ficará ativa para designar o atendimento para o técnico de sua escolha. Quando o usuário não tem privilégios, o mesmo somente poderá cadastrar atendimento para si próprio. 22
23 Figura 7. Alterar Atendimento Os Usuários podem alterar os atendimentos para uma data posterior, clicando em alterar na página de agendamentos. A alteração poderá ser feita quantas vezes necessário, caso o atendimento não seja possível por alguns dos motivos abaixo: - cliente não encontrado; - cliente ligou que não estaria em casa no dia; - técnico aguardando outras informações; - aguardando peça. É um objetivo futuro não permitir mais de 1(uma) alteração no agendamento de atendimentos, caso necessário somente o usuário com privilégios administrativos poderá reprogramá-lo. 23
24 Figura 8. Baixa de atendimentos Após o atendimento ao cliente o usuário realiza a baixa do atendimento, podendo o mesmo acrescentar uma observação relacionada ao atendimento para uma futura consulta. Também ficará registrada a data da baixa. Realizada a baixa, o sistema registra como atendimento realizado na tela de baixados, após a baixa essas informações ficam disponível apenas para usuário administrativo. Figura 9. Cadastro de Clientes 24
25 O sistema permite adicionar clientes ao sistema, facilitando o seu agendamento. Ao cadastrar um atendimento será solicitado um cliente previamente cadastrado, caso o cliente esteja cadastrado, será possível apenas selecioná-lo para prosseguir com o agendamento, caso o cliente não esteja cadastrado o mesmo será direcionado a tela de cadastro de cliente para que o faça. Nessa tela são solicitadas informações relacionadas ao cadastro de cliente como: nome, CPF, RG, endereço e telefone. O sistema não permite o cadastro de CPF duplicado, o sistema também permite bloquear algum cliente caso aja necessidade, deixando o cliente bloqueado para atendimento técnico. Figura 10. Cadastro de Usuários Nessa tela o sistema permite cadastrar novos usuários que irão utilizar o Sis- Suporte. Aqui são definidas regras para acesso as informações do Sistema como: Acesso irrestrito, acesso aos cadastros e exclusões de registro. Todos os usuários que terão acesso ao sistema poderão ser cadastrados utilizando essa tela, os usuários que necessitam ser revogados privilégios de acesso poderão ser bloqueados usando os níveis de acesso como mostrado abaixo: - Nível de acesso: Acesso ao sistema, relação dos agendamentos, baixa dos agendamentos e painel de controle. 25
26 - Nível ativação: Mesmos privilégios de Nível de acesso, cadastro de agendamentos e cadastro de clientes. - Nível total: Mesmos privilégios de Nível ativação, cadastro de usuários e atendimentos baixados. Figura 11. Painel de Controle O usuário pode alterar algumas informações de seu cadastro como nome completo e redefinir sua senha. Para aumentar a privacidade dos usuários o sistema permite que cada usuário altere sua senha de acesso. 26
27 4. Conclusões e Trabalhos Futuros O Sistema desenvolvido permitiu um aumento de produtividade da empresa, melhorando o atendimento ao cliente, onde resolveu o problema de atendimentos que eram esquecidos ou até mesmo não atendidos por parte da área técnica. Ao ser registrar o agendamento no sistema, o técnico terá que fazer o atendimento e realizar a baixa da conclusão do serviço. O gerente poderá ter o controle de todos os agendamentos realizados. Concluímos que os sistemas WEB estão cada vez mais presentes em nossas vidas, e que uma forma de implantar um recurso ao nosso cotidiano é utilizando a internet, pois são tecnologias cada vez mais presentes em todos os lugares do mundo. Tecnologias que devem ser mais exploradas e implementadas como soluções para várias empresas. No decorrer do desenvolvimento deste trabalho podem-se vislumbrar algumas possibilidades de trabalhos futuros, tais como: - Uso do sistema em outras plataformas, até mesmo acesso para sistema móveis como celulares, serviços que devem ficar disponível 24h por dia e 7 (sete) dias por semana; - PHP-GWT com implementações de janelas que simulam com mais realismo as telas do sistema, facilitando o acesso ao sistema; - Sistema para muitas lojas, onde será possível mostrar dados independentes para cada loja, mas englobando o banco de dados facilitando o relatório e o acesso às informações. 27
28 5. Referências Bibliográficas APACHE. Apache Software Foundation. Disponível em <http://www.apache.org> acesso em dezembro Código Livre. Sistema de Suporte Online. Disponível em <http://codigolivre.org.br/projects/sso/ > Acesso em Dezembro fabforce. Fabulous Force Database Tools. Disponível em <http://www.fabforce.net/dbdesigner4> Acesso em janeiro MD5. The MD5 Message-Digest Algorithm. Disponível em <http://www.faqs.org/rfcs/rfc1321.html> Acesso em Dezembro Mysql. Banco de dados Mysql. Disponível em <http://www.mysql.com> Acesso em Dezembro MARCELO, Antonio. Apache: Configurando o Servidor WEB para Linux, 2.ed. - Rio de Janeiro: Brasport, MUTO, Claudio Adonai. PHP & Mysql: Guia Completo, - Rio de Janeiro: Brasport, PHP.net. Hypertext Preprocessor. Disponível em <http://www.php.net > Acesso em Dezembro Quest Software. Toad for MySQL. Disponível em < Acesso em janeiro RSA. The Security Division of EMC. Disponível em <http://www.rsa.com> Acesso em Dezembro