UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Linielson...

133
UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO SISTEMA DE HELP DESK COM WORKFLOW PARA A EMPRESA ASSEINFO por Linielson Rosa Itajaí (SC), junho de 2012

Transcript of UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Linielson...

UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR

CURSO DE CIÊNCIA DA COMPUTAÇÃO

SISTEMA DE HELP DESK COM WORKFLOW PARA A EMPRESA ASSEINFO

por

Linielson Rosa

Itajaí (SC), junho de 2012

UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR

CURSO DE CIÊNCIA DA COMPUTAÇÃO

SISTEMA DE HELP DESK COM WORKFLOW PARA A EMPRESA ASSEINFO

Área de Sistemas de Informação

por

Linielson Rosa Relatório apresentado à Banca Examinadora do Trabalho Técnico-científico de Conclusão do Curso de Ciência da Computação para análise e aprovação. Orientador: Ovidio Felippe Pereira da Silva Jr., Dr.

Itajaí (SC), junho de 2012

Dedico este trabalho a meus pais, Linesio Zacarias Rosa e Silvana Lourdes Filisbino Rosa, pela minha educação, por acreditarem em mim, e sempre estarem do meu lado apoiando e

respeitando minhas decisões.

AGRADECIMENTOS

Agradeço a DEUS, e a santa família, que sempre guiam meus passos, dando força e

sabedoria, não permitindo que eu desista dos meus objetivos e colocando pessoas em meu

caminho que ajudaram minha formação pessoal, acadêmica e profissional.

Aos meus pais, Linesio Zacarias Rosa e Silvana Lourdes Filisbino Rosa, pela

confiança em mim depositada e os ensinamentos a mim passados.

Aos meus irmãos, Lisiel L. Rosa e Lisiani S. Rosa, por confiarem e acreditarem em

mim.

A minha namorada Aline Fausto, por sua atenção, amor, carinho, confiança, ajuda,

dedicação, pela vibração com minhas conquistas e por muita compreensão no decorrer dessa

caminhada. Amo-te.

A meu amigo César Luiz dos Anjos Junior, imprescindível para o desenvolvimento

deste projeto, por permitir que eu tenha desenvolvido este projeto em horário de trabalho,

pelos ensinamentos a mim passados, e pela confiança em mim depositada.

A meu mestre Ovidio Felippe Pereira. da Silva Jr, pela atenção, pela supervisão e

contribuição para o desenvolvimento deste projeto, e pelos conselhos e ensinamentos a mim

passados.

A todos os amigos e familiares, que de forma direta ou indireta contribuíram para que

este sonho se concretizasse.

Também agradeço a todos os professores que por minha vida acadêmica passaram.

RESUMO

ROSA, Linielson. Sistema de Help Desk com Workflow para a empresa ASSEINFO. Itajaí, 2012. 120 f. Trabalho Técnico-científico de Conclusão de Curso (Graduação em Ciência da Computação) – Centro de Ciências Tecnológicas da Terra e do Mar, Universidade do Vale do Itajaí, Itajaí, 2012. Os sistemas de informação nas empresas estão se tornando uma ferramenta vital. As organizações estão investindo em sistemas de informação com o objetivo de sobreviver no mercado, alcançar a excelência operacional, possuir vantagens competitivas, desenvolver novos produtos, tomar melhores decisões, obter previsões de mercado e estreitar o relacionamento com o cliente. Sistemas de informação envolvem diversas tecnologias que auxiliam as organizações em diversas situações como é o caso do workflow, que tem como objetivo auxiliar as empresas na execução de processos, atividades e procedimentos, e também dos SIG (Sistemas de Informação Gerencial), que tem como finalidade dar suporte as funções gerenciais, apresentando relatórios ou acesso on-line aos registros do desempenho corrente e histórico das organizações. Com um sistema de informação inadequado, ou a inexistência de um, empresas podem perder mercado, parar de crescer, criar ambientes de trabalho conturbados e/ou desorganizados, tomar decisões inadequadas, perder clientes para a concorrência, e assim gerar transtornos e prejuízos. Se atentando para estas situações a empresa ASSEINFO, do ramo de desenvolvimento de softwares, observou a necessidade de acompanhar o processo de trabalho do seu setor de help desk e implantar um novo sistema para o gerenciamento do mesmo, que atualmente sofre com o grande número de atendimentos realizados todos os dias, e não possui um sistema adequado para organizar e gerenciar seus atendimentos. Analisando o problema enfrentado pela ASSEINFO, foi desenvolvido um sistema web para gerenciar o setor de help desk. O sistema é composto por um sistema de informação para a coleta e processamento de dados, um workflow para gerenciar os processos, e um SIG para exibir as informações a serem analisadas. O sistema proposto por este trabalho substitui o antigo sistema de geração de ordens de serviço da ASSEINFO. Palavras-chave: Sistemas de Informação. Workflow. Sistemas de Informação Gerencial.

ABSTRACT

Information systems in business companies are becoming a vital tool. Organizations have been investing in information systems in order to survive in the market, to reach operational excellence, to have competitive advantages, to develop new products, to make better decisions, to obtain market forecast and to narrow the relationship with their customers. Information systems involve several technologies which help business companies in countless situations. An example of these technologies is the workflow, which helps companies carrying out processes, activities and procedures, and also the MISs (Management Information Systems), which purpose is to give support to the management functions, create reports or give online access to the reports of the organizations’ current performance and records. An inadequate information system, or the absence of one, may cause companies to lose market, stop their growth, create a disorganized and hostile work environment, make wrong decisions, and lose clients to a competitor, thus causing loss and upset. Attentive to these situations, ASSEINFO, a company that works in the field of software development, observed the need of supporting the work process of the help desk sector and introducing a new system to manage it. This company has currently suffered with the great amount of service performed on a daily basis, without an adequate system to organize and manage it. Analyzing the problem faced by ASSEINFO, a web system to manage the help desk department. The system consists of an information system for collecting and processing data, a workflow to manage the processes, and a MIT to display information to be analyzed. The system proposed in this work replaces the old system of generation of service orders of ASSEINFO.

Keywords: Information Systems. Workflow. Management Information Systems.

LISTA DE FIGURAS

Figura 1. Princípios básicos do COBIT ................................................................................ 14 Figura 2. Composição de um sistema de informação ............................................................ 18 Figura 3. Dados e informação .............................................................................................. 19 Figura 4. Funções de um sistema de informação ................................................................... 20 Figura 5. Tipos de Sistemas de Informação .......................................................................... 21 Figura 6. Transformação de dados em arquivos SIG ............................................................. 23 Figura 7. Workflow para aprovação de empréstimo .............................................................. 26 Figura 8. Representação dos conceitos de workflow ............................................................. 27 Figura 9. Tipos de workflow e suas abrangências.................................................................. 29 Figura 10. Como as empresas usam a Internet nos negócios ................................................. 31 Figura 11. Tela inicial do sistema Milldesk .......................................................................... 35 Figura 12. Tela de Benchmark do sistema SysAid ................................................................ 37 Figura 13. Tela de Chat do sistema mySuite ......................................................................... 38 Figura 14. Fluxo de trabalho antigo do help desk da ASSEINFO .......................................... 42 Figura 15. Fluxo de trabalho atual do help desk da ASSEINFO ............................................ 43 Figura 16. Pacotes dos cenários ............................................................................................ 47 Figura 17. Atores do Sistema ............................................................................................... 48 Figura 18. Cenário do Técnico ............................................................................................. 49 Figura 19. Cenário do Gerente ............................................................................................. 55 Figura 20. Cenário do Administrador ................................................................................... 57 Figura 21. Cenário do Workflow ........................................................................................... 59 Figura 22. Diagrama de Classe Usuário ................................................................................ 60 Figura 23. Diagrama de Classe Recurso ............................................................................... 60 Figura 24. Diagrama de Classe Pessoa ................................................................................. 61 Figura 25. Diagrama de Classe Workflow ............................................................................. 61 Figura 26. Diagrama de Classe Relatório.............................................................................. 61 Figura 27. Diagrama de Classe Projeto ................................................................................. 62 Figura 28. Diagrama de Classe Serviço ................................................................................ 62 Figura 29. Diagrama de Classe Tarefa .................................................................................. 63 Figura 30. Diagrama de Entidade Relacionamento ............................................................... 64 Figura 31. Diagrama de Sequencia – Incluir uma tarefa ........................................................ 70 Figura 32. Diagrama do workflow proposto .......................................................................... 71 Figura 33. Tela de Login ...................................................................................................... 72 Figura 34. Tela Principal ...................................................................................................... 73 Figura 35. Tela de Cadastro de Recursos .............................................................................. 74 Figura 36. Tela de Cadastro de Recursos modo inclusão ...................................................... 75 Figura 37. Tela de Cadastro de Usuários .............................................................................. 76 Figura 38. Tela de Cadastro de Usuário modo inclusão ........................................................ 77 Figura 39. Tela de Cadastro de Clientes ............................................................................... 78 Figura 40. Tela de Cadastro de Clientes modo inclusão ........................................................ 79 Figura 41. Tela de Cadastro de Serviços ............................................................................... 80 Figura 42. Tela de Cadastro de Serviços modo inclusão ....................................................... 81 Figura 43. Tela de Cadastro de Serviços modo consulta ....................................................... 82 Figura 44. Tela de Cadastro de Serviços Etapas ................................................................... 83 Figura 45. Tela de Cadastro de Serviços Etapas modo inclusão ............................................ 84 Figura 46. Tela de Cadastro de Tarefas ................................................................................ 85 Figura 47. Tela de Cadastro de Tarefas modo inclusão ......................................................... 86

Figura 48. Tela de Cadastro de Tarefas modo consulta ......................................................... 87 Figura 49. Tela de Impressão de Tarefas Pesquisa ................................................................ 88 Figura 50. Tela de Impressão de Tarefas .............................................................................. 89 Figura 51. Tela de Cadastro Tarefa Etapas ........................................................................... 90 Figura 52. Tela de Cadastro de Tarefa Etapas modo inclusão ............................................... 91 Figura 53. Tela de Cadastro de Tarefa Horas ........................................................................ 92 Figura 54. Tela de Cadastro de Tarefa Anexos ..................................................................... 93 Figura 55. Tela de Cadastro de Projetos ............................................................................... 94 Figura 56. Tela de Cadastro de Projetos modo inclusão ........................................................ 95 Figura 57. Tela do Painel dos Projetos ................................................................................. 96 Figura 58. Mensagens de Erro .............................................................................................. 97 Figura 59. Tela dos Relatórios .............................................................................................. 98 Figura 60. Tela de Filtros ..................................................................................................... 99 Figura 61. Relatório 01 ...................................................................................................... 100 Figura 62. Relatório 02 ...................................................................................................... 101 Figura 63. Relatório 03 ...................................................................................................... 102 Figura 64. Relatório 04 ...................................................................................................... 103 Figura 65. Relatório 05 ...................................................................................................... 104 Figura 66. Relatório 06 ...................................................................................................... 105 Figura 67. Arquitetura MVC .............................................................................................. 109 Figura 68. Diretório principal ............................................................................................. 110 Figura 69. Diretório app ..................................................................................................... 111 Figura 70. Diretório config ................................................................................................. 112 Figura 71. Diretório db ....................................................................................................... 113

LISTA DE TABELAS

Tabela 1. Comparação entre os sistemas similares ................................................................ 39 Tabela 2. CDU 01.01 – Efetuar Login .................................................................................. 49 Tabela 3. CDU 01.02 – Cadastrar Pessoas ............................................................................ 50 Tabela 4. CDU 01.03 – Cadastrar Recursos .......................................................................... 51 Tabela 5. CDU 01.04 – Cadastrar Serviços........................................................................... 52 Tabela 6. CDU 01.05 – Cadastrar Tarefas – Parte 1 .............................................................. 53 Tabela 7. CDU 01.05 – Cadastrar Tarefas – Parte 2 .............................................................. 54 Tabela 8. CDU 03.01 – Visualizar Relatórios ....................................................................... 55 Tabela 9. CDU 03.02 – Gerenciar Projetos ........................................................................... 56 Tabela 10. CDU 04.01 – Cadastrar usuário........................................................................... 58 Tabela 11. CDU 05.01 – Gerenciar fluxo de trabalho ........................................................... 59 Tabela 12. Dicionário de Dados da Tabela Usuários ............................................................. 65 Tabela 13. Dicionário de Dados da Tabela Pessoas .............................................................. 65 Tabela 14. Dicionário de Dados da Tabela Recursos ............................................................ 65 Tabela 15. Dicionário de Dados da Tabela Serviços ............................................................. 66 Tabela 16. Dicionário de Dados da Tabela Serviços Etapas .................................................. 66 Tabela 17. Dicionário de Dados da Tabela Recursos Serviço Etapas .................................... 66 Tabela 18. Dicionário de Dados da Tabela Tarefas ............................................................... 67 Tabela 19. Dicionário de Dados da Tabela Tarefas Anexos .................................................. 67 Tabela 20. Dicionário de Dados da Tabela Tarefas Etapas .................................................... 68 Tabela 21. Dicionário de Dados da Tabela Recursos Tarefa Etapas ...................................... 68 Tabela 22. Dicionário de Dados da Tabela Tarefas Horas ..................................................... 68 Tabela 23. Dicionário de Dados da Tabela Workflows .......................................................... 69 Tabela 24. Dicionário de Dados da Tabela Projetos .............................................................. 69

LISTA DE QUADROS

Quadro 1. Modelo Pessoa – pessoa.rb ................................................................................ 110 Quadro 2. Visão Nova Pessoa – new.html.erb .................................................................... 110 Quadro 3. Arquivo de rotas – routes.rb ............................................................................... 113 Quadro 4. Arquivo de inicialização – seeds.rb .................................................................... 114 Quadro 5. Criação da tabela Usuários - 20120413163221_create_usuarios.rb..................... 114 Quadro 6. Comando scaffold no Rails ................................................................................ 114

LISTA DE ABREVIATURAS E SIGLAS

AJAX Asynchronous Javascript and XML ASP Active Server Pages BDD Behavior Driven Development BPM Business Process Management CCTA Central Computer and Telecommunications Agency COBIT Control Objectives for Information and related Technology CoC Convention over Configuration COSO Committee of Sponsoring Organizations of the Treadway Commission CRUD Create Read Update Delete CSS Cascading Style Sheets DRY Don’t Repeat Yourself EIS Sistemas de Apoio ao Executivo ERB Embed Ruby FAQ Frequently Asked Questions HDI Help Desk Institute HTML Hyper Text Markup Language ITGI IT Governance Institute ITIL Information Technology Infrastructure Library MIS Management Information System MVC Model View Controller NF-e Nota Fiscal Eletrônica PAF-ECF Programa Aplicativo Fiscal – Emissor de Cupom Fiscal PMBOK Project Management Body of Knowledge QoS Quality of Service RB Arquivo Ruby SAD Sistemas de Apoio à Decisão SADG Sistemas de Apoio à Decisão em Grupo SC Sistemas de Colaboração SCP Sistemas de Controle de Processos SI Sistema de Informação SIG Sistemas de Informação Gerencial SLM Service Level Management SPT Sistemas de Processamento de Transações SQL Structured Query Language TI Tecnologia da Informação TTC Trabalho Técnico-científico de Conclusão de Curso UML Unified Modeling Language UNIVALI Universidade do Vale do Itajaí URL Uniform Resource Locator

SUMÁRIO 1 INTRODUÇÃO ............................................................................................................... 1 1.1 PROBLEMATIZAÇÃO ........................................................................... 3 1.1.1 Formulação do Problema ....................................................................... 3 1.1.2 Solução Proposta .................................................................................... 4 1.2 OBJETIVOS ............................................................................................. 4 1.2.1 Objetivo Geral ........................................................................................ 4 1.2.2 Objetivos Específicos .............................................................................. 4 1.3 METODOLOGIA ..................................................................................... 5 1.4 ESTRUTURA DO TRABALHO ............................................................. 6 2 FUNDAMENTAÇÃO TEÓRICA .................................................................................... 7 2.1 VISÃO GERAL ........................................................................................ 7 2.2 ASSEINFO ................................................................................................ 7 2.2.1 Estrutura Organizacional ...................................................................... 8 2.2.2 Setor de Help Desk ................................................................................. 8 2.2.3 Clientes.................................................................................................... 9 2.3 SUPORTE TÉCNICO EM INFORMÁTICA ......................................... 9 2.3.1 Help Desk ................................................................................................ 9 2.3.2 Serviços em TI ...................................................................................... 11 2.3.3 Qualidade no Atendimento em TI ....................................................... 12 2.3.4 Melhores Práticas no Atendimento em TI .......................................... 13 2.3.4.1 COBIT ............................................................................................ 13 2.3.4.2 ITIL ................................................................................................ 15 2.3.4.3 Outras Metodologias ..................................................................... 16 2.4 TECNOLOGIAS DE SISTEMAS DE INFORMAÇÃO ...................... 17 2.4.1 Sistemas de Informação ....................................................................... 17 2.4.1.1 Tipos de Sistemas de Informação ................................................. 20 2.4.1.2 Sistemas de Informação Gerencial ............................................... 22 2.4.1.3 Workflow ....................................................................................... 25 2.4.1.3.1 Tipos de Workflow ........................................................................ 27 2.4.2 Sistemas Web ........................................................................................ 29 2.4.2.1 Tecnologias de Desenvolvimento .................................................. 32 2.4.2.2 O Futuro da Web ........................................................................... 33 2.5 SOLUÇÕES SIMILARES ..................................................................... 33 2.5.1 Milldesk ................................................................................................ 34 2.5.2 SysAid ................................................................................................... 35 2.5.3 mySuite ................................................................................................. 37 2.5.4 Análise dos Casos ................................................................................. 38 3 DESENVOLVIMENTO................................................................................................. 41 3.1 SISTEMA DESENVOLVIDO ............................................................... 41 3.1.1 Fluxo de Trabalho do Help Desk da ASSEINFO ............................... 41 3.1.1.1 Situação Antiga .............................................................................. 41

3.1.1.2 Situação Atual ................................................................................ 43 3.1.2 Requisitos .............................................................................................. 44 3.1.2.1 Funcionais ...................................................................................... 44 3.1.2.2 Não Funcionais .............................................................................. 45 3.1.2.3 Regras de Negócio .......................................................................... 46 3.1.3 Diagramas de Caso de Uso ................................................................... 47 3.1.3.1 Pacotes ............................................................................................ 47 3.1.3.2 Atores do Sistema .......................................................................... 48 3.1.3.3 Cenário do Técnico ........................................................................ 49 3.1.3.4 Cenário do Gerente ....................................................................... 55 3.1.3.5 Cenário do Administrador ............................................................ 57 3.1.3.6 Cenário do Workflow .................................................................... 59 3.1.4 Dados..................................................................................................... 60 3.1.4.1 Diagramas de Classe ...................................................................... 60 3.1.4.2 Diagrama de Entidade Relacionamento ....................................... 63 3.1.4.3 Dicionário de Dados ....................................................................... 64 3.1.5 Diagramas de Sequência ...................................................................... 69 3.1.6 Workflow Desenvolvido ....................................................................... 71 3.2 IMPLEMENTAÇÃO.............................................................................. 72 3.2.1 Interfaces de Entrada e Saída do Sistema ........................................... 72 3.2.1.1 Telas do Sistema Desenvolvido ..................................................... 72 3.2.1.2 Relatórios Gerenciais..................................................................... 97 3.2.2 Tecnologias Utilizadas ........................................................................ 105 3.2.2.1 Ruby ............................................................................................. 106 3.2.2.2 Rails .............................................................................................. 106 3.2.2.3 SQLite .......................................................................................... 107 3.2.2.4 PostgreSQL .................................................................................. 107 3.2.3 Ambiente ............................................................................................. 108 3.2.4 Programação ...................................................................................... 108 3.2.4.1 Scaffold ......................................................................................... 114 3.3 TESTES E AVALIAÇÃO .................................................................... 115 4 CONCLUSÕES ........................................................................................................... 117 4.1 DIFICULDADES ENCONTRADAS ................................................... 117 4.2 TRABALHOS FUTUROS ................................................................... 118 REFERÊNCIAS BIBLIOGRÁFICAS ................................................................................ 119

1

1 INTRODUÇÃO

Sistema de informação (SI) é qualquer sistema que coleta os dados como entrada,

armazena, processa, e como saída retorna informações destinadas a apoiar a tomada de

decisões e controle em uma organização.

Os sistemas de informação são parte essencial das empresas, tornando-se campo de

estudo para administradores e gerentes. Dentro das empresas desempenham importantes

papéis, tais como suporte a tomada de decisões, suporte a processos e suporte a estratégias.

Para Laudon e Laudon (2007, p. 41), as empresas investem em sistemas de informação

para atender aos seguintes objetivos:

Atingir a excelência operacional (produtividade, eficiência e agilidade);

Desenvolver novos produtos e serviços;

Estreitar o relacionamento com o cliente e atendê-lo melhor;

Melhorar a tomada de decisão (em termos de precisão e velocidade);

Promover a vantagem competitiva; e

Assegurar a sobrevivência.

Os sistemas de informações envolvem tecnologias que auxiliam as organizações em

situações específicas, como é o caso do workflow, que pode ser traduzido para o português

como fluxo de trabalho.

O objetivo do workflow é auxiliar as empresas na execução de processos, atividades e

procedimentos.

Para Cruz (2000, p.75), workflow pode ser definido como “Ferramentas que têm por

finalidade automatizar processos, racionalizando-os e, consequentemente, aumentando sua

produtividade por meio de dois componentes implícitos: organização e tecnologia”.

Esta tecnologia pode ser aplicada em um amplo campo de atividades, cujas tarefas,

conforme suas características podem ser executadas sequencialmente, simultaneamente por

diferentes pessoas ou pela combinação delas. Isso implica que ela está associada ao trabalho

em grupo, pois se somente uma pessoa participar do fluxo não se constitui um workflow

(THIVES JR, 2001, p.46).

As informações e o apoio à decisão são vitais para as organizações. Graças aos

sistemas de informação e de apoio à decisão, a gerência e os funcionários podem obter

2

informações úteis em tempo real. Os sistemas de informação que atuam no nível operacional

são fundamentais em capturar a riqueza de dados. Quando esses dados são filtrados e

manipulados podem fornecer um apoio poderoso a gestão das organizações. Esse é o objetivo

dos sistemas de informação de apoio à decisão, ajudar a tomar melhores decisões e resolver

problemas importantes (STAIR; REYNOLDS, 2008).

Segundo Laudon e Laudon (2007), os sistemas de informação apoiam os diferentes

níveis gerenciais e tipos de decisões. Conceitualmente eles podem ser denominados de

sistemas de informações gerenciais (SIG), sistemas de apoio à decisão (SAD), sistemas de

apoio ao executivo (EIS), e sistemas de apoio à decisão em grupo (SADG).

Os SIG designam uma finalidade específica dos sistemas de informação, dar suporte

as funções gerenciais, apresentando relatórios ou acesso on-line aos registros do desempenho

corrente e histórico da organização.

A ASSEINFO – Assessoria em Informática é uma empresa de tecnologia da

informação especializada no desenvolvimento de softwares comerciais e industriais, e toda a

infraestrutura de informação necessária.

Atualmente a ASSEINFO, conta com quatro funcionários no setor de help desk, que

são responsáveis pelos atendimentos aos clientes da ASSEINFO, e denominados de técnicos

do help desk.

O setor de help desk da ASSEINFO sofre com o grande número de atendimentos

realizados todos os dias. O mesmo setor contava com um sistema próprio de gerenciamento

de ordens de serviço, que não atendia aos técnicos, pois era complexo de utilizar, não foi

desenvolvido especificamente para este tipo de atendimento, que preza pela agilidade, e

também não atendia ao gestor do help desk, pois muitos atendimentos não eram registrados. O

gestor também sofria com a falta de métricas para medir a desempenho do setor, saber em

tempo real quem está fazendo o que, quais os clientes que mais utilizam os atendimentos,

quantos atendimentos foram feitos, o tempo médio dos atendimentos e qual o tipo de serviço

mais utilizado.

Visto as necessidades da empresa ASSEINFO, foi desenvolvido um sistema web para

gerenciar o setor de help desk da mesma. O sistema desenvolvido é composto por um sistema

de informação para a coleta e processamento de dados, um workflow para gerenciar os

processos, e um SIG para exibir as informações a serem analisadas.

3

1.1 PROBLEMATIZAÇÃO

1.1.1 Formulação do Problema

A ASSEINFO – Assessoria em Informática atua no mercado de desenvolvimento de

software há 10 anos. Seus softwares são comercializados sob a forma de aluguel, permitindo

que seus clientes tenham acesso ao suporte técnico ao software durante toda a vigência do

contrato de aluguel do software.

O suporte técnico aos softwares da ASSEINFO é prestado pelo setor de help desk, que

conta com quatro funcionários, que são responsáveis pelos treinamentos de novos clientes,

instalação e configuração dos softwares para os mesmo, e esclarecimento de dúvidas sobre os

produtos.

Os atendimentos aos clientes ocorrem de quatro maneiras:

Por telefone;

Pelo mensageiro Windows Live Messenger;

Por ferramentas de acesso remoto; e

Presencial.

O setor de help desk da ASSEINFO sofre com o grande número de atendimentos

realizados todos os dias, ocasionando fila de clientes esperando para serem atendidos. O

mesmo setor conta com um sistema próprio de gerenciamento de ordens de serviço, que não

atende aos técnicos, pois é complexo de utilizar, e não foi desenvolvido especificamente para

este tipo de atendimento, que preza pela agilidade. O sistema atual também não atende ao

gestor do help desk, pois muitos atendimentos não são registrados. O gestor também sofre

com a falta de métricas que possam medir o desempenho do setor, saber em tempo real quem

está fazendo o que, quais os clientes que mais utilizam os atendimentos, quantos atendimentos

foram feitos, o tempo médio dos atendimentos e qual o tipo de serviço mais utilizado.

Junto à empresa ASSEINFO foi observada a necessidade de acompanhar o processo

de trabalho do setor de help desk, e de implantar um novo sistema de gerenciamento do setor,

que ajude o gestor a identificar os principais problemas e a tomar decisões, além de ajudar aos

técnicos, controlando e agilizando seus atendimentos.

4

1.1.2 Solução Proposta

Portanto, visto as necessidades da empresa ASSEINFO, foi desenvolvido um sistema

web para gerenciar seu setor de help desk. Este sistema é composto por um sistema de

informação para a coleta e processamento de dados, um workflow para gerenciar os processos,

e um SIG para exibir as informações a serem analisadas. Este sistema substitui o sistema de

geração de ordens de serviço da ASSEINFO.

Com este sistema web pretende-se:

Ganhar agilidade nos atendimentos;

Armazenar os atendimentos;

Acompanhar o andamento dos atendimentos;

Ter relatórios específicos;

Medir o desempenho do help desk; e

Melhorar a qualidade dos atendimentos.

1.2 OBJETIVOS

1.2.1 Objetivo Geral

Desenvolver um sistema web para gerenciar o setor de help desk da empresa

ASSEINFO, aplicando técnicas de workflow e de sistemas de informação gerencial.

1.2.2 Objetivos Específicos

O objetivo geral foi alcançado por meio do cumprimento dos seguintes objetivos

específicos.

Realização do levantamento bibliográfico sobre Sistemas de Informação, e

workflow;

Pesquisa e análise de soluções similares que utilizem workflow;

Estudo da linguagem de programação Ruby e do framework Rails;

Levantamento dos requisitos necessários para o desenvolvimento do sistema;

Realização da modelagem conceitual do sistema;

5

Desenvolvimento do sistema web;

Geração de consultas às informações gerenciais sobre o processo de atendimento

do help desk;

Teste e validação do sistema junto à empresa ASSEINFO; e

Documentação do trabalho de conclusão de curso, e dos resultados obtidos com o

sistema.

1.3 METODOLOGIA

O desenvolvimento deste projeto dividiu-se em cinco etapas: (1) Estudo, (2)

Levantamento de requisitos e modelagem, (3) Implementação, (4) Testes e Validações, e por

último, (5) Documentação. A seguir, todas as etapas são descritas detalhadamente.

Etapa 1: Estudo dos conceitos e tecnologias envolvidos na solução, e pesquisa de soluções

similares:

Nesta etapa foram realizadas pesquisas na internet por soluções similares a proposta, a

fim de conhecer soluções bem sucedidas e com funcionalidades que possam agregar valor a

solução proposta. Desenvolveu-se a pesquisa e o estudo bibliográfico sobre Sistemas de

Informação, Sistemas de Informação Gerencial, Workflow, Help Desk, atendimento em TI, e

qualidade de atendimento. Também foram realizados estudos das tecnologias e ferramentas

necessárias para o desenvolvimento da solução web.

Etapa 2: Modelagem e levantamento dos requisitos:

Desenvolveu-se o levantamento dos requisitos funcionais, não funcionais, regras de

negócio, especificação do fluxo de informação do setor de help desk, e a modelagem da

solução proposta por meio da construção dos Casos de Uso, Diagramas de Sequencia,

Diagramas de Classe e Dicionário de Dados.

Etapa 3: Implementação do Sistema Web

Implementou-se o sistema proposto no TTC I, onde o desenvolvimento do software

ocorreu conforme a modelagem desenvolvida na etapa anterior.

6

Etapa 4: Testes e Validações do Sistema

Foram realizados testes e validações no software desenvolvido, visando à garantia de

que o software satisfaz as condições propostas durante a modelagem, e de que a execução das

funcionalidades do mesmo ocorra sem erros.

Etapa 5: Documentação do trabalho:

Nesta etapa escreveu-se o texto do TTC, documentando todos os passos executados

nas etapas anteriores, desde o levantamento do problema até o desenvolvimento da solução.

Nesta etapa também foi produzido um artigo cientifico referente a este projeto.

1.4 ESTRUTURA DO TRABALHO

Este trabalho está organizado em quatro capítulos. O Capítulo 1, Introdução,

contemplou a visão geral do trabalho, com a problematização, os objetivos, a metodologia

utilizada e a estrutura do trabalho. No Capítulo 2, Fundamentação Teórica, é apresentada uma

revisão bibliográfica sobre conceitos envolvidos no projeto, que são: Suporte Técnico em

Informática, Workflow, Sistemas de Informação Gerencial e Sistemas Web. Neste capitulo

também é apresentado uma análise sobre sistemas similares ao proposto. O Capítulo 3,

Desenvolvimento, contempla a descrição detalhada do desenvolvimento do sistema proposto,

incluindo seus requisitos, e sua modelagem em UML (Unified Modeling Language).

Concluindo, no Capitulo 4, Conclusões, são abordados os resultados obtidos do projeto

realizado e apresentados as considerações finais do projeto.

7

2 FUNDAMENTAÇÃO TEÓRICA

2.1 VISÃO GERAL

Para o entendimento do desenvolvimento deste projeto, faz-se necessário a

apresentação dos principais conceitos relacionados ao mesmo.

Neste capítulo será apresentada a empresa ASSEINFO, conceitos sobre suporte

técnico em informática, e em seguida conceitos que fazem parte da solução proposta, sistemas

de informação, sistemas de informação gerencial, definição de workflow e sistemas web.

Também serão apresentadas soluções similares a esta proposta.

2.2 ASSEINFO

A ASSEINFO – Assessoria em Informática está localizada em Tijucas – SC, é uma

empresa de tecnologia da informação especializada no desenvolvimento de softwares

comerciais e industriais, atuando há 10 anos no mercado.

Os softwares desenvolvidos pela ASSEINFO são comercializados como serviço, sob a

forma de aluguel, pois quando uma empresa torna-se cliente da ASSEINFO além de ter

acesso ao software, também terá a sua disposição uma equipe de profissionais qualificados

para esclarecer dúvidas, auxiliar na utilização do software e manutenção do mesmo.

Os principais softwares desenvolvidos e comercializados pela ASSEINFO são:

ISA ERP: Desenvolvido para pequenas e médias empresas, o ISA ERP é uma

ferramenta completa para administração de negócios. Através de um sistema único

integrado, o administrador da empresa terá o gerenciamento das as atividades

críticas de todas as áreas da empresa. Os principais módulos do ISA ERP são,

notas fiscais, gestão financeira, compras, produção, gestão de estoque, gestão de

serviços, gestão de relacionamento com o cliente, e gerenciamento de NF-e (Nota

Fiscal Eletrônica);

ISA PDV: Desenvolvido para emissão de cupom fiscal. Possui integração com o

ISA ERP, e possui a certificação PAF-ECF (Programa Aplicativo Fiscal – Emissor

de Cupom Fiscal).

Todos os softwares desenvolvidos pela ASSEINFO seguem a legislação vigente.

8

2.2.1 Estrutura Organizacional

Atualmente a ASSEINFO conta com 13 funcionários, divididos nos setores de

diretoria, financeiro, desenvolvimento, vendas, e help desk.

O proprietário da ASSEINFO ocupa a diretoria, ficando responsável pela

administração da empresa e por gerenciar os demais setores. A sócia da empresa é

responsável pelo financeiro da ASSEINFO. O setor de vendas possui dois funcionários,

responsáveis pela aquisição de novos clientes, e encaminhamento para instalação e

treinamento do software para o mesmo. O help desk possui quatro funcionários, responsáveis

por instalar o software da ASSEINFO para o cliente, treinar o cliente a utilizar o software,

analisar problemas enfrentados por clientes durante a utilização do mesmo e reportar ao setor

de desenvolvimento, e esclarecer dúvidas dos clientes relacionadas ao sistema. O setor de

desenvolvimento possui cinco funcionários, que são responsáveis pela manutenção e evolução

dos softwares desenvolvidos pela ASSEINFO.

2.2.2 Setor de Help Desk

O setor de help desk possui quatro funcionários, denominados de técnicos do help

desk, e estão divididos em duas áreas, suporte técnico e treinamento. Ambas as áreas são

responsáveis pelos atendimentos aos clientes da ASSEINFO.

É de reponsabilidade do setor de help desk:

Implantar o software da ASSEINFO para um novo cliente;

Configurar o software para o novo cliente;

Treinar os clientes a utilizarem os softwares;

Esclarecer dúvidas sobre a utilização softwares, funcionalidades, e configurações;

Analisar problemas repassados por clientes; e

Encaminhar para o setor de desenvolvimento problemas encontrado por clientes no

software.

Os atendimentos prestados ocorrem de quatro maneiras:

Por telefone: os clientes ligam para ASSEINFO com dúvidas sobre os softwares,

ou quando ocorre um problema com o mesmo;

9

Pelo mensageiro Windows Live Messenger: a ASSEINFO possui uma única conta

no mensageiro para entrar em contato com seus clientes. Os quatro técnicos

utilizam simultaneamente esta conta, assim quando um cliente entra em contato, o

técnico que estiver livre, assume este novo atendimento;

Por ferramentas de acesso remoto: os primeiros contatos com o cliente sempre

ocorrem ou por telefone ou pelo mensageiro, mas em muitas vezes os técnicos

precisam acessar remotamente o computador do cliente para resolver o problema.

Os técnicos utilizam a ferramenta LogMeIn para efetuar a conexão remota entre a

ASSEINFO e o cliente;

Presencial: quando um técnico visita um novo cliente da ASSEINFO, efetua a

implantação do sistema e o treinamento do mesmo.

O foco do help desk da ASSEINFO é atender e ajudar o cliente da melhor forma

possível, e para isso o técnicos interagem com os demais setores da empresa para buscar a

melhor solução em determinados atendimentos.

2.2.3 Clientes

A ASSEINFO possui em torno de 500 licenciados, pessoas jurídicas, de diversos

ramos, tais como, transportadoras, indústrias, representações, comércio varejista, comércio

atacadista, entre outros.

Além dos clientes que utilizam os sistemas ISA ERP e ISA PDV, a ASSEINFO possui

alguns clientes personalizados, que possuem um sistema especifico para transportadora, e

representação.

Em sua maioria os clientes da ASSEINFO estão situados no Vale do Rio Tijucas,

Grande Florianópolis e Vale do Itajaí, mas também possui clientes em outras partes do Brasil.

2.3 SUPORTE TÉCNICO EM INFORMÁTICA

2.3.1 Help Desk

Help desk pode ser designado como um serviço de auxilio a usuários para a resolução

de problemas técnicos.

A HDI - Help Desk Institute (apud PEREIRA, 2008, p.13), define help desk como:

10

Departamento ou organização que os usuários de tecnologia podem acessar para obter esclarecimento de dúvidas, ajuda na defecção e no combate a bugs, equívocos e confusão em geral. Um help desk, no geral, é o lugar onde é dada informação de suporte ao produto. É mais do que um call center – pode conter bibliotecas, centros de consulta, técnicos de campo e seus despachantes. Os help desks também podem usar um banco de dados com respostas para as perguntas mais frequentes (as FAQs) como forma de resolver problemas futuros de maneira mais rápida e fácil, aproveitando conhecimentos anteriormente acumulados.

Para Moreira (1998), as centrais de atendimento evoluíram dos antigos “Balcões de

Atendimento” ou “Balcões de Informação” encontrados ainda em muitas empresas, devido ao

avanço da tecnologia e a necessidade de se aperfeiçoar processos, custos e recursos humanos.

A função e o objetivo são os mesmo, mudando apenas a forma em que o serviço de

informação é prestado.

Segundo O’Brien e Marakas (2007, p.460) os centros de informações (help desk)

surgiram conforme a evolução dos computadores e a forma de utilização dos mesmos nas

empresas.

Nos primeiros anos da computação, o desenvolvimento de grandes computadores e redes de telecomunicações e terminais causou a centralização de hardware, software, banco de dados e especialistas de informação no nível corporativo das organizações. A seguir, o desenvolvimento de minicomputadores e microcomputadores acelerou a tendência de downsizing, que incitou a volta para a descentralização em muitas empresas. Redes cliente/servidor distribuídas na alta administração, nos departamentos, nos grupos de trabalho e equipes passaram a existir. Isso provocou uma mudança dos especialistas em informação e banco de dados para alguns departamentos, e a criação de centros de informação para apoiar o usuário e a computação em grupos de trabalho.

Verghis (apud PEREIRA, 2008) descreve que o help desk pode ser avaliado como

sendo um centro de suporte à computação, centro de suporte aos clientes, central de

informação, centro de respostas de TI, central de soluções de TI, central de recursos, central

de serviços técnicos e centro de suporte técnico.

O help desk pode ser classificado em dois tipos, help desks internos e help desks

externos.

Segundo SIAL (apud MOREIRA, 1998, p. 78):

Help Desk: Um departamento na empresa que é dedicado a realizar suporte técnico de seus próprios funcionários. Tipicamente, isto envolve suporte a software e hardware de computadores, e pode incluir outras funções como garantia de qualidade, gerenciamento de patrimônio (inventario), etc. Para Help Desk externos (tipicamente chamados departamento de atendimento a cliente), a definição é similar: um grupo ao qual são endereçadas questões e resolvidos problemas, com o mesmo objetivo final que é manter os usuários finais produtivos e satisfeitos.

11

2.3.2 Serviços em TI

Serviço é definido por Magalhães (2007, p. 45) como:

[...] uma ação executada por alguém ou por alguma coisa, caracterizando-se por ser uma experiência intangível, produzido ao mesmo tempo em que é consumido, não podendo ser armazenado, e apresentando sérias dificuldades para ser produzido em massa ou atender mercados de massa.

Segundo a Elephant Pink (apud MARTINS, 2006) é necessário dividir serviços em

dois tipos para poder definir serviços: técnico e profissional. Serviço técnico é definido como

sendo um serviço realizado por tecnologia. O serviço profissional é aquele possui valor no

serviço prestado pela equipe de TI (Tecnologia da Informação) no intuito de prestar suporte,

monitorar e manter consistente e confiável os serviços técnicos.

Magalhães (2007, p. 45) também sugere uma definição para serviços em TI:

[...] um conjunto de recursos, TI e não TI, mantidos por um provedor de TI, cujo objetivo é satisfazer uma ou mais necessidades de um cliente (áreas de negócio) e suportar os objetivos estratégicos do negócio do cliente, sendo percebido pelo cliente como todo coerente.

Para Magalhães (2007, p. 47) os serviços em TI possuem um ciclo de vida, e a cada

ciclo, perguntas devem ser feitas e respondidas, com o intuito de acompanhar o serviço. As

perguntas são as seguintes:

Fase de requisição

o Qual o serviço necessário?

o Por que ele é necessário?

o Qual a quantidade de demanda?

Fase de aquisição

o Onde o serviço será solicitado?

o Onde o serviço será promovido?

o Quanto será pago pelo serviço?

Fase de utilização

o Como o serviço será usado?

o Como validar o serviço provido?

o Como o serviço será restabelecido em caso de falha?

Fase de desativação

12

o Quanto está sendo gasto para manter o serviço?

o Qual o retorno que o serviço proporcionou?

o Há uma nova opção?

Para que os serviços em TI funcionem adequadamente, setores como help desk devem

ser gerenciados a fim de seguir padrões, normas e boas práticas, para que a qualidade e a

eficiência sejam alcançadas nos atendimentos.

2.3.3 Qualidade no Atendimento em TI

Empresas que possuem o setor de help desk para prestar suporte a seus clientes, devem

levar em consideração na hora de um atendimento, além do conhecimento técnico, a

qualidade no atendimento. O help desk pode ser o único ou o principal canal de comunicação

entre a empresa seus clientes.

Para definir qualidade em serviços de TI, Magalhães (2007) afirma que o primeiro

passo é esclarecer os termos “cliente”, “usuário” e “fornecedor”.

Magalhães (2007, p. 49) define:

Cliente: É o destinatário de um serviço de TI, normalmente é o responsável pela

alocação dos recursos financeiros, diretamente, mediante cobrança, ou

indiretamente, pela demonstração em termos de necessidades do negócio;

Usuário: Pessoa que utiliza o serviço de TI diariamente;

Fornecedor: Entidade responsável pela prestação do serviço de TI.

O objetivo de qualquer atendimento prestado, mais do que solucionar o problema, é

obter a satisfação do cliente.

Segundo Magalhães (2007) os três pontos chaves para a satisfação do cliente são:

Serviços e produtos superiores;

A equipe de venda e entrega de serviços e produtos, deve ser altamente capacitada;

Os processos de suporte devem ser rápidos, baratos e eficazes.

A qualidade do atendimento prestado em TI é considerada um fator de suma

importância para adquirir e manter clientes, segundo Sakamoto (apud MOREIRA, 1998, p.

68):

Cada empresa tem seu próprio perfil e sua forma particular de conquistar seus clientes. Isso faz parte de sua cultura e é, também, resultado dela, dos objetivos

13

estabelecidos na organização e da forma como se dão as relações dentro da própria empresa. Os parâmetros de atendimento das empresas, apesar de próprios e particulares, estarão sempre ligados à qualidade, à velocidade, às informações e à forma de atendimento. E eles constituem os princípios básicos da conquista de um cliente.

Moreira (1998, p. 68) complementa:

Se conquistar um cliente é tarefa árdua, mantê-lo consigo é ainda mais. É necessário que o nível de serviços e produtos oferecidos crie uma relação fiel entre o cliente e a organização de forma que ele sempre prefira o produto desta ao dos concorrentes. Nas relações de venda, ter o cliente pela segunda vez como consumidor é o resultado das ações tomadas no primeiro contato, principalmente, da qualidade e da diferenciação na prestação anterior dos serviços.

Mecir (apud PEREIRA, 2008, p. 43) enfatiza a importância de um atendimento,

descrevendo que:

Quando um cliente precisa de ajuda, ele faz um chamado ao help desk e, com isso, a eficiência da organização é avaliada através da efetividade, cortesia e satisfação aos seus anseios de forma rápida, demonstradas no atendimento a esse chamado. Quando o chamado não é atendido adequadamente, pode representar a última vez que este cliente faz contato com o help desk.

Para Magalhães (2007) os clientes de TI possuem as seguintes necessidades:

Especificação: Saber o que irá receber antes do serviço ser realizado;

Conformidade: A solução irá atender á especificação solicitada;

Consistência: Depois do serviço realizado, o comportamento deve-se manter

idêntico;

Maior valor pelo seu dinheiro: O preço pago deve ser justo pelo produto ou

serviço recebido;

Comunicação: Desejo de saber o que, quando, como e o que fazer.

2.3.4 Melhores Práticas no Atendimento em TI

2.3.4.1 COBIT

O COBIT (Control Objectives for Information and related Technology) surgiu da

necessidade dos gerentes das organizações em saber como o TI funciona, como está sendo

administrado para atingir vantagens competitivas, e como as informações estão sendo

utilizadas para atingir os objetivos da organização. O COBIT fornece aos gerentes um modelo

para governança e controle do TI.

14

A ITGI (2007, p. 10) define o COBIT como:

[...] um modelo e uma ferramenta de suporte que permite aos gerentes suprir as deficiências com respeito aos requisitos de controle, questões técnicas e riscos de negócios, comunicando esse nível de controle às partes interessadas. O COBIT habilita o desenvolvimento de políticas claras e boas práticas para controles de TI em toda a empresa. O COBIT é atualizado continuamente e harmonizado com outros padrões e guias. Assim, o COBIT tornou-se o integrador de boas práticas de TI e a metodologia de governança de TI que ajuda no entendimento e gerenciamento dos riscos e benefícios associados com TI. A estrutura de processos do COBIT e o seu enfoque de alto nível orientado aos negócios fornece uma visão geral de TI e das decisões a serem tomadas sobre o assunto.

Figura 1. Princípios básicos do COBIT

Fonte: ITGI (2007).

Conforme a Figura 1, o modelo COBIT é baseado em 4 princípios: fornecer a

informações necessárias para que a organização possa atingir os seus objetivos, as

necessidades para investir, gerenciar e controlar os recursos de TI utilizando um conjunto

estruturado de processos para prover as informações necessárias para a organização.

Para a ITGI (2007), as boas práticas do COBIT representam a união de boas práticas

realizadas por especialistas, e unidas em comum acordo. São focadas no controle e pouco na

execução. São fornecidas através de um modelo de domínios e processos e expõe atividades

em uma estrutura lógica e gerenciável. Essas práticas irão ajudar a melhorar os investimentos

em TI, assegurar a entrega dos serviços e fornecer métricas para julgar quando as coisas saem

erradas.

Os benefícios de implementar o COBIT como um modelo de governança de TI

segundo a ITGI (2007, p. 10):

15

Um melhor alinhamento baseado no foco do negócio;

Uma visão clara para os executivos sobre o que TI faz;

Uma clara divisão das responsabilidades baseada na orientação para processos;

Aceitação geral por terceiros e órgãos reguladores;

Entendimento compreendido entre todas as partes interessadas, baseado em uma

linguagem comum;

Cumprimento dos requisitos do COSO (Committee of Sponsoring Organizations of

the Treadway Commission) para controle do ambiente de TI.

2.3.4.2 ITIL

Com a expansão das tecnologias relacionadas à informação, a área de TI ficou mais

próxima à área de negócios. A necessidade de gerenciar a área de TI deixou de ser algo

apenas desejado pelo setor, mas também pela a direção das organizações, pois muitos pontos

estratégicos das empresas são decididos com auxilio dos serviços prestados pela TI.

No final da década de 80 criou-se um conjunto de melhores práticas para o

gerenciamento de serviços de TI, a ITIL (Information Technology Infrastructure Library),

com o objetivo de permitir o máximo alinhamento entre a área de TI e as demais áreas de

negócio. A ITIL foi organizada e publicada pelo CCTA (Central Computer and

Telecommunications Agency), órgão público do Reino Unido, que queria uma forma efetiva

para controlar a qualidade dos serviços de TI prestados aos órgãos públicos daquele país.

A respeito do tema Magalhães (2007, p. 61) leciona:

As melhores práticas reunidas na ITIL fornecem uma alternativa para o Gerenciamento de Serviços de TI, pela proposição de uma metodologia de gerenciamento focada nos processos e nas suas relações de dependência. A ITIL fornece orientações para a área de TI baseadas nas melhores práticas e em um ambiente de qualidade, visando á melhoria contínua, envolvendo pessoas, processos e tecnologias, objetivando o gerenciamento da área de TI como um negócio dentro do negócio (a organização).

A ITIL atua em seis áreas de tecnologia, serviços de suporte, planejamento na

implantação do gerenciamento de serviços, gerenciamento de aplicações, serviços delivery,

gerenciamento da infraestrutura e perspectivas de negócios.

Magalhães (2007) descreve que a ITIL não define os processos a serem desenvolvidos

pela área de TI, mas sim, apresenta as melhores práticas que podem ser utilizadas. A adoção

da ITIL pelas organizações não obriga a mesma mudar seu modo de pensar e agir, a adoção

16

apenas disponibiliza uma base onde colocar os processos existentes em um contexto

estruturado, validando suas atividades, tarefas, procedimentos e regras.

2.3.4.3 Outras Metodologias

Com os avanços tecnológicos, e a crescente alta do profissional em informática,

diversas metodologias foram desenvolvidas e aprimoradas, para garantir a qualidade nos

serviços prestados e a eficiência dos mesmos na área de TI.

Além da ITIL e do COBIT outras metodologias são aplicadas aos serviços em TI,

conforme a Voyager Business Technology (2011):

PMBOK (Project Management Body of Knowledge): Modelo de processo para

criação de uma nova geração de sistemas e softwares de operação que propicie

uma automação dos processos de uma operadora de telecomunicações;

ISSO/IEC 20000: Norma internacional aplicada a organizações prestadoras de

serviços de TI;

SLM (Service Level Management): Administra a qualidade e a quantidade do

serviço fornecido pela organização de TI á luz do Acordo do Nível de Serviço –

ANS ou Service Level Agreement – SLA;

ISSO/IEC 19770: Norma internacional relacionada à orientação de TI para os

negócios da organização;

BPM (Business Process Management): Originária dos sistemas de workflow, o

BPM é uma abordagem de automação do fluxo de trabalho;

COSO (Committee of Sponsoring Organizations of the Treadway Commission):

Iniciativa privada de organizações relacionadas à auditoria com objetivo de

auxiliar a alta direção de empresas para a melhoria de controles internos;

QoS (Quality of Service): Padrão relacionado à capacidade de uma rede em

disponibilizar o melhor serviço independentemente da tecnologia utilizada.

17

2.4 TECNOLOGIAS DE SISTEMAS DE INFORMAÇÃO

2.4.1 Sistemas de Informação

Os sistemas de informação deixaram de ser um diferencial nas empresas para ser parte

essencial das mesmas, tornando-se campo de estudo para administradores e gerentes. Dentro

das empresas desempenham importantes papéis, tais como suporte a tomada de decisões,

suporte a processos e suporte a estratégias. Se o sistema de informação não desempenha estes

papéis, sua existência não será significativa para a empresa.

Sistema de informação (SI) é qualquer sistema que coleta dados como entrada,

armazena, processa, e como saída retorna informações destinadas a apoiar a tomada de

decisões e controle em uma organização.

Um sistema de informação segundo O’Brien e Marakas (2007, p. 4):

[...] pode ser qualquer combinação organizada de pessoas, hardware, software, redes de comunicações e recursos de dados e políticas e procedimentos que armazenam, restauram, transformam e disseminam informações em uma organização. As pessoas contam com modernos sistemas de informação para comunicar-se umas com as outras usando uma variedade de dispositivos físicos (hardware), procedimentos e instruções de processamento de informação (software), canais de comunicação (networks) e dados armazenados (recursos de dados).

A Figura 2 demonstra as composições de um sistema de informação.

18

Figura 2. Composição de um sistema de informação Fonte: O’Brien (2004).

Os sistemas de informação contêm informações expressivas para a organização ou

para o ambiente a volta. Informação são os dados apresentados em uma forma significativa e

útil para os seres humanos. Dados, ao contrário, são os fatos brutos que representam

acontecimentos que estão ocorrendo nas organizações ou ambiente físico, antes de terem sido

organizados e arranjados de uma forma que as pessoas possam entendê-los e usá-los

(LAUDON; LAUDON, 2004).

A Figura 3 ilustra a diferença entre dados e informação.

19

Figura 3. Dados e informação Fonte: Laudon e Laudon (2007).

As informações e o apoio à decisão são vitais para as organizações. Graças aos

sistemas de informação e de apoio à decisão, a gerência e os funcionários podem obter

informações úteis em tempo real. Os sistemas de informação que atuam no nível operacional

são fundamentais em capturar a riqueza de dados. Quando esses dados são filtrados e

manipulados podem fornecer um apoio poderoso a gestão das organizações. Esse é o objetivo

dos sistemas de informação de apoio à decisão, ajudar a tomar melhores decisões e resolver

problemas importantes (STAIR; REYNOLDS, 2008).

Para Laudon e Laudon (2007, p. 41), as empresas investem em sistemas de informação

para atender aos seguintes objetivos:

Atingir a excelência operacional (produtividade, eficiência e agilidade);

Desenvolver novos produtos e serviços;

Estreitar o relacionamento com o cliente e atendê-lo melhor;

Melhorar a tomada de decisão (em termos de precisão e velocidade);

Promover a vantagem competitiva;

Assegurar a sobrevivência.

A Figura 4 exemplifica as funções de um sistema de informação, onde o sistema

possui informações sobre a organização e o ambiente que o cerca. O SI executa três

20

atividades, entrada, processamento e saída, para a produção de informações solicitadas pela

organização.

Figura 4. Funções de um sistema de informação Fonte: Laudon e Laudon (2004).

2.4.1.1 Tipos de Sistemas de Informação

Conceitualmente, os sistemas de informação podem ser classificados de vários modos,

tais como sistemas operacionais ou sistemas de informação gerencial, conforme o nível

gerencial e o tipo de decisão que os mesmos apoiam.

Para O’Brien e Marakas (2007, p. 13), “os sistemas de informação são categorizados

dessa forma para destacar os papéis principais que cada um faz nas operações e na gerência de

um negócio”.

Segundo Laudon e Laudon (2004), abaixo a Figura 5 representa os tipos específicos de

sistemas de informação, mostrando os sistemas em seu nível organizacional e as funções

empresariais que cada um apoia.

21

Figura 5. Tipos de Sistemas de Informação

Fonte: Laudon e Laudon (2004).

São chamados de Sistemas de Suporte às Operações os sistemas que produzem

informações para uso interno e externo, porém estas informações não são bem utilizadas pelos

gerentes por não enfatizarem resultados específicos, assim são apoiados por sistemas de

informação gerencial. Também são responsáveis pelo monitoramento das atividades diárias de

uma empresa como controle dos processos industriais, processamento das transações, apoio a

comunicação e atualização do banco de dados da mesma.

Os Sistemas de Suporte às Operações podem ser subdivididos em Sistemas de

processamento de transações (SPT), Sistemas de controle de processos (SCP) e Sistemas de

colaboração (SC).

Segundo O’Brien e Marakas (2007, p. 15):

22

Sistemas de processamento de transações: registram e processam dados resultantes

de transações de negócios, atualiza o banco de dados operacionais e produz

documentos de negócios;

Sistemas de controle de processos: monitoram e controlam o processo industrial; e

Sistemas de colaboração empresarial: realçam as comunicações e a produtividade

da equipe, grupos de trabalho e empresa.

Os sistemas que tem por objetivo gerar informações, e dar apoio de forma eficaz às

tomadas de decisões gerenciais, são chamados de Sistemas de Apoio Gerencial, e

conceitualmente eles podem ser subdivididos em Sistemas de informação gerencial (SIG),

Sistemas de apoio à decisão (SAD), e Sistemas de apoio ao executivo (EIS).

Segundo O’Brien e Marakas (2007):

Sistemas de informação gerencial: fornecem informações em forma de relatórios e

telas pré-especificadas para apoiar a tomada de decisões de negócios;

Sistemas de suporte de decisão: fornecem suporte ad hoc interativo para os

processos de tomada de decisão de gerentes e outros profissionais de negócio;

Sistemas de informação executiva: fornecem as principais informações dos SIG,

SAD e outras fontes internas ou externas adaptadas às necessidades dos

executivos.

Os sistemas de informação que suportam aplicativos operacionais e gerenciais podem

ter outras classificações, tais como Sistemas especialistas, Sistemas de gestão de

conhecimento, Sistemas de informação estratégica e Sistemas funcionais do negócio.

Em um mundo real os sistemas de informação são integrações entre os vários tipos de

sistemas vistos acima, e a classificação conceitual dos mesmos serve para destacar os

diferentes papéis dos sistemas de informação.

2.4.1.2 Sistemas de Informação Gerencial

Os Sistemas de Informação Gerencial (SIG, sigla em português, ou em inglês MIS -

Management Information System) designam uma finalidade específica dos sistemas de

informação, dar suporte as funções gerenciais, apresentando relatórios ou acesso on-line aos

registros do desempenho corrente e histórico da organização.

Segundo Stair e Reynolds (2008, p. 372):

23

O principal objetivo de um MIS é ajudar uma empresa a alcançar seus objetivos, oferecendo percepções detalhadas a seus administradores a respeito de operações diárias da organização. Essa percepção detalhada permite que os administradores da empresa controlem, organizem e planejem as atividades operacionais em mais detalhe e de modo mais eficiente. Um dos papéis mais importante do MIS consiste em fornecer as informações certas à pessoa certa, de modo adequado e na hora correta. Em resumo, um MIS consiste em fornecer informações a administradores e gerentes, em geral sob a forma de relatórios, que apoiam tomadas de decisão mais eficientes e criam um canal de retro informação para as operações diárias.

As informações produzidas pelos SIG são destinadas aos gerentes e profissionais de

negócios, que previamente adequam o sistema a suas necessidades de tomada de decisão.

Estas informações podem ser apresentadas de forma agrupada, ou sintetizada, por meio de

relatórios, telas e gráficos, para facilitar a compreensão e a leitura dos resultados.

Na Figura 6, Laudon e Laudon (2004) representam como os SIG transformam os

dados de transações em arquivos SIG.

Figura 6. Transformação de dados em arquivos SIG Fonte: Laudon e Laudon (2004).

Destacam-se nos SIG as características apresentadas por Stair e Reynolds (2008, p.

376):

Fornecem relatórios em formatos padronizados e fixos;

Produzem cópias em papel e cópias eletrônicas dos relatórios;

Utilizam os dados internos armazenados nos sistemas computacionais da empresa;

Permitem que usuários finais desenvolvam seus próprios relatórios personalizados;

Transmitem os pedidos para a elaboração de novos relatórios à equipe do

departamento de sistemas.

24

A principal saída dos sistemas de informação gerencial são os relatórios. Para O’Brien

e Marakas (2007), são quatro as principais alternativas de relatórios oferecidas pelos SIG:

Relatório Periódico: Destinados aos gerentes, utiliza um formado pré-especificado,

e são produzidos em períodos regulares, diariamente ou semanalmente;

Relatórios de Exceção: Produzem informações sobre ocorrências excepcionais,

informações essas que estão acima ou abaixo dos níveis especificados;

Relatórios de Demanda e Resposta: As informações devem estar disponíveis

sempre que requisitadas. Os relatórios devem ser personalizáveis para obter as

informações de acordo com as necessidades e solicitações dos gerentes;

Relatórios de Divulgação: As informações são disponibilizadas através da intranet

para os gerentes que estão em estações de trabalho conectadas a rede. São

utilizados softwares de transmissão em rede para transmitir seletivamente os

relatórios.

Stair e Reynolds (2008), também descrevem quatro tipos de relatórios proporcionados

pelos SIG, à diferença entre os autores é que O’Brien e Marakas (2007) descrevem o

Relatório de Divulgação, já Stair e Reynolds (2008) mencionam o relatório os Relatórios

Detalhados.

Stair e Reynolds (2008, p. 376) explanam:

Relatórios detalhados fornecem resultados em níveis crescentes de detalhe. Com um relatório detalhado, é possível visualizar as informações em diversos níveis de detalhe – primeiro os níveis mais altos (algo como um saco cheio de biscoitos), então níveis mais detalhados (por exemplo, uma bolacha Oreo) e então um nível muito detalhado (os componentes do recheio duplo da Oreo).

Segundo Stair e Reynolds (2008, p. 378), os sistemas de informação gerencial podem

ser desenvolvidos para diversos setores de uma empresa:

Sistema de informação gerencial financeira;

Sistema de informação gerencial manufatureira;

Sistema de informação gerencial de marketing;

Sistema de informação gerencial para recursos humanos; e

Outros sistemas de informação gerencial:

o Sistema de informação gerencial de contabilidade; e

25

o Sistema de informação geográfica.

2.4.1.3 Workflow

Os sistemas de informações envolvem tecnologias que auxiliam as organizações em

situações específicas, como é o caso do workflow, que pode ser traduzido para o português

como fluxo de trabalho. O objetivo do workflow é auxiliar as empresas na execução de

processos, atividades e procedimentos.

Workflow é definido por Cruz (2000, p. 75), como:

Ferramentas que têm por finalidade automatizar processos, racionalizando-os e, consequentemente, aumentando sua produtividade por meio de dois componentes implícitos: organização e tecnologia.

A Workflow Management Coalition (apud THIVES JR., 2001), define workflow como:

[...] a automação de um processo de negócio (no sentido lato), totalmente ou em partes, onde os documentos, informações ou tarefas são passadas de um participante a outro para que sejam tomadas ações, de acordo com um conjunto de regras e procedimentos.

Segundo Kraemer (2004), workflow origina o sistema de automação de tarefas, através

da interação entre processos, sistemas especialistas e usuários. Um processo é composto por

um conjunto de atividades. Os fornecedores de dados (usuários) tem o papel de interferir no

andamento de atividades.

Para Bibelôs (apud CRUZ, 2000, p. 75), “Workflow é o fluxo de controle e informação

num processo de negócio”.

A Figura 7 exemplifica um workflow para aprovação de empréstimo.

26

Figura 7. Workflow para aprovação de empréstimo

Fonte: Cruz (2000).

Thieves Jr. (2001, p. 46) explana sobre workflow:

Esta tecnologia pode ser aplicada em um amplo campo de atividades, cujas tarefas, conforme suas características, podem ser executadas sequencialmente, simultaneamente por diferentes pessoas ou pela combinação delas. Isso implica que ela está associada ao trabalho em grupo, pois se somente uma pessoa participar do fluxo não se constitui um workflow.

Em relação à Figura 8, Kraemer (2004, p. 8) descreve:

Um processo é uma sequência de atividades que devem ser executadas para realização de um determinado objetivo. Atividades representam tarefas, que são atribuídas para determinados papéis. Tarefas podem ser desempenhadas de forma automática ou manual, por atores (programas) ou usuários (pessoas). Atividades manuais são realizadas por pessoas desempenhando determinados papéis, como Secretária, Gerente, Projetista, entre outros. Essas pessoas podem utilizar uma ou mais aplicações invocadas (processadores de texto, planilhas, entre outras ferramentas). Por fim, atividades automáticas são desempenhadas por programas previamente definidos. O resultado parcial é a resolução de atividade e o resultado final é a resolução de processo.

27

Figura 8. Representação dos conceitos de workflow Fonte: Kraemer (2004).

2.4.1.3.1 Tipos de Workflow

A distinção entre os tipos de workflow permite escolher o modelo mais adequado para

a representação de um processo a ser implantado.

Para Cruz (2000), quando uma empresa decide implantar uma solução workflow, esta

solução deve ser o mais simples possível, principalmente se a empresa envolvida não possui

experiência neste tipo de software. A empresa deve escolher um pequeno fluxo, ou um

conjunto de atividades simples, para ganhar experiência e conhecimento com o ambiente

workflow.

Segundo Koulopoulos (apud THIVES JR., 2001), existem quatro métodos de

desenvolvimento de workflow que podem ser aplicados nas empresas: ad hoc, baseado em

28

transações, orientado a objetos e baseado em conhecimento. Estes métodos podem ser

aproveitados em três modelos de processos: centrado em correio eletrônico, centrado em

documentos e centrado em processos.

Cruz (2000) acrescenta mais uma diferenciação, incluindo o tipo Administrativo, e

dividindo o workflow em cinco tipos:

Ad Hoc;

Produção ou Transação;

Administrativo;

Orientado para Objetos;

Baseado no Conhecimento.

Thives Jr (2001, p. 47) descreve o tipo Ad Hoc como:

É o mais elementar que existe, utilizado em processos onde não há um padrão pré-estabelecido de fluxo da informação entre as pessoas. Neste tipo, a ordenação e a coordenação das tarefas não são automatizadas. Ele é composto por regras que raramente se repetem cada vez que uma nova atividade é executada.

Cruz (2000) alerta que ao implantar um workflow deste tipo, são necessários os

mesmos recursos que os softwares que permitem a implantação de outros tipos.

Para Cruz (2000) não há distinção entre o workflow orientado a produção e o workflow

orientado a transação, pois ambos são voltados para o processamento de grandes volumes de

dados. Este tipo de workflow envolve grandes quantidades de dados, muitas políticas de

negócio e recursos financeiros em grande escala. Seu desenvolvimento e implantação devem

ser cuidadosamente planejados.

O terceiro tipo é o Administrativo, e é definido por Thives Jr (2001, p. 47) como:

O workflow do tipo administrativo envolve processos repetitivos que, aparentemente sem complexidade, precisam ser executados corretamente. O tipo administrativo tem características de correio eletrônico com funcionalidades a mais, como permitir a automação da ordenação e coordenação das tarefas. Permite, também, o tratamento de documentos e formulários como suporte ao processo.

Segundo Thives Jr (2001), os sistemas de workflow orientados para objetos, são um

aperfeiçoamento do tipo orientado a transações, que utilizam como base a tecnologia de

programação orientada a objetos.

O workflow baseado em conhecimento tem características e ferramentas que permitem

aprender com seus próprios erros e acertos. Inteligência artificial e sistemas especialistas são

29

tecnologias que permitem um workflow baseado em conhecimento aprender consigo mesmo.

(CRUZ, 2000).

A Figura 9 ilustra os tipos de workflow e seus respectivos níveis.

Figura 9. Tipos de workflow e suas abrangências

Fonte: Cruz (2000).

2.4.2 Sistemas Web

Segundo Laudon e Laudon (2007, p. 181):

A Word Wide Web (a Web) é o mais conhecido serviço da Internet. Trata-se de um sistema com padrões universalmente aceitos para armazenar, recuperar, formatar e apresentar informações utilizando uma arquitetura cliente/servidor. Páginas Web são formatadas por meio de hipertexto, com links embutidos que vinculam os documentos uns aos outros, assim como vinculam páginas a outros objetos, como som, vídeo ou arquivos de animação.

Para Bomfim (2009, p. 28), “A Web é uma fonte de conteúdo e funcionalidades, uma

plataforma servindo aplicações a usuários finais”.

Conforme O’Brien e Marakas (2007, p. 194), a Internet pode ser utilizada para:

Navegar: Com o uso do mouse para apontar e clicar e buscar milhares de sites com

hiperlinks e recursos de informação multimídia, entretenimento ou comércio

eletrônico;

30

Correio eletrônico: Uso o correio eletrônico e da mensagem instantânea para trocar

mensagens eletrônicas com colegas, amigos e outros usuários da internet;

Discutir: Participação em fóruns de discussão de grupos de notícias com interesse

especializado ou em conversas por texto em tempo real em salas de bate-papo dos

sites;

Publicar: Exposição de opinião, assuntos ou trabalhos criativos em um site ou blog

para que outros usuários possam ler;

Compras e Vendas: Compra e venda de praticamente qualquer item por meio de

varejistas, atacadistas de comércio eletrônico, provedores de acesso e leilões on-

line;

Download: Transferência de arquivos de dados, softwares, relatórios, artigos,

fotos, músicas, vídeos e outros tipos de arquivos para o computador do usuário;

Computação: Conexão e uso de milhares de sistemas de computadores da Internet

espalhados pelo mundo;

Outros usos: Ligações telefônicas de longa distância, videoconferência por meio

do computador pessoal, transmissões radiofônicas e televisivas, jogos, exploração

de mundos virtuais etc.

Com a expansão da web, e o avanço de várias tecnologias, os sistemas de informação

das empresas não estão mais presos a uma rede local ou a uma arquitetura PC, podem ser

acessados de qualquer local com acesso a Internet, por meio de um computador, tablet,

celular, entre outros.

Bomfim (2009, p. 29) descreve:

O software agora é apresentado como um serviço e não um produto, acarretando mudanças fundamentais no modelo de negócio das companhias e o fim do seu ciclo de versões. Como não existe uma versão final a serem distribuídas, as ferramentas estão sempre em produção, sendo continuamente testadas por um grande número de usuários. Em oposição ao que acontecem com softwares tradicionais, com instaladores e dependentes de um sistema operacional, aplicativos Web podem ser atualizados de forma automática e independente da ação do usuário final. Assim, a atividade de suporte ao serviço passa a ser tão importante quanto o desenvolvimento.

Com os avanços tecnológicos e facilidades obtidas com a web, empresas buscam na

web, diferenciais competitivos.

O’Brien e Marakas (2007, p. 194) explanam sobre a Figura 10:

31

[...] o uso da Internet nos negócios passou da simples troca de informações eletrônicas para ampla plataforma de aplicações empresariais estratégicas. Observe como as aplicações, como a colaboração entre parceiros comerciais, oferecendo auxilio ao cliente e ao fornecedor, e o comércio eletrônico tornaram-se os principais usos da Internet nos negócios. As companhias também estão utilizando tecnologia da Internet em aplicações de marketing, vendas e gerenciamento de relacionamento com o cliente, bem como em aplicações interfuncionais nos negócios e aplicações de engenharia, produção, recursos humanos e contabilidade.

Figura 10. Como as empresas usam a Internet nos negócios

Fonte: O’Brien e Marakas (2007).

Abaixo as vantagens e desvantagens no desenvolvimento de aplicações web conforme

Noergaard (apud CAMARGO, 2009):

Vantagens:

Uniformidade: Documentos criados segundo os padrões web podem utilizar uma

estrutura comum, facilitando a manipulação dos mesmos;

Liberdade: Permite que sejam utilizados por qualquer pessoa em qualquer lugar,

sem a necessidade de pagar ou fazer algo pelo privilégio;

32

Separação de estrutura e apresentação: A utilização correta dos mesmos permite

separar quase que completamente a estrutura da apresentação;

Acessibilidade: Significa não só permitir que pessoas com deficiências físicas

tenham acesso à web, mas também capacitar à utilização das páginas por e em

outros tipos de ambientes que não um navegador.

Desvantagens:

Conectividade: Deve-se possuir uma conexão de Internet ativa, deste modo, a

velocidade de conexão pode influenciar no desempenho e velocidade de obtenção

dos dados;

Estabilidade: Aplicações em rede local são mais estáveis que aplicações web;

Segurança: Não existem aplicações totalmente seguras. Uma vez conectadas a

Internet podem sofrer ataques.

2.4.2.1 Tecnologias de Desenvolvimento

Os sistemas web são desenvolvidos sob a arquitetura cliente-servidor, onde servidor

será o local onde a aplicação estará armazenada, e o cliente é qualquer dispositivo com acesso

a Internet que acessa o sistema hospedado (armazenado) no servidor.

Existem diversas linguagens de programação para o desenvolvimento de uma

aplicação web. Abaixo algumas das linguagens utilizadas segundo Camargo (2009):

HTML (Hyper Text Markup Language): é uma linguagem de formatação muito

simples baseada em marcadores (tags) para a criação de documentos hypertexto;

AJAX (Asynchronous Javascript and XML): não é uma linguagem, e nem um

framework, mas o uso metodológico de Javascript e XML;

ASP (Active Server Pages): é uma estrutura de programação (não é uma

linguagem, mas sim um framework) em Script processadas pelo lado servidor para

geração de conteúdo dinâmico na web;

C Sharp (C#): Linguagem de programação orientada a objetos criada pela

Microsoft. A companhia baseou C# na linguagem C++ e Java;

33

JAVA: é uma linguagem orientada a objetos de alto nível. Diferente de outras

linguagens, o Java é compilado para um bytecode e depois executado pela máquina

virtual Java;

PHP: é uma linguagem de criação de scripts do lado do servidor que foi projetada

especificamente para a web;

Phyton: é a linguagem de programação de alto nível, interpretada, imperativa,

orientada a objetos, e dinamicamente forte;

Ruby: é uma linguagem de programação interpretada, orientada a objetos e com

várias semelhanças com Perl, Python e SmallTalk.

As linguagens AJAX, e HTML são utilizadas para a apresentação das páginas,

enquanto ASP, C#, Java, PHP, Phyton e Ruby são utilizadas para o processamento de

informações e acesso ao banco de dados.

2.4.2.2 O Futuro da Web

Uma das maiores tendências em relação ao uso da web é o Cloud Computing

(computação em nuvem).

Para Lowe (apud PRADO, 2010), a ideia do Cloud Computing, é ter todas estas

informações e aplicativos salvos e sendo executados a partir de um lugar na Internet. Os

dados serão administrados por uma empresa prestadora do serviço, e cada usuário determinará

quem pode acessar o que.

Segundo Lowe (apud PRADO, 2010) estima-se que até 2013 não haverá mais a

necessidade de arquivos, documentos e qualquer núcleo de informações ainda estarem salvo

no disco local de um computador.

2.5 SOLUÇÕES SIMILARES

Foram analisadas três soluções para help desk que utilizam workflow e atendimento

on-line, Milldesk, SysAid, e a mySuite, por meio de suas versões de demonstração, com o

intuito de elencar suas principais funcionalidades, que serviram como base de qualidade para

o desenvolvimento da solução proposta.

34

2.5.1 Milldesk

O Milldesk é um sistema da Setrion, empresa sediada em Joinville – SC.

Segundo a Setrion (2010), o Milldesk é um software de help desk que tem por objetivo

facilitar o trabalho das equipes e dos gestores de Service Desk, tornando-o a solução ideal

para registros dos chamados e incidentes. Totalmente baseado em ITIL o Milldesk também

fornece subsídios para gerenciar os processos de ITIL.

Conforme a Setrion (2010), o Milldesk possui dois módulos, um para os técnicos e

administradores do help desk, e outro módulo para os usuários.

Para os técnicos e administradores do help desk, o Milldesk disponibiliza as seguintes

funcionalidades:

Aderência ao modelo ITIL;

Gerenciamento completo de incidentes e requisições de serviço;

Integração com gerenciamento de problemas e mudanças;

Gerenciamento de problemas;

Gerenciamento de modificações;

Gerenciamento de contratos;

Notificações por e-mail;

Uso de técnicas de busca inteligentes;

Visualizador search and view para busca rápida de dados;

Base de conhecimento, estruturada e intuitiva, com fácil recuperação de

informações;

Pesquisas de satisfação. As pesquisas são aplicadas automaticamente por

chamado; e

Controle e gerenciamento de inventário de hardware e software.

Para os usuários, as seguintes funcionalidades são disponibilizadas:

Portal de autoatendimento para usuários;

Disponibilização de self-service de soluções para usuários;

Avaliação do serviço prestado;

35

Follow-up de Incidentes; e

Log de comunicações com a Central de Serviços.

O Milldesk possui em sua página inicial um dashboard com informações referentes ás

solicitações, em forma de gráficos e tabelas, conforme o filtro aplicado. Esta funcionalidade

permite acompanhar o desempenho do help desk em tempo real.

Os técnicos podem se comunicar diretamente com o solicitante do serviço, através de

um chat, que caso o solicitante não estiver on-line, uma mensagem será enviada.

A Figura 11 demonstra a tela inicial do Milldesk com um dashboard.

Figura 11. Tela inicial do sistema Milldesk

2.5.2 SysAid

O SysAid é um sistema desenvolvido pela SysAid Technologies, possuem três

versões, SysAid Free Edition, SysAid Pro Edition e a SysAid Enterprise Edition, todas as

ferramentas web e voltadas para o controle de help desk, a versão analisada foi a de

demonstração on-line que possui funcionalidades de todas as versões.

36

Abaixo, algumas das funcionalidades encontradas no SysAid conforme a SYSAID IT

(2012):

Abertura e controle de chamados;

Calendário com todos os chamados listados;

Envio de e-mail para o cliente durante a abertura de um chamado;

Chat para comunicação direta com o cliente;

FAQ (Frequently Asked Questions);

Benchmark de TI:

o Através do benchmark de TI é possível visualizar o desempenho do help desk

em tempo real, através dei gráficos sobre o andamento dos chamados e um

quadro com várias métricas, que exibe estatísticas atuais e de períodos

anteriores para comparação;

Gerenciamento de problemas:

o O workflow é utilizado no auxilio de soluções de problemas.

A Figura 12 representa a funcionalidades de Benchmark do sistema SysAid.

37

Figura 12. Tela de Benchmark do sistema SysAid

2.5.3 mySuite

O mySuite é um sistema web para controle de help desk da Brazip Tecnologia, permite

atendimento on-line e gerenciamento com workflow.

Segundo a Brazip (2012), a solução contribui para o aperfeiçoamento do desempenho

organizacional e para o aumento da produtividade, proporcionando ainda um aumento

considerável na qualidade de todos os processos de comunicação dentro da empresa.

Abaixo, algumas das funcionalidades do mySuite:

Atendimento on-line (chat);

Abertura de chamados e acompanhamento;

Criação de FAQ;

Histórico dos atendimentos;

Gerencia de trâmite de processos internos (workflow);

Solicitações internas: comunicação interna entre departamentos;

Gestão de conhecimento;

Agenda pessoal;

38

Sistema de recados interno; e

Gerenciador de tarefas.

A Figura 13 demostra a tela de Chat do sistema mySuite.

Figura 13. Tela de Chat do sistema mySuite

2.5.4 Análise dos Casos

Na Tabela 1 é exibido o comparativo entre as soluções similares analisadas. Foram

utilizadas como itens de comparação as principais funcionalidades de cada sistema.

39

Tabela 1. Comparação entre os sistemas similares

Funcionalidades Sistemas Similares

Milldesk SysAid mySuite Controle de atendimentos X X X Chat X X X FAQ para clientes X X X Notificação por e-mail X X Base de conhecimento X X Histórico de atendimentos X X Workflow X X Utiliza modelo ITIL X Módulo cliente X Gerenciamento de contratos X Calendário com atendimentos listados X Benchmark X Relatórios personalizáveis X Comunicação interna X Agenda pessoal X

Através das analises e testes realizados com as três soluções, foi possível observar e

conhecer as principais ferramentas e tarefas utilizadas nos sistemas para help desk.

As três soluções contemplam a abertura e gerenciamento de ordens de serviço, porém

as telas contêm muitas informações que são desnecessárias para a ASSEINFO.

Os sistemas SysAid e mySuite, possuem gerenciamento com workflow, mas para

funções especificas, sem a possibilidade de configurar a função e o fluxo.

As soluções analisadas possuem as funcionalidades similares às desejadas pela

ASSEINFO, mas que de um modo geral não soluciona os problemas da mesma.

Além das funcionalidades, outros pontos foram levados em consideração para a

escolha do desenvolvimento de uma nova ferramenta para gerenciar o setor de help desk da

ASSEINFO, a parte técnica, a administrativa e a comercial.

Em relação à parte técnica, as ferramentas analisadas não disponibilizam acesso ao

banco de dados e nem a estrutura dos mesmos, assim não seria possível integrar o sistema de

help desk com os sistemas que a ASSEINFO já possui.

Outro ponto analisado foi os gastos com a utilização de um sistema de terceiros. Os

sistemas analisados são comercializados sob a forma de aluguel, o acarretaria em um gasto

mensal para a ASSEINFO.

Por último, foi analisada a opção de futuramente tornar o sistema desenvolvido em um

novo produto da ASSEINFO.

40

Levando em consideração os itens avaliados acima, foi desenvolvido um novo sistema

para o setor de help desk da ASSEINFO, que utilizou as soluções pesquisadas como base para

o desenvolvimento.

41

3 DESENVOLVIMENTO

Este capítulo apresenta toda a modelagem do sistema desenvolvido, mostrando como o

sistema está dividido e como ele funciona. A modelagem foi desenvolvida utilizando UML.

Para a organização, este capítulo está dividido em cinco seções.

Na primeira seção Sistema Desenvolvido 3.1, são apresentados, a modelagem do

sistema, seus Requisitos, Diagrama de Caso de Uso, modelagem do Banco de Dados,

Diagrama de Sequencia e o Workflow desenvolvido. Na segunda seção são descritos as

tecnologias utilizadas no desenvolvimento do sistema. Em seguida a seção Interfaces de

Entrada e Saída do Sistema 3.3, apresenta as interfaces gráficas do sistema desenvolvido e os

relatórios gerados pelo mesmo. Na seção Implementação 3.4, são descritos detalhes sobre a

programação do sistema, o ambiente de desenvolvimento e a implantação. Por último a seção

Teste e Avaliação 3.5, descrevem os testes a avaliação realizada no sistema.

3.1 SISTEMA DESENVOLVIDO

3.1.1 Fluxo de Trabalho do Help Desk da ASSEINFO

Está seção irá apresentar o fluxo antigo de trabalho do help desk, e o fluxo de trabalho

atual após a implantação do sistema proposto.

3.1.1.1 Situação Antiga

ASSEINFO não possuía um fluxo de trabalho definido formalmente. Os funcionários

do help desk recebiam um treinamento, e executavam suas tarefas conforme este treinamento

e sua ponderação. O encaminhamento de uma tarefa para outro técnico ou setor, era feito por

e-mail ou presencialmente, o que tornava difícil identificar o andamento de uma tarefa.

A Figura 14 exibe como as tarefas eram executadas:

42

Figura 14. Fluxo de trabalho antigo do help desk da ASSEINFO

43

3.1.1.2 Situação Atual

Depois de observados os problemas enfrentados pelo setor de help desk da

ASSEINFO, verificou-se a necessidade de formalizar os processos de trabalho executados

pelo mesmo. Esta formalidade foi obtida com a implantação do sistema proposto e

desenvolvido por este projeto. Com auxilio do novo sistema adotou-se o seguinte fluxo de

trabalho exposto na Figura 15:

Figura 15. Fluxo de trabalho atual do help desk da ASSEINFO

44

Com o sistema implantado, o usuário (técnico ou gerente) que incluir uma tarefa

informará as etapas que deverão ser executas com seus respectivos técnicos. A partir do

momento em que o usuário iniciar a tarefa, a comunicação e o aviso de que determinado

técnico deve iniciar sua etapa se dará de forma automática, através do controle do workflow

desenvolvido, que envia e-mail com todas as informações necessárias para o técnico.

3.1.2 Requisitos

A atividade de análise de requisitos procura descobrir o que os usuários e clientes de

um produto de software querem que o sistema faça (FOWLER, 2005, p. 47).

A análise dos requisitos foi realizada através do acompanhamento do trabalho

realizado pelos técnicos do help desk, e de reuniões com os mesmo e o gerente do help desk.

Por meio das informações obtidas, foi possível identificar o fluxo de trabalho atual do

help desk, propor um novo fluxo de trabalho, elencar os requisitos funcionais, não funcionais,

e as regras de negócios, listados a seguir.

3.1.2.1 Funcionais

Os requisitos funcionais descrevem as principais funcionalidades que o sistema

executa, e o comportamento do mesmo em determinadas situações.

Abaixo os requisitos funcionais definidos da solução proposta por este projeto.

1. O sistema possui uma tela de login/senha;

2. O sistema permite o administrador cadastrar novos usuários;

3. O sistema permite o técnico cadastrar Clientes;

4. O sistema permite o técnico cadastrar Recursos;

5. O sistema permite o técnico cadastrar Serviços;

6. O sistema permite o técnico cadastrar Tarefas;

7. O sistema permite o técnico imprimir uma lista de tarefas no cadastro de tarefas;

8. O sistema permite o técnico trabalhar em mais de uma tarefa simultaneamente;

9. O sistema permite o técnico cadastrar Etapas em uma Tarefa;

10. O sistema permite o técnico pausar a execução de uma etapa da tarefa;

45

11. O sistema permite o técnico cadastrar horas trabalhadas em uma etapa de uma

tarefa;

12. O sistema permite o técnico anexar documentos (texto, imagem, etc.) ás tarefas;

13. O sistema permite o gerente visualizar relatórios sobre o desempenho do help

desk;

14. O sistema gera relatórios gráficos;

15. O sistema permite o gerente incluir projetos;

16. O sistema permite o gerente acompanhar o andamento dos projetos;

17. O sistema permite o técnico informar se uma tarefa pertence a um projeto ou a um

cliente especifico;

18. O sistema possui um workflow que gerencia o fluxo dos atendimentos do help

desk;

19. O sistema mostra aos técnicos suas tarefas pendentes;

20. O sistema permite o gerente acompanhar o fluxo dos atendimentos;

21. O sistema permite o gerente saber em quais tarefas um técnico está trabalhando;

22. O sistema informa o técnico através de e-mails que o mesmo possui uma etapa de

uma tarefa que deve ser executada;

23. O sistema informa o técnico através de e-mails que determinada etapa/tarefa está

atrasada;

24. O sistema conclui uma tarefa automaticamente quando todas as etapas forem

concluídas.

25. O sistema permite o técnico visualizar graficamente o workflow de uma tarefa.

3.1.2.2 Não Funcionais

Os requisitos não funcionais descrevem as qualidades do sistema (como é), ao invés de

citar o que ele faz.

Segundo Conallen (2003), os requisitos não funcionais para melhor serem entendidos,

podem ser categorizados em usabilidade, desempenho, robustez/confiabilidade, segurança,

hardware, e implantação.

46

Abaixo os requisitos não funcionais definidos da solução proposta por este projeto.

1. O sistema é apenas acessível via Internet;

2. O sistema é compatível com os browsers Mozilla Firefox e Chrome;

3. O sistema foi desenvolvido em Ruby on Rails;

4. O sistema foi desenvolvido com o banco de dados SQLite;

5. O sistema é compatível com o banco de dados PostgreSQL;

6. O sistema não deve demorar mais de 20 segundos para estar totalmente funcional;

7. O sistema suporta no mínimo cinco usuários simultaneamente;

8. Os relatórios são gerados on-line;

9. O sistema possui um controle de acesso por login e senha, com direitos de acesso

diferentes por tipo de usuário (técnico, gerente, administrador).

3.1.2.3 Regras de Negócio

As regras de negócio definem o funcionamento do sistema, considerando as condições

ou restrições, e validações.

1. Todos os usuários possuem login e senha para acessar o sistema.

2. Ao incluir uma nova tarefa, a data de abertura deve vem preenchida com a data

atual.

3. Ao incluir uma nova tarefa, o técnico on-line é adicionado como o técnico

responsável.

4. Um técnico só pode excluir tarefas incluídas por ele.

5. Um técnico não pode excluir uma tarefa com status fechada.

6. Um período de horas trabalhadas em uma tarefa não pode ser maior que 5 horas.

7. A data do período de horas trabalhadas em uma tarefa não pode ser menor que a

data de abertura.

8. A data de fechamento da tarefa não pode ser menor que a data de abertura.

9. Para concluir a inclusão ou alteração de uma tarefa, no mínimo os campos data de

emissão, solicitante, serviço, e solicitação devem estar preenchidos.

47

10. Somente os usuários do tipo gerente podem acessar a tela de relatórios.

11. Uma tarefa deve possui no mínimo uma etapa para ser iniciada e incluída no

workflow.

12. Toda etapa de uma tarefa possui um técnico responsável pela execução ou

aprovação.

13. Uma tarefa só é fechada quando todas as etapas estiverem concluídas (aprovadas).

3.1.3 Diagramas de Caso de Uso

Os casos de uso descrevem os requisitos funcionais do sistema através de uma visão

externa sobre o mesmo, abaixo serão apresentados os diagramas de Caso de Uso do sistema

proposto.

3.1.3.1 Pacotes

A Figura 16 apresenta os pacotes de cenários do sistema.

Figura 16. Pacotes dos cenários

uc Módulo Help Desk

Cenário Técnico

+ CDU 01.01 - Efetuar Login+ CDU 01.02 - Cadastrar Pessoas+ CDU 01.03 - Cadastrar Recursos+ CDU 01.04 - Cadastrar Serviços+ CDU 01.05 - Cadastrar Tarefas

Atores

+ Administrador+ Gerente+ Técnico+ Workflow

Cenário Workflow

+ CDU 05.01 - Gerenciar fluxo de trabalho

Cenário Gerente

+ CDU 03.01 - Visualizar Relatórios+ CDU 03.02 - Gerenciar Projetos

Cenário Administrador

+ CDU 04.01 - Cadastrar usuário

48

3.1.3.2 Atores do Sistema

Figura 17. Atores do Sistema

Na Figura 17 são apresentados os atores presentes no sistema. O ator “Técnico”

representa os técnicos do help desk e de outros funcionários da ASSEINFO (Desenvolvedores

e Vendedores), pois em algumas tarefas estes também fazem parte do fluxo de trabalho do

help desk, não havendo a necessidade de criar novos atores para representá-los dentro do

sistema.

uc Atores

Técnico

GerenteAdministrador

Workflow

«extended»

«extend»

«extend»

49

3.1.3.3 Cenário do Técnico

Figura 18. Cenário do Técnico

A Figura 18 apresenta os Casos de Usos do Técnico. A seguir estão listadas os Casos

de Uso do cenário do Técnico (Tabelas 2 a 7):

Tabela 2. CDU 01.01 – Efetuar Login

Nome CDU 01.01 – Efetuar Login

Descrição Permite ao técnico acesso ao sistema, após o fornecimento do e-mail e a senha.

Fluxo Tipo Detalhes

Login Principal 1. O sistema apresenta para o técnico uma tela com dois campos a serem preenchidos (e-mail e senha). 2. O técnico informa seu e-mail e sua senha. 3. O técnico clica em Entrar. 4. O técnico valida as informações. 5. O técnico exibe sua página principal.

Campos em branco ou dados inválidos

Exceção No passo 2 o técnico não informa seu e-mail ou sua senha, ou os informa incorretamente. Executa passo 3. No passo 5, o sistema exibe uma mensagem informando que o e-mail ou a senha são inválido.

uc Módulo Técnico

CDU 01.01 - Efetuar Login

CDU 01.02 - Cadastrar Pessoas

CDU 01.03 - Cadastrar Recursos

CDU 01.04 - Cadastrar Serv iços

CDU 01.05 - Cadastrar Tarefas

Técnico

50

Tabela 3. CDU 01.02 – Cadastrar Pessoas

Nome CDU 01.02 – Cadastrar Pessoas

Descrição Permiti ao usuário cadastrar pessoas no sistema. Estas pessoas são Solicitantes (Clientes).

Fluxo Tipo Detalhes

Cadastra um Cliente

Principal 1. Na página principal do sistema, o usuário clica em Clientes. 2. O sistema exibe a página de Cadastro de Clientes. 3. O técnico clica em Novo. 4. O técnico preenche os campos (Nome, Telefone, E-mail). 5. O técnico clica em Salvar. 6. O sistema valida os dados. 7. O sistema exibe a página principal de clientes e exibir a mensagem de sucesso.

Edita um Cliente

Alternativo No passo 3 o usuário opta em alterar o cadastro de uma pessoa. 3.1. Na tela principal de clientes, o técnico busca o cliente pelo nome e/ou código através de filtros na pesquisa. 3.2. O técnico seleciona o registro desejado. 3.3. O técnico clica em Editar. 3.4. O cadastro do cliente é exibido. 3.5. O técnico altera os dados desejados. Volta para o passo 5.

Exclui uma pessoa

Alternativo No passo 3 o técnico opta em excluir um cliente. 3.1. Na tela principal de clientes, o técnico busca o cliente pelo nome e/ou código através de filtros na pesquisa. 3.2. O técnico seleciona o registro desejado. 3.3. O técnico clica em Excluir. 3.4. O sistema pede a confirmação da exclusão. 3.5. O técnico confirma a exclusão. 3.6. O sistema valida a exclusão. 3.7. O sistema exclui o registro. Vai para o passo 7.

Consulta uma pessoa

Alternativo No passo 3 o técnico opta em consultar um clientes. 3.1. Na tela principal de clientes, o técnico busca o cliente pelo nome e/ou código através de filtros na pesquisa. 3.2. O usuário seleciona o registro desejado. 3.3. O usuário clica em Consultar. 3.4. O cadastro do cliente é exibido. 3.5. O técnico tem a opção de Editar ou Excluir o cliente consultado. 3.6. O técnico clica em Lista para voltar à tela principal de clientes.

Dados em branco

Exceção Na inclusão e alteração: No passo 6 se os campos Nome e E-mail não estiverem preenchidos o sistema exibirá uma mensagem no lado de cada campo informando o erro.

51

Tabela 4. CDU 01.03 – Cadastrar Recursos Nome CDU 01.03 – Cadastrar Recursos

Descrição O sistema permite ao técnico cadastrar recursos que serão utilizados na execução das tarefas.

Fluxo Tipo Detalhes

Cadastra um recurso Principal 1. Na página principal do sistema, o técnico clica em Recursos. 2. O sistema exibe a página de Cadastro de Recursos. 3. O técnico irá clicar em Novo. 4. O técnico preenche os campos (Nome e Observação). 5. O técnico clica em Salvar. 6. O sistema valida os dados. 7. O sistema exibe a página principal de clientes e exibir a mensagem de sucesso.

Edita um recurso Alternativo No passo 3 o técnico opta em alterar o cadastro de um recurso. 3.1. O técnico seleciona o registro desejado. 3.2. O técnico clica em Editar. 3.3. O cadastro do recurso é exibido. 3.4. O técnico altera os dados desejados. Volta para o passo 5.

Exclui um recurso Alternativo No passo 3 o técnico opta em excluir um recurso. 3.1. O técnico seleciona o registro desejado. 3.2. O técnico clica em Excluir. 3.3. O sistema pede a confirmação da exclusão. 3.4. O técnico confirma a exclusão. 3.5. O sistema valida a exclusão. 3.6. O sistema exclui o registro. Vai para o passo 7.

Consultar um recurso

Alternativo No passo 3 o técnico opta em consultar um recurso. 3.1. O técnico seleciona o registro desejado. 3.2. O técnico clica em Consultar. 3.3. O cadastro de recurso é exibido. 3.4. O técnico tem a opção de Editar ou Excluir o recurso consultado. 3.5. O técnico clica em Lista para voltar à tela principal de recursos.

Dados inválidos Exceção Na inclusão e alteração: No passo 6 se o campo Nome não estiver preenchido o sistema exibirá uma mensagem no lado de cada campo informando o erro.

52

Tabela 5. CDU 01.04 – Cadastrar Serviços

Nome CDU 01.04 – Cadastrar Serviços

Descrição O sistema permite o técnico cadastrar serviços que serão utilizados para especificar uma tarefa.

Fluxo Tipo Detalhes

Cadastra um serviço

Principal 1. Na página principal do sistema, o técnico clica em Serviços. 2. O sistema exibe a página de Cadastro de Serviços. 3. O técnico clica em Novo. 4. O técnico preenche os campos (Nome e Descrição). 5. O técnico clica em Salvar. 6. O sistema valida os dados. 7. O sistema exibe a página principal de Serviços. 8. O sistema exibe uma mensagem de sucesso.

Altera um serviço

Alternativo No passo 3 o técnico opta em alterar um serviço. 3.1. Na tela de Serviços, o técnico pesquisa por um serviço. 3.2. O técnico seleciona o registro desejado. 3.3. O técnico clica em Alterar. 3.4. O cadastro do serviço é exibido. 3.5. O técnico altera os dados desejados. Volta para o passo 5.

Excluir um serviço

Alternativo No passo 3 o técnico opta em excluir um Serviço. 3.1. Na tela de Serviços, o técnico pesquisa por um serviço. 3.2. O técnico seleciona o registro desejado. 3.3. O técnico clica em Excluir. 3.4. O sistema pede a confirmação da exclusão. 3.5. O técnico confirma a exclusão. 3.6. O sistema valida a exclusão. 3.7. O sistema exclui o registro. Vai para o passo 7.

Consultar um serviço

Alternativo No passo 3 o técnico opta em consultar um serviço. 3.1. Na tela de Serviços, o técnico pesquisa por um serviço. 3.2. O técnico seleciona o registro desejado. 3.3. O técnico clica em Consultar. 3.4. O cadastro de serviço é exibido. 3.5. O técnico tem a opção de Editar ou Excluir o serviço. 3.6. O técnico clica em Lista para voltar à tela de serviços.

Gerencia Etapas

Alternativo No passo 3 o técnico clica em Etapas. 3.1. O sistema exibe a tela de Etapas do Serviço. 3.2. O técnico clica em Novo. 3.3. O técnico preenche os campos nome, descrição, e seleciona os recursos utilizados na Etapa. Nome é obrigatório. 3.4. O técnico clica em Salvar. 3.5. O sistema valida os dados. 3.6. O sistema exibe a tela de Etapas Serviços com a mensagem de sucesso. 3.7. O técnico pode Consultar, Editar ou Excluir uma Etapa.

Dados inválidos

Exceção Na inclusão e alteração, no passo 6 se o campo Nome não estiver preenchido, o sistema exibirá uma mensagem no lado de cada campo informando o erro.

53

Tabela 6. CDU 01.05 – Cadastrar Tarefas – Parte 1

Nome CDU 01.05 – Cadastrar Tarefas

Descrição Permite aos técnicos cadastrar tarefas.

Fluxo Tipo Detalhes

Cadastra uma tarefa

Principal 1. Na página principal do sistema, o técnico clica em Tarefas. 2. O sistema exibe a página de Cadastro de Tarefas. 3. O técnico clica em Novo. 4. O técnico preenche os campos (Projeto ou Cliente, Emissão, Solicitação, Entrega, e Serviço). 5. O técnico clica em Salvar. 6. O sistema valida os dados. 7. O sistema inclui as etapas do serviço em etapas da tarefa. 8. O sistema exibe a página principal do cadastro de tarefas. 9. O sistema exibe uma mensagem de sucesso.

Altera uma tarefa

Alternativo No passo 3 o técnico opta em alterar uma tarefa. 3.1. Na tela de tarefas, o técnico pesquisa uma tarefa. 3.2. O técnico seleciona o registro desejado. 3.3. O técnico clica em Alterar. 3.4. O cadastro da tarefa é exibido. 3.5. O técnico altera os dados desejados. Vai para o passo 5.

Exclui uma tarefa

Alternativo No passo 3 o técnico opta em excluir uma tarefa. 3.1. Na tela de tarefas, o usuário pesquisa uma tarefa. 3.2. O usuário seleciona o registro desejado. 3.3. O usuário clica em Excluir. 3.4. O sistema pede a confirmação da exclusão. 3.5. O técnico confirma a exclusão. 3.6. O sistema valida a exclusão. 3.7. O sistema exclui o registro. Vai para o passo 8.

Consultar uma tarefa

Alternativo No passo 3 o técnico opta em consultar uma tarefa. 3.1. Na tela de tarefas, o técnico pesquisa por uma tarefa. 3.2. O técnico seleciona o registro desejado. 3.3. O usuário clica em Consultar. 3.4. O cadastro da tarefa é exibido. 3.5. O sistema permite o técnico Editar ou Excluir a tarefa consultada. 3.6. O técnico clica em Lista para voltar à tela de tarefas.

54

Tabela 7. CDU 01.05 – Cadastrar Tarefas – Parte 2

Nome CDU 01.05 – Cadastrar Tarefas

Descrição Permite aos técnicos cadastrar tarefas.

Fluxo Tipo Detalhes

Configurar as etapas

Alternativo No passo 3 o técnico opta por configurar as etapas da tarefa. 3.1. O técnico clica em Etapas. 3.2. O sistema permite ao técnico: 3.2.1. Incluir uma nova etapa. 3.2.2. Alterar uma etapa. 3.2.3. Consultar uma etapa. 3.2.4. Excluir uma etapa. 3.2.5. Iniciar, pausar ou concluir uma etapa. 3.3. Na inclusão/edição de uma etapa, o técnico deve informar um Nome, uma Descrição e o Técnico, e opcionalmente o técnico pode selecionar recursos utilizados na etapa.

Imprimir as tarefas

Alternativo No passo 3 o técnico opta em imprimir uma ou várias tarefas. 3.1. O técnico clica em Imprimir. 3.2. O sistema exibe uma tela para o técnico filtrar as tarefas. 3.3. O técnico clica em Imprimir. 3.4. O sistema exibe uma tabela com as tarefas correspondentes ao filtro. 3.5. Através do browser o técnico pode imprimir as tarefas.

Anexar Alternativo No passo 3 o técnico opta em anexar um documento á tarefa. 3.1. Na tela de tarefas, o técnico pesquisa por uma tarefa. 3.2. O técnico seleciona o registro desejado. 3.3. O técnico clica em Anexos. 3.4. O sistema exibe a tela de Anexos. 3.5. O técnico clica em Novo. 3.6. O técnico preenche o Título e a Descrição. 3.7. O técnico clica em Escolher arquivo e seleciona um documento. 3.8. O técnico clica em Salvar. 3.9. O sistema valida os dados. 3.10. Volta para a tela de Tarefas.

Horas Alternativo No passo 3 o técnico opta em incluir horas trabalhadas á tarefa. 3.1. Na tela de tarefas, o técnico pesquisa por uma tarefa. 3.2. O técnico seleciona o registro desejado. 3.3. O técnico clica em Horas. 3.4. O sistema exibe a tela de Horas. 3.5. O técnico clica em Novo. 3.6. O técnico preenche o técnico e as horas. 3.8. O técnico clica em Salvar. 3.9. O sistema valida os dados. 3.10. Volta para a tela de Tarefas.

Dados inválidos

Exceção Na inclusão e alteração: No passo 6 se os campos (Projeto ou Cliente), solicitação, emissão, entrega ou serviço, forem inválidos, o sistema exibirá uma mensagem no lado de cada campo informando o erro.

55

3.1.3.4 Cenário do Gerente

A Figura 19 apresenta os Casos de Usos do Gerente.

Figura 19. Cenário do Gerente

A Tabela 8 e a Tabela 9 apresentam os Casos de Uso do cenário do Gerente:

Tabela 8. CDU 03.01 – Visualizar Relatórios

Nome CDU 03. 01 – Visualizar Relatórios

Descrição O sistema permite o gerente visualizar relatórios e gráficos.

Fluxo Tipo Detalhes

Relatórios Principal 1. Na página principal do sistema, o gerente clica em Relatórios. 2. O sistema exibe uma lista de relatórios 3. O gerente seleciona um relatório. 4. O gerente clica em Gerar. 5. O gerente configura os filtros. 6. O gerente clica em Gerar. 7. O sistema exibe os relatórios. 7.1. É exibido em uma tabela, e em alguns relatórios gráficos são exibidos. 8. O gerente clica em Voltar. 9. O sistema exibe a tela de filtro do relatório. 10. O gerente clica em Voltar. 11. O sistema exibe a página principal dos relatórios.

uc Módulo Gerente

CDU 03.01 - Visualizar Relatórios

Gerente

(from Atores)CDU 03.02 - Gerenciar

Projetos

56

Tabela 9. CDU 03.02 – Gerenciar Projetos

Nome CDU 03. 02 – Gerenciar Projetos

Descrição O sistema permite o gerente controlar Projetos.

Fluxo Tipo Detalhes

Cadastra Projeto

Principal 1. Na página principal do sistema, o gerente clica em Projetos. 2. O sistema exibe a página de Cadastro de Projetos. 3. O gerente clica em Novo. 4. O gerente preenche os campos (Nome, Cliente, Descrição, Previsão Término, Gastos Previstos e Efetivos). 5. O gerente clica em Salvar. 6. O sistema valida os dados. 7. O sistema irá exibir a página principal de Projetos. 8. O sistema irá exibir uma mensagem de sucesso.

Altera Projeto

Alternativo No passo 3 o gerente opta em alterar um projeto. 3.1. Na tela de Projetos, o gerente pesquisa por um projeto. 3.2. O gerente seleciona o registro desejado. 3.3. O gerente clica em Alterar. 3.4. O cadastro do projeto é exibido. 3.5. O gerente altera os dados desejados. Volta para o passo 5.

Exclui Projeto

Alternativo No passo 3 o gerente opta em excluir um Projeto. 3.1. Na tela de Projetos, o gerente pesquisa por um projeto. 3.2. O gerente seleciona o registro desejado. 3.3. O gerente clica em Excluir. 3.4. O sistema pede a confirmação da exclusão. 3.5. O gerente confirma a exclusão. 3.6. O sistema valida a exclusão. 3.7. O sistema exclui o registro. Vai para o passo 7.

Consulta Projeto

Alternativo No passo 3 o gerente opta em consultar um projeto. 3.1. Na tela de Projetos, o gerente pesquisa por um projeto. 3.2. O gerente seleciona o registro desejado. 3.3. O gerente clica em Consultar. 3.4. O cadastro do projeto é exibido. 3.5. O gerente tem a opção de Editar ou Excluir o projeto. 3.6. O gerente clica em Lista para voltar à tela de projetos.

Painel Alternativo No passo 3 o gerente opta e consultar o Painel de Projetos. 3.1. O gerente clica em Painel. 3.2. O sistema exibe uma lista de projetos. 3.3. O gerente clica em [+] para expandir um projeto. 3.4. O sistema exibe as tarefas do projeto. 3.5. O sistema clica em [+] para expandir uma tarefa. 3.6. O sistema exibe um fluxo das etapas da tarefa. 3.7. O gerente clica em Lista para voltar à tela de projetos.

Dados inválidos

Exceção Na inclusão e alteração, no passo 6 se os campos forem inválidos, o sistema exibirá uma mensagem no lado de cada campo informando o erro.

57

3.1.3.5 Cenário do Administrador

A Figura 20 apresenta os Casos de Usos do Administrador.

Figura 20. Cenário do Administrador

A Tabela 10 apresenta o Caso de Uso do cenário do Administrador:

uc Módulo Administrador

Administrador

(from Atores)

CDU 04.01 - Cadastrar usuário

58

Tabela 10. CDU 04.01 – Cadastrar usuário

Nome CDU 04.01 – Cadastrar usuário

Descrição Permiti ao administrador do sistema cadastrar novos usuários.

Fluxo Tipo Detalhes

Cadastrar um usuário

Principal 1. Na página principal do sistema, o administrador clica em Usuários. 2. O sistema exibe a página de Usuários. 3. O administrador clica em Novo. 4. O administrador irá preencher os campos (Nome, E-mail, Senha e Tipo). 4.1. No campo tipo o administrador irá escolher entre Gerente, Técnico e Administrador. 5. O administrador irá clicar em Salvar. 6. O sistema valida os dados. 7. O sistema irá exibir a página principal do cadastro de usuário. 8. O sistema irá exibir uma mensagem de sucesso.

Alterar um usuário

Alternativo No passo 3 o administrador opta em alterar uma usuário. 3.1. O administrador seleciona o registro desejado. 3.2. O administrador clica em Editar. 3.3. O cadastro do usuário é exibido. 3.4. O administrador altera os dados desejados. Volta para o passo 5.

Excluir um usuário

Alternativo No passo 3 o administrador opta em excluir um usuário. 3.1. O administrador seleciona o registro desejado. 3.2. O administrador clica em Excluir. 3.4. O sistema pede a confirmação da exclusão. 3.5. O administrador confirma a exclusão. 3.6. O sistema valida a exclusão. 3.7. O sistema exclui o registro. Vai para o passo 7.

Dados inválidos

Exceção No passo 6, em inclusão ou alteração, se os campos Nome, Senha, E-mail, e/ou Tipo não estiverem preenchidos, o sistema exibirá uma mensagem no lado de cada campo informando o erro.

59

3.1.3.6 Cenário do Workflow

A Figura 21 apresenta os Casos de Usos do Workflow.

Figura 21. Cenário do Workflow

A Tabela 11 apresenta o Caso de Uso do cenário do Workflow:

Tabela 11. CDU 05.01 – Gerenciar fluxo de trabalho

Nome CDU 05.01 – Gerenciar fluxo de trabalho

Descrição O sistema gerencia as tarefas que são incluídas.

Fluxo Tipo Detalhes

Gerenciar uma tarefa Principal 1. O usuário inclui uma tarefa e define suas etapas. 2. O usuário clica em Iniciar (Em Tarefa). 3. O sistema envia a tarefa para o “workflow”. 4. O técnico responsável realiza a etapa, e altera o status da etapa para concluído. 5. O sistema avisa o “workflow” que a etapa foi concluída. 6. O “workflow” avisa o técnico da próxima etapa, que a mesma já pode ser executada (Por e-mail). 7. Quando uma tarefa estiver atrasada: após um determinado tempo, o “workflow” avisa o técnico da primeira etapa pendente que a tarefa está atrasa e a etapa X precisa ser concluída. 8. O técnico conclui a última etapa. 9. O sistema avisa o “workflow” que a última etapa foi concluída. 10. O “workflow” marca a tarefa como concluída.

uc Módulo Workflow

Workflow

(from Atores)

CDU 05.01 - Gerenciar fluxo de trabalho

60

3.1.4 Dados

3.1.4.1 Diagramas de Classe

Segundo Fowler (2005, p.52):

Um diagrama de classe descreve os tipos de objetos presentes no sistema e os vários tipos de relacionamentos estáticos existentes entre eles. Os diagramas de classes também mostram as propriedades e as operações de uma classe e as restrições que se aplicam á maneira como os objetos estão conectados. A UML utiliza a palavra característica como um termo geral que cobre as propriedades e operações de uma classe.

Para uma melhor organização, os diagramas foram divididos por cadastros e classes

afins. A seguir os diagramas de classes do sistema proposto.

Os diagramas de classe foram modelados seguindo o padrão MVC (Model View

Controller).

A seguir estão listados os Diagramas de Classe do sistema proposto (Figuras 22 a 29):

Figura 22. Diagrama de Classe Usuário

Figura 23. Diagrama de Classe Recurso

class DC - Usuario

login_v iewLoginController

+ validar(string, string) : boolean

Usuario

- created_at: datetime- email: string- id: integer- nome_completo: string- senha: string- tipo: string- updated_at: datetime

# administrador?() : boolean+ codigo_nome() : string# gerente?() : boolean+ pode_acessar_relatorios_e_projetos?() : boolean+ pode_acessar_usuarios?() : boolean+ tipo_usuario() : string

UsuariosController

+ create() : Usuario+ destroy() : Usuarios+ edit() : Usuario+ index() : Usuarios+ new() : Usuario+ update() : Usuario

index_v iew

edit_v iew

new_v iew

class DC - Recurso

RecursosController

+ create() : Recurso+ destroy() : void+ edit() : Recurso+ index() : Recursos+ new() : Recurso+ show() : Recurso+ update() : Recurso

Recurso

- created_at: datetime- id: integer- nome: string- observacao: string- updated_at: datetime- usuario: Usuario

+ pesquisar(string) : listedit_v iew

index_view

new_v iew

show_view

61

Figura 24. Diagrama de Classe Pessoa

Figura 25. Diagrama de Classe Workflow

Figura 26. Diagrama de Classe Relatório

class DC - Pessoa

PessoaController

+ create() : Pessoa+ destroy() : Pessoas+ edit() : Pessoa+ index() : Pessoas+ new() : Pessoa+ show() : Pessoa+ update() : Pessoa

Pessoa

- created_at: datetime- email: string- id: integer- nome: string- telefone: string- updated_at: datetime- usuario: Usuario

+ codigo_nome() : string+ pesquisar_por_id(integer) : list+ pesquisar_por_nome(string) : l ist

index_v iew

edit_v iew

show_v iew

new_v iew

class DC - Workflow

Workflow

- data: date- id: integer- tarefa_id: Tarefa

WorkflowsController

+ add_tarefa(Tarefa) : void# enviar_email_para_o_proximo_tecnico(Tarefa) : void+ etapa_concluida(Tarefa) : void# gerenciar_tarefa (Tarefa) : void# marca_tarefa_como_concluida(Tarefa) : void# numero_de_etapas_abertas_e_em_andamento (Tarefa) : void# todas_etapas_estao_concluidas?(Tarefa) : void# verificar_tarefas_atrasadas() : void

class DC - Relatório

RelatoriosController

# carregar_recursos() : void+ executar_01() : void+ executar_02() : void+ executar_03() : void+ executar_04() : void+ executar_05() : void+ executar_06() : void# fil trar_pelo_cliente(integer) : string# fil trar_pelo_servico(integer) : string# fil trar_pelo_tecnico(integer) : string# fil trar_por_data(date) : date+ gerar(integer) : void# nome_do_cliente(integer) : string# nome_do_servico(integer) : string# nome_do_tecnico(integer) : string# numero_de_etapas_num_periodo_por_tecnico(id) : integer# numero_de_tarefas_num_periodo_por_cliente(id) : integer# numero_de_tarefas_num_periodo_por_servico(id) : integer# relatorio_grafico_bar(integer, l ist, l ist) : grafico# relatorio_grafico_pie(string, l ist, l ist) : grafico# remover_acentos(string) : string

index_v iew

index_01_view

index_02_view

index_03_view

index_04_view

index_05_view

index_06_view

saida_01_v iew

saida_03_v iew

saida_04_v iew

saida_05_v iew

saida_06_v iew

saida_02_v iew

62

Figura 27. Diagrama de Classe Projeto

Figura 28. Diagrama de Classe Serviço

class DC - Projeto

Projeto

- cl iente_id: Pessoa- created_at: datetime- descricao: string- fim: date- gastos_final: float- gastos_previstos: float- id: integer- inicio: date- nome: string- previsao_fim: date- status: string- updated_at: datetime- usuario_id: Usuario

+ aberto?() : boolean+ codigo_nome() : string+ concluido?() : boolean+ em_andamento?() : boolean+ status_nome() : string+ total_horas() : time+ total_tempo_trabalhado() : integer

ProjetosController

# carregar_clientes() : Pessoas+ concluir() : void+ create() : Projeto+ destroy() : Projetos+ edit() : Projeto+ index() : Projetos+ iniciar() : void+ new() : Projeto# numero_de_tarefas_abertas_e_em_andamento(Projeto) : integer+ painel() : Projetos# possui_tarefas?(Projeto) : boolean+ show() : Projeto# todas_as_tarefas_estao_concluidas?(Projeto) : boolean+ update() : Projeto

edit_v iew

index_view

new_v iew

painel_v iew

show_view

class DC - Serv ico

Serv icosController

+ create() : Servico+ destroy() : Servicos+ edit() : Servico+ index() : Servicos+ new() : Servico+ show() : Servico+ update() : Servico

Serv ico

- created_at: datetime- descricao: string- id: int- nome: string- updated_at: datetime- usuario: Usuario

+ codigo_name() : string+ pesquisar_por_id(integer) : l ist+ pesquisar_por_nome(string) : list

Serv icoEtapa

- created_at: datetime- descricao: string- id: int- nome: string- servico: Servico- updated_at: datetime

Serv icoEtapasController

# carrega_recursos() : Recursos+ create() : ServicoEtapa+ destroy() : ServicoEtapas+ edit() : ServicoEtapa+ index() : ServicoEtapas+ new() : ServicoEtapa+ show() : ServicoEtapa+ update() : ServicoEtapa

index_v iew

edit_v iew

show_v iew

new_v iew

edit_v iew

index_v iew

new_v iew

show_v iew

63

Figura 29. Diagrama de Classe Tarefa

3.1.4.2 Diagrama de Entidade Relacionamento

Para descrever os modelos de dados do sistema proposto, utilizou-se o diagrama ER

(Entidade Relacionamento). A Figura 30 representa este diagrama.

class DC - Tarefa

Tarefa

- cl iente: Pessoa- created_at: datetime- emissao: date- entrega: date- fechamento: date- id: integer- projeto: Projeto- servico: Servico- solicitacao: string- status: string- tecnico: Usuario- updated_id: datetime- usuario: Usuario

+ aberta?() : boolean+ concluida?() : boolean+ em_andamento?() : boolean+ esta_atrasada?() : boolean+ pesquisar_por_cliente(integer) : Tarefas+ pesquisar_por_emissao(date) : Tarefas+ pesquisar_por_entrega(date) : Tarefas+ pesquisar_por_id(integer) : Tarefas+ pesquisar_por_status(string) : Tarefas+ pesquisar_por_tecnico(integer) : Tarefas+ possui_etapas?() : boolean+ status_name() : string+ total_horas() : time+ total_tempo_trabalhado() : integer# val idar_cliente_e_projeto() : void# val idar_data_emissao() : void# val idar_data_entrega() : void

TarefasController

# carregar_recursos() : void# configurar_cl iente_e_projeto(Tarefa) : void# copiar_etapas_do_servico(Tarefa) : void+ create() : Tarefa+ destroy() : Tarefas+ edi t() : Tarefa+ impressao() : void+ index() : Tarefas+ iniciar() : void+ new() : Tarefa# periodo_val ido?(date, date) : boolean+ preparar_impressao_html() : void+ show() : Tarefa+ update() : Tarefa

impressao_html_v iew

edit_v iew

imprimir_v iew

index_v iew

new_v iew

show _v iew

TarefaEtapa

- codigo: integer- created_at: datetime- descricao: string- id: integer- inicio: datetime- nome: string- status: string- tarefa: Tarefa- tecnico: Usuario- updated_at: datetime

+ aberta?() : boolean+ codigo_nome() : string+ concluida?() : boolean+ data_hora_fim() : datetime+ data_hora_inicio() : datetime+ em_andamento?() : boolean+ em_pausa?() : boolean+ status_nome() : string+ total_horas() : time

TarefaEtapasController

+ carregar_recursos() : void+ conclui r() : void+ create() : TarefaEtapa+ destroy() : TarefaEtapas+ edi t() : TarefaEtapa+ incluir_as_horas_trabalhadas_na_etapa(TarefaEtapa) : void+ index() : TarefaEtapas+ iniciar() : void+ new() : TarefaEtapa+ pausar() : void+ salvar_horas(date, time, time, TarefaEtapa) : void+ salvar_horas_do_dia(date, time, time, TarefaEtapa) : void+ show() : TarefaEtapa+ update() : TarefaEtapa edit_v iew

index_v iew

new_v iew

show_v iew

TarefaHora

- created_at: datetime- data: date- fim: time- id: integer- inicio: time- tarefa: Tarefa- tarefa_etapa: TarefaEtapa- tecnico: Usuario- updated_at: datetime

# val idar_horas() : void

TarefaHorasController

# carregar_tecnicos() : void+ create() : TarefaHora+ destroy() : TarefaHoras+ edi t() : TarefaHora+ index() : TarefaHoras+ new() : TarefaHora+ show() : TarefaHora+ update() : TarefaHora

edit_v iew

new_v iew

index_v iew

TarefaAnexo

- created_at: datetime- descricao: string- documento: binary- id: integer- tarefa: Tarefa- ti tulo: string- updated_at: datetime

TarefaAnexosController

+ create() : TarefaAnexo+ destroy() : TarefaAnexos+ edi t() : TarefaAnexo+ index() : TarefaAnexos+ new() : TarefaAnexo+ update() : TarefaAnexo

index_v iew

edit_v iew

new_v iew

64

Figura 30. Diagrama de Entidade Relacionamento

3.1.4.3 Dicionário de Dados

O dicionário de dados é uma lista que contem as definições e representações dos

elementos de dados pertinentes ao sistema. Pode ser um grupo de tabelas habilitadas para

leitura e consulta. O dicionário de dados auxilia o desenvolvedor a identificar todas as

entradas e saídas do sistema.

A seguir estão listadas as tabelas do sistema proposto (Tabelas 12 a 24):

65

Tabela 12. Dicionário de Dados da Tabela Usuários

Nome da Tabela: USUARIOS Descrição: Tabela de cadastro de usuários do sistema

Atributo Descrição Tipo Chave

ID ID do usuário INTEGER PK NOME_COMPLETO Nome do usuário VARCHAR (100) EMAIL E-mail do usuário VARCHAR (100) SENHA Senha do usuário VARCHAR (10) TIPO Técnico, Gerente ou Administrador CHAR CREATED_AT Data e hora de criação DATETIME UPDATED_AT Data e hora de alteração DATETIME

Tabela 13. Dicionário de Dados da Tabela Pessoas

Nome da Tabela: PESSOAS Descrição: Tabela de cadastro de pessoas.

Atributo Descrição Tipo Chave

ID ID da pessoa INTEGER PK USUARIO_ID ID do usuário que inseriu INTEGER FK NOME Nome da pessoa VARCHAR (100) EMAIL E-mail da pessoa VARCHAR (100) TELEFONE Telefone da pessoa VARCHAR (20) CREATED_AT Data de hora de criação DATETIME UPDATED_AT Data e hora de alteração DATETIME

Tabela 14. Dicionário de Dados da Tabela Recursos

Nome da Tabela: RECURSOS

Descrição: Tabela de cadastro de recursos necessários para execução de uma tarefa.

Atributo Descrição Tipo Chave

ID ID do recurso INTEGER PK USUARIO_ID ID do usuário que inseriu INTEGER FK NOME Nome do recurso VARCHAR (100) OBSERVACAO Observação sobre o recurso TEXT CREATED_AT Data de hora de criação DATETIME UPDATED_AT Data e hora de alteração DATETIME

66

Tabela 15. Dicionário de Dados da Tabela Serviços

Nome da Tabela: SERVICOS Descrição: Tabela de cadastro de serviços executados pelos técnicos.

Atributo Descrição Tipo Chave

ID ID do serviço INTEGER PK USUARIO_ID ID do usuário INTEGER FK NOME Nome do serviço VARCHAR (100) DESCRICAO Descrição do serviço TEXT CREATED_AT Data e hora de criação DATETIME UPDATED_AT Data e hora de alteração DATETIME

Tabela 16. Dicionário de Dados da Tabela Serviços Etapas

Nome da Tabela: SERVICOS_ETAPAS Descrição: Tabela de etapas que devem ser executadas para concluir um serviço

Atributo Descrição Tipo Chave

ID ID da etapa INTEGER PK SERVICO_ID ID do serviço INTEGER FK NOME Nome da etapa VARCHAR (100) DESCRICAO Descrição da etapa BLOB CREATED_AT Data e hora de criação DATETIME UPDATED_AT Data e hora de alteração DATETIME

Tabela 17. Dicionário de Dados da Tabela Recursos Serviço Etapas

Nome da Tabela: RECURSOS_SERVICO_ETAPAS

Descrição: Recursos utilizados em uma etapa de um serviço.

Atributo Descrição Tipo Chave

RECURSO_ID ID do recurso INTEGER PK FK SERVICO_ETAPA_ID ID da Etapa do Serviço INTEGER PK FK

67

Tabela 18. Dicionário de Dados da Tabela Tarefas

Nome da Tabela: TAREFAS Descrição: Tabela de cadastro de tarefas.

Atributo Descrição Tipo Chave

ID ID da tarefa INTEGER PK SOLICITACAO Solicitação da tarefa TEXT EMISSAO Emissão da tarefa DATE FECHAMENTO Data de término da tarefa DATE ENTREGA Data prevista para término da tarefa DATE STATUS Status da tarefa CHAR PROJETO_ID Projeto que a tarefa pertence INTEGER FK TECNICO_ID ID de usuário do técnico INTEGER FK CLIENTE_ID ID de pessoa do cliente INTEGER FK USUARIO_ID ID do usuário INTEGER FK SERVICO_ID ID do serviço INTEGER FK CREATED_AT Data e hora de criação DATETIME UPDATED_AT Data e hora de alteração DATETIME

Tabela 19. Dicionário de Dados da Tabela Tarefas Anexos

Nome da Tabela: TAREFAS_ANEXOS Descrição: Tabela de cadastro de anexos de uma tarefa.

Atributo Descrição Tipo Chave

ID ID do anexo INTEGER PK TAREFA_ID ID da tarefa INTEGER FK TITULO Título do anexo VARCHAR (100) DESCRICAO Descrição do anexo TEXT DOCUMENTO_FILE_NAME Nome do documento VARCHAR (100) DOCUMENTO_CONTENT_TYPE Tipo do documento VARCHAR (100) DOCUMENTO_FILE_SIZE Tamanho do documento INTEGER

DOCUMENTO_UPDATED_AT Data e hora de alteração do documento DATETIME

CREATED_AT Data e hora de criação DATETIME UPDATED_AT Data e hora de alteração DATETIME

68

Tabela 20. Dicionário de Dados da Tabela Tarefas Etapas

Nome da Tabela: TAREFAS_ETAPAS Descrição: Tabela de etapas que devem ser executadas para concluir uma tarefa

Atributo Descrição Tipo Chave

ID ID da etapa INTEGER PK

CODIGO Código da etapa em relação à tarefa INTEGER TAREFA_ID ID da tarefa INTEGER FK TECNICO_ID ID de usuário do técnico INTEGER FK NOME Nome da etapa VARCHAR (100) DESCRICAO Descrição da etapa TEXT STATUS Status da Etapa CHAR INICIO Data e hora do inicio e reinicio da etapa DATETIME CREATED_AT Data e hora de criação DATETIME UPDATED_AT Situação da etapa CHAR

Tabela 21. Dicionário de Dados da Tabela Recursos Tarefa Etapas

Nome da Tabela: RECURSOS_TAREFA_ETAPAS Descrição: Recursos utilizados em uma etapa de uma tarefa.

Atributo Descrição Tipo Chave

RECURSO_ID ID do Recurso INTEGER PK FK TAREFA_ETAPA_ID ID da Etapa de uma Tarefa INTEGER PK FK

Tabela 22. Dicionário de Dados da Tabela Tarefas Horas

Nome da Tabela: TAREFAS_HORAS Descrição: Tabela de cadastro de horas de trabalho de uma tarefa.

Atributo Descrição Tipo Chave

ID ID da tarefa horas INTEGER PK TAREFA_ID ID da tarefa INTEGER FK TECNICO_ID ID de usuário do técnico INTEGER FK TAREFA_ETAPA_ID ID da etapa da tarefa INTEGER FK INICIO Hora de inicio do trabalho TIME FIM Hora de fim do trabalho TIME DATA Data da execução do trabalho DATE CREATED_AT Data e hora de inclusão DATETIME UPDATED_AT Data e hora de alteração DATETIME

69

Tabela 23. Dicionário de Dados da Tabela Workflows

Nome da Tabela: WORKFLOWS

Descrição: Tabela de cadastro do workflow, onde as tarefas em andamento ficam armazenadas para serem gerenciadas.

Atributo Descrição Tipo Chave

ID ID do workflow INTEGER PK TAREFA_ID ID da tarefa INTEGER FK DATA Data de inclusão da tarefa no workflow DATE CREATED_AT Data e hora de criação DATETIME UPDATED_AT Data e hora de alteração DATETIME

Tabela 24. Dicionário de Dados da Tabela Projetos

Nome da Tabela: PROJETOS Descrição: Tabela de cadastro de Projetos

Atributo Descrição Tipo Chave

ID ID do projeto INTEGER PK NOME Nome do projeto VARCHAR (100) DESCRICAO Descrição do projeto TEXT INICIO Data de inicio DATE FIM Data de término DATE PREVISAO_FIM Previsão de término DATE STATUS Status do projeto CHAR GASTOS_PREVISTOS Gastos estimados no projeto DECIMAL GASTOS_FINAL O que se gastou no projeto DECIMAL USUARIO_ID ID do usuário INTEGER CLIENTE_ID ID de pessoa do Cliente INTEGER CREATED_AT Data e hora de inclusão DATETIME UPDATED_AT Data e hora de alteração DATETIME

3.1.5 Diagramas de Sequência

Segundo Souza e Cardoso (2007), os diagramas de sequencia exibem um fluxo

detalhado para um caso de uso completo ou para uma parte especifica. Exibem as chamadas

entre os diferentes objetos na sequencia em que estas ocorrem.

70

Pelo fato dos cadastros serem todos similares, e o workflow já possuir um diagrama

especifico, conclui-se que apenas o diagrama de sequencia referente ao cadastro de tarefa

(Figura 31) será suficiente para exemplificar como as chamadas ocorrerão no sistema.

Figura 31. Diagrama de Sequencia – Incluir uma tarefa

sd DS - Tarefa

Usuário Home Index_Tarefa New_Tarefa TarefasController Tarefa

Tarefa()

tarefas()

Index()

Novo()

new_tarefa()

new()

preenche_campos(emissao, solicitacao, tecnico, cl iente, servico, entrega)

Salvar()

validar()

validar()

gravarTarefa()

71

3.1.6 Workflow Desenvolvido

A Figura 32 ilustra o funcionamento do workflow desenvolvido por este projeto.

Figura 32. Diagrama do workflow proposto

analysis Diagrama do Workflow

Fim

Inicio

Inicio

Abre tarefa Preenche dados da tarefa

Grav a Tarefa

Preenche na tarefa as etapas pré-definidas no

serviço

Configura as etapas da tarefa

Grav a Etapas

Adiciona tarefa no servidor workflow

Sistema

Técnico

Técnico

Sistema

Workflow

Tarefa atrasada?

Env ia e-mail pra o técnico

Todas as etapasda tarefa estãoconcluídas?

Marca tarefa como concluída. Fim do

gerenciamento desta tarefa.

Env ia e-mail para o técnico da próxima etapa

Conclui uma etapa

Av isa que a etapa X da tarefa Y foi concluída

Técnico

Sistema

Inicia Tarefa

Env ia e-mail para o técnico e para o

responsável da tarefa

Mais de 4 dias?

Gerencia as tarefas

NÃO

SIM

NÃO

SIM

SIM

NÃO

72

3.2 IMPLEMENTAÇÃO

3.2.1 Interfaces de Entrada e Saída do Sistema

Nesta seção, serão apresentados os protótipos das telas e dos relatórios da solução

proposta por este projeto.

3.2.1.1 Telas do Sistema Desenvolvido

Figura 33. Tela de Login

Login (Figura 33): tela inicial do sistema, o usuário informa seu e-mail e sua senha

para acessar o sistema.

73

Figura 34. Tela Principal

Tela principal do sistema (Figura 34): após a autenticação do usuário, o mesmo

tem acesso à tela principal do sistema. Algumas funcionalidades possuem restrição

conforme o tipo do usuário (Administrador, Técnico e Gerente).

74

Figura 35. Tela de Cadastro de Recursos

Cadastro de recursos (Figura 35): tela principal do cadastro de recursos. O usuário

tem a opção de pesquisar, incluir, alterar, consultar e excluir um recurso. Os

recursos podem ser utilizados nas etapas de um serviço (Figura 45) e/ou nas etapas

de uma tarefa (Figura 52).

75

Figura 36. Tela de Cadastro de Recursos modo inclusão

Cadastro de recursos (Figura 36): nesta tela o cadastro de recursos está em modo

de inclusão. Esta mesma tela é utilizada para edição dos recursos.

76

Figura 37. Tela de Cadastro de Usuários

Cadastro de usuários (Figura 37): tela principal do cadastro de usuários. O

administrador tem a opção de incluir, alterar e excluir um usuário. Os usuários

cadastrados possuem acesso ao sistema, e através do cadastro dos usuários é

possível identificar oque cada usuário fez no sistema.

77

Figura 38. Tela de Cadastro de Usuário modo inclusão

Cadastro de usuários (Figura 38): nesta tela o cadastro de usuário está em modo de

inclusão. Esta mesma tela é utilizada para edição dos usuários.

78

Figura 39. Tela de Cadastro de Clientes

Cadastro de clientes (Figura 39): tela principal do cadastro de clientes. O usuário

tem a opção de incluir, alterar, consultar e excluir um cliente. Para facilitar a

seleção de um registro, esta tela possui a seção “Pesquisa”, onde o usuário pode

pesquisar uma pessoa por código e/ou nome.

79

Figura 40. Tela de Cadastro de Clientes modo inclusão

Cadastro de pessoas (Figura 40): nesta tela o cadastro de pessoas está em modo de

inclusão. Esta mesma tela é utilizada para edição dos clientes.

80

Figura 41. Tela de Cadastro de Serviços

Cadastro de serviços (Figura 41): tela principal do cadastro de serviços. O usuário

tem a opção de incluir, alterar, consultar e excluir um serviço. Através desta tela o

usuário tem acesso às etapas do serviço. Para facilitar a seleção de um registro,

esta tela possui a seção “Pesquisa”, onde o usuário pode pesquisar um serviço por

código e/ou nome.

81

Figura 42. Tela de Cadastro de Serviços modo inclusão

Cadastro de serviços (Figura 42): nesta tela o cadastro de serviços está em modo

de inclusão. Esta mesma tela é utilizada para edição dos serviços.

82

Figura 43. Tela de Cadastro de Serviços modo consulta

Cadastro de serviço (Figura 43): nesta tela o usuário visualiza um serviço por

completo, seus dados e as etapas que o compõem.

83

Figura 44. Tela de Cadastro de Serviços Etapas

Cadastro de etapas do serviço (Figura 44): nesta tela o usuário tem a opção de

incluir, alterar, consultar e excluir uma etapa de um serviço. Através desta tela o

usuário tem acesso aos recursos de cada etapa (para consulta).

84

Figura 45. Tela de Cadastro de Serviços Etapas modo inclusão

Cadastro de etapas do serviço (Figura 45): nesta tela o cadastro de etapas de um

serviço está em modo de inclusão. Esta mesma tela é utilizada para edição das

etapas. Através desta tela o usuário tem acesso aos recursos de cada etapa. Para

adicionar um recurso a uma etapa, basta o usuário marcar os itens que desejar.

85

Figura 46. Tela de Cadastro de Tarefas

Cadastro de tarefas (Figura 46): tela principal do cadastro de tarefas. O usuário

tem a opção de incluir, alterar, consultar, imprimir, excluir, anexar documentos,

incluir horas trabalhas e incluir etapas. Para facilitar a seleção de um registro, esta

tela possui a seção “Pesquisa”, onde o usuário pode pesquisar uma tarefa por

código, status, responsável, cliente, emissão e data de entrega.

86

Figura 47. Tela de Cadastro de Tarefas modo inclusão

Cadastro de tarefas (Figura 47): nesta tela o cadastro de tarefas está em modo de

inclusão. Esta mesma tela é utilizada para edição das tarefas.

87

Figura 48. Tela de Cadastro de Tarefas modo consulta

Cadastro de tarefa (Figura 48): nesta tela o usuário consulta uma tarefa,

visualizando os seus dados e as etapas que a compõem. As etapas da tarefa são

exibidas graficamente, tornando mais fácil a leitura do status da tarefa e das etapas.

88

Figura 49. Tela de Impressão de Tarefas Pesquisa

Tela de pesquisa para impressão de tarefas (Figura 49): nesta tela o usuário

configura o filtro para pesquisa das tarefas que serão impressas.

89

Figura 50. Tela de Impressão de Tarefas

Impressão das tarefas (Figura 50): nesta tela o usuário visualiza o resultado da

pesquisa, e pode imprimir esta tabela.

90

Figura 51. Tela de Cadastro Tarefa Etapas

Etapas de uma tarefa (Figura 51): tela principal das etapas de uma tarefa. O

usuário tem a opção de incluir, editar, consultar, excluir, iniciar, pausar e concluir

uma etapa.

91

Figura 52. Tela de Cadastro de Tarefa Etapas modo inclusão

Cadastro de etapas tarefa (Figura 52): nesta tela o cadastro de etapas de uma tarefa

está em modo de inclusão. Esta mesma tela é utilizada para edição das etapas.

Através desta tela o usuário tem acesso aos recursos de cada etapa. Para adicionar

um recurso a uma etapa, basta o usuário marcar os itens que desejar.

92

Figura 53. Tela de Cadastro de Tarefa Horas

Cadastro de horas nas tarefas (Figura 53): nesta tela o cadastro de horas está em

modo de inclusão. O objetivo deste cadastro é armazenar as horas trabalhas pelos

técnicos em uma tarefa. Esta mesma tela será utilizada para edição das horas. Cada

registro de hora pertence a uma etapa da tarefa.

93

Figura 54. Tela de Cadastro de Tarefa Anexos

Cadastro de anexos nas tarefas (Figura 54): nesta tela o cadastro de anexos está em

modo de inclusão. Esta tela permite o usuário adicionar documentos a tarefa, como

textos, imagens ou qualquer outro arquivo que seja útil para a conclusão da tarefa.

94

Figura 55. Tela de Cadastro de Projetos

Cadastro de projetos (Figura 55): tela principal do cadastro de projetos. Nesta tela

o gerente tem a opção de incluir um novo projeto, editar, consultar, excluir, iniciar

e concluir. O gerente também tem a opção Painel, onde ele pode visualizar o

andamento dos projetos incluídos.

95

Figura 56. Tela de Cadastro de Projetos modo inclusão

Inclusão de projeto (Figura 56): nesta tela o cadastro de projetos está em modo de

inclusão. Esta tela também é utilizada na edição de um projeto.

96

Figura 57. Tela do Painel dos Projetos

Painel de projetos (Figura 57): esta tela permite o gerente visualizar o andamento

de todos os projetos incluídos. O painel disponibiliza três visões sobre o projeto.

No primeiro nível, o gerente tem as informações especificas do projeto. No

segundo nível estão as informações das tarefas pertencentes a um determinado

projeto, e por último são exibidas graficamente as etapas de cada tarefa.

97

Figura 58. Mensagens de Erro

Exibição das mensagens de erro (Figura 58): esta tela mostra como as mensagens

de erro são exibidas no momento de uma inclusão ou alteração, caso um campo

tenha sido preenchido erradamente ou deixado vazio.

3.2.1.2 Relatórios Gerenciais

Para dar suporte à tomada de decisões ao gestor sobre o setor de help desk da

ASSEINFO, o sistema conta os seguintes relatórios:

Número de atendimentos por técnico;

Número de atendimentos por serviço;

98

Número de atendimentos por cliente;

Etapas pendentes por técnico;

Tarefas atrasadas; e

Etapas.

Conforme o uso do sistema, o aumento da massa de dados, e o surgimento de novas

necessidades, os relatórios propostos poderão sofrer alterações, ou novos relatórios poderão

ser criados para suprir as necessidades do gestor.

Os relatórios 1, 2 e 3 contam com um comparativo entre períodos e com gráficos

explanando os resultados.

A seguir são listadas as telas dos relatórios gerenciais:

Figura 59. Tela dos Relatórios

Tela principal dos relatórios (Figura 59): nesta tela o gerente tem a opção de

escolher qual relatório irá visualizar.

99

Figura 60. Tela de Filtros

Tela de filtros dos relatórios (Figura 60): esta tela representa os filtros dos

relatórios. Antes de mandar gerar cada relatório, o gerente tem a opção de

configurar os filtros.

100

Figura 61. Relatório 01

Saída do Relatório 01 (Figura 61): este relatório exibe o número de atendimentos

realizados por técnico em um determinado período. O relatório também faz a

comparação entre o período pesquisa, o mês anterior e há um ano. Além da tabela

o relatório exibe os dados em forma de gráfico.

101

Figura 62. Relatório 02

Saída do Relatório 02 (Figura 62): este relatório exibe o número de tarefas

realizadas por serviço em um determinado período. O relatório também faz a

comparação entre o período pesquisa, o mês anterior e há um ano. Além da tabela

o relatório exibe os dados em forma de gráfico.

102

Figura 63. Relatório 03

Saída do Relatório 03 (Figura 63): este relatório exibe o número de tarefas

realizadas por cliente em um determinado período. O relatório também faz a

comparação entre o período pesquisa, o mês anterior e há um ano. Além da tabela

o relatório exibe os dados em forma de gráfico.

103

Figura 64. Relatório 04

Saída do Relatório 04 (Figura 64): este relatório exibe as etapas pendentes por

técnico. Através deste relatório o gerente sabe em quais tarefas e etapas os técnicos

estão trabalhando.

104

Figura 65. Relatório 05

Saída do Relatório 05 (Figura 65): este relatório exibe as tarefas atrasadas. Através

deste relatório o gerente sabe quais as tarefas que estão atrasadas e quais técnicos

estão trabalhando em cada uma.

105

Figura 66. Relatório 06

Saída do Relatório 06 (Figura 66): este relatório exibe as etapas das tarefas.

3.2.2 Tecnologias Utilizadas

O sistema proposto foi desenvolvido em Ruby on Rails, utilizando o banco de dados

SQLite em desenvolvimento e PostgreSQL para produção. Estas tecnologias foram escolhidas

pelas seguintes motivações:

O projeto está sendo desenvolvido para a empresa ASSEINFO, e a mesma vem

estudando estas tecnologias como possíveis novas tecnologias de desenvolvimento

da empresa.

Ruby é linguagem de programação interpretada e orientada a objetos, com o

objetivo de tornar a programação mais rápida, fácil e flexível (URUBATAN,

2009).

O framework Ruby on Rails é gratuito e de código aberto.

Contribuição para o conhecimento do aluno.

A escolha dos bancos de dados se deu pelas seguintes razões:

106

o O SQLite é o banco de dados padrão do Ruby on Rails, por ser leve e rápido

foi utilizado no desenvolvimento do sistema.

o O PostgreSQL por ser gratuito, mais conhecido e confiável está sendo

utilizado pelo sistema em produção.

o A mudança do banco de dados entre os ambientes de desenvolvimento e

produção, não influencia no desenvolvimento, nada é alterado, apenas um

arquivo de configuração.

3.2.2.1 Ruby

Ruby é uma linguagem de script, segundo Thomas e Hansson (2008) relativamente

simples, interpretada e totalmente orientada a objetos. Foi criada por Yukihiro Matsumoto,

sendo apresentada pela primeira vez em 1995.

Conforme a Caelum (2011), uma das principais características do Ruby é a

expressividade. Foi desenvolvido com o objetivo de ser uma linguagem muito simples de ler e

ser entendida, para facilitar o desenvolvimento e manutenção de sistemas escritos com ela.

Ruby é considerado uma linguagem pura de orientação a objetos, onde tudo no Ruby é

objeto, inclusive as classes. A linguagem Ruby é totalmente livre, sendo gratuita para utilizar

e modificá-la, e altamente portável, podendo ser utilizada em diversos sistemas operacionais,

tais como Linux, Mac OS e Windows.

3.2.2.2 Rails

Ruby on Rails ou somente Rails é um framework de desenvolvimento web,

desenvolvido por David Heinemeier Hansson para usar em um de seus projetos. O Rails foi

criado pensando na agilidade e praticidade para desenvolver aplicativos para Web.

Segundo a Caelum (2011), o Rails possui como pilares os conceitos de DRY (Don’t

Repeat Yourself), e CoC (Convention over Configuration). O conceito de DRY diz que não se

deve repetir código, mas sim modularizá-lo, já o conceito de CoC diz que só devemos precisar

fazer configurações em casos excepcionais.

Os aplicativos Rails são escritos em Ruby, com suporte integrado para o

desenvolvimento de testes, e são baseados na arquitetura MVC.

Thomas e Hansson (2008) explanam:

Desenvolvedores em Java estão acostumados com frameworks como Trapestry e Struts, que se baseiam no MVC. Mas o Rails leva o MVC ainda mais longe: quando

107

você desenvolve no Rails, há um lugar para cada fragmento de código, e todas as partes do seu aplicativo interagem de uma maneira padrão. É como se você iniciasse com o esqueleto de um aplicativo já preparado.

Ao iniciar o desenvolvimento de um aplicativo em Rails, você está começando com a

metade do aplicativo realmente bom já pronto (THOMAS; HANSSON, 2008).

3.2.2.3 SQLite

A SQLite.org (2012) define o SQLite como uma ferramenta, ou biblioteca, de

manipulação de dados através de instruções SQL (Structured Query Language), que pode ser

integrada a programas desenvolvidos em diversas linguagens de programação.

Segundo a SQLite.org (2012) o SQLite possui o código fonte aberto, seu uso é

gratuito, e é o mecanismo de banco de dados mais utilizado no mundo. Atualmente

encontrasse na versão 3.7.12 e é o banco de dados escolhido por padrão pelo Rails.

Abaixo algumas das principais características do SQLite, conforme o SQLite.org

(2012):

Transações são atômicas, consistentes, isoladas e duráveis, mesmo depois de

falhas no sistema e falhas de energia.

Implementa a maioria das SQL92.

Banco de dados completo em um único arquivo.

Capacidade de armazenar Terabytes.

Mais rápido para a maioria das operações comuns em relação a outros bancos.

Multi-plataforma.

Fontes estão em domínio público.

3.2.2.4 PostgreSQL

O PostgreSQL.org.br (2012) define o banco de dados PostgreSQL como:

[...] um poderoso sistema gerenciador de banco de dados objeto-relacional de código aberto. Tem mais de 15 anos de desenvolvimento ativo e uma arquitetura que comprovadamente ganhou forte reputação de confiabilidade, integridade de dados e conformidade a padrões.

108

Ainda segundo o PostgreSQL.org.br (2012), o PostgresSQL roda em vários sistemas

operacionais, tais como GNU/Linux, Mac OS X, e MS Windows. Possui suporte completo a

chaves estrangeiras, joins, views, triggers, e procedures. Suporta armazenamento de objetos, e

possui interfaces nativas de programação em Java, C/C++, Ruby entre outras.

3.2.3 Ambiente

Para o desenvolvimento da aplicação, foi adotado o ambiente Linux, por disponibilizar

um poderoso terminal, já que as ações no Ruby on Rails são facilmente executadas através do

mesmo. Foi utilizado o sistema operacional Ubuntu 10.04, por ser de fácil instalação e poder

ser instalado a partir do sistema operacional Windows.

O sistema foi desenvolvido utilizando a linguagem de programação Ruby 1.9.3, e o

framework Rails 3.2.3.

Como ferramenta de desenvolvimento, foi utilizado a IDE NetBeans 6.9.

Durante o desenvolvimento foi utilizado a ferramenta Git para controle de versão,

Github para hospedar o código fonte e o servidor Heroku para hospedar a aplicação em

produção.

3.2.4 Programação

O sistema foi desenvolvido com base no projeto elaborado na primeira etapa do TTC,

utilizando a linguagem de programação Ruby on Rails. O sistema é totalmente orientado a

objetos e foi desenvolvido utilizando a arquitetura MVC (Figura 67).

109

Figura 67. Arquitetura MVC Fonte: BRIZENO (2012).

Durante o desenvolvimento foram seguidos os padrões de desenvolvimento sugeridos

pelo Ruby on Rails, como por exemplo, a organização e nomenclatura de arquivos e pastas.

Conforme o RailsGuides (2012) os arquivos de modelo e controle são scripts Ruby

(.rb), já os arquivos de visões (telas) possuem extensões em sequencia .html.erb, que indica

que estes arquivos são HTML com código Ruby embutido (Embed Ruby - .erb).

Abaixo o Quadro 1 mostra um arquivo .rb, e o Quadro 2 mostra um arquivo .html.erb:

# encoding: UTF-8 class Pessoa < ActiveRecord::Base belongs_to :usuario has_many :tarefas, class_name: 'Tarefa', foreign_key: 'cliente_id', dependent: :restrict has_many :projetos, class_name: 'Projeto', foreign_key: 'cliente_id', dependent: :restrict validates_associated :usuario validates :nome, presence: true validates_format_of :email, with: /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\Z/i def codigo_nome "#{id} - #{nome}" end scope :pesquisar_por_id, lambda { |id| where("id = :i", i: id) }

110

scope :pesquisar_por_nome, lambda { |nome| where("upper(nome) LIKE upper(:n)", n: "%#{nome}%") } end

Quadro 1. Modelo Pessoa – pessoa.rb

<div> <div> <ul> <li><%= link_to "Lista", pessoas_path %></li> <li><%= link_to "Novo", new_pessoa_path %></li> </ul> </div> <div> <h2> Cliente </h2> <div> <%= form_for :pessoa, url: pessoas_path do |f| %> <%= render partial: "form", locals: {f: f} %> <% end %> </div> </div> </div>

Quadro 2. Visão Nova Pessoa – new.html.erb

A seguir, a Figura 68 representa o diretório do projeto, estruturada pelo Ruby On Rails

para auxiliar no desenvolvimento.

Figura 68. Diretório principal

111

Figura 69. Diretório app

Em app (Figura 69) temos a pasta models para os modelos, controllers para os

controles, e views, onde que para cada controle, existe uma pasta com o mesmo nome para as

visões. Na pasta assets são armazenadas as imagens, os arquivos de CSS (Cascading Style

Sheets) e os arquivos JavaScript. Em mailers estão armazenados os arquivos responsáveis

pelo envio de e-mails pelo sistema. A pasta helpers é responsável por armazenar arquivos

Ruby que são utilizados pelas views. As demais pastas do diretório (Figura 68) são utilizadas

para a configuração da aplicação, destacando-se a pasta config e a pasta db.

112

Figura 70. Diretório config

Na pasta config (Figura 70), encontram-se os arquivos que configuram o sistema

conforme seu ambiente de desenvolvimento, teste ou produção, e o arquivo de rotas (Quadro

3), responsável pela configuração e geração das URLs (Uniform Resource Locator) do

sistema.

Helpdesk::Application.routes.draw do match '/relatorios/' => "relatorios#index", as: :relatorios match '/relatorios/gerar' => "relatorios#gerar", as: :gerar match '/relatorios/01' => "relatorios#index_01", as: :index_01 match '/relatorios/01/saida' => "relatorios#saida_01", as: :saida_01 #... resources :projetos do match 'iniciar/' => "projetos#iniciar", as: :iniciar match 'concluir/' => "projetos#concluir", as: :concluir end match 'painel_projetos/' => "projetos#painel", as: :painel_projetos resources :recursos

113

resources :clientes, as: :pessoas, controller: :pessoas resources :usuarios, except: [:show] devise_for :usuarios, path: '', path_names: {sign_in: "login", sign_out: "logout"} match 'home/' => "pages#index", as: :index root to: "pages#index"

Quadro 3. Arquivo de rotas – routes.rb

Figura 71. Diretório db

A pasta db (Figura 71) , armazena os arquivos referentes ao banco de dados, nesta

pasta fica armazenado o próprio banco de dados, o arquivo seeds.rb (Quadro 4), utilizado para

iniciação do banco de dados, e a subpasta migrate, onde são armazenados todos os arquivos

que modificam o banco de dados com criação, e exclusão de tabelas e campos.

# This file should contain all the record creation needed to seed the database with its default values. # The data can then be loaded with the rake db:seed (or created alongside the db with db:setup). Usuario.create!(

114

:nome_completo => "Admin", :tipo => "A", :email => "[email protected]", :password => "xxxxxx", :password_confirmation => "xxxxxx" )

Quadro 4. Arquivo de inicialização – seeds.rb

A seguir o Quadro 5 representa um arquivo de migração, que possui em seu nome a

data, hora, minuto e segundo de sua criação, juntamente com a ação que a migração irá aplicar

no banco de dados.

class CreateUsuarios < ActiveRecord::Migration def change create_table :usuarios do |t| t.string :nome_completo t.string :tipo t.timestamps end end end

Quadro 5. Criação da tabela Usuários - 20120413163221_create_usuarios.rb

3.2.4.1 Scaffold

Segundo o RailsGuides (2012), o Rails possui um gerador de código básico,

denominado Scaffold (Andaime). Como o próprio nome já diz, o Rails disponibiliza uma

base, um “andaime” para o desenvolvimento de uma aplicação.

Ainda conforme o RailsGuides (2012), o scaffold do Rails é um modo rápido para

gerar algumas das partes principais de uma aplicação. Pode-se criar models, views e

controllers para um novo recurso em uma única operação. O que o scaffold do Rails faz é

apenas criar um CRUD (Create Read Update Delete) para um novo recurso da aplicação, com

o model, controller e as views.

Abaixo no Quadro 6, temos um exemplo de um comando para a criação de um novo

recurso de uma aplicação com o scaffold. Este comando é executado via terminal, e gera um

modelo (Pessoa), um controle (PessoasController), e as visões (Índice, Novo, Edição,

Consulta e Exclusão).

$ rails generate scaffold pessoa nome:string idade:integer

Quadro 6. Comando scaffold no Rails

115

3.3 TESTES E AVALIAÇÃO

O sistema proposto foi avaliado pelos usuários finais do sistema, que são os técnicos e

gerente do help desk da ASSEINFO, conhecedores do help desk da ASSEINFO e dos

principais problemas enfrentados no mesmo.

Durante o processo de desenvolvimento foram realizados testes individuais no

sistema, e neste processo foram coletadas informações com os técnicos e gerente visando

garantir a qualidade do sistema desenvolvido e sua usabilidade.

Após o término do desenvolvimento, o sistema foi disponibilizado para testes a

avaliações por parte dos técnicos e do gerente da ASSEINFO. Esta etapa durou aproximada

de 2 semanas, acontecendo em duas fazes.

A primeira fase ocorreu em modo de homologação, onde os usuários conheceram a

nova ferramenta de trabalho. Os usuários avaliaram o desempenho, a usabilidade, e se as

funcionalidades do sistema suprem suas necessidades.

A segunda fase ocorreu em modo de produção, onde o sistema foi inserido em pleno

ambiente de trabalho. Os usuários avaliaram os mesmos itens da primeira fase, com o

diferencial de estarem efetuando atendimentos reais.

Durante as avaliações os usuários também consideraram os requisitos funcionais, não

funcionais, e as regras de negócio.

Após os testes e avaliações, foi realizada uma reunião com todos os envolvidos no

processo. Foram encontrados alguns problemas em relação à usabilidade, onde os ícones não

possuíam uma identificação. Outro problema encontrado foi erros no envio de e-mail através

do sistema. Os erros citados foram analisados e corrigidos.

Também foram feitas sugestões em relação ao cadastro de cliente que poderia ter mais

campos. Devido ao pouco tempo disponível esta sugestão será implementada posteriormente.

Na visão do gerente, o novo sistema está cumprindo com o esperado e substitui o

sistema anterior com eficiência. As funcionalidades do sistema são fáceis e ágeis de se

utilizar. Trouxe para a ASSEINFO, um melhor controle das execuções das tarefas, melhor

comunicação entre os técnicos de uma tarefa, previsão dos trabalhos, e controle para evitar

atrasos. Com o uso do sistema, os relatórios permitem acompanhar melhor o setor de help

desk.

Ainda segundo o gerente de help desk da ASSEINFO, o novo sistema é mais flexível a

mudanças. Conforme as necessidades forem surgindo novas funcionalidades poderão ser

implementadas para auxiliar o help desk. Espera-se que os itens indicados em trabalhos

116

futuros sejam implementados em um curto prazo, e que futuramente o sistema possa apontar

os momentos críticos do help desk e seus motivos.

Com o uso do novo sistema foi observado mudanças positivas na interação entre

ASSEINFO e seus clientes. Após a venda de duas novas licenças do ISA ERP, o setor de

vendas estipulou um prazo para cada um dos novos clientes, e utilizou o novo sistema para

gerenciar a implantação dos mesmos. Foram criados dois novos projetos, com as tarefas e as

etapas configuradas para os técnicos. Sem intervenção do setor de vendas e do gerente, as

etapas foram sendo executadas ao término da anterior, devido ao gerenciamento do workflow.

Os clientes receberam a implantação e o treinamento do sistema nos prazos previstos. Assim

foi adquirida a confiança dos clientes, que viram que a ASSEINFO cumpriu o proposto.

117

4 CONCLUSÕES

Este projeto teve como objetivo o desenvolvimento de uma aplicação web, utilizando

a tecnologia workflow e sistema de informação gerencial, para solucionar os problemas

enfrentados pela ASSEINFO com seu setor de help desk.

Através das pesquisas realizadas e expostas na primeira fase do projeto, foi possível

adquirir conhecimento teórico necessário para o desenvolvimento do mesmo. Nesta segunda

fase do projeto foram posto em prática os conhecimentos adquiridos e realizado o

desenvolvimento o projeto anteriormente proposto. O sistema foi desenvolvido conforme a

modelagem proposta.

Ao final da implementação e implantação do sistema, foi possível observar que os

objetivos propostos foram alcançados. Os primeiros testes apresentaram resultados positivos,

sendo observados que o controle de horas trabalhadas está sendo mais preciso, com o controle

de inicio, pausa e conclusão de uma etapa. A inclusão de tarefas está facilitada. O controle de

projetos será muito importante para as decisões do gerente, que agora consegue observar o

trabalho de seus técnicos.

A grande mudança observada e aceita pelo gerente e técnicos foi a utilização do

sistema com o funcionamento do workflow, melhorando a comunicação e interação entre

vários técnicos em uma mesma tarefa.

De um modo geral, a ferramenta foi aceita pelos usuários e a aprovaram como nova

ferramenta de trabalho.

4.1 Dificuldades Encontradas

As principais dificuldades enfrentadas durante o desenvolvimento do sistema

estiveram relacionadas com o novo ambiente de desenvolvimento. A primeira dificuldade foi

se adaptar ao ambiente Linux, e trabalhar com linhas de comando ao invés de interfaces

gráficas. Depois de se adaptar com o Linux e conseguir instalar o ambiente Ruby on Rails de

desenvolvimento, surgiu a maior dificuldade, que foi o estudo de uma nova linguagem de

programação com framework, no caso Ruby on Rails, voltados para web, com metodologias e

conceitos novos, desconhecidos até então pelo autor deste projeto. Esta fase de aprendizado

durou aproximadamente dois meses, e foi superada através de cursos online, apostilas,

118

documentação da linguagem, prática de exercícios e o desenvolvimento de aplicações de

testes.

4.2 Trabalhos Futuros

Durante a produção e após a conclusão deste projeto, foi possível constatar possíveis

melhorias que poderão agregar valores ao sistema desenvolvido.

Recomenda-se os seguintes tópicos:

Mensageiro: Inclusão de um mensageiro dentro da aplicação para que todas as

conversas possam ser armazenadas automaticamente no sistema, podendo auxiliar

os técnicos nas resoluções das tarefas. Para a criação de tal ferramenta deve-se

estudar os mensageiros existentes como, por exemplo, Windows Live Messenger,

GTalk, e o Mensageiro do Facebook, e verificar qual a melhor solução para a

ASSEINFO.

Alocação de recursos: A ferramenta atual já possui um cadastro de recursos com

integração à execução das tarefas. Esta funcionalidade pode ser alterada para se

integrar com o cadastro de técnicos, criando assim recursos material e trabalho.

Com essa integração, as seguintes evoluções poderão ser feitas:

o Criar alocação de recursos: será possível saber se um recurso está agendado, ou

se um técnico já tem uma tarefa, ou quando o técnico irá executar determinada

tarefa;

o Controle de custos: cada recurso poderá possuir um valor por hora alocado,

assim o gerente saberá o valor gasto em uma etapa, em uma tarefa e em um

projeto.

119

REFERÊNCIAS BIBLIOGRÁFICAS

BOMFIM, Maurício N. da C. Integração automática de aplicações externas em um ambiente de aprendizagem apoiado na web 2.0. 2009. 223 f. Dissertação (Mestrado em Informática) – Universidade Federal do Rio de Janeiro, Rio de Janeiro, 2009.

BRAZIP. Brazip mySuite. 2012. Disponível em: <http://www.brazip.com.br/mysuite/paginas/produto.php>. Acesso em: 12 maio. 2012.

BRIZENO. Rails básico: MVC, scaffold e migrations. 2012. Disponível em: <http://brizeno.wordpress.com/tag/rails>. Acesso em: 15 maio. 2012.

CAELUM ENSINO E INOVAÇÃO. RR-71 Desenvolvimento Ágil para Web 2.0 com Ruby on Rails. Disponível em: <http://www.caelum.com.br/download/caelum-ruby-on-rails-rr71.pdf>. Acesso em: 20 out. 2011.

CAMARGO, Daniel A. de Oliveira. Estudo das técnicas de desenvolvimento web e validação deste estudo com um portal para recicladores e produtores de reciclados. Anuário da Produção de Iniciação Científica Discente. Valinhos, v. 12, n. 14, p. 425-450, 2009.

CONALLEN, Jim. Desenvolvimento de aplicações Web com UML. 2. ed. Rio de Janeiro: Campus, 2003.

CRUZ, Tadeu. Workflow: a tecnologia que vai revolucionar processos. 2. ed. São Paulo: Atlas, 2000.

FOWLER, Martin. UML essencial: um breve guia para a linguagem-padrão de modelagem de objetos. 3. ed. Porto Alegre: Bookman, 2005.

ITGI - IT GOVERNANCE INSTITUTE. COBIT 4.1. 2007. Disponível em:<http://www.isaca.org/Knowledge-Center/cobit/Documents/CobiT_4.1.pdf> Acesso em: 02 out. 2011.

KRAEMER, Alessandro. Sistema de workflow em tempo real para usuários móveis utilizando recursos de voz. 2004. 109 f. Dissertação (Pós-Graduação em Informática Aplicada) - Pontifícia Universidade Católica do Paraná, Curitiba, 2004.

LAUDON, Kenneth C.; LAUDON, Jane P. Sistemas de informações gerenciais: administrando a empresa a empresa digital. 5. ed. São Paulo: Prentice Hall, 2004.

LAUDON, Kenneth C.; LAUDON, Jane P. Sistemas de informações gerenciais. 7. ed. São Paulo: Pearson Prentice Hall, 2007.

MAGALHÃES, Ivan Luizio. Gerenciamento de serviços de TI na prática: uma abordagem com base na ITIL. São Paulo: Novatec Editora, 2007.

MARTINS, Márcia M. G. Gerenciamento de Serviços em TI: Uma proposta de integração de processos de melhorias e gestão de serviços. 2006. 163 f. Dissertação (Mestrado em Engenharia Elétrica) – Universidade de Brasília, Faculdade de Tecnologia, Departamento de Engenharia Elétrica, Distrito Federal, 2006.

120

MOREIRA, Manoel P. Disseminação e democratização da informação: a experiência da Central RHAtende. 1998. 203 f. Dissertação (Mestrado em Ciência da Informação) – Universidade Federal de Minas Gerais, Belo Horizonte, 1998.

O’BRIEN, James A. Sistemas de Informação e as decisões gerenciais na era da Internet. 2. ed. São Paulo: Saraiva, 2004.

O’BRIEN, James A.; MARAKAS, George M. Administração de sistemas de informação: uma introdução. 13. ed. São Paulo: McGraw-Hill, 2007.

PEREIRA, Júlio C. L. Necessidade, Busca e Uso da Informação: estudo de caso em um setor de help desk de indústria cimenteira multinacional. 2008. 129 f. Dissertação (Mestrado em Ciência da Informação) – Universidade Federal de Minas Gerais, Belo Horizonte, 2008.

POSTGRESQL.ORG.BR. PostgreSQL. 2012. Disponível em: <http://www.postgresql.org.br/sobre>. Acesso em: 12 maio. 2012.

PRADO, Roberto L. R. A ampliação do valor de uma empresa através da adoção de um novo modelo: o cloud computing. 2010. 54 f. Monografia (Programa de pós-graduação MBIS) – Pontifícia Universidade Católica de São Paulo, São Paulo, 2010.

RAILSGUIDES, Ruby on Rails Guides (v3.2.3). 2012. Disponível em: < http://guides.rubyonrails.org/>. Acesso em: 10 maio. 2012.

SETRION. Milldesk Help Desk. 2010. Disponível em: <http://www.setrion.com.br/web/produtos/milldesk-help-desk>. Acesso em: 12 maio. 2012.

SOUZA, Ricardo Araújo de; CARDOSO, André Lima. UML Aplicada: da Teoria à Implementação. 1. ed. Rio de Janeiro: Ciência Moderna, 2007.

SQLITE.ORG. SQLite. 2012. Disponível em: <http://sqlite.org/docs.html>. Acesso em: 13 maio. 2012.

STAIR, Ralph M.; REYNOLDS, George W. Princípios de sistemas de informação: uma abordagem gerencial. 6. ed. São Paulo: Cengage Learning, 2008.

SYSAID IT. Online SysAid Demo. 2012. Disponível em: <http://www.ilient.com/online-demo.htm>. Acesso em: 13 maio. 2012.

THIVES JR, Juarez Jonas. Workflow: uma tecnologia para a transformação do conhecimento nas organizações. 2. ed. Florianópolis: Insular, 2001.

THOMAS, Dave; HANSSON, David Heinemeier. Desenvolvimento Web ágil com Rails. 2. ed. Porto Alegre: Bookman, 2008.

URUBATAN, Rodrigo. Ruby on Rails: desenvolvimento fácil e rápido de aplicação Web. 1. ed. São Paulo: Novatec Editora, 2009.

VOYAGER BUSINESS TECHNOLOGY. Normas, Metodologias e Framework. 2011. Disponível em: <http://www.voyager.srv.br/site/?p=produtos&c=normas>. Acesso em: 15 maio. 2012.