SlideShare uma empresa Scribd logo
1 de 62
SERVIÇO NACIONAL DE APRENDIZAGEM INDUSTRIAL
               SENAI SÃO JOSÉ


          TÉCNICO EM INFORMÁTICA




          FRG GESTÃO DE CLIENTES




             FELIPE KRÁS BORGES
              RODRIGO DA SILVA




          Trabalho de Conclusão de Curso




                   São José - SC
                       2011
FELIPE KRÁS BORGES
  RODRIGO DA SILVA




FRG GESTÃO DE CLIENTES




            Trabalho de Conclusão de Curso apresentado
            ao Curso Técnico em Informática do Serviço
            Nacional de Aprendizagem Industrial São José
            - SC como requisito parcial para conclusão do
            curso.




            Professor Orientador Matheus Meira




      São José - SC
          2011
“Aos meus pais Carlos Augusto e Beth pelo
seu amor e incentivo. Em especial, a minha
grande amiga Liliane Yuki Nakagawa que me
apoiou em todos os momentos desta etapa da
minha vida e compartilhou comigo os
momentos de dificuldade e alegria. Também
ao amigo Rodrigo pelo seu empenho e
dedicação.”
(Felipe Krás Borges)



“Dedico este trabalho aos meus pais, pelo
amor, carinho, compreensão e exemplo de
vida. À minha esposa Íris, pelos momentos em
que estive ausente e pelo amor que
continuamos cultivando dia a dia. Ao amigo
Felipe pelo apoio e amizade durante essa
importante conquista.” (Rodrigo Silva)
LISTA DE ABREVIATURAS E SIGLAS




API – Application Programming Interfaces (Interface de Programação de Aplicativos)


AJAX – Asynchronous Java Scriptand XML


BD – Banco de Dados


CRM – Customer Relationship Management


CSS – Cascading Style Sheets


DAO – Data Access Object


DOM – Document Object Model


EA – Enterprise Architect


ER – Entidade Relacionamento


HTML – Hypertext Markup Language (Linguagem de Marcação de Hipertexto)


HTTP – Hypertext Tranfer Protocol (Protocolo de Transferência de Hipertexto)


IBM – International Business Machines


IP – Internet Protocol (Protocolo de Interconexão)


J2EE – Java 2 Enterprise Edition


J2EE – Java 2 Enterprise Edition


J2ME – Java 2 Micro Edition
JB – JavaBeans


JDBC – Java Database Connectivity


JRE – Java Runtime Enviroment


JSP – Java Server Pages


MVC – Model View Controller


ODBC – Open Database Connectivity


PDF – Portable Document Format


SGBD – Sistema Gerenciador de Bancos de Dados


SGDBR – Sistema Gerenciador de Bancos de Dados Relacional


SQL – Structured Query Language


TCP – Transmission Control Protocol (Protocolo de Controle de Transmissão)


HTTP – Hypertext Transfer Protocol (Protocolo de Transferência de Hipertexto)


IDE - Integrated Development Envoronment


UML – Unified Modeling Language


XML – Extensible Markup Language


XHTML – eXtensible Hypertext Markup Language


WEB – World Wide Web (Rede de Alcance Mundial)
LISTA DE ILUSTRAÇÃO



Figura 1: Atores: Vendedor e Administrador.......................................................................... 21

Figura 2: Esquema Cadastros Auxiliares..................................................................................22

Figura 3: Esquema Atendimento...............................................................................................23

Figura 4: Tela de Login.............................................................................................................24

Figura 5: Tela Registro de Atendimento...................................................................................24

Figura 6: Tela Listagem de Atendimento.................................................................................25

Figura 7: Tela Gerenciamento de Atendimento........................................................................27

Figura 8: Tela Registro de Proposta..........................................................................................29

Figura 9: Tela Registro de Visitas.............................................................................................30

Figura 10: Tela Gerenciamento de Proposta.............................................................................31

Figura 11: Tela Gerenciamento de Visita.................................................................................32

Figura 12: Tela Cadastro de Clientes........................................................................................33

Figura 13: Tela Gerenciamento do Cliente...............................................................................34

Figura 14: Tela Cadastro de Funcionário..................................................................................35

Figura 15: Tela Gerenciamento de Funcionário.......................................................................36

Figura 16: Tela Cadastro de Produtos.......................................................................................37

Figura 17: Tela Listagem de Produtos......................................................................................38

Figura 18: Tela Gerenciamento de Produtos.............................................................................38

Figura 19: Tela Cadastro de Serviços.......................................................................................37

Figura 20: Tela Listagem de Serviços......................................................................................38

Figura 21: Tela Gerenciamento de Serviços.............................................................................38

Figura 22: Tela Listagem de Clientes.......................................................................................39

Figura 23: Tela Listagem de Funcionários...............................................................................40

Figura 24: Vinculação de Produto ao Cliente...........................................................................39
Figura 25: Vinculação de Serviço ao Cliente...........................................................................39

Figura 26: Infográfico Estrutura da Aplicação.........................................................................43
SUMÁRIO



1 INTRODUÇÃO ................................................................................................................... 11
   1.2 JUSTIFICATIVA ........................................................................................................... 12
   1.3 OBJETIVOS ................................................................................................................... 12
   1.3.1 Objetivo geral ............................................................................................................. 12
   1.3.2 Objetivos específicos .................................................................................................. 12
2 DESENVOLVIMENTO...................................................................................................... 13
   2.1 FERRAMENTAL TÉCNICO ........................................................................................ 13
   2.1.1 Enterprise Architect .................................................................................................. 13
   2.1.2 GanttProject ............................................................................................................... 14
   2.1.3 Pgadmin ...................................................................................................................... 14
   2.1.4 DBDesigner ................................................................................................................ 15
   2.1.5 Eclipse ......................................................................................................................... 15
   2.1.6 ANT ............................................................................................................................. 16
   2.2 TECNOLOGIAS ............................................................................................................ 16
   2.2.1 PostgreSQL ................................................................................................................ 17
   2.2.2 Jquery ......................................................................................................................... 17
   2.2.3 JavaScript ................................................................................................................... 18
   2.2.4 Tomcat ........................................................................................................................ 19
   2.2.5 Java ............................................................................................................................. 19
   2.2.6 Servlet ......................................................................................................................... 20
   2.2.7 JDBC ........................................................................................................................... 21
   2.2.8 JSP .............................................................................................................................. 22
   2.2.9 HTML ......................................................................................................................... 23
   2.2.10 AJAX ........................................................................................................................ 23
   2.3 PADRÕES DE PROJETO.............................................................................................. 24
   2.3.1 MVC............................................................................................................................ 24
   2.3.2 DAO ............................................................................................................................ 25
   2.4 MERCADO .................................................................................................................... 25
3 PROCEDIMENTOS METODOLÓGICOS ..................................................................... 27
4 APRESENTAÇÃO DO SISTEMA - FRG GESTÃO DE CLIENTES .......................... 27
   4.1 ATORES......................................................................................................................... 27
   4.1.1 Administrador ............................................................................................................ 28
   4.1.1 Vendedor .................................................................................................................... 28
   4.2 MÓDULOS .................................................................................................................... 28
   4.2.1 Cadastros Auxiliares ................................................................................................. 29
   4.2.2 Atendimento ............................................................................................................... 30
   4.3 MODELO DE NEGÓCIOS ........................................................................................... 30
   4.4 INTERFACES ................................................................................................................ 31
   4.4.1 Login ........................................................................................................................... 33
   4.4.2 Registro de atendimento ........................................................................................... 32
   4.4.3 Listagem de atendimentos......................................................................................... 33
   4.4.4 Gerenciamento de atendimento ................................................................................ 34
   4.4.5 Registro de proposta.................................................................................................. 35
   4.4.6 Registro de visita ........................................................................................................ 36
   4.4.7 Gerenciamento de proposta ...................................................................................... 37
   4.4.8 Gerenciamento de visita ............................................................................................ 38
4.4.9 Cadastro de cliente .................................................................................................... 39
  4.4.10 Gerenciamento de cliente ........................................................................................ 40
  4.4.11 Cadastro de funcionário .......................................................................................... 41
  4.4.12 Gerenciamento de funcionário ............................................................................... 42
  4.4.13 Cadastro de produtos .............................................................................................. 43
  4.4.14 Listagem de produtos .............................................................................................. 44
  4.4.15 Gerenciamento de produtos.................................................................................... 45
  4.4.16 Cadastro de serviços ................................................................................................ 46
  4.4.17 Listagem de serviços ................................................................................................ 46
  4.4.18 Gerenciamento de serviços ..................................................................................... 46
  4.4.21 Listagem de clientes ................................................................................................. 50
  4.4.20 Listagem de funcionários ........................................................................................ 50
  4.4.21 Vinculação de produto ao cliente ........................................................................... 50
  4.4.22 Vinculação de serviço ao cliente ............................................................................. 50
  4.5 ARQUITETURA TECNOLÓGICA .............................................................................. 52
  4.6 CONSIDERAÇÕES SOBRE O DESENVOLVIMENTO ............................................. 54
5 CONCLUSÕES FINAIS ..................................................................................................... 55
6 REFERÊNCIAS BIBLIOGRÁFICAS .............................................................................. 57
RESUMO


O presente trabalho tem por objetivo descrever os mecanismos de desenvolvimento de uma
empresa fictícia de gestão, utilizando-se de ferramentas técnicas de programação. A FRG
Gestão de Clientes, software desenvolvido destinado à plataforma Web, visa demonstrar
respostas possíveis através de usos e simulações do que é provável ocorrer com cada
procedimento tomado e o espaço mercadológico reservado a ele ao decorrer da história da sua
existência. Vários testes foram realizados para com função essencialmente experimental
baseando-se principalmente no exercício do CRM. O programa segue facilidades de
atendimentos em função das necessidades de empresa de pequeno, médio e grande porte, as
quais adotam o controle das relações com os clientes e prospects. O foco principal deste
programa está no aperfeiçoamento de fidelização empresa-cliente, aspecto o qual singulariza
cada cliente na opção de atendimento.


Palavras-chaves: CRM. Java. Web.




                                                                                        10
1 INTRODUÇÃO


       A plataforma Web é a tecnologia utilizada para administrar as informações da internet.
Muitas ferramentas que existem fora dos browsers são criadas nesta plataforma e para
determinada tecnologia integrar-se é preciso que ela interaja com o conteúdo da Web
(O’CONNOR, 2009). Ela consiste basicamente em possuir sistemas que funcionem através de
browsers e navegação. Os softwares também exercem função por meio da internet,
possibilitando que vários programas sejam integrados formando uma grande plataforma
(WEBROOM, 2011). A facilidade é relacionada ao uso sem a necessidade de instalação,
diferentemente de uma aplicação desktop, cujo acesso encontra-se limitado impedindo que
haja comunicação entre computadores da rede.
       No início a Web era utilizada para o envio de e-mails e mensagens instantâneas, o que
proporcionava melhor comunicação entre funcionários, fornecedores e clientes de empresas
que dispusessem da tecnologia (FREITAS, 2008, p. 5). Devido à expansão da internet, com o
surgimento de novas tecnologias Web, foi possível a criação de sistemas voltados para o
comércio eletrônico (ADELINO, 2003).
       O presente trabalho trata-se do desenvolvimento de um sistema CRM (Customer
Relationship Manager). O CRM é uma técnica de gerenciamento de clientes. O objetivo do
software é gerenciar todas as relações da empresa com o cliente e prospects, armazenando e
inter-relacionando de forma inteligente, informações sobre suas atividades e interações com a
empresa através de uma aplicação Web. Na análise sobre CRM no mercado brasileiro, Júnior
(2005 apud Peppers, 2003, p. 3) mostraram que a maior parte das empresas pesquisadas não
possuem um software formal de relacionamento, e que a maioria destas declararam que
pretendem implementar a técnica nos próximos anos. O CRM deve ser utilizado pelas
empresas que desejam tornar o cliente leal aos seus serviços e produtos. A técnica permite que
a empresa dê respostas personalizadas aos clientes, antecipando suas necessidades,
contribuindo com os negócios. Outra vantagem do CRM é fornecimento de estatísticas para
quais segmentos da empresa oferecem maior retorno.
       Para ilustrar sobre o funcionamento de uma empresa usuária de CRM foi criada a FR –
Gestão de Clientes, voltado para plataforma Web, sistema o qual, de forma genérica, é
utilizado por empresas sem filiais de qualquer porte ou segmento. O comércio é tratado por
                                                                                        11
meio de planos mensais e em vias de aplicações de taxas de implantação. O software é
capacitado a gerenciar clientes, funcionários, serviços, produtos, auxiliando no registro de
atendimentos, bem como descrever propostas e/ou visitas. Também é possível vincular
produtos e/ou serviços aos clientes, assim como listar atendimentos.



1.1 PROBLEMA DE PESQUISA



       Como desenvolver um CRM sob a plataforma Web que possibilite o gerenciamento de
atendimentos, visitas e propostas aos clientes?



1.2 JUSTIFICATIVA


       O FRG será desenvolvido para atender as necessidades de empresas que desejam ter
controle das relações com os próprios clientes e prospects, proporcionando-lhes através de
atendimentos, a comunicação e fidelidade. O sistema possibilita o gerenciamento de propostas
e visitas dentro dos atendimentos, o que proporciona maior controle das atividades comerciais
e de pós-venda.



1.3 OBJETIVOS


       Abrangem itens pertinentes, gerais e específicos, do trabalho realizado pela equipe
FRG Gestão de Clientes. Os objetivos são as partes conducentes das linhas tomadas pela
pesquisa, por meio destas, viabilizou-se a discussão base sobre o tema, agora, delimitada.



1.3.1 Objetivo geral


       Desenvolver um CRM sob a plataforma Web que possibilite o gerenciamento de
atendimentos, visitas e propostas aos clientes.



1.3.2 Objetivos específicos


                                                                                             12
Realizar um estudo sobre CRM;
       Levantar requisitos e gerar uma documentação UML;
       Definir um modelo de negócios para o sistema;
       Desenvolver o software Web utilizando a plataforma corporativa J2EE.




2 DESENVOLVIMENTO


       Apresenta o núcleo de toda estrutura do trabalho, composta pelas ferramentas técnicas
utilizadas para tornar possível o exercício e a prática do estudo em foco.



2.1 FERRAMENTAL TÉCNICO


       Segue abaixo o conjunto de ferramentas capazes de auxiliar no desenvolvimento de
softwares.



2.1.1 Enterprise Architect


       O Enterprise Architect (E.A) é uma aplicação UML, que tem como objetivo modelar
sistemas e controlar o ciclo de desenvolvimento do software (CONTART, 2006, p.3). É um
ambiente de modelagem em equipes que possuem, entre as principais funcionalidades, alto
desempenho visual, ferramentas para modelagem de negócios, engenharia de sistemas,
arquitetura coorporativa, gerenciamento de requisitos e projeto de softwares (MAKESYS,
2001). Com o uso desta ferramenta há melhoras na comunicação entre colaboradores da
empresa, visto que a aplicação UML contêm recursos de geração de documentos consolidados
para a distribuição dos modelos (KLEIN, 2006). Observam-se outras atividades como
produção de relatórios detalhados e versões automáticas em HTML. Para tornar possível esta
organização são utilizadas três ferramentas fundamentais:

       Diagramas para a modelagem estratégica e de negócio conceitos nível.
       Perfis de domínio específico e os padrões de modelo reutilizável.


                                                                                         13
Baseline e gerenciamento de versão para o acompanhamento e integração de
 mudanças (COOK, 1999).

2.1.2 GanttProject



         O Projeto GanttProject     foi iniciado na Universidade de Marne-la-Vallee, em
dezembro de 2002, por Alexandre Thomas e Dmitry Barashev. Desenvolvido em Java e
executado localmente, trata-se de um software gratuito, open source e multi-plataforma,
podendo ser instalado em equipamentos com quaisquer sistemas operacionais (Ribeiro et. al ,
2011).
         Para utilizar a ferramenta é necessário ter o JRE instalado ao computador. Com o uso
do GanttProject é possível dividir o projeto em uma árvore de tarefas e indicar pessoas a elas.
Esta ferramenta é dividida em um chart de tarefas e recursos gráficos. O recurso de impressão
de gráficos e a geração de relatórios em PDF e HTML são disponibilizados pelo software (E-
CIVIL, 2011). Além disso, há recursos de importação e exportação de relatórios e arquivos,
sistema de calendário que possibilita o acompanhamento das atividades ao longo de um
determinado período (MAZZARIOL, 2007, p.6).



2.1.3 Pgadmin


         Desenvolvida pela comunidade mundial de especialistas do PostgreSQL, o pgAdmin é
uma robusta ferramenta multiplataforma de desenvolvimento e administração open source
para o PostgreSQL (PGADMIN, 2011). Por oferecer suporte a todos os recursos do
PostgreSQL, a interface gráfica desta ferramenta facilita até mesmo o gerenciamento desse
sistema.
         O software pode ser utilizado para o PostgreSQL 7.3 e versões superiores, assim como
para as versões comerciais EnterpriseDB e Mammoth PostgreSQL. A ferramenta foi criada
com o objetivo de atender as necessidades de todos os usuários, proporcionando-lhes
funcionalidades como escrever queries SQL e desenvolver bancos de dados complexos. Além
disso, possui caixas de diálogo para configuração de usuários, grupos e privilégios, exibição
de informações sobre os objetos do banco de dados (ROCHA, 2011).



                                                                                            14
2.1.4 DBDesigner


       Trata-se de um editor visual open source e multi-plataforma para criação banco de
dados MYSQL. Foi desenvolvido pela Fabulous Force Database tools em 2003, atualmente
encontra-se na versão 4 (DEVMEDIA, 2011).
       Direcionado para o desenvolvimento banco de dados como SGBD mySQL, o
DBDesigner oferece também suporte a outros bancos que comportem acessos via ODBC. A
função básica consiste em visualizar graficamente o projeto da base de dados, modelar e
controlar os dados nele contidos.
       No ambiente DBDesigner é trabalhado o modelo de visualização da meta-informação
armazenada em um banco de dados, as informações iniciais de tabelas são obtidas
diretamente do modelo representativo da meta-informação. Dentre as funcionalidades deste
ambiente, pode-se destacar a geração de script SQL a partir do modelo ER, estes que por sua
vez são criados de acordo com banco de dados existentes e a permissão de uma conexão
direta com o banco de dados, possibilitando a realização de manutenções ou prováveis
alterações (FABFORCE, 2001).



2.1.5 Eclipse


       A IDE Eclipse (Integrated Development Envoronment – ambiente de desenvolvimento
integrado) foi desenvolvida pela IBM (International Business Machines). É uma ferramenta
de desenvolvimento de linguagens como C/C++, Cobol, C# etc. O funcionamento consiste
em apenas instalar os plug-ins de acordo com a linguagem a ser desenvolvida, possui editor
de textos providas de facilidades especiais para a linguagem, um compilador/interpretador,
um editor gráfico para edição e criação das partes gráficas e um debugger, (ferramenta para
tirar bugs do código). As versões de Eclipse se subdividem em quatro tipos:
       Release: compilação estável do sistema liberada pela equipe de desenvolvimento do
       Eclipse.
       Stable build: compilação relativamente estável, conhecidas como versões beta em que
       podem surgir versões intermediárias.
       Integration build: compilação onde os componentes do Eclipse são testados
       individualmente não havendo garantias de sucesso.


                                                                                        15
Nightly build: versão mais recente do código fonte, não há garantias sobre esta
       compilação (GONÇALVES, 2011, p.22).
       A arquitetura do Eclipse consiste em um conjunto formado basicamente por
ferramentas como a runtime (responsável por descobrir quais plug-ins estão disponíveis), o
Workbench (interface gráfica que exibe menus e caixas de ferramentas), o workspace
(responsável administrar os recursos dos usuários que são organizados em um ou mais
projetos.), o Help (é um sistema de documentação extensível) e diversos plug-ins que se
ajustam ao framework, necessários para criar uma aplicação utilizável. A Plataforma em
questão foi desenvolvida na linguagem Java, e apresenta neutralidade em relação à escolha de
um idioma padrão (CAMPOS et. al, 2011).



2.1.6 ANT


       O Apache ANT (Another Neat Tool), criado por James Duncan Davidson, teve a
primeira versão lançada em julho de 2002, foi desenvolvida a partir do projeto TOMCAT após
a doação da Apache Software Foundation, local onde ocorreu a desvinculação do projeto,
tornando-o independente (TECGRAF, 2010).
       A ANT é uma ferramenta para automação de projetos, trata-se basicamente de um
pequeno programa para auxiliar equipes de desenvolvimento a criarem grandes softwares,
processos de compilação de códigos, por exemplo, recebem tratamento automático, há
separação de arquivos .class e .java em diretórios separados. A configuração e execução a
aplicação é uma atividade independente do sistema operacional e IDE (Integrated
Development Environment) (VIVAOLINKX, 2002).



2.2 TECNOLOGIAS


       A recorrência às dez tecnologias utilizadas durante o processo de elaboração do estudo
de CRM tiveram por base particularidades que envolviam a flexibilidade e robustez para
aplicações Web, incorporada à plataforma J2EE, a qual é capaz de agregar todas essas
tecnologias, padrões de projeto e processos do software. A listagem de tecnologias e
respectivas informações pertinentes ao aluno e/ou profissional seguem neste capítulo.



                                                                                          16
2.2.1 PostgreSQL



       O PostgreSQL é um Sistema Gerenciador de Banco de Dados Relacional (SGDBR)
que utiliza o modelo cliente-servidor. O SGDBR é caracterizado por gerenciar dados
armazenados em relações (termo matemático usado para tabelas). Uma tabela possui linhas e
todas estas possuem o mesmo conjunto de colunas nomeadas. Em cada coluna há um tipo de
dado específico.
       O SGDB foi criado, segundo Sousa (2006, p.10), a partir do POSTGRES (1986), um
projeto liderado pelo Professor Michael Stonebreaker e desenvolvido na Universidade da
Califórnia em Berkeley. Em 1995, Jolly Chen e Andrew Yu, ambos os alunos de Berkeley,
adicionaram suporte a SQL ao SGDB, mudando o nome para Postgre95. No ano seguinte, o
software foi disponibilizado na internet sob o nome de PostgreSQL. O Postgre é comparável
à SGDBs comerciais em termos de características, desempenho e confiança, e é uma
alternativa de código-fonte aberto.
       O funcionamento do Postgre é realizado por um processo servidor, o postmaster e o
frontend. O processo servidor gerencia os arquivos do banco de dados, recebe e executa ações
com o banco de dados através de um aplicativo cliente. O postmaster é o programa servidor
de banco de dados. O frontend é o aplicativo cliente do usuário que executa operações no
banco de dados e pode assumir a forma de ferramenta no modo caractere, aplicativo gráfico,
servidor WEB que acessa o banco de dados para exibir páginas na internet ou de ferramenta
especializada para manutenção de banco de dados. Por ser uma aplicação de cliente-servidor,
o cliente e o servidor não necessitam ocupar o mesmo computador, pois estes se comunicam
através de uma rede TCP/IP. O servidor PostgreSQL trabalha com várias conexões
simultâneas de clientes, para isto é iniciado um novo processo para cada conexão. Neste
momento, o cliente e o novo processo servidor se comunicam sem intervenção do processo
postmaster original (OLIVEIRA et. al, 2005, p.3).



2.2.2 Jquery




                                                                                         17
O jQuery é uma biblioteca JavaScript criada por John Resig, em 2006. Conforme
Silva (2008, p.17), a biblioteca foi desenvolvida com o intuito de tornar a programação
JavaScript mais ágil e simples, tanto para os programadores amadores como para os
experientes. Para utilizar a biblioteca não é preciso ter profundo conhecimento em
programação JavaScript, pois jQuery já é uma tecnologia baseada nesta programação. O
jQuery é um software livre e aberto, portanto pode ser utilizado para projetos pessoais e/ou
comerciais. A biblioteca é utilizada para adicionar efeitos visuais e animações, acessar e
manipular o DOM, buscar informações no servidor sem necessidade de recarregar a página,
proporcionar interatividade, modificar conteúdos, alterar apresentação e estilização,
simplificar tarefas específicas de JavaScript e demais atividades derivadas das que foram
citadas anteriormente. A biblioteca possui vantagens como disponibilidade para novos plug-
ins e extensões, compatibilidade com qualquer browser, ocupa pouco espaço na memória e
otimiza o código evitando excesso de programação (BORSATTI, 2008).



2.2.3 JavaScript


       O JavaScript é uma linguagem de programação utilizada para tornar as páginas HTML
dinâmicas (LIMA, 2006, p.9). Esta linguagem começou a ser utilizada nos browsers Netscape
Navigator 2.0 e Internet Explorer 3.0, no entanto era conhecida por LiveScript. Após o
sucesso visto no Netscape, o LiveScript recebeu uma colaboração da empresa Sun
Microsystems, criadora do Java. Com esta colaboração, o LiveScript passou a se chamar
JavaScript devido a compatibilidade que adquiriu com o Java, porém distinções entre as
linguagens coloca o Java como grande requerente de conhecimento sobre programação e de
seu kit de desenvolvimento. O JavaScript também é considerado uma extensão da linguagem
HTML, portanto os comandos da linguagem são inseridos nas páginas HTML e são
interpretados pelo browser.
       O JavaScript corresponde a programação orientada a objetos e trata todos elementos
de uma página Web como sendo-os, por isso no momento em que uma página da internet é
carregada são automaticamente criados objetos JavaScript, cujas características se adequam
ao conteúdo da página. Também é referenciado como “linguagem de criação de scripts”, pois
são criados scripts em vez de programas. Porém, não há real diferença entre os dois, porque o
script é uma forma mais simplificada de programação (SMITH; NEGRINO, 2001).


                                                                                          18
Os dois tipos de ações mais comuns da linguagem são os efeitos especiais e as páginas
interativas. Dentre os efeitos especiais, podem-se criar conteúdos dinâmicos e elementos da
página em movimento, mudança de cores e outros efeitos de dinamismo. As páginas
interativas possibilitam que sejam executadas instruções como resposta às ações do usuário,
assim como conceber páginas com programas interativos (ALVAREZ, 2004).



2.2.4 Tomcat


       O servidor Tomcat é um Web container para aplicações Java que se utilizam de servlet
e JavaServer Pages (JSP). Este surgiu a partir da colaboração de voluntários de uma
comunidade open source de Java para dar suporte e melhorar o projeto Apache Jakarta.
       O Tomcat é muito estável e possui todas as características de outros Web containers
comerciais existentes. Além dessas vantagens, é possível destacar a função open source e a
gratuidade oferecida. (GOODWILL, 2002, p. 12).
       A estrutura de funcionamento do Tomcat está dividida nos seguintes diretórios:
       bin: local onde são encontrados os arquivos binários do sistema. É a parte responsável
       por inicializar ou interromper o servidor;
       lib: local de armazenamento de bibliotecas, sejam elas da aplicação ou do próprio
       Tomcat;
       logs: diretório o qual estão armazenados os logs do sistema, assim como informações
       de execução das aplicações, instalação, erros de acesso e requisições de conexão e
       demais atividades;
       temp: aloca os arquivos temporários das aplicações;
       webapps: local de armazenamento das aplicações executadas no Tomcat;
       conf: local em que situam os arquivos de configuração do Web container (SILVA,
       2011).



2.2.5 Java


        Java é um conjunto que pode ser resumido em linguagem de programação,
 plataforma e tecnologia de desenvolvimento. Pode ser independente da plataforma, desde
 que possua uma versão da JVM (Java Virtual Machine). Também é possível considerá-la

                                                                                          19
um interpretador de código intermediário (Byte-Code Java) para as plataformas designadas
 a executar um aplicativo; possui open source (código aberto), orientam a objetos, permite
 implementar robustez e tolerância a falhas, multihreading, processamento paralelo,
 gerenciamento de memória e um farto conjunto de bibliotecas (API´s). O código utilizado
 por esse tipo de linguagem é semelhante ao C/C++. Uma aplicação com tais características
 pode ser executada como Stand Alone (aplicação independente), Applet (executada no
 navegador do cliente), Servlet (não possui Interface que possa ser executado no servidor)
 (COSTA, 2008, p.8).
         A história da linguagem Java começou a ser desenvolvida em 1991, por James
 Goslim, da Sun Microsystems, com o nome de Green Project. Um ano depois surge a Oak,
 primeira máquina virtual implementada, onde foram feitas várias tentativas de
 comercialização, mas todas sem sucesso. Com o advento da internet em 1994, a Sun vê
 uma possibilidade de construir aplicativos baseados na OAK, a Java. Ela foi lançada
 oficialmente em 23 de maio de 1995, vale ressaltar que em 1997 foi lançada uma versão
 que trazia grandes novidades onde passou a ser chamada de Java 2 Plataform, e a partir
 dessa versão passaram a existir mais três edições: J2SE (Java 2 Standard Edition) visava o
 desenvolvimento para ambiente de trabalho, J2ME (Java 2 Micro Edition) indicado para
 desenvolvimento de dispositivos com recursos limitados e J2EE (Java 2 Enterprise
 Edition) voltado ao desenvolvimento corporativo (web) (GONZAGA, 2011).
         Segundo os números publicados na Sun Java, a tecnologia está presente em mais de
 800 milhões de PCs, 2,1 bilhões de celulares e dispositivos móveis, 3,5 bilhões de cartões
 inteligentes além dos cartões de crédito, servidores, mainframes, jogos, aplicações web,
 desktop, celulares, impressoras, sistemas de navegação para automóveis etc..
         Atualmente, a Java possui mais de 6,5 milhões de desenvolvedores em todo o
 mundo, tornado a plataforma mais rapidamente adotada na história da computação e a
 tecnologia mais ampla e ativa do planeta (JAVA, 2011).



2.2.6 Servlet


       Com a necessidade da criação de páginas web dinâmicas, em 1996 a Sun
Microsystems criou o servlet onde aprimorou as funcionalidades dos servidores web.
Considerado eficiente no desenvolvimento de soluções web e interação com o banco de
dados, o Servlet pode dinamicamente gerar páginas HTML, XML ou mesmo manter
                                                                                         20
informações de sessões do usuário. O Servlet é uma classe Java que processa requisições e
respostas HTTP, GET E POST de um modo dinâmico, diversas requisições podem ser feitas
simultaneamente a um único servlet em um único servidor. O funcionamento tem por base
carregar-se pelo Web container na primeira vez em que é enviada uma solicitação, e após a
resposta, a operação é memorizada aguardando outras solicitações (LUCENA, 2011).
       O ciclo de vida do Servlet é determinado pelos métodos Init, Service e Destroy:
       Init: auxiliada pelo Web container quando a classe é executada;
       Service: auxiliado pelo Web container quando o método Init for executado com
       sucesso;
       Destroy: auxiliado pelo Web container quando as funções do método Service forem
       executadas (COELHO, 2008).
       A utilização de Servlets e JSPs oferece muitas vantagens em relação a outras
tecnologias herdadas da própria tecnologia Java:
       Portabilidade: a aplicação pode ser implantada em diversas plataformas como
       Windows, Unix, GNU/Linux e Macintosh, sem que seja necessário reconstruir ou
       alterar a aplicação;
       Facilidade de programação: a programação é orientada a objetos, simplificando o
       desenvolvimento de sistemas complexos;
       Flexibilidade: o Java conta com uma enorme comunidade de desenvolvedores, ampla
       documentação e diversas bibliotecas de códigos prontos.
       Escalabilidade: possibilidade de distribuição da carga de processamento de aplicações
       desenvolvidas em diversos servidores que podem ser adicionados ou removidos
       dependendo da carga de processamento (DEVMEDIA, 2011).



2.2.7 JDBC


       Java Database Connectivity ou JDBC é uma API Java com suporte para acesso e
manipulação de banco de dados que possuem suporte a SQL desenvolvido para facilitar o
acesso de programas Java ao banco de dados (ROCHA, 1997).
       Considera-se a existência de quatro categorias que são passíveis de utilização no
pacote de classes especializadas:



                                                                                         21
JDBC - ODBC bridge plus ODBC driver, responsável por converter chamadas JDBC
       em ODBC permitindo a comunicação entre eles, porém a utilização desse tipo de
       comunicação é reconhecida como ineficiente pelo motivo do ODBC ser uma interface
       escrita em C, a qual trabalha com a conversão dos dados para C na ida, e o inverso no
       caminho de volta;
       Native – API partly Java driver, essa categoria faz a conversão das solicitações JDBC
       em chamadas nativas de diversos bancos de dados e é considerada a mais veloz das
       comunicações;
       JDBC – Net pure Java driver, é considerada a alternativa mais flexiva de conexão por
       converter chamadas JDBC em chamadas aos bancos de dados, independentes de
       protocolos de redes, as chamadas são passadas ao banco pelo protocolo do servidor;
       Native Protocol pure Java Driver – converte as chamadas JDBC em chamadas diretas
       ao protocolo de rede utilizado pelos bancos de dados (MECENAS, 2005, p.192).

       Os Drivers das categorias JDBC-ODBC bridge plus ODBC driver e Native – API
partly Java driver devem ser utilizados quando os bancos de dados não possuírem condições
de acesso nativo, já as categorias JDBC – Net pure Java driver e Native Protocol pure Java
Driver, pertencem a uma categoria de drivers preferidos para conexão, pois são escritos
inteiramente em Java e fazem a conversão direta para o protocolo do banco de dados
(MENGUE, 2011).



2.2.8 JSP


       Java Server Pages é uma tecnologia baseada no Java para o desenvolvimento de
páginas de web dinâmicas, as primeiras versões surgiram em junho de 1999 incorporadas ao
Java Web Server. A JSP conta com todas as vantagens da linguagem Java podendo ser
adicionados HTMLs e sendo possível de ser executada em diversas plataformas. Ela passa por
um processo de compilação onde garante em parte à segurança do código, e nos grandes
sistemas a velocidade no processamento. A separação da parte lógica da programação visual
se mostra um facilitador na medida em que há o desenvolvimento de sistemas robustos, onde
o programador e o designer podem trabalhar no mesmo projeto de forma independente; a
permissão de acessos aos mais diversos bancos de dados é graças a tecnologia JDBC (Java
Database Connectivity) (SOUZA, 2006).

                                                                                            22
A sintaxe dessa tecnologia abrange três tipos de elementos: Diretivas (mensagens do
JSP container informando como será traduzida a página para o servlet), Script (permite a
inserção de códigos Java nas páginas JSP) e a Ação (realizada através de Tags embutidas nas
páginas JSP) (HOSPEDAGEMLOCAL, 2011).
         Por ser baseada na tecnologia JAVA, o JSP herda vantagens da portabilidade de
plataforma, que permite sua execução independentemente do sistema operacional, seja
Windows, Linux ou Mac.
         Os JSPs permitem ao desenvolvedor produzir aplicações que acessem o banco de
dados, manipulem arquivos de texto, capturem informações a partir de formulários ou captem
informações sobre o visitante e o servidor. No processo execução dos JSPs os comandos
dinâmicos são processados pelo servidor e são enviados ao cliente apenas o resultado obtido
em HTML.



2.2.9 HTML


         HTML (HyperText Markup Language) ou linguagem de marcação de textos. Foi
criada por Tim Berners Lee (1989) cuja intenção era a troca de informações e de documentos
entre cientistas de diferentes universidades (GRAXAIM, 2011).
         A linguagem utiliza TAGS (marcações) que informam ao navegador (Browser) como
exibir o documento. Não se trata de um case sensitive (não faz diferença seu código ser
escrito por letras minúsculas ou maiúsculas), sendo assim uma pagina HTML é um arquivo
que contem código HTML em forma de texto (HTML.NET, 2011).



2.2.10 AJAX


         Ajax é a abreviação de Asynchronous Java Scriptand XML, uma metodologia que
utiliza vários recursos e tecnologias, como JavaScript, DOM, XML, XHTML, XHR e CSS. O
objetivo é que a cada solicitação do servidor a página não precise ser completamente
recarregada. Por ser constituído por tecnologias que são utilizadas pela maioria dos browsers
existentes no mercado, ele não se restringe apenas em desempenhar o papel de uma única
plataforma e nem requer instalação de qualquer plugin ou software no cliente (SILVA, 2009,
p.23).

                                                                                          23
O AJAX adiciona uma camada intermediária entre o cliente e o servidor, esta camada
tem por objetivo agilizar o carregamento de uma página logo no início da sessão por meio do
browser, ela é atendida por uma solicitação assíncrona ao servidor, fazendo com que o
utilizador não espere muito tempo pela resposta do servidor ou precise recarregar a página a
cada interação.
       Tais interações são iniciadas pelo código JavaScript, quando estas são concluídas, há
uma atualização do código-fonte HTML da página (TRINDADE; REIS, 2011).
       Em uma dada aplicação AJAX o tráfego de informações se mostra relativamente alto
no início, logo após serem acessadas pelo cliente de infraestrutura grande e complexa, as
comunicações seguintes são mais eficientes comparadas a uma aplicação tradicional; portanto,
é possível afirmar que esta interação é um produto inversamente proporcional ao consumo de
largura de banda em dada aplicação tradicional.
       Uma das principais vantagens do AJAX está na maior parte da aplicação ocorrer ao
lado do cliente, comparando-se a uma aplicação Desktop; a não limitação em termos de
resposta também é um item significativo, já que causa uma impressão de continuidade na ação
executada (VILLELA, 2011).



2.3 PADRÕES DE PROJETO


       Organizado para melhoramento através de subdivisões em camadas de softwares.


2.3.1 MVC


       O MVC é uma arquitetura que permite dividir o software em camadas. Com a
evolução dos programas e da forma de se fazê-los, novas técnicas tiveram que ser pensadas
para facilitar a programação e tornar a manutenção dos softwares mais simplificada. Para isso
foi criado o MVC. Conforme Zemel (2009), esta abordagem divide o sistema em três camadas
para que possa trabalhar isoladamente em cada uma delas sem que afete o funcionamento das
outras. A camada de modelo (model) é responsável por manipular os dados de forma mais
detalhada. É recomendável que seja utilizado modelos para realizar consultas, cálculos e as
regras de negócio do sistema (BASTOS, 2011). O model é a camada que possui acesso das
informações vindas do banco de dados. A camada de visão (view) é a interface e os dados
apresentados na tela para o usuário final. A camada controladora (controller) gerencia todo
                                                                                          24
fluxo de dados do sistema, e é através dela que são efetuadas as operações dos quais as
informações que devem ser geradas, as regras que devem ser adicionadas e para onde os
dados devem ir. Esta é a camada responsável por executar as regras de negócio e repassar as
informações para a camada de visão.
       O reaproveitamento de código, facilidades para a manutenção, a integração de equipes
com possibilidade de divisão de tarefas, camada de persistência independente, implementação
de segurança e simplicidade na modificação da interface do software são alguma das
vantagens oferecidas pela arquitetura (NETO; XAVIER, 2008).



2.3.2 DAO


       O DAO (Data Acces Object) inclui-se na arquitetura MVC, é um padrão de projeto
criado para melhorar o trabalho com abstração de banco de dados, responsável por rotinas
como inserção, exclusão, alteração e consulta. Sua interação é centralizada em um conjunto
de classes fazendo com que os dados fiquem protegidos em relação ao restante do código
(JANNOTTI, 2010).
       O padrão DAO oferece alguns benefícios para o programador:
       Mudanças no método de persistência sem que necessite a modificação da camada
       modelo (pode ser feito uma nova distribuição do sistema / dois clientes do sistema
       podem querer utilizar bancos de dados diferentes).
       Utilização de vários mecanismos de persistência (Ex.: BD, XML, arquivos, sem
       influenciar ou “poluir” a camada modelo). (TACLA)
       Antes criação do Java versão 5, costumava-se a gerar uma classe e uma interface DAO
para cada classe resultando em uma grande quantidade de códigos repetitivos. A partir do
Java 5 e graças ao poder do gernerics, incorporado à plataforma a partir da versão 1.5 foram
publicadas versões chamadas de “DAO Genérico” (ANDRADE, 2010, p.160).



2.4 MERCADO


       O CRM (Customer Relationship Management) foi criado na década de 90, hoje
considerado uma filosofia que envolve pessoas, processos e tecnologia. Trata-se de uma



                                                                                         25
sistemática para melhor conhecer o cliente não somente quando realizada uma transação
comercial, mas criar laços para possíveis contatos futuros.
         Para melhor entendimento sobre o assunto, uma pesquisa realizada pela ASM mostrou
que o mercado brasileiro de CRM cresce muito a cada ano, 28% das companhias adotaram
soluções CRM, das quais 15% optaram por contratar uma solução de mercado e 13%
decidiram desenvolver soluções internas de gestão de relacionamento com o cliente, sendo
que na maioria das vezes a aplicação mais utilizada foi o MS-Excel ou ferramentas
construídas a partir do próprio aplicativo. Isso faz com que empresas de todos os portes
invistam em equipamentos e softwares voltados ao mercado CRM. Conforme a pesquisa da
Tech Lab, segundo Sapienza (apud TIINSIDE), o mercado brasileiro de CRM cresceu 27,7%,
fechando 2009 com o total de R$ 907 milhões. O e-CRM participou de 14% do faturamento
total.
         Para citar um exemplo de empresa que usufrui do CRM, destaca-se a catarinense
Hippo Supermercados Ltda. A empresa adquiriu um sistema de fidelização do cliente para
substituir os cartões-fidelidade pela identificação via impressão digital. Gallon et. al (p. 7)
indicou que o gestor da empresa afirmou: “os clientes comentam que os concorrentes não
possuem um sistema de fidelização tão forte como o do Hippo. Os clientes percebem um
diferencial no tratamento, eles se sentem únicos, pois são tratados de forma individual e
personalizados”.
         O CRM permite a empresa ter uma visão única do cliente aproveitando todas
interações do cliente desde a fase de prospecção até o pós venda, de uma forma padronizada
independente do tipo de contato como: Skype, telefone, e-mail ou redes sociais. Tudo é
analisado e se torna bases para relatórios gerenciais.
         Com o CRM é possível personalizar produtos a custos acessíveis para clientes
individuais, a tendência é que se possa customizar uma grande quantidade de clientes, cada
um baseado nas suas necessidades de segmentos. A personalização permite que cada cliente
seja tratado de forma individual, de acordo com necessidades próprias e também da empresa,
isso inclui desde produtos e serviços até a distribuição, formas de entrega e pagamentos.
Apesar de não ser o único canal de relacionamento da empresa para com o cliente,
possivelmente é um dos mais poderosos pontos estratégicos de contato. Portanto a interação
fortalece o abastecimento do banco de dados da empresa, é preciso manter uma continuidade
independentemente do prazo que foi efetuada.



                                                                                            26
3 PROCEDIMENTOS METODOLÓGICOS


       A metodologia utilizada neste trabalho contou com a leitura de diversas fontes, sites de
empresas especializadas e demais usuários das tecnologias abordadas durante a execução
deste trabalho, e que foram pertinentes na hora de executar e o colocar em prática os
resultados do exercício.
       O exercício prático de criação de uma empresa fictícia de CRM, a FRG Gestão de
Clientes, adotou logo na modelagem modelos de domínio, diagrama de classes e o modelo
entidade relacionamento, através do software EA.
       O sistema foi desenvolvido através de três processos: análise de requisitos, modelagem
e implementação. No levantamento de requisitos foram abordados os seguintes casos de uso:
cadastro de cliente, funcionário, serviço e produto; cadastro e listagem de atendimentos; e
registro de propostas e visitas.


4 APRESENTAÇÃO DO SISTEMA - FRG GESTÃO DE CLIENTES


       Representados pelo vendedor e administrador, igualmente responsáveis por ações de
cadastramento de clientes, cuja hierarquia determina as demais funções individuais.



4.1 ATORES


       Os atores do sistema FRG Gestão de Clientes são compostos por um administrador e
um vendedor.




                                                                                            27
Figura 1: Atores: Vendedor e Administrador
                             Fonte: Equipe de desenvolvimento (2011)
4.1.1 Administrador


       Trata-se de um usuário capaz de realizar qualquer ação no sistema, pois possui acesso
a todas as páginas.



4.1.1 Vendedor


       É o usuário responsável por cadastrar novos clientes e registrar atendimentos. Tem
permissão para vincular produtos e/ou serviços ao cliente, propostas e/ou visitas aos
atendimentos. Além disso, é capaz de mudar os status de atendimentos, propostas e visitas.



4.2 MÓDULOS



       Demonstrativo de ações encarregadas pelo administrador e vendedor. Cada árvore
esquemática apresentada mostra mecanicamente como os processos ocorrem.




                                                                                             28
4.2.1 Cadastros Auxiliares




                               Figura 2: Esquema Cadastros Auxiliares
                              Fonte: Equipe de desenvolvimento (2011)



       Neste módulo é possível gerenciar clientes, usuários, produtos e serviços. No
gerenciamento de clientes são informados os dados pessoais, assim como o tipo, sendo ele
prospect ou não. Também há possibilidade de vinculá-lo a produtos e/ou serviços. Em
usuários, são incluídos os dados pessoais do funcionário, o login e senha e definido o nível de
acesso. Nos produtos é informado o nome, descrição, valor e quantidade. Em serviços é
necessário dizer qual é o tipo.




                                                                                            29
4.2.2 Atendimento




                                 Figura 3: Esquema Atendimento
                             Fonte: Equipe de desenvolvimento (2011)



       Neste módulo o usuário é capaz de gerenciar e vincular propostas e/ou visitas nos
atendimentos. Na primeira etapa do registro de atendimento é necessário que seja informado
o número do CPF ou CPNJ do cliente para que haja vinculação ao atendimento e possíveis
observações da atividade. Além disso, o usuário deve selecionar o tipo de contato provido de
atendimento, como também o produto e/ou serviço. Já no gerenciamento de atendimento é
possível concluí-lo ou cancelá-lo, além da possibilidade de estabelecer uma proposta ou
visita. O status pode ser modificado caso esteja vinculado ao atendimento.



4.3 MODELO DE NEGÓCIOS


       A idéia do sistema CRM genérico voltado à plataforma Web surgiu como necessidade
de empresas, sem quaisquer padrões estabelecidos, em adquirir um software para
                                                                                         30
gerenciamento de relações para com os clientes, fazendo com que serviço tornasse mais
atrativo e satisfatório tanto para a empresa quanto para o consumidor.
       Pesquisas mostram sistemas similares ou adaptados, como planilhas de Excel, Access
ou softwares desktops com poucas funcionalidades e dificuldades de acesso, exigindo na
maioria das vezes altos investimentos em hardwares/softwares (TIINSIDE, 2010).
       O CRM FRG Gestão de Clientes, por exemplo, dispensa aplicação de altas
configurações de hardware ou máquinas com os softwares instalados. Os funcionários
poderão acessar a aplicação contendo apenas um dispositivo conectado à internet com auxílio
de um browser instalado, possibilitando em alguns casos o acesso por meio de Mini
Browsers: celulares, palms, Handhelds etc.
       A comercialização do FRG Gestão de Clientes será mediante a planos mensais e
aplicação de taxas de implantação.



4.4 INTERFACES


       As interfaces condizem com telas projetadas para o usuário e/ou administrador a cada
processo realizado no sistema.



4.4.1 Login




                                         Figura 4: Login
                             Fonte: Equipe de desenvolvimento (2011)

                                                                                        31
Na tela de login, o usuário deve informar os seus dados de usuário e senha. Ao clicar
em “Login”, o usuário será redirecionado para a página principal do sistema.



4.4.2 Registro de atendimento




                              Figura 5: Tela Registro de Atendimento
                             Fonte: Equipe de desenvolvimento (2011)



       Nesta tela, o usuário deve informar o cliente que ele fará o atendimento. Para isso é
necessário informar o CPF caso seja pessoa física ou CNPJ caso seja pessoa jurídica. Ao
clicar no botão “Verificar”, é informado na tela pelo sistema se o cliente foi encontrado ou
não. No campo “Observações” o usuário deve descrever o atendimento para posteriores
consultas. Nos campos de seleção “Produto” e “Serviço” o usuário tem a opção de registrar o
produto e serviço relacionado àquele atendimento. Deve ser informada também a forma de
contato que foi utilizada para o atendimento. Quando clicar no botão “Registrar”, os dados
são salvos no sistema e o usuário é redirecionado para a tela de Listagem de Atendimentos.




                                                                                             32
4.4.3 Listagem de atendimentos




                              Figura 6: Tela Listagem de Atendimento
                              Fonte: Equipe de desenvolvimento (2011)



       Nesta tela, o usuário visualiza todos os seus atendimentos realizados através de uma
tabela. Na tabela, as seguintes informações de cada um dos atendimentos são informadas:
nome do cliente, data e hora de início e/ou término, forma de contato e status. Caso queira
concluir ou apenas visualizar os detalhes de um atendimento, basta clicar em “Gerenciar”
correspondente ao atendimento desejado que o usuário seja redirecionado para a tela de
Gerenciamento de Atendimento. Se desejar registrar um novo atendimento, basta apenas
clicar no botão “Novo” que o usuário irá para a tela de registro.




                                                                                        33
4.4.4 Gerenciamento de atendimento




                           Figura 7: Tela Gerenciamento de Atendimento
                             Fonte: Equipe de desenvolvimento (2011)




       Nesta tela, o usuário visualiza as seguintes informações do atendimento selecionado:
nome do cliente, produto e/ou serviço. Caso queira concluir ou cancelar o atendimento, basta
selecionar no campo “Status” a opção desejada. Então o usuário deve clicar no botão “Salvar”
para salvar a alteração de status. Para vincular uma proposta ao atendimento, o usuário deve
selecionar a aba “Proposta” e clicar em “Nova Proposta”. Para vincular uma visita ao
atendimento, o usuário deve a aba “Visita” e clicar em “Nova Visita”. Ao selecionar a aba de
proposta ou visita o usuário é capaz de visualizar uma tabela que corresponde às propostas e
visitas do atendimento, caso existam. Para a proposta é informado: status, data e hora de
registro e/ou conclusão, data prevista para o término e o valor. Para a visita é informado:
status, data e hora de registro e/ou conclusão e o tipo de visita. Em ambas as abas estão
presentes a opção “Gerenciar” em cada item da tabela, é através desta opção que o usuário é
redirecionado para uma tela de gerenciamento para concluir ou cancelar a proposta/visita.
                                                                                            34
4.4.5 Registro de proposta




                               Figura 8: Tela Registro de Proposta
                             Fonte: Equipe de desenvolvimento (2011)



       Na tela de registro de proposta, o usuário é informado sobre a descrição da proposta
assim como o seu valor. Ao clicar em “Registrar” as informações são salvas e o usuário é
redirecionado para a tela do atendimento o qual foi vinculada a proposta.




                                                                                        35
4.4.6 Registro de visita




                                 Figura 9: Tela Registro de Visitas
                              Fonte: Equipe de desenvolvimento (2011)



       Na tela de registro de visita, o usuário é informado sobre a descrição da visita assim
como o seu tipo. Ao clicar em “Data prevista” o usuário visualizará um calendário, o qual
através dele será possível o agendamento com a data desejada. Para escolher a data basta
clicar em algum dia; acaso queira modificar o mês basta clicar nas setas indicadoras. Ao clicar
no botão “Registrar” as informações são salvas e o usuário é redirecionado para a tela do
atendimento o qual foi vinculada a visita.




                                                                                            36
4.4.7 Gerenciamento de proposta




                             Figura 10: Tela Gerenciamento de Proposta
                              Fonte: Equipe de desenvolvimento (2011)


       Na tela de gerenciamento de proposta, o usuário visualiza a descrição e valor da
proposta. Para concluir ou cancelar a proposta deve-se selecionar o status desejado e clicar em
“Salvar”. Ao clicar neste botão, o novo status é salvo e o usuário é redirecionado para a tela
do atendimento o qual foi vinculada a proposta.




                                                                                            37
4.4.8 Gerenciamento de visita




                             Figura 11: Tela de Gerenciamento de Visita
                              Fonte: Equipe de desenvolvimento (2011)



       Na tela de gerenciamento de visita, o usuário visualizará a descrição e o tipo da visita.
Ao clicar em “Data prevista” um calendário será mostrado, o qual através dele será possível o
agendamento com data desejada. Para escolher a data basta clicar em algum dia; acaso queira
modificar o mês, basta clicar nas setas indicadoras. Para concluir ou cancelar a visita deve-se
selecionar o status desejado e clicar em “Salvar”. Ao clicar neste botão, o novo status é salvo
e o usuário é redirecionado para a tela do atendimento o qual foi vinculada a proposta.




                                                                                             38
4.4.9 Cadastro de cliente




                               Figura 12: Tela de Cadastro de Clientes
                              Fonte: Equipe de desenvolvimento (2011)



       Na tela de cadastro de clientes, o usuário informa o nome, CPF ou CNPJ, telefone
comercial, telefone residencial, telefone celular, bairro, CEP, cidade, endereço, complemento,
UF, e-mail, estado civil, sexo e tipo de pessoa (cliente ou prospect). Nesta etapa do processo
há um campo passível de seleção nomeado “Tipo”, com opções “Pessoa Física” e “Pessoa
Jurídica”, se selecionado “Pessoa Física”, os campos CPF, sexo e estado civil tornam-se
disponíveis, se eventualmente a opção eleita for “Pessoa Jurídica”, o campo CNPJ se tornará
visível. Para salvar as informações, basta clicar em “Salvar” para que o usuário seja
redirecionado à tela de listagem de clientes.




                                                                                           39
4.4.10 Gerenciamento de cliente




                              Figura 13: Tela Gerenciamento do Cliente
                              Fonte: Equipe de desenvolvimento (2011)



       Na tela de gerenciamento de clientes, o usuário pode editar os campos nome, CPF ou
CNPJ, telefone comercial, telefone residencial, telefone celular, bairro, CEP, cidade,
endereço, complemento, UF, e-mail, estado civil, sexo e tipo de pessoa (cliente ou prospect).
Ao selecionar “Pessoa Física” é possível editar os dados de pessoa física, ao selecionar
“Pessoa Jurídica” é possível editar os dados de pessoa jurídica. Ao clicar em “Salvar” as
informações são salvas e o usuário é redirecionado para tela de listagem de clientes.




                                                                                          40
4.4.11 Cadastro de funcionário




                              Figura 14: Tela Cadastro de Funcionário
                             Fonte: Equipe de desenvolvimento (2011)




       Na tela de cadastro de funcionário, o administrador informa o tipo (funcionário ou
administrador), login, senha, nome, CPF, telefone comercial, telefone residencial, telefone
celular, bairro, CEP, cidade, endereço, complemento, UF, e-mail, estado civil e sexo. Ao
clicar em “Salvar” as informações são salvas e o usuário é redirecionado para tela de listagem
de funcionários.




                                                                                           41
4.4.12 Gerenciamento de funcionário




                            Figura 15: Tela Gerenciamento de Funcionário
                              Fonte: Equipe de desenvolvimento (2011)



       Na tela de gerenciamento de funcionário, o administrador pode alterar o tipo
(funcionário ou administrador), login, senha, nome, CPF, telefone comercial, telefone
residencial, telefone celular, bairro, CEP, cidade, endereço, complemento, UF, e-mail, estado
civil e sexo. Ao clicar em “Salvar” as informações são salvas e o usuário é redirecionado para
tela de listagem de funcionários.




                                                                                           42
4.4.13 Cadastro de produtos




                                Figura 16: Tela Cadastro de Produtos
                              Fonte: Equipe de desenvolvimento (2011)




       Na tela de cadastro de produtos, o usuário informa o nome, descrição, quantidade e o
valor. Ao clicar em “Salvar” as informações são salvas e o usuário é redirecionado para tela
de listagem de produtos.




                                                                                         43
4.4.14 Listagem de produtos




                                Figura 17: Tela Listagem de Produtos
                              Fonte: Equipe de desenvolvimento (2011)


       Na tela de listagem de produtos, o usuário visualiza os campos nome, descrição,
quantidade e o valor. Tendo como opções editar ou excluir.




                                                                                   44
4.4.15 Gerenciamento de produtos




                             Figura 18: Tela Gerenciamento de Produtos
                              Fonte: Equipe de desenvolvimento (2011)



       Na tela de gerenciamento de produtos, o usuário pode alterar as informações dos
campos nome, descrição, quantidade e valor. Ao clicar em “Salvar”, as informações são
salvas e o usuário é direcionado para tela de listagem de produtos.




                                                                                   45
4.4.16 Cadastro de serviços




                                Figura 19: Tela Cadastro de Serviços
                              Fonte: Equipe de desenvolvimento (2011)



       Na tela de cadastro de serviços, o usuário informa o tipo de serviço. Ao clicar em
“Salvar” as informações são salvas e o usuário é redirecionado para tela de listagem de
serviços.




                                                                                      46
4.4.17 Listagem de serviços




                                  Figura 20: Listagem de Serviços
                              Fonte: Equipe de desenvolvimento (2011)



       Na tela de listagem de serviços, o usuário visualiza o campo tipo de serviço. Tendo
como opções editar ou excluir.




                                                                                       47
4.4.18 Gerenciamento de serviços




                            Figura 21: Tela Gerenciamento de Produtos
                             Fonte: Equipe de desenvolvimento (2011)



       Na tela de gerenciamento de serviços, o usuário pode alterar o tipo de serviço. Ao
clicar em “Salvar”, as informações são salvas e o usuário é direcionado para tela de listagem
de serviços.




                                                                                          48
4.4.19 Listagem de clientes




                                Figura 22: Tela Listagem de Clientes
                              Fonte: Equipe de desenvolvimento (2011)




       Na tela de listagem de clientes, o usuário visualiza os campos nome, sexo, e-mail e
tipo (cliente ou prospect). Tendo como opções para editar ou excluir, como também a
vinculação de produtos e serviços.




                                                                                       49
4.4.20 Listagem de funcionários




                             Figura 23: Tela Listagem de Funcionários
                             Fonte: Equipe de desenvolvimento (2011)



       Na tela de listagem de funcionários, o usuário visualiza os campos nome, sexo, e-mail
e grupo (funcionário ou administrador). Apresenta opções de editar ou excluir.




                                                                                         50
4.4.21 Vinculação de produto ao cliente




                         Figura 24: Tela Vinculação de Produto ao Cliente
                            Fonte: Equipe de desenvolvimento (2011)



       Na tela de vinculação de produto, o usuário deve-se selecionar o produto desejado. Ao
clicar em “Adicionar”, o produto é automaticamente anexado e inserido na tabela de produtos
vinculados ao cliente.




                                                                                         51
4.4.22 Vinculação de serviço ao cliente




                          Figura 25: Tela Vinculação de Serviço ao Cliente
                             Fonte: Equipe de desenvolvimento (2011)



       Na tela de vinculação de serviço o usuário, deve-se selecionar o serviço desejado. Ao
clicar em “Adicionar”, o serviço é automaticamente anexado e inserido na tabela de serviços
vinculados ao cliente.



4.5 ARQUITETURA TECNOLÓGICA


       A estrutura da aplicação é definida pelo padrão de arquitetura MVC (Model-View-
Controller), do servidor Tomcat, banco de dados PostgreSQL, framework jQuery e o browser.
Este padrão de arquitetura está subdividido em três camadas: JavaBeans e DAO, JSP (Java
Server Pages), controller e o servlet, localizados, respectivamente nas camadas de modelo,
visão e controle.




                                                                                         52
Figura 26: Infográfico Estrutura da Aplicação
                      Fonte: Equipe de desenvolvimento (2011)




JavaBeans: os dados são modelados e seus comportamentos são definidos;

DAO: responsável por armazenar e recuperar dados do banco de dados;

JSP: acrescenta elementos visuais no browser. Permite a inserção de dados para envio
ao Servlet e obtenção de resultados;

Controller: local onde percorrem as regras de negócio e as transações do sistema;

Servlet: gerencia as informações fornecidas pelo usuário e as direciona para a camada
de modelo;

Tomcat: fornece um ambiente para a execução da aplicação;

Banco de dados (PostgreSQL): armazena as informações do sistema;



                                                                                    53
jQuery: valida informações fornecidas no JSP, é capacitado a manipular e adicionar
       novos elementos de exibição na página;

       Browser: promove as ações de request e response no servidor.


4.6 CONSIDERAÇÕES SOBRE O DESENVOLVIMENTO


       No início do desenvolvimento do sistema algumas dificuldades naturais relacionadas à
falta de experiência com as tecnologias Web foram encontradas. O tempo, fator não menos
importante, atuou como forma a atribuir prioridades para se concretizar um trabalho digno das
pesquisas realizadas durantes os seis meses. O desenvolvimento não só proporcionou ao
grupo um desafio de agregação de novos conhecimentos concomitantemente a elaboração do
projeto e das pesquisas relacionadas, mas horizontes mais concretos, frutos da busca
permanente do sucesso profissional. A importância da experiência está atrelada a prática
representada no desenvolvimento de um sistema Web, seguindo prazos de entrega e regras.
Além disso, o projeto foi capaz de despertar interesse em outras áreas do ofício, as quais se
tinha pouco conhecimento, como, por exemplo, a tecnologia jQuery e o mercado de CRM.
       O uso da tecnologia foi aproveitável e auxiliador em muitos aspectos, reconhecendo
que tal ferramenta é complexa e fundamental no cotidiano de muitos profissionais, tal qual a
do programador.
       A criação do FRG Gestão de Clientes possibilitou ao grupo a experiência mais prática
sobre o assunto exaustivamente estudado, do princípio da criação a conclusão de um projeto.
Apesar de não possuir tantas funcionalidades comparadas a outros CRMs, já presentes no
mercado, o sistema oferece ainda a oportunidade de agregar novas tecnologias e mais
funcionalidades do própro jQuery. A meta ainda é aperfeiçoar o projeto para que esteja em
vias de comercialização para empresas de qualquer porte ou localização.




                                                                                          54
5 CONCLUSÕES FINAIS


       Ao longo do trabalho foi realizado um estudo sobre CRM, o qual se necessitou
inúmeras fontes de pesquisa com o propósito básico de buscar uma compreensão mais
aprofundada sobre a técnica e a situação de mercado atual. Foi visto que uma empresa
adotante desta abordagem conta com a fidelização maior por parte dos próprios clientes, em
vista dos serviços e produtos.
       A análise e modelagem do projeto FRG Gestão de Clientes foi realizada através de
diagramas de casos de uso, de classes e modelo entidade-relacionamento; enquanto que o
levantamento de requisitos foi obtido por meio de estudos de mercado e pesquisas a softwares
de CRM.
       Ambos os processos contribuíram para o desenvolvimento do sistema Web,
possibilitando o exercício gerencial de atendimentos, visitas e propostas aos clientes,
concomitantemente às delimitações de características e funcionalidades do software.
       O modelo de negócios permitiu observar a versatilidade e atratividade do sistema
voltado às empresas de qualquer segmento, sendo elas de pequeno ou médio porte,
concentradas em aprimorar o relacionamento com os próprios clientes. É relevante ressaltar
que estas características apontadas são gerais referentes à categoria.
       Também foi definido que a forma ideal de comercialização é dada através de planos
mensais e aplicações de taxas de implementação. Além disso, o modelo de negócios mostrou
que o FRG Gestão de Clientes é adaptável às empresas, pois se trata de um sistema Web,
isento do uso de máquinas com altas configurações de hardware e instalação de software.
       Com o auxílio do desenvolvimento de um software Web, utilizando-se da plataforma
coorporativa J2EE, tecnologia a qual permite agregar todas outras não menos robustas,
padrões de projetos e processos do software, é possível ao profissional projetar, desenvolver,
empacotar ou implantar aplicações empresariais baseadas em componentes. Com o auxílio
desta plataforma, foi permissível ao FRG Gestão de Clientes estruturar-se de forma distinta
ao de um simples software. Flexível e versátil, o sistema para a plataforma Web atingiu nível
corporativo capaz de ser acessado por meio de qualquer browser, destacando-se no emprego
da linguagem Java, orientação a objetos, portabilidade, alto desempenho e segurança.
       A pesquisa realizada foi de grande propósito ao explanar a área comercial, tecnológica
e ao viabilizar a leitura futura de alunos e professores sobre o tema abordado neste trabalho.
Desta forma, não somente o software e toda base envolvida no trabalho de constituição e

                                                                                           55
atividades extraclasse foram de efeito, mas a partir do desenvolvimento aqui elaborado como
referência que dará suporte para futuros trabalhos de alunos os quais desejam desenvolver um
sistema Web sob a plataforma J2EE, dirigido principalmente para àqueles que têm como foco
gerenciar informações de clientes e serviços de uma empresa. Entre as etapas deste processo,
o uso das tecnologias e ferramentas, juntamente com o padrão de projeto envolvidos no
sistema e as respectivas apresentações, leva ao conhecimento do aluno não apenas a utilidade
superficial de cada uma, mas confere uma compreensão e um olhar além dos pontos práticos
que estiveram presentes no desenvolvimento da FRG. Já o estudo de CRM sobre a ótica
didática e trabalhada, consegue mostrar ao leitor uma análise atualizada do mercado nacional,
global e eletrônico, de modo que esta compreensão auxilie na construção do próprio projeto
para que atenda as necessidades do marketing de empresas usuárias ou que pretendem tornar-
se, bem como a comercialização do sistema em si. Por meio de tópicos, a organização do
trabalho apresenta uma forma mais didática e, portanto de fácil compreensão, assim como o
vocabulário utilizado em todo corpo do texto, conferindo a acessibilidade ao maior número de
leitores possíveis.




                                                                                          56
6 REFERÊNCIAS BIBLIOGRÁFICAS


ADELINO, Ana Elisa. Os fundamentos jurídicos e tecnológicos do comércio eletrônico no
Brasil. Disponível em: http://www.franca.unesp.br/Ana%20Elisa%20Adelino.pdf. Acesso
em: 13 de maio 2011.


ALBUQUERQUE, Fernando. TCP/IP – Internet Programação de Sistemas Distribuídos
HTML, JavaScript e Java. Rio de Janeiro: Axcel Books, 2001.


ALVAREZ, Miguel Angel. O que é Javascript. Disponível em:
http://www.criarweb.com/artigos/184.php. Acesso em: 17 de maio 2011.


ASPNETI. Plataforma Web ou Windows Forms. Disponível em:
http://www.aspneti.com/artigo/1039/Plataforma+Web+ou+Windows+Forms.aspx. Acesso
em: 13 de maio 2011.


BASTOS, Daniel Flores. O que é Model-View-Controller(MVC). Disponível em:
http://www.oficinadanet.com.br/artigo/desenvolvimento/o_que_e_model-view-
controller_mvc. Acesso em: 28 de maio 2011.


BORSATTI, Roberto. Iniciando com Jquery. Disponível em:
http://www.jquerymagazine.com.br/artigo.php?id=204. Acesso em: 15 de maio 2011.


COELHO, Igo. JSP’s e Servlets. Disponível em:
http://www.slideshare.net/igocoelho/jspservlets-fatene201006-4624684.
Acesso em: 29 de maio 2011.


CAMARANO, Luciano. CRM - Gestão de relacionamento com o cliente: Uma
abordagem prática. Disponível em: http://ebookbrowse.com/crm-gestao-de-relacionamento-
com-o-cliente-uma-abordagem-pratica-pdf-d27764989. Acesso em: 14 de maio 2011.


CAMPOS, Sylvia; LEAL, Francisco; HENRIQUE, João; BORBA, Paulo. Introdução ao
Eclipse. Disponível em:
http://www.cin.ufpe.br/~phmb/ip/MaterialDeEnsino/IntroducaoAoEclipse/IntroducaoAoEclip
se.htm. Acesso em: 10 de junho 2011.


CGK. E.A Business. Disponível em: http://www.cgk.com.br/enterprise-architect/ea-business-
pagina.php. Acesso em: 16 de julho 2011.


                                                                                       57
CONTART. Enterprise Architect: Pacote especial para instituições de ensino. Disponível
em: http://www.ctgi.com.br/rep/ea-ensino.pdf. Acesso em: 18 de maio 2011.


COSTA, Rodrigo Gonçalves Porto. Universo Java: Domine os principais recursos
oferecidos por esta linguagem de programação. São Paulo. Digerati Books, 2008. p. 8-12.


CULTURA-UFPA. Internet – WWW. Disponível em:
http://www.cultura.ufpa.br/dicas/net1/int-www.htm. Acesso em: 13 de maio 2011.


DEVMEDIA. Fundamentos de Servlets. Disponível em: http://www.devmedia.com.br/post-
3573-Fundamentos-de-Servlets.html. Acesso em: 15 de junho 2011.


DIAZ, Jorge; Vilella Melissa. Open-source Education - Introdução a AJAX. Iniciativa
Globalcode. Disponível em: http://www.slideshare.net/adorepump/introduo-a-ajax-
presentation. Acesso em: 14 de junho 2011.


DEVMEDIA. – 2011. DBDesigner. Disponível em:
http://www.devmedia.com.br/articles/viewcomp.asp?comp=6840.
Acesso em: 16 de junho 2011.


E-Civil. GanttProject. Disponível em:
http://www.ecivilnet.com/softwares/gantt_project.htm. Acesso em: 22 de maio 2011.


E-MARKETINGLAB. CRM para que te quero. Disponível em: http://www.e-
marketinglab.com/crm_para_que_te_quero_jnegocios.html. Acesso em: 14 de maio 2011.


FABFORCE. Manual DBDesigner. Disponível em:
http://downloads.mysql.com/DBDesigner4/DBDesigner4_manual_1.0.42.pdf.
 Acesso em: 16 de junho 2011.


FREITAS, Gustavo André. Colaboração em massa. Disponível em:
http://www.gfsolucoes.net/trabalhos/colaboracao_em_massa.pdf. Acesso em: 13 de maio
2011.


GALLON, Alessandra Vansconcelos; PFITSCHER, Elisete Dahmer; VICHROSKI, Tatiane
da Silva Ferreira. A contabilidade e o valor real do cliente no processo de CRM: um
estudo de caso em empresa do setor de varejo supermercadista. Disponível em:
http://www.nemac.ufsc.br/visualizar/valordocliente.pdf . Acesso em: 29 de junho 2011.


                                                                                      58
GOODWILL, James. Apache Jakarta-Tomcat. Disponível em:
http://doc.isiri.org.ir/c/document_library/get_file?p_l_id=18512&folderId=21415&name=DL
FE-22309.pdf. Acesso em: 18 de maio 2011.


GRAXAIM. Introdução à HTML. Disponível em: http://www.graxaim.org/drupal/node/33.
Acesso em: 18 de junho 2011.


GONÇALVES. Dominando Eclipse: Tudo o que o desenvolvedor Java precisa para criar
aplicativos para desktop. S.l: Ciência Moderna, 2011.


GONSALES, Samuel. CRM - gestão eficiente do relacionamento com os clientes.
Disponível em:
http://www.metaanalise.com.br/inteligenciademercado/index.php?option=com_content&view
=article&id=4372:crm-gestao-eficiente-do-relacionamento-com-os-
clientes&catid=6:conhecimento&Itemid=357. Acesso em: 13 de junho 2011.


Hospedagemlocal. JSP. Disponível em: http://www.hospedagemlocal.com.br/hospedagem-
de-sites-suporte-jsp.php. Acesso em: 15 de junho 2011.


HISTÓRIASOBRESITESDEBUSCA. WWW - World Wide Web. Disponível em:
http://sites.google.com/site/historiasobreossitesdebusca/www-world-wide-web. Acesso em:
13 de maio 2011.


HTMLSTAFF. Vantagens da linguagem Java. Disponível em:
http://www.htmlstaff.org/ver.php?id=4384. Acesso em: 15 de junho 2011.


HTML.NET. Tutoriais HTML. Disponível em: <http://pt-
br.html.net/tutorials/html/lesson2.php>. Acesso em: 15 de junho 2011.


JAVA, Saiba mais sobre a tecnologia Java. Disponível em:
http://www.java.com/pt_BR/about/. Acesso em: 28 de maio 2011.


JÚNIOR, Atílio Garrafoni et al. CRM - Conceitos e Métodos de Aplicação no Marketing
de Relacionamento. Disponível em:
http://www.abepro.org.br/biblioteca/enegep2004_enegep0705_0115.pdf. Acesso em: 15 de
maio 2011.


KLEIN, Eduardo. Enterprise Architect, Sparx Systems. Disponível em:
http://www.via6.com/topico/28635/enterprise-architect-sparx-systems. Acesso em: 21 de
maio 2011.
                                                                                          59
LIMA, Adriano Gomes. JavaScript – Aplicações Interativas para a Web. Disponível em:
http://pt.scribd.com/doc/4395178/JavaScript. Acesso em: 17 de maio 2011.


LUCENA, Fábio Nogueira. Servlet – Introdução. Disponível em:
http://www.slideshare.net/kyrios/servletintroducao. Acesso em: 28 de maio 2011.

MAKESYS. Enterprise Architect. Disponível em:
http://www.makesys.com.br/EA_RUP_UML.html. Acesso em: 18 de maio 2011.


MARKETHING2GO. O que é e porque utilizar um CRM – Software de gestão de
relacionamento com o cliente. Disponível em:
http://www.marketing2go.com.br/index.php?/Ultimas-Noticias-IM/crm-gestao-do-
relacionamento-com-o-cliente.html. Acesso em: 14 de maio 2011.


MAZARIOLL, Gustavo Celso de Queiroz. GanttProject. Disponível em:
https://extranet.metrosp.com.br/downloads/outros/ganttproject_2.0.5.pdf. Acesso em: 22 de
maio 2011.


MECENAS, Ivan. Java Fundamentos: Swing e jDBC. 2.ed. São Paulo: Alta Book, 2005,
p.192.


MENGUE, Fábio Mengue. Curso Java III. Disponível em:
http://www.4shared.com/get/1DtEhcxG/curso_java_III_jdbc.html.
Acesso em: 15 de junho 2011.


NETO, Almir; XAVIER, Otávio Calaça. Padrões de Projeto WEB e o MVC.
Disponível em: http://www.slideshare.net/almirnet/apresentacao-949009. Acesso em: 28 de
maio 2011.


O'CONNOR. The Web plataform: what it is. Disponível em:
http://edward.oconnor.cx/2009/05/what-the-web-platform-is. Acesso em: 13 de maio 2011.


OLIVEIRA, Halley Pacheco de; BIAZUS, Diogo de Oliveira; TONON, Marcia. Tutorial
PostgreSQL 8. Disponível em:
http://www.joinville.udesc.br/portal/professores/baldo/materiais/Tutorial_PostgreSQL8.pdf.
Acesso em: 15 de maio 2011.


PGADMIN. Disponível em: http://www.pgadmin.org/. Acesso: 24 de maio 2011.

                                                                                            60
RIBEIRO,Angelo; CASSIO, Arthur; PALHANO, Fernanda. Gantt Project, Planejamento e
gerência de projeto. Disponível em:
http://www.cefetrn.br/~placido/disciplina/pgp/trabalho/Apr_GanttPrj.ppt.
Acesso em: 16 de julho 2011.


ROCHA, Luciano Roberto. Banco de dados Web: Aula 3. Disponível em:
http://www.lrocha.com/arquivos/arquivos/BdWeb%20%28PostgreSQL%29/AULAS/bd_web
_A3.pdf. Acesso em: 25 de maio 2011.


ROCHA, Helder. Soluções de Conectividade. Disponível em:
http://www.argonavis.com.br/palestras/1997/web_bd_itelcon_97.pdf. Acesso em: 23 de junho
2011.


SANTOS, Roneclei Campos; JORGE, Eduardo Manuel de Freitas. Java Server Pages JSP.
Disponível em: http://javafree.uol.com.br/files_user/files/A/74/F8/Tutorial_JSP1.pdf. Acesso
em: 6 de junho 2011.


SAPIENZAE. Mercado Brasileiro de CRM deve superar R$ 1 bilhão neste ano.
Disponível em: http://www.sapienzae.com.br/?p=1030. Acesso em: 30 de junho 2011.


SILVA, Maurício Samy. JQuery: A Biblioteca do Programador JavaScript. S.l: Novatec,
2008.


SILVA, José Cleydson Ferreira. Implementando um Servidor Web Java com Tomcat no
Linux. Disponível em: http://www.vivaolinux.com.br/artigo/Implementando-servidor-web-
Java-com-Tomcat-no-Linux?pagina=5. Acesso em: 6 de junho 2011.


SILVA, Maurício Samy. Ajax com jQuery. S.l: Novatec, 2009.


SOARES, Walace. PHP 5 Conceitos, Programação e Integração com Banco de Dados.
São Paulo: Érica, 2006.


SOUSA, Ribamar Ferreira. PostgreSQL Prático. Disponível em:
http://pt.scribd.com/doc/50022213/PostgreSQL-Pratico. Acesso em: 15 de maio 2011.


SOUZA, Sandro J. S. HTML Introdução. Disponível em:
http://www.htmlstaff.org/ver.php?id=1592. Acesso em: 14 de junho 2011.


                                                                                          61
THIAGO, S. Gonzaga. Introdução a Tecnologia Java. Disponível em:
http://www.slideshare.net/thi.gear/introduo-a-tecnologia-java-presentation. Acesso em: 29 de
maio 2011.


TIINSIDE. A Maioria das empresas Brasileiras não usam CRM. Disponível em:
http://www.tiinside.com.br/23/06/2010/maioria-das-empresas-brasileiras-nao-usa-crm-revela-
estudo/ti/187355/news.aspx. Acesso em: 10 de junho 2011


TRINDADE, Luis; Reis Ricardo. Introdução Ajax. Disponível em:
http://pwp.net.ipl.pt/alunos.isel/24138/AJAX/IntroducaoAJAX.pdf.
Acesso em: 14 de junho 2011.


TRIPOD. Disponível em: http://interworldrk.tripod.com/oque.html. Acesso em: 13 de maio
2011.
ZEMEL, Tárcio. MVC (Model – View – Controller). Disponível em:
http://codeigniterbrasil.com/passos-iniciais/mvc-model-view-controller/. Acesso em: 27 de
maio 2011.


WEBROOM. Sistemas de plataforma web. Disponível em:
http://www.webroom.com.br/conteudo.aspx?cont=120&pai=66. Acesso em: 13 de maio
2011.




                                                                                            62

Mais conteúdo relacionado

Destaque

Universidades Públicas de São Paulo
Universidades Públicas de São PauloUniversidades Públicas de São Paulo
Universidades Públicas de São PauloAndreia D'Oliveira
 
Reajuste abusivo Geap
Reajuste abusivo GeapReajuste abusivo Geap
Reajuste abusivo GeapPortal NE10
 
Webdesign para blogs literários
Webdesign para blogs literáriosWebdesign para blogs literários
Webdesign para blogs literáriosBilly Blay
 
Oficio 13052015 electronico
Oficio 13052015 electronicoOficio 13052015 electronico
Oficio 13052015 electronico74136987
 
Cmp Value Proposition
Cmp Value PropositionCmp Value Proposition
Cmp Value PropositionMauro Pomer
 
2013 45 rassegna normativa
2013 45 rassegna normativa2013 45 rassegna normativa
2013 45 rassegna normativavdenadai
 
Sintesis informativa 01 04 2013
Sintesis informativa 01 04 2013Sintesis informativa 01 04 2013
Sintesis informativa 01 04 2013megaradioexpress
 
Manual de relacionamento_com_a_imprensa
Manual de relacionamento_com_a_imprensaManual de relacionamento_com_a_imprensa
Manual de relacionamento_com_a_imprensaDragodragons
 
O Correio
O CorreioO Correio
O Correiopecots
 
Detran cnh popular
Detran cnh popularDetran cnh popular
Detran cnh popularEvandro Lira
 
Sistemas brahma 1994 al 2003
Sistemas brahma 1994 al 2003Sistemas brahma 1994 al 2003
Sistemas brahma 1994 al 2003Julian Aude
 
Industria vicunha-textil
Industria vicunha-textilIndustria vicunha-textil
Industria vicunha-textilRF SYSTEMS
 

Destaque (20)

Jcla11 ws research
Jcla11 ws researchJcla11 ws research
Jcla11 ws research
 
Play penconsultoria
Play penconsultoriaPlay penconsultoria
Play penconsultoria
 
Universidades Públicas de São Paulo
Universidades Públicas de São PauloUniversidades Públicas de São Paulo
Universidades Públicas de São Paulo
 
Reajuste abusivo Geap
Reajuste abusivo GeapReajuste abusivo Geap
Reajuste abusivo Geap
 
Webdesign para blogs literários
Webdesign para blogs literáriosWebdesign para blogs literários
Webdesign para blogs literários
 
Oficio 13052015 electronico
Oficio 13052015 electronicoOficio 13052015 electronico
Oficio 13052015 electronico
 
Cmp Value Proposition
Cmp Value PropositionCmp Value Proposition
Cmp Value Proposition
 
2013 45 rassegna normativa
2013 45 rassegna normativa2013 45 rassegna normativa
2013 45 rassegna normativa
 
Sintesis informativa 01 04 2013
Sintesis informativa 01 04 2013Sintesis informativa 01 04 2013
Sintesis informativa 01 04 2013
 
Informe de lectura. met
Informe de lectura. metInforme de lectura. met
Informe de lectura. met
 
Informática
InformáticaInformática
Informática
 
Manual de relacionamento_com_a_imprensa
Manual de relacionamento_com_a_imprensaManual de relacionamento_com_a_imprensa
Manual de relacionamento_com_a_imprensa
 
Concepto De Internet
Concepto De InternetConcepto De Internet
Concepto De Internet
 
Aneel
AneelAneel
Aneel
 
O Correio
O CorreioO Correio
O Correio
 
Detran cnh popular
Detran cnh popularDetran cnh popular
Detran cnh popular
 
PYROPLAST WB
PYROPLAST WB PYROPLAST WB
PYROPLAST WB
 
Oskar Schindler
Oskar SchindlerOskar Schindler
Oskar Schindler
 
Sistemas brahma 1994 al 2003
Sistemas brahma 1994 al 2003Sistemas brahma 1994 al 2003
Sistemas brahma 1994 al 2003
 
Industria vicunha-textil
Industria vicunha-textilIndustria vicunha-textil
Industria vicunha-textil
 

Semelhante a FRG CRM - Gestão de Clientes

Proj uml restaurante online
Proj uml restaurante onlineProj uml restaurante online
Proj uml restaurante onlineEvandro Gf
 
Comparação de Tecnologias para Web - JBoss Seam e Ruby on Rails
Comparação de Tecnologias para Web - JBoss Seam e Ruby on RailsComparação de Tecnologias para Web - JBoss Seam e Ruby on Rails
Comparação de Tecnologias para Web - JBoss Seam e Ruby on RailsMawcor
 
Serviços de Redes.pdf
Serviços de Redes.pdfServiços de Redes.pdf
Serviços de Redes.pdfOs Fantasmas !
 
Fabio virtualizacao (1)
Fabio   virtualizacao (1)Fabio   virtualizacao (1)
Fabio virtualizacao (1)gsabatke
 
Trabalho de diplomação I
Trabalho de diplomação ITrabalho de diplomação I
Trabalho de diplomação IEdmilson Hora
 
Proposta de Melhoria do portal do Senac/AL, Utilizando Técnicas de Usabilidad...
Proposta de Melhoria do portal do Senac/AL, Utilizando Técnicas de Usabilidad...Proposta de Melhoria do portal do Senac/AL, Utilizando Técnicas de Usabilidad...
Proposta de Melhoria do portal do Senac/AL, Utilizando Técnicas de Usabilidad...Flávio Oscar Hahn
 
Soa - Arquitetura orientada a serviços
Soa - Arquitetura orientada a serviçosSoa - Arquitetura orientada a serviços
Soa - Arquitetura orientada a serviçosFernando Palma
 
SisDesk - Sistema de Service-Desk voltado para desenvolvimento de software
SisDesk - Sistema de Service-Desk voltado para desenvolvimento de softwareSisDesk - Sistema de Service-Desk voltado para desenvolvimento de software
SisDesk - Sistema de Service-Desk voltado para desenvolvimento de softwareUNIEURO
 
A UTILIZAÇÃO DE METODOLOGIAS ÁGEIS PARA A ENTREGA DE SERVIÇOS DE INFRAESTRUTU...
A UTILIZAÇÃO DE METODOLOGIAS ÁGEIS PARA A ENTREGA DE SERVIÇOS DE INFRAESTRUTU...A UTILIZAÇÃO DE METODOLOGIAS ÁGEIS PARA A ENTREGA DE SERVIÇOS DE INFRAESTRUTU...
A UTILIZAÇÃO DE METODOLOGIAS ÁGEIS PARA A ENTREGA DE SERVIÇOS DE INFRAESTRUTU...Marcelo Dieder
 
TCC: Avaliação de Dependabilidade e Análise de Sensibilidade de uma Plataform...
TCC: Avaliação de Dependabilidade e Análise de Sensibilidade de uma Plataform...TCC: Avaliação de Dependabilidade e Análise de Sensibilidade de uma Plataform...
TCC: Avaliação de Dependabilidade e Análise de Sensibilidade de uma Plataform...Ramon Santos
 
TCC - METODOLOGIA SCRUM APLICADA AOS PROCESSOS DE GERÊNCIA E DESENVOLVIMENTO ...
TCC - METODOLOGIA SCRUM APLICADA AOS PROCESSOS DE GERÊNCIA E DESENVOLVIMENTO ...TCC - METODOLOGIA SCRUM APLICADA AOS PROCESSOS DE GERÊNCIA E DESENVOLVIMENTO ...
TCC - METODOLOGIA SCRUM APLICADA AOS PROCESSOS DE GERÊNCIA E DESENVOLVIMENTO ...Juliano Oliveira
 
Instalação e Configuração de Redes.pdf
Instalação e Configuração de Redes.pdfInstalação e Configuração de Redes.pdf
Instalação e Configuração de Redes.pdfOs Fantasmas !
 
Proj. pesq. ibes-pim - marcelo soares - implantação de software livre na em...
Proj. pesq.   ibes-pim - marcelo soares - implantação de software livre na em...Proj. pesq.   ibes-pim - marcelo soares - implantação de software livre na em...
Proj. pesq. ibes-pim - marcelo soares - implantação de software livre na em...Marcelo Medeiros Soares
 
PETIC-UFS 2010-2012
PETIC-UFS 2010-2012PETIC-UFS 2010-2012
PETIC-UFS 2010-2012geraldoao
 
TecTreinos - Ementas 2011
TecTreinos - Ementas 2011TecTreinos - Ementas 2011
TecTreinos - Ementas 2011Qintess
 
Projeto Integrado 5º Semestre - Projeto de redes.pdf
Projeto Integrado 5º Semestre - Projeto de redes.pdfProjeto Integrado 5º Semestre - Projeto de redes.pdf
Projeto Integrado 5º Semestre - Projeto de redes.pdfWilliam Santos
 
Arquitetura de Redes.pdf
Arquitetura de Redes.pdfArquitetura de Redes.pdf
Arquitetura de Redes.pdfOs Fantasmas !
 
Portal de Acompanhamento de Egressos
Portal de Acompanhamento de EgressosPortal de Acompanhamento de Egressos
Portal de Acompanhamento de EgressosCassiano Carraro
 
Jspservlets
JspservletsJspservlets
JspservletsTiago
 

Semelhante a FRG CRM - Gestão de Clientes (20)

Proj uml restaurante online
Proj uml restaurante onlineProj uml restaurante online
Proj uml restaurante online
 
Comparação de Tecnologias para Web - JBoss Seam e Ruby on Rails
Comparação de Tecnologias para Web - JBoss Seam e Ruby on RailsComparação de Tecnologias para Web - JBoss Seam e Ruby on Rails
Comparação de Tecnologias para Web - JBoss Seam e Ruby on Rails
 
Serviços de Redes.pdf
Serviços de Redes.pdfServiços de Redes.pdf
Serviços de Redes.pdf
 
Fabio virtualizacao (1)
Fabio   virtualizacao (1)Fabio   virtualizacao (1)
Fabio virtualizacao (1)
 
Trabalho de diplomação I
Trabalho de diplomação ITrabalho de diplomação I
Trabalho de diplomação I
 
Construção de Aplicação ETL para SICOP
Construção de Aplicação ETL para SICOPConstrução de Aplicação ETL para SICOP
Construção de Aplicação ETL para SICOP
 
Proposta de Melhoria do portal do Senac/AL, Utilizando Técnicas de Usabilidad...
Proposta de Melhoria do portal do Senac/AL, Utilizando Técnicas de Usabilidad...Proposta de Melhoria do portal do Senac/AL, Utilizando Técnicas de Usabilidad...
Proposta de Melhoria do portal do Senac/AL, Utilizando Técnicas de Usabilidad...
 
Soa - Arquitetura orientada a serviços
Soa - Arquitetura orientada a serviçosSoa - Arquitetura orientada a serviços
Soa - Arquitetura orientada a serviços
 
SisDesk - Sistema de Service-Desk voltado para desenvolvimento de software
SisDesk - Sistema de Service-Desk voltado para desenvolvimento de softwareSisDesk - Sistema de Service-Desk voltado para desenvolvimento de software
SisDesk - Sistema de Service-Desk voltado para desenvolvimento de software
 
A UTILIZAÇÃO DE METODOLOGIAS ÁGEIS PARA A ENTREGA DE SERVIÇOS DE INFRAESTRUTU...
A UTILIZAÇÃO DE METODOLOGIAS ÁGEIS PARA A ENTREGA DE SERVIÇOS DE INFRAESTRUTU...A UTILIZAÇÃO DE METODOLOGIAS ÁGEIS PARA A ENTREGA DE SERVIÇOS DE INFRAESTRUTU...
A UTILIZAÇÃO DE METODOLOGIAS ÁGEIS PARA A ENTREGA DE SERVIÇOS DE INFRAESTRUTU...
 
TCC: Avaliação de Dependabilidade e Análise de Sensibilidade de uma Plataform...
TCC: Avaliação de Dependabilidade e Análise de Sensibilidade de uma Plataform...TCC: Avaliação de Dependabilidade e Análise de Sensibilidade de uma Plataform...
TCC: Avaliação de Dependabilidade e Análise de Sensibilidade de uma Plataform...
 
TCC - METODOLOGIA SCRUM APLICADA AOS PROCESSOS DE GERÊNCIA E DESENVOLVIMENTO ...
TCC - METODOLOGIA SCRUM APLICADA AOS PROCESSOS DE GERÊNCIA E DESENVOLVIMENTO ...TCC - METODOLOGIA SCRUM APLICADA AOS PROCESSOS DE GERÊNCIA E DESENVOLVIMENTO ...
TCC - METODOLOGIA SCRUM APLICADA AOS PROCESSOS DE GERÊNCIA E DESENVOLVIMENTO ...
 
Instalação e Configuração de Redes.pdf
Instalação e Configuração de Redes.pdfInstalação e Configuração de Redes.pdf
Instalação e Configuração de Redes.pdf
 
Proj. pesq. ibes-pim - marcelo soares - implantação de software livre na em...
Proj. pesq.   ibes-pim - marcelo soares - implantação de software livre na em...Proj. pesq.   ibes-pim - marcelo soares - implantação de software livre na em...
Proj. pesq. ibes-pim - marcelo soares - implantação de software livre na em...
 
PETIC-UFS 2010-2012
PETIC-UFS 2010-2012PETIC-UFS 2010-2012
PETIC-UFS 2010-2012
 
TecTreinos - Ementas 2011
TecTreinos - Ementas 2011TecTreinos - Ementas 2011
TecTreinos - Ementas 2011
 
Projeto Integrado 5º Semestre - Projeto de redes.pdf
Projeto Integrado 5º Semestre - Projeto de redes.pdfProjeto Integrado 5º Semestre - Projeto de redes.pdf
Projeto Integrado 5º Semestre - Projeto de redes.pdf
 
Arquitetura de Redes.pdf
Arquitetura de Redes.pdfArquitetura de Redes.pdf
Arquitetura de Redes.pdf
 
Portal de Acompanhamento de Egressos
Portal de Acompanhamento de EgressosPortal de Acompanhamento de Egressos
Portal de Acompanhamento de Egressos
 
Jspservlets
JspservletsJspservlets
Jspservlets
 

FRG CRM - Gestão de Clientes

  • 1. SERVIÇO NACIONAL DE APRENDIZAGEM INDUSTRIAL SENAI SÃO JOSÉ TÉCNICO EM INFORMÁTICA FRG GESTÃO DE CLIENTES FELIPE KRÁS BORGES RODRIGO DA SILVA Trabalho de Conclusão de Curso São José - SC 2011
  • 2. FELIPE KRÁS BORGES RODRIGO DA SILVA FRG GESTÃO DE CLIENTES Trabalho de Conclusão de Curso apresentado ao Curso Técnico em Informática do Serviço Nacional de Aprendizagem Industrial São José - SC como requisito parcial para conclusão do curso. Professor Orientador Matheus Meira São José - SC 2011
  • 3. “Aos meus pais Carlos Augusto e Beth pelo seu amor e incentivo. Em especial, a minha grande amiga Liliane Yuki Nakagawa que me apoiou em todos os momentos desta etapa da minha vida e compartilhou comigo os momentos de dificuldade e alegria. Também ao amigo Rodrigo pelo seu empenho e dedicação.” (Felipe Krás Borges) “Dedico este trabalho aos meus pais, pelo amor, carinho, compreensão e exemplo de vida. À minha esposa Íris, pelos momentos em que estive ausente e pelo amor que continuamos cultivando dia a dia. Ao amigo Felipe pelo apoio e amizade durante essa importante conquista.” (Rodrigo Silva)
  • 4. LISTA DE ABREVIATURAS E SIGLAS API – Application Programming Interfaces (Interface de Programação de Aplicativos) AJAX – Asynchronous Java Scriptand XML BD – Banco de Dados CRM – Customer Relationship Management CSS – Cascading Style Sheets DAO – Data Access Object DOM – Document Object Model EA – Enterprise Architect ER – Entidade Relacionamento HTML – Hypertext Markup Language (Linguagem de Marcação de Hipertexto) HTTP – Hypertext Tranfer Protocol (Protocolo de Transferência de Hipertexto) IBM – International Business Machines IP – Internet Protocol (Protocolo de Interconexão) J2EE – Java 2 Enterprise Edition J2EE – Java 2 Enterprise Edition J2ME – Java 2 Micro Edition
  • 5. JB – JavaBeans JDBC – Java Database Connectivity JRE – Java Runtime Enviroment JSP – Java Server Pages MVC – Model View Controller ODBC – Open Database Connectivity PDF – Portable Document Format SGBD – Sistema Gerenciador de Bancos de Dados SGDBR – Sistema Gerenciador de Bancos de Dados Relacional SQL – Structured Query Language TCP – Transmission Control Protocol (Protocolo de Controle de Transmissão) HTTP – Hypertext Transfer Protocol (Protocolo de Transferência de Hipertexto) IDE - Integrated Development Envoronment UML – Unified Modeling Language XML – Extensible Markup Language XHTML – eXtensible Hypertext Markup Language WEB – World Wide Web (Rede de Alcance Mundial)
  • 6. LISTA DE ILUSTRAÇÃO Figura 1: Atores: Vendedor e Administrador.......................................................................... 21 Figura 2: Esquema Cadastros Auxiliares..................................................................................22 Figura 3: Esquema Atendimento...............................................................................................23 Figura 4: Tela de Login.............................................................................................................24 Figura 5: Tela Registro de Atendimento...................................................................................24 Figura 6: Tela Listagem de Atendimento.................................................................................25 Figura 7: Tela Gerenciamento de Atendimento........................................................................27 Figura 8: Tela Registro de Proposta..........................................................................................29 Figura 9: Tela Registro de Visitas.............................................................................................30 Figura 10: Tela Gerenciamento de Proposta.............................................................................31 Figura 11: Tela Gerenciamento de Visita.................................................................................32 Figura 12: Tela Cadastro de Clientes........................................................................................33 Figura 13: Tela Gerenciamento do Cliente...............................................................................34 Figura 14: Tela Cadastro de Funcionário..................................................................................35 Figura 15: Tela Gerenciamento de Funcionário.......................................................................36 Figura 16: Tela Cadastro de Produtos.......................................................................................37 Figura 17: Tela Listagem de Produtos......................................................................................38 Figura 18: Tela Gerenciamento de Produtos.............................................................................38 Figura 19: Tela Cadastro de Serviços.......................................................................................37 Figura 20: Tela Listagem de Serviços......................................................................................38 Figura 21: Tela Gerenciamento de Serviços.............................................................................38 Figura 22: Tela Listagem de Clientes.......................................................................................39 Figura 23: Tela Listagem de Funcionários...............................................................................40 Figura 24: Vinculação de Produto ao Cliente...........................................................................39
  • 7. Figura 25: Vinculação de Serviço ao Cliente...........................................................................39 Figura 26: Infográfico Estrutura da Aplicação.........................................................................43
  • 8. SUMÁRIO 1 INTRODUÇÃO ................................................................................................................... 11 1.2 JUSTIFICATIVA ........................................................................................................... 12 1.3 OBJETIVOS ................................................................................................................... 12 1.3.1 Objetivo geral ............................................................................................................. 12 1.3.2 Objetivos específicos .................................................................................................. 12 2 DESENVOLVIMENTO...................................................................................................... 13 2.1 FERRAMENTAL TÉCNICO ........................................................................................ 13 2.1.1 Enterprise Architect .................................................................................................. 13 2.1.2 GanttProject ............................................................................................................... 14 2.1.3 Pgadmin ...................................................................................................................... 14 2.1.4 DBDesigner ................................................................................................................ 15 2.1.5 Eclipse ......................................................................................................................... 15 2.1.6 ANT ............................................................................................................................. 16 2.2 TECNOLOGIAS ............................................................................................................ 16 2.2.1 PostgreSQL ................................................................................................................ 17 2.2.2 Jquery ......................................................................................................................... 17 2.2.3 JavaScript ................................................................................................................... 18 2.2.4 Tomcat ........................................................................................................................ 19 2.2.5 Java ............................................................................................................................. 19 2.2.6 Servlet ......................................................................................................................... 20 2.2.7 JDBC ........................................................................................................................... 21 2.2.8 JSP .............................................................................................................................. 22 2.2.9 HTML ......................................................................................................................... 23 2.2.10 AJAX ........................................................................................................................ 23 2.3 PADRÕES DE PROJETO.............................................................................................. 24 2.3.1 MVC............................................................................................................................ 24 2.3.2 DAO ............................................................................................................................ 25 2.4 MERCADO .................................................................................................................... 25 3 PROCEDIMENTOS METODOLÓGICOS ..................................................................... 27 4 APRESENTAÇÃO DO SISTEMA - FRG GESTÃO DE CLIENTES .......................... 27 4.1 ATORES......................................................................................................................... 27 4.1.1 Administrador ............................................................................................................ 28 4.1.1 Vendedor .................................................................................................................... 28 4.2 MÓDULOS .................................................................................................................... 28 4.2.1 Cadastros Auxiliares ................................................................................................. 29 4.2.2 Atendimento ............................................................................................................... 30 4.3 MODELO DE NEGÓCIOS ........................................................................................... 30 4.4 INTERFACES ................................................................................................................ 31 4.4.1 Login ........................................................................................................................... 33 4.4.2 Registro de atendimento ........................................................................................... 32 4.4.3 Listagem de atendimentos......................................................................................... 33 4.4.4 Gerenciamento de atendimento ................................................................................ 34 4.4.5 Registro de proposta.................................................................................................. 35 4.4.6 Registro de visita ........................................................................................................ 36 4.4.7 Gerenciamento de proposta ...................................................................................... 37 4.4.8 Gerenciamento de visita ............................................................................................ 38
  • 9. 4.4.9 Cadastro de cliente .................................................................................................... 39 4.4.10 Gerenciamento de cliente ........................................................................................ 40 4.4.11 Cadastro de funcionário .......................................................................................... 41 4.4.12 Gerenciamento de funcionário ............................................................................... 42 4.4.13 Cadastro de produtos .............................................................................................. 43 4.4.14 Listagem de produtos .............................................................................................. 44 4.4.15 Gerenciamento de produtos.................................................................................... 45 4.4.16 Cadastro de serviços ................................................................................................ 46 4.4.17 Listagem de serviços ................................................................................................ 46 4.4.18 Gerenciamento de serviços ..................................................................................... 46 4.4.21 Listagem de clientes ................................................................................................. 50 4.4.20 Listagem de funcionários ........................................................................................ 50 4.4.21 Vinculação de produto ao cliente ........................................................................... 50 4.4.22 Vinculação de serviço ao cliente ............................................................................. 50 4.5 ARQUITETURA TECNOLÓGICA .............................................................................. 52 4.6 CONSIDERAÇÕES SOBRE O DESENVOLVIMENTO ............................................. 54 5 CONCLUSÕES FINAIS ..................................................................................................... 55 6 REFERÊNCIAS BIBLIOGRÁFICAS .............................................................................. 57
  • 10. RESUMO O presente trabalho tem por objetivo descrever os mecanismos de desenvolvimento de uma empresa fictícia de gestão, utilizando-se de ferramentas técnicas de programação. A FRG Gestão de Clientes, software desenvolvido destinado à plataforma Web, visa demonstrar respostas possíveis através de usos e simulações do que é provável ocorrer com cada procedimento tomado e o espaço mercadológico reservado a ele ao decorrer da história da sua existência. Vários testes foram realizados para com função essencialmente experimental baseando-se principalmente no exercício do CRM. O programa segue facilidades de atendimentos em função das necessidades de empresa de pequeno, médio e grande porte, as quais adotam o controle das relações com os clientes e prospects. O foco principal deste programa está no aperfeiçoamento de fidelização empresa-cliente, aspecto o qual singulariza cada cliente na opção de atendimento. Palavras-chaves: CRM. Java. Web. 10
  • 11. 1 INTRODUÇÃO A plataforma Web é a tecnologia utilizada para administrar as informações da internet. Muitas ferramentas que existem fora dos browsers são criadas nesta plataforma e para determinada tecnologia integrar-se é preciso que ela interaja com o conteúdo da Web (O’CONNOR, 2009). Ela consiste basicamente em possuir sistemas que funcionem através de browsers e navegação. Os softwares também exercem função por meio da internet, possibilitando que vários programas sejam integrados formando uma grande plataforma (WEBROOM, 2011). A facilidade é relacionada ao uso sem a necessidade de instalação, diferentemente de uma aplicação desktop, cujo acesso encontra-se limitado impedindo que haja comunicação entre computadores da rede. No início a Web era utilizada para o envio de e-mails e mensagens instantâneas, o que proporcionava melhor comunicação entre funcionários, fornecedores e clientes de empresas que dispusessem da tecnologia (FREITAS, 2008, p. 5). Devido à expansão da internet, com o surgimento de novas tecnologias Web, foi possível a criação de sistemas voltados para o comércio eletrônico (ADELINO, 2003). O presente trabalho trata-se do desenvolvimento de um sistema CRM (Customer Relationship Manager). O CRM é uma técnica de gerenciamento de clientes. O objetivo do software é gerenciar todas as relações da empresa com o cliente e prospects, armazenando e inter-relacionando de forma inteligente, informações sobre suas atividades e interações com a empresa através de uma aplicação Web. Na análise sobre CRM no mercado brasileiro, Júnior (2005 apud Peppers, 2003, p. 3) mostraram que a maior parte das empresas pesquisadas não possuem um software formal de relacionamento, e que a maioria destas declararam que pretendem implementar a técnica nos próximos anos. O CRM deve ser utilizado pelas empresas que desejam tornar o cliente leal aos seus serviços e produtos. A técnica permite que a empresa dê respostas personalizadas aos clientes, antecipando suas necessidades, contribuindo com os negócios. Outra vantagem do CRM é fornecimento de estatísticas para quais segmentos da empresa oferecem maior retorno. Para ilustrar sobre o funcionamento de uma empresa usuária de CRM foi criada a FR – Gestão de Clientes, voltado para plataforma Web, sistema o qual, de forma genérica, é utilizado por empresas sem filiais de qualquer porte ou segmento. O comércio é tratado por 11
  • 12. meio de planos mensais e em vias de aplicações de taxas de implantação. O software é capacitado a gerenciar clientes, funcionários, serviços, produtos, auxiliando no registro de atendimentos, bem como descrever propostas e/ou visitas. Também é possível vincular produtos e/ou serviços aos clientes, assim como listar atendimentos. 1.1 PROBLEMA DE PESQUISA Como desenvolver um CRM sob a plataforma Web que possibilite o gerenciamento de atendimentos, visitas e propostas aos clientes? 1.2 JUSTIFICATIVA O FRG será desenvolvido para atender as necessidades de empresas que desejam ter controle das relações com os próprios clientes e prospects, proporcionando-lhes através de atendimentos, a comunicação e fidelidade. O sistema possibilita o gerenciamento de propostas e visitas dentro dos atendimentos, o que proporciona maior controle das atividades comerciais e de pós-venda. 1.3 OBJETIVOS Abrangem itens pertinentes, gerais e específicos, do trabalho realizado pela equipe FRG Gestão de Clientes. Os objetivos são as partes conducentes das linhas tomadas pela pesquisa, por meio destas, viabilizou-se a discussão base sobre o tema, agora, delimitada. 1.3.1 Objetivo geral Desenvolver um CRM sob a plataforma Web que possibilite o gerenciamento de atendimentos, visitas e propostas aos clientes. 1.3.2 Objetivos específicos 12
  • 13. Realizar um estudo sobre CRM; Levantar requisitos e gerar uma documentação UML; Definir um modelo de negócios para o sistema; Desenvolver o software Web utilizando a plataforma corporativa J2EE. 2 DESENVOLVIMENTO Apresenta o núcleo de toda estrutura do trabalho, composta pelas ferramentas técnicas utilizadas para tornar possível o exercício e a prática do estudo em foco. 2.1 FERRAMENTAL TÉCNICO Segue abaixo o conjunto de ferramentas capazes de auxiliar no desenvolvimento de softwares. 2.1.1 Enterprise Architect O Enterprise Architect (E.A) é uma aplicação UML, que tem como objetivo modelar sistemas e controlar o ciclo de desenvolvimento do software (CONTART, 2006, p.3). É um ambiente de modelagem em equipes que possuem, entre as principais funcionalidades, alto desempenho visual, ferramentas para modelagem de negócios, engenharia de sistemas, arquitetura coorporativa, gerenciamento de requisitos e projeto de softwares (MAKESYS, 2001). Com o uso desta ferramenta há melhoras na comunicação entre colaboradores da empresa, visto que a aplicação UML contêm recursos de geração de documentos consolidados para a distribuição dos modelos (KLEIN, 2006). Observam-se outras atividades como produção de relatórios detalhados e versões automáticas em HTML. Para tornar possível esta organização são utilizadas três ferramentas fundamentais: Diagramas para a modelagem estratégica e de negócio conceitos nível. Perfis de domínio específico e os padrões de modelo reutilizável. 13
  • 14. Baseline e gerenciamento de versão para o acompanhamento e integração de mudanças (COOK, 1999). 2.1.2 GanttProject O Projeto GanttProject foi iniciado na Universidade de Marne-la-Vallee, em dezembro de 2002, por Alexandre Thomas e Dmitry Barashev. Desenvolvido em Java e executado localmente, trata-se de um software gratuito, open source e multi-plataforma, podendo ser instalado em equipamentos com quaisquer sistemas operacionais (Ribeiro et. al , 2011). Para utilizar a ferramenta é necessário ter o JRE instalado ao computador. Com o uso do GanttProject é possível dividir o projeto em uma árvore de tarefas e indicar pessoas a elas. Esta ferramenta é dividida em um chart de tarefas e recursos gráficos. O recurso de impressão de gráficos e a geração de relatórios em PDF e HTML são disponibilizados pelo software (E- CIVIL, 2011). Além disso, há recursos de importação e exportação de relatórios e arquivos, sistema de calendário que possibilita o acompanhamento das atividades ao longo de um determinado período (MAZZARIOL, 2007, p.6). 2.1.3 Pgadmin Desenvolvida pela comunidade mundial de especialistas do PostgreSQL, o pgAdmin é uma robusta ferramenta multiplataforma de desenvolvimento e administração open source para o PostgreSQL (PGADMIN, 2011). Por oferecer suporte a todos os recursos do PostgreSQL, a interface gráfica desta ferramenta facilita até mesmo o gerenciamento desse sistema. O software pode ser utilizado para o PostgreSQL 7.3 e versões superiores, assim como para as versões comerciais EnterpriseDB e Mammoth PostgreSQL. A ferramenta foi criada com o objetivo de atender as necessidades de todos os usuários, proporcionando-lhes funcionalidades como escrever queries SQL e desenvolver bancos de dados complexos. Além disso, possui caixas de diálogo para configuração de usuários, grupos e privilégios, exibição de informações sobre os objetos do banco de dados (ROCHA, 2011). 14
  • 15. 2.1.4 DBDesigner Trata-se de um editor visual open source e multi-plataforma para criação banco de dados MYSQL. Foi desenvolvido pela Fabulous Force Database tools em 2003, atualmente encontra-se na versão 4 (DEVMEDIA, 2011). Direcionado para o desenvolvimento banco de dados como SGBD mySQL, o DBDesigner oferece também suporte a outros bancos que comportem acessos via ODBC. A função básica consiste em visualizar graficamente o projeto da base de dados, modelar e controlar os dados nele contidos. No ambiente DBDesigner é trabalhado o modelo de visualização da meta-informação armazenada em um banco de dados, as informações iniciais de tabelas são obtidas diretamente do modelo representativo da meta-informação. Dentre as funcionalidades deste ambiente, pode-se destacar a geração de script SQL a partir do modelo ER, estes que por sua vez são criados de acordo com banco de dados existentes e a permissão de uma conexão direta com o banco de dados, possibilitando a realização de manutenções ou prováveis alterações (FABFORCE, 2001). 2.1.5 Eclipse A IDE Eclipse (Integrated Development Envoronment – ambiente de desenvolvimento integrado) foi desenvolvida pela IBM (International Business Machines). É uma ferramenta de desenvolvimento de linguagens como C/C++, Cobol, C# etc. O funcionamento consiste em apenas instalar os plug-ins de acordo com a linguagem a ser desenvolvida, possui editor de textos providas de facilidades especiais para a linguagem, um compilador/interpretador, um editor gráfico para edição e criação das partes gráficas e um debugger, (ferramenta para tirar bugs do código). As versões de Eclipse se subdividem em quatro tipos: Release: compilação estável do sistema liberada pela equipe de desenvolvimento do Eclipse. Stable build: compilação relativamente estável, conhecidas como versões beta em que podem surgir versões intermediárias. Integration build: compilação onde os componentes do Eclipse são testados individualmente não havendo garantias de sucesso. 15
  • 16. Nightly build: versão mais recente do código fonte, não há garantias sobre esta compilação (GONÇALVES, 2011, p.22). A arquitetura do Eclipse consiste em um conjunto formado basicamente por ferramentas como a runtime (responsável por descobrir quais plug-ins estão disponíveis), o Workbench (interface gráfica que exibe menus e caixas de ferramentas), o workspace (responsável administrar os recursos dos usuários que são organizados em um ou mais projetos.), o Help (é um sistema de documentação extensível) e diversos plug-ins que se ajustam ao framework, necessários para criar uma aplicação utilizável. A Plataforma em questão foi desenvolvida na linguagem Java, e apresenta neutralidade em relação à escolha de um idioma padrão (CAMPOS et. al, 2011). 2.1.6 ANT O Apache ANT (Another Neat Tool), criado por James Duncan Davidson, teve a primeira versão lançada em julho de 2002, foi desenvolvida a partir do projeto TOMCAT após a doação da Apache Software Foundation, local onde ocorreu a desvinculação do projeto, tornando-o independente (TECGRAF, 2010). A ANT é uma ferramenta para automação de projetos, trata-se basicamente de um pequeno programa para auxiliar equipes de desenvolvimento a criarem grandes softwares, processos de compilação de códigos, por exemplo, recebem tratamento automático, há separação de arquivos .class e .java em diretórios separados. A configuração e execução a aplicação é uma atividade independente do sistema operacional e IDE (Integrated Development Environment) (VIVAOLINKX, 2002). 2.2 TECNOLOGIAS A recorrência às dez tecnologias utilizadas durante o processo de elaboração do estudo de CRM tiveram por base particularidades que envolviam a flexibilidade e robustez para aplicações Web, incorporada à plataforma J2EE, a qual é capaz de agregar todas essas tecnologias, padrões de projeto e processos do software. A listagem de tecnologias e respectivas informações pertinentes ao aluno e/ou profissional seguem neste capítulo. 16
  • 17. 2.2.1 PostgreSQL O PostgreSQL é um Sistema Gerenciador de Banco de Dados Relacional (SGDBR) que utiliza o modelo cliente-servidor. O SGDBR é caracterizado por gerenciar dados armazenados em relações (termo matemático usado para tabelas). Uma tabela possui linhas e todas estas possuem o mesmo conjunto de colunas nomeadas. Em cada coluna há um tipo de dado específico. O SGDB foi criado, segundo Sousa (2006, p.10), a partir do POSTGRES (1986), um projeto liderado pelo Professor Michael Stonebreaker e desenvolvido na Universidade da Califórnia em Berkeley. Em 1995, Jolly Chen e Andrew Yu, ambos os alunos de Berkeley, adicionaram suporte a SQL ao SGDB, mudando o nome para Postgre95. No ano seguinte, o software foi disponibilizado na internet sob o nome de PostgreSQL. O Postgre é comparável à SGDBs comerciais em termos de características, desempenho e confiança, e é uma alternativa de código-fonte aberto. O funcionamento do Postgre é realizado por um processo servidor, o postmaster e o frontend. O processo servidor gerencia os arquivos do banco de dados, recebe e executa ações com o banco de dados através de um aplicativo cliente. O postmaster é o programa servidor de banco de dados. O frontend é o aplicativo cliente do usuário que executa operações no banco de dados e pode assumir a forma de ferramenta no modo caractere, aplicativo gráfico, servidor WEB que acessa o banco de dados para exibir páginas na internet ou de ferramenta especializada para manutenção de banco de dados. Por ser uma aplicação de cliente-servidor, o cliente e o servidor não necessitam ocupar o mesmo computador, pois estes se comunicam através de uma rede TCP/IP. O servidor PostgreSQL trabalha com várias conexões simultâneas de clientes, para isto é iniciado um novo processo para cada conexão. Neste momento, o cliente e o novo processo servidor se comunicam sem intervenção do processo postmaster original (OLIVEIRA et. al, 2005, p.3). 2.2.2 Jquery 17
  • 18. O jQuery é uma biblioteca JavaScript criada por John Resig, em 2006. Conforme Silva (2008, p.17), a biblioteca foi desenvolvida com o intuito de tornar a programação JavaScript mais ágil e simples, tanto para os programadores amadores como para os experientes. Para utilizar a biblioteca não é preciso ter profundo conhecimento em programação JavaScript, pois jQuery já é uma tecnologia baseada nesta programação. O jQuery é um software livre e aberto, portanto pode ser utilizado para projetos pessoais e/ou comerciais. A biblioteca é utilizada para adicionar efeitos visuais e animações, acessar e manipular o DOM, buscar informações no servidor sem necessidade de recarregar a página, proporcionar interatividade, modificar conteúdos, alterar apresentação e estilização, simplificar tarefas específicas de JavaScript e demais atividades derivadas das que foram citadas anteriormente. A biblioteca possui vantagens como disponibilidade para novos plug- ins e extensões, compatibilidade com qualquer browser, ocupa pouco espaço na memória e otimiza o código evitando excesso de programação (BORSATTI, 2008). 2.2.3 JavaScript O JavaScript é uma linguagem de programação utilizada para tornar as páginas HTML dinâmicas (LIMA, 2006, p.9). Esta linguagem começou a ser utilizada nos browsers Netscape Navigator 2.0 e Internet Explorer 3.0, no entanto era conhecida por LiveScript. Após o sucesso visto no Netscape, o LiveScript recebeu uma colaboração da empresa Sun Microsystems, criadora do Java. Com esta colaboração, o LiveScript passou a se chamar JavaScript devido a compatibilidade que adquiriu com o Java, porém distinções entre as linguagens coloca o Java como grande requerente de conhecimento sobre programação e de seu kit de desenvolvimento. O JavaScript também é considerado uma extensão da linguagem HTML, portanto os comandos da linguagem são inseridos nas páginas HTML e são interpretados pelo browser. O JavaScript corresponde a programação orientada a objetos e trata todos elementos de uma página Web como sendo-os, por isso no momento em que uma página da internet é carregada são automaticamente criados objetos JavaScript, cujas características se adequam ao conteúdo da página. Também é referenciado como “linguagem de criação de scripts”, pois são criados scripts em vez de programas. Porém, não há real diferença entre os dois, porque o script é uma forma mais simplificada de programação (SMITH; NEGRINO, 2001). 18
  • 19. Os dois tipos de ações mais comuns da linguagem são os efeitos especiais e as páginas interativas. Dentre os efeitos especiais, podem-se criar conteúdos dinâmicos e elementos da página em movimento, mudança de cores e outros efeitos de dinamismo. As páginas interativas possibilitam que sejam executadas instruções como resposta às ações do usuário, assim como conceber páginas com programas interativos (ALVAREZ, 2004). 2.2.4 Tomcat O servidor Tomcat é um Web container para aplicações Java que se utilizam de servlet e JavaServer Pages (JSP). Este surgiu a partir da colaboração de voluntários de uma comunidade open source de Java para dar suporte e melhorar o projeto Apache Jakarta. O Tomcat é muito estável e possui todas as características de outros Web containers comerciais existentes. Além dessas vantagens, é possível destacar a função open source e a gratuidade oferecida. (GOODWILL, 2002, p. 12). A estrutura de funcionamento do Tomcat está dividida nos seguintes diretórios: bin: local onde são encontrados os arquivos binários do sistema. É a parte responsável por inicializar ou interromper o servidor; lib: local de armazenamento de bibliotecas, sejam elas da aplicação ou do próprio Tomcat; logs: diretório o qual estão armazenados os logs do sistema, assim como informações de execução das aplicações, instalação, erros de acesso e requisições de conexão e demais atividades; temp: aloca os arquivos temporários das aplicações; webapps: local de armazenamento das aplicações executadas no Tomcat; conf: local em que situam os arquivos de configuração do Web container (SILVA, 2011). 2.2.5 Java Java é um conjunto que pode ser resumido em linguagem de programação, plataforma e tecnologia de desenvolvimento. Pode ser independente da plataforma, desde que possua uma versão da JVM (Java Virtual Machine). Também é possível considerá-la 19
  • 20. um interpretador de código intermediário (Byte-Code Java) para as plataformas designadas a executar um aplicativo; possui open source (código aberto), orientam a objetos, permite implementar robustez e tolerância a falhas, multihreading, processamento paralelo, gerenciamento de memória e um farto conjunto de bibliotecas (API´s). O código utilizado por esse tipo de linguagem é semelhante ao C/C++. Uma aplicação com tais características pode ser executada como Stand Alone (aplicação independente), Applet (executada no navegador do cliente), Servlet (não possui Interface que possa ser executado no servidor) (COSTA, 2008, p.8). A história da linguagem Java começou a ser desenvolvida em 1991, por James Goslim, da Sun Microsystems, com o nome de Green Project. Um ano depois surge a Oak, primeira máquina virtual implementada, onde foram feitas várias tentativas de comercialização, mas todas sem sucesso. Com o advento da internet em 1994, a Sun vê uma possibilidade de construir aplicativos baseados na OAK, a Java. Ela foi lançada oficialmente em 23 de maio de 1995, vale ressaltar que em 1997 foi lançada uma versão que trazia grandes novidades onde passou a ser chamada de Java 2 Plataform, e a partir dessa versão passaram a existir mais três edições: J2SE (Java 2 Standard Edition) visava o desenvolvimento para ambiente de trabalho, J2ME (Java 2 Micro Edition) indicado para desenvolvimento de dispositivos com recursos limitados e J2EE (Java 2 Enterprise Edition) voltado ao desenvolvimento corporativo (web) (GONZAGA, 2011). Segundo os números publicados na Sun Java, a tecnologia está presente em mais de 800 milhões de PCs, 2,1 bilhões de celulares e dispositivos móveis, 3,5 bilhões de cartões inteligentes além dos cartões de crédito, servidores, mainframes, jogos, aplicações web, desktop, celulares, impressoras, sistemas de navegação para automóveis etc.. Atualmente, a Java possui mais de 6,5 milhões de desenvolvedores em todo o mundo, tornado a plataforma mais rapidamente adotada na história da computação e a tecnologia mais ampla e ativa do planeta (JAVA, 2011). 2.2.6 Servlet Com a necessidade da criação de páginas web dinâmicas, em 1996 a Sun Microsystems criou o servlet onde aprimorou as funcionalidades dos servidores web. Considerado eficiente no desenvolvimento de soluções web e interação com o banco de dados, o Servlet pode dinamicamente gerar páginas HTML, XML ou mesmo manter 20
  • 21. informações de sessões do usuário. O Servlet é uma classe Java que processa requisições e respostas HTTP, GET E POST de um modo dinâmico, diversas requisições podem ser feitas simultaneamente a um único servlet em um único servidor. O funcionamento tem por base carregar-se pelo Web container na primeira vez em que é enviada uma solicitação, e após a resposta, a operação é memorizada aguardando outras solicitações (LUCENA, 2011). O ciclo de vida do Servlet é determinado pelos métodos Init, Service e Destroy: Init: auxiliada pelo Web container quando a classe é executada; Service: auxiliado pelo Web container quando o método Init for executado com sucesso; Destroy: auxiliado pelo Web container quando as funções do método Service forem executadas (COELHO, 2008). A utilização de Servlets e JSPs oferece muitas vantagens em relação a outras tecnologias herdadas da própria tecnologia Java: Portabilidade: a aplicação pode ser implantada em diversas plataformas como Windows, Unix, GNU/Linux e Macintosh, sem que seja necessário reconstruir ou alterar a aplicação; Facilidade de programação: a programação é orientada a objetos, simplificando o desenvolvimento de sistemas complexos; Flexibilidade: o Java conta com uma enorme comunidade de desenvolvedores, ampla documentação e diversas bibliotecas de códigos prontos. Escalabilidade: possibilidade de distribuição da carga de processamento de aplicações desenvolvidas em diversos servidores que podem ser adicionados ou removidos dependendo da carga de processamento (DEVMEDIA, 2011). 2.2.7 JDBC Java Database Connectivity ou JDBC é uma API Java com suporte para acesso e manipulação de banco de dados que possuem suporte a SQL desenvolvido para facilitar o acesso de programas Java ao banco de dados (ROCHA, 1997). Considera-se a existência de quatro categorias que são passíveis de utilização no pacote de classes especializadas: 21
  • 22. JDBC - ODBC bridge plus ODBC driver, responsável por converter chamadas JDBC em ODBC permitindo a comunicação entre eles, porém a utilização desse tipo de comunicação é reconhecida como ineficiente pelo motivo do ODBC ser uma interface escrita em C, a qual trabalha com a conversão dos dados para C na ida, e o inverso no caminho de volta; Native – API partly Java driver, essa categoria faz a conversão das solicitações JDBC em chamadas nativas de diversos bancos de dados e é considerada a mais veloz das comunicações; JDBC – Net pure Java driver, é considerada a alternativa mais flexiva de conexão por converter chamadas JDBC em chamadas aos bancos de dados, independentes de protocolos de redes, as chamadas são passadas ao banco pelo protocolo do servidor; Native Protocol pure Java Driver – converte as chamadas JDBC em chamadas diretas ao protocolo de rede utilizado pelos bancos de dados (MECENAS, 2005, p.192). Os Drivers das categorias JDBC-ODBC bridge plus ODBC driver e Native – API partly Java driver devem ser utilizados quando os bancos de dados não possuírem condições de acesso nativo, já as categorias JDBC – Net pure Java driver e Native Protocol pure Java Driver, pertencem a uma categoria de drivers preferidos para conexão, pois são escritos inteiramente em Java e fazem a conversão direta para o protocolo do banco de dados (MENGUE, 2011). 2.2.8 JSP Java Server Pages é uma tecnologia baseada no Java para o desenvolvimento de páginas de web dinâmicas, as primeiras versões surgiram em junho de 1999 incorporadas ao Java Web Server. A JSP conta com todas as vantagens da linguagem Java podendo ser adicionados HTMLs e sendo possível de ser executada em diversas plataformas. Ela passa por um processo de compilação onde garante em parte à segurança do código, e nos grandes sistemas a velocidade no processamento. A separação da parte lógica da programação visual se mostra um facilitador na medida em que há o desenvolvimento de sistemas robustos, onde o programador e o designer podem trabalhar no mesmo projeto de forma independente; a permissão de acessos aos mais diversos bancos de dados é graças a tecnologia JDBC (Java Database Connectivity) (SOUZA, 2006). 22
  • 23. A sintaxe dessa tecnologia abrange três tipos de elementos: Diretivas (mensagens do JSP container informando como será traduzida a página para o servlet), Script (permite a inserção de códigos Java nas páginas JSP) e a Ação (realizada através de Tags embutidas nas páginas JSP) (HOSPEDAGEMLOCAL, 2011). Por ser baseada na tecnologia JAVA, o JSP herda vantagens da portabilidade de plataforma, que permite sua execução independentemente do sistema operacional, seja Windows, Linux ou Mac. Os JSPs permitem ao desenvolvedor produzir aplicações que acessem o banco de dados, manipulem arquivos de texto, capturem informações a partir de formulários ou captem informações sobre o visitante e o servidor. No processo execução dos JSPs os comandos dinâmicos são processados pelo servidor e são enviados ao cliente apenas o resultado obtido em HTML. 2.2.9 HTML HTML (HyperText Markup Language) ou linguagem de marcação de textos. Foi criada por Tim Berners Lee (1989) cuja intenção era a troca de informações e de documentos entre cientistas de diferentes universidades (GRAXAIM, 2011). A linguagem utiliza TAGS (marcações) que informam ao navegador (Browser) como exibir o documento. Não se trata de um case sensitive (não faz diferença seu código ser escrito por letras minúsculas ou maiúsculas), sendo assim uma pagina HTML é um arquivo que contem código HTML em forma de texto (HTML.NET, 2011). 2.2.10 AJAX Ajax é a abreviação de Asynchronous Java Scriptand XML, uma metodologia que utiliza vários recursos e tecnologias, como JavaScript, DOM, XML, XHTML, XHR e CSS. O objetivo é que a cada solicitação do servidor a página não precise ser completamente recarregada. Por ser constituído por tecnologias que são utilizadas pela maioria dos browsers existentes no mercado, ele não se restringe apenas em desempenhar o papel de uma única plataforma e nem requer instalação de qualquer plugin ou software no cliente (SILVA, 2009, p.23). 23
  • 24. O AJAX adiciona uma camada intermediária entre o cliente e o servidor, esta camada tem por objetivo agilizar o carregamento de uma página logo no início da sessão por meio do browser, ela é atendida por uma solicitação assíncrona ao servidor, fazendo com que o utilizador não espere muito tempo pela resposta do servidor ou precise recarregar a página a cada interação. Tais interações são iniciadas pelo código JavaScript, quando estas são concluídas, há uma atualização do código-fonte HTML da página (TRINDADE; REIS, 2011). Em uma dada aplicação AJAX o tráfego de informações se mostra relativamente alto no início, logo após serem acessadas pelo cliente de infraestrutura grande e complexa, as comunicações seguintes são mais eficientes comparadas a uma aplicação tradicional; portanto, é possível afirmar que esta interação é um produto inversamente proporcional ao consumo de largura de banda em dada aplicação tradicional. Uma das principais vantagens do AJAX está na maior parte da aplicação ocorrer ao lado do cliente, comparando-se a uma aplicação Desktop; a não limitação em termos de resposta também é um item significativo, já que causa uma impressão de continuidade na ação executada (VILLELA, 2011). 2.3 PADRÕES DE PROJETO Organizado para melhoramento através de subdivisões em camadas de softwares. 2.3.1 MVC O MVC é uma arquitetura que permite dividir o software em camadas. Com a evolução dos programas e da forma de se fazê-los, novas técnicas tiveram que ser pensadas para facilitar a programação e tornar a manutenção dos softwares mais simplificada. Para isso foi criado o MVC. Conforme Zemel (2009), esta abordagem divide o sistema em três camadas para que possa trabalhar isoladamente em cada uma delas sem que afete o funcionamento das outras. A camada de modelo (model) é responsável por manipular os dados de forma mais detalhada. É recomendável que seja utilizado modelos para realizar consultas, cálculos e as regras de negócio do sistema (BASTOS, 2011). O model é a camada que possui acesso das informações vindas do banco de dados. A camada de visão (view) é a interface e os dados apresentados na tela para o usuário final. A camada controladora (controller) gerencia todo 24
  • 25. fluxo de dados do sistema, e é através dela que são efetuadas as operações dos quais as informações que devem ser geradas, as regras que devem ser adicionadas e para onde os dados devem ir. Esta é a camada responsável por executar as regras de negócio e repassar as informações para a camada de visão. O reaproveitamento de código, facilidades para a manutenção, a integração de equipes com possibilidade de divisão de tarefas, camada de persistência independente, implementação de segurança e simplicidade na modificação da interface do software são alguma das vantagens oferecidas pela arquitetura (NETO; XAVIER, 2008). 2.3.2 DAO O DAO (Data Acces Object) inclui-se na arquitetura MVC, é um padrão de projeto criado para melhorar o trabalho com abstração de banco de dados, responsável por rotinas como inserção, exclusão, alteração e consulta. Sua interação é centralizada em um conjunto de classes fazendo com que os dados fiquem protegidos em relação ao restante do código (JANNOTTI, 2010). O padrão DAO oferece alguns benefícios para o programador: Mudanças no método de persistência sem que necessite a modificação da camada modelo (pode ser feito uma nova distribuição do sistema / dois clientes do sistema podem querer utilizar bancos de dados diferentes). Utilização de vários mecanismos de persistência (Ex.: BD, XML, arquivos, sem influenciar ou “poluir” a camada modelo). (TACLA) Antes criação do Java versão 5, costumava-se a gerar uma classe e uma interface DAO para cada classe resultando em uma grande quantidade de códigos repetitivos. A partir do Java 5 e graças ao poder do gernerics, incorporado à plataforma a partir da versão 1.5 foram publicadas versões chamadas de “DAO Genérico” (ANDRADE, 2010, p.160). 2.4 MERCADO O CRM (Customer Relationship Management) foi criado na década de 90, hoje considerado uma filosofia que envolve pessoas, processos e tecnologia. Trata-se de uma 25
  • 26. sistemática para melhor conhecer o cliente não somente quando realizada uma transação comercial, mas criar laços para possíveis contatos futuros. Para melhor entendimento sobre o assunto, uma pesquisa realizada pela ASM mostrou que o mercado brasileiro de CRM cresce muito a cada ano, 28% das companhias adotaram soluções CRM, das quais 15% optaram por contratar uma solução de mercado e 13% decidiram desenvolver soluções internas de gestão de relacionamento com o cliente, sendo que na maioria das vezes a aplicação mais utilizada foi o MS-Excel ou ferramentas construídas a partir do próprio aplicativo. Isso faz com que empresas de todos os portes invistam em equipamentos e softwares voltados ao mercado CRM. Conforme a pesquisa da Tech Lab, segundo Sapienza (apud TIINSIDE), o mercado brasileiro de CRM cresceu 27,7%, fechando 2009 com o total de R$ 907 milhões. O e-CRM participou de 14% do faturamento total. Para citar um exemplo de empresa que usufrui do CRM, destaca-se a catarinense Hippo Supermercados Ltda. A empresa adquiriu um sistema de fidelização do cliente para substituir os cartões-fidelidade pela identificação via impressão digital. Gallon et. al (p. 7) indicou que o gestor da empresa afirmou: “os clientes comentam que os concorrentes não possuem um sistema de fidelização tão forte como o do Hippo. Os clientes percebem um diferencial no tratamento, eles se sentem únicos, pois são tratados de forma individual e personalizados”. O CRM permite a empresa ter uma visão única do cliente aproveitando todas interações do cliente desde a fase de prospecção até o pós venda, de uma forma padronizada independente do tipo de contato como: Skype, telefone, e-mail ou redes sociais. Tudo é analisado e se torna bases para relatórios gerenciais. Com o CRM é possível personalizar produtos a custos acessíveis para clientes individuais, a tendência é que se possa customizar uma grande quantidade de clientes, cada um baseado nas suas necessidades de segmentos. A personalização permite que cada cliente seja tratado de forma individual, de acordo com necessidades próprias e também da empresa, isso inclui desde produtos e serviços até a distribuição, formas de entrega e pagamentos. Apesar de não ser o único canal de relacionamento da empresa para com o cliente, possivelmente é um dos mais poderosos pontos estratégicos de contato. Portanto a interação fortalece o abastecimento do banco de dados da empresa, é preciso manter uma continuidade independentemente do prazo que foi efetuada. 26
  • 27. 3 PROCEDIMENTOS METODOLÓGICOS A metodologia utilizada neste trabalho contou com a leitura de diversas fontes, sites de empresas especializadas e demais usuários das tecnologias abordadas durante a execução deste trabalho, e que foram pertinentes na hora de executar e o colocar em prática os resultados do exercício. O exercício prático de criação de uma empresa fictícia de CRM, a FRG Gestão de Clientes, adotou logo na modelagem modelos de domínio, diagrama de classes e o modelo entidade relacionamento, através do software EA. O sistema foi desenvolvido através de três processos: análise de requisitos, modelagem e implementação. No levantamento de requisitos foram abordados os seguintes casos de uso: cadastro de cliente, funcionário, serviço e produto; cadastro e listagem de atendimentos; e registro de propostas e visitas. 4 APRESENTAÇÃO DO SISTEMA - FRG GESTÃO DE CLIENTES Representados pelo vendedor e administrador, igualmente responsáveis por ações de cadastramento de clientes, cuja hierarquia determina as demais funções individuais. 4.1 ATORES Os atores do sistema FRG Gestão de Clientes são compostos por um administrador e um vendedor. 27
  • 28. Figura 1: Atores: Vendedor e Administrador Fonte: Equipe de desenvolvimento (2011) 4.1.1 Administrador Trata-se de um usuário capaz de realizar qualquer ação no sistema, pois possui acesso a todas as páginas. 4.1.1 Vendedor É o usuário responsável por cadastrar novos clientes e registrar atendimentos. Tem permissão para vincular produtos e/ou serviços ao cliente, propostas e/ou visitas aos atendimentos. Além disso, é capaz de mudar os status de atendimentos, propostas e visitas. 4.2 MÓDULOS Demonstrativo de ações encarregadas pelo administrador e vendedor. Cada árvore esquemática apresentada mostra mecanicamente como os processos ocorrem. 28
  • 29. 4.2.1 Cadastros Auxiliares Figura 2: Esquema Cadastros Auxiliares Fonte: Equipe de desenvolvimento (2011) Neste módulo é possível gerenciar clientes, usuários, produtos e serviços. No gerenciamento de clientes são informados os dados pessoais, assim como o tipo, sendo ele prospect ou não. Também há possibilidade de vinculá-lo a produtos e/ou serviços. Em usuários, são incluídos os dados pessoais do funcionário, o login e senha e definido o nível de acesso. Nos produtos é informado o nome, descrição, valor e quantidade. Em serviços é necessário dizer qual é o tipo. 29
  • 30. 4.2.2 Atendimento Figura 3: Esquema Atendimento Fonte: Equipe de desenvolvimento (2011) Neste módulo o usuário é capaz de gerenciar e vincular propostas e/ou visitas nos atendimentos. Na primeira etapa do registro de atendimento é necessário que seja informado o número do CPF ou CPNJ do cliente para que haja vinculação ao atendimento e possíveis observações da atividade. Além disso, o usuário deve selecionar o tipo de contato provido de atendimento, como também o produto e/ou serviço. Já no gerenciamento de atendimento é possível concluí-lo ou cancelá-lo, além da possibilidade de estabelecer uma proposta ou visita. O status pode ser modificado caso esteja vinculado ao atendimento. 4.3 MODELO DE NEGÓCIOS A idéia do sistema CRM genérico voltado à plataforma Web surgiu como necessidade de empresas, sem quaisquer padrões estabelecidos, em adquirir um software para 30
  • 31. gerenciamento de relações para com os clientes, fazendo com que serviço tornasse mais atrativo e satisfatório tanto para a empresa quanto para o consumidor. Pesquisas mostram sistemas similares ou adaptados, como planilhas de Excel, Access ou softwares desktops com poucas funcionalidades e dificuldades de acesso, exigindo na maioria das vezes altos investimentos em hardwares/softwares (TIINSIDE, 2010). O CRM FRG Gestão de Clientes, por exemplo, dispensa aplicação de altas configurações de hardware ou máquinas com os softwares instalados. Os funcionários poderão acessar a aplicação contendo apenas um dispositivo conectado à internet com auxílio de um browser instalado, possibilitando em alguns casos o acesso por meio de Mini Browsers: celulares, palms, Handhelds etc. A comercialização do FRG Gestão de Clientes será mediante a planos mensais e aplicação de taxas de implantação. 4.4 INTERFACES As interfaces condizem com telas projetadas para o usuário e/ou administrador a cada processo realizado no sistema. 4.4.1 Login Figura 4: Login Fonte: Equipe de desenvolvimento (2011) 31
  • 32. Na tela de login, o usuário deve informar os seus dados de usuário e senha. Ao clicar em “Login”, o usuário será redirecionado para a página principal do sistema. 4.4.2 Registro de atendimento Figura 5: Tela Registro de Atendimento Fonte: Equipe de desenvolvimento (2011) Nesta tela, o usuário deve informar o cliente que ele fará o atendimento. Para isso é necessário informar o CPF caso seja pessoa física ou CNPJ caso seja pessoa jurídica. Ao clicar no botão “Verificar”, é informado na tela pelo sistema se o cliente foi encontrado ou não. No campo “Observações” o usuário deve descrever o atendimento para posteriores consultas. Nos campos de seleção “Produto” e “Serviço” o usuário tem a opção de registrar o produto e serviço relacionado àquele atendimento. Deve ser informada também a forma de contato que foi utilizada para o atendimento. Quando clicar no botão “Registrar”, os dados são salvos no sistema e o usuário é redirecionado para a tela de Listagem de Atendimentos. 32
  • 33. 4.4.3 Listagem de atendimentos Figura 6: Tela Listagem de Atendimento Fonte: Equipe de desenvolvimento (2011) Nesta tela, o usuário visualiza todos os seus atendimentos realizados através de uma tabela. Na tabela, as seguintes informações de cada um dos atendimentos são informadas: nome do cliente, data e hora de início e/ou término, forma de contato e status. Caso queira concluir ou apenas visualizar os detalhes de um atendimento, basta clicar em “Gerenciar” correspondente ao atendimento desejado que o usuário seja redirecionado para a tela de Gerenciamento de Atendimento. Se desejar registrar um novo atendimento, basta apenas clicar no botão “Novo” que o usuário irá para a tela de registro. 33
  • 34. 4.4.4 Gerenciamento de atendimento Figura 7: Tela Gerenciamento de Atendimento Fonte: Equipe de desenvolvimento (2011) Nesta tela, o usuário visualiza as seguintes informações do atendimento selecionado: nome do cliente, produto e/ou serviço. Caso queira concluir ou cancelar o atendimento, basta selecionar no campo “Status” a opção desejada. Então o usuário deve clicar no botão “Salvar” para salvar a alteração de status. Para vincular uma proposta ao atendimento, o usuário deve selecionar a aba “Proposta” e clicar em “Nova Proposta”. Para vincular uma visita ao atendimento, o usuário deve a aba “Visita” e clicar em “Nova Visita”. Ao selecionar a aba de proposta ou visita o usuário é capaz de visualizar uma tabela que corresponde às propostas e visitas do atendimento, caso existam. Para a proposta é informado: status, data e hora de registro e/ou conclusão, data prevista para o término e o valor. Para a visita é informado: status, data e hora de registro e/ou conclusão e o tipo de visita. Em ambas as abas estão presentes a opção “Gerenciar” em cada item da tabela, é através desta opção que o usuário é redirecionado para uma tela de gerenciamento para concluir ou cancelar a proposta/visita. 34
  • 35. 4.4.5 Registro de proposta Figura 8: Tela Registro de Proposta Fonte: Equipe de desenvolvimento (2011) Na tela de registro de proposta, o usuário é informado sobre a descrição da proposta assim como o seu valor. Ao clicar em “Registrar” as informações são salvas e o usuário é redirecionado para a tela do atendimento o qual foi vinculada a proposta. 35
  • 36. 4.4.6 Registro de visita Figura 9: Tela Registro de Visitas Fonte: Equipe de desenvolvimento (2011) Na tela de registro de visita, o usuário é informado sobre a descrição da visita assim como o seu tipo. Ao clicar em “Data prevista” o usuário visualizará um calendário, o qual através dele será possível o agendamento com a data desejada. Para escolher a data basta clicar em algum dia; acaso queira modificar o mês basta clicar nas setas indicadoras. Ao clicar no botão “Registrar” as informações são salvas e o usuário é redirecionado para a tela do atendimento o qual foi vinculada a visita. 36
  • 37. 4.4.7 Gerenciamento de proposta Figura 10: Tela Gerenciamento de Proposta Fonte: Equipe de desenvolvimento (2011) Na tela de gerenciamento de proposta, o usuário visualiza a descrição e valor da proposta. Para concluir ou cancelar a proposta deve-se selecionar o status desejado e clicar em “Salvar”. Ao clicar neste botão, o novo status é salvo e o usuário é redirecionado para a tela do atendimento o qual foi vinculada a proposta. 37
  • 38. 4.4.8 Gerenciamento de visita Figura 11: Tela de Gerenciamento de Visita Fonte: Equipe de desenvolvimento (2011) Na tela de gerenciamento de visita, o usuário visualizará a descrição e o tipo da visita. Ao clicar em “Data prevista” um calendário será mostrado, o qual através dele será possível o agendamento com data desejada. Para escolher a data basta clicar em algum dia; acaso queira modificar o mês, basta clicar nas setas indicadoras. Para concluir ou cancelar a visita deve-se selecionar o status desejado e clicar em “Salvar”. Ao clicar neste botão, o novo status é salvo e o usuário é redirecionado para a tela do atendimento o qual foi vinculada a proposta. 38
  • 39. 4.4.9 Cadastro de cliente Figura 12: Tela de Cadastro de Clientes Fonte: Equipe de desenvolvimento (2011) Na tela de cadastro de clientes, o usuário informa o nome, CPF ou CNPJ, telefone comercial, telefone residencial, telefone celular, bairro, CEP, cidade, endereço, complemento, UF, e-mail, estado civil, sexo e tipo de pessoa (cliente ou prospect). Nesta etapa do processo há um campo passível de seleção nomeado “Tipo”, com opções “Pessoa Física” e “Pessoa Jurídica”, se selecionado “Pessoa Física”, os campos CPF, sexo e estado civil tornam-se disponíveis, se eventualmente a opção eleita for “Pessoa Jurídica”, o campo CNPJ se tornará visível. Para salvar as informações, basta clicar em “Salvar” para que o usuário seja redirecionado à tela de listagem de clientes. 39
  • 40. 4.4.10 Gerenciamento de cliente Figura 13: Tela Gerenciamento do Cliente Fonte: Equipe de desenvolvimento (2011) Na tela de gerenciamento de clientes, o usuário pode editar os campos nome, CPF ou CNPJ, telefone comercial, telefone residencial, telefone celular, bairro, CEP, cidade, endereço, complemento, UF, e-mail, estado civil, sexo e tipo de pessoa (cliente ou prospect). Ao selecionar “Pessoa Física” é possível editar os dados de pessoa física, ao selecionar “Pessoa Jurídica” é possível editar os dados de pessoa jurídica. Ao clicar em “Salvar” as informações são salvas e o usuário é redirecionado para tela de listagem de clientes. 40
  • 41. 4.4.11 Cadastro de funcionário Figura 14: Tela Cadastro de Funcionário Fonte: Equipe de desenvolvimento (2011) Na tela de cadastro de funcionário, o administrador informa o tipo (funcionário ou administrador), login, senha, nome, CPF, telefone comercial, telefone residencial, telefone celular, bairro, CEP, cidade, endereço, complemento, UF, e-mail, estado civil e sexo. Ao clicar em “Salvar” as informações são salvas e o usuário é redirecionado para tela de listagem de funcionários. 41
  • 42. 4.4.12 Gerenciamento de funcionário Figura 15: Tela Gerenciamento de Funcionário Fonte: Equipe de desenvolvimento (2011) Na tela de gerenciamento de funcionário, o administrador pode alterar o tipo (funcionário ou administrador), login, senha, nome, CPF, telefone comercial, telefone residencial, telefone celular, bairro, CEP, cidade, endereço, complemento, UF, e-mail, estado civil e sexo. Ao clicar em “Salvar” as informações são salvas e o usuário é redirecionado para tela de listagem de funcionários. 42
  • 43. 4.4.13 Cadastro de produtos Figura 16: Tela Cadastro de Produtos Fonte: Equipe de desenvolvimento (2011) Na tela de cadastro de produtos, o usuário informa o nome, descrição, quantidade e o valor. Ao clicar em “Salvar” as informações são salvas e o usuário é redirecionado para tela de listagem de produtos. 43
  • 44. 4.4.14 Listagem de produtos Figura 17: Tela Listagem de Produtos Fonte: Equipe de desenvolvimento (2011) Na tela de listagem de produtos, o usuário visualiza os campos nome, descrição, quantidade e o valor. Tendo como opções editar ou excluir. 44
  • 45. 4.4.15 Gerenciamento de produtos Figura 18: Tela Gerenciamento de Produtos Fonte: Equipe de desenvolvimento (2011) Na tela de gerenciamento de produtos, o usuário pode alterar as informações dos campos nome, descrição, quantidade e valor. Ao clicar em “Salvar”, as informações são salvas e o usuário é direcionado para tela de listagem de produtos. 45
  • 46. 4.4.16 Cadastro de serviços Figura 19: Tela Cadastro de Serviços Fonte: Equipe de desenvolvimento (2011) Na tela de cadastro de serviços, o usuário informa o tipo de serviço. Ao clicar em “Salvar” as informações são salvas e o usuário é redirecionado para tela de listagem de serviços. 46
  • 47. 4.4.17 Listagem de serviços Figura 20: Listagem de Serviços Fonte: Equipe de desenvolvimento (2011) Na tela de listagem de serviços, o usuário visualiza o campo tipo de serviço. Tendo como opções editar ou excluir. 47
  • 48. 4.4.18 Gerenciamento de serviços Figura 21: Tela Gerenciamento de Produtos Fonte: Equipe de desenvolvimento (2011) Na tela de gerenciamento de serviços, o usuário pode alterar o tipo de serviço. Ao clicar em “Salvar”, as informações são salvas e o usuário é direcionado para tela de listagem de serviços. 48
  • 49. 4.4.19 Listagem de clientes Figura 22: Tela Listagem de Clientes Fonte: Equipe de desenvolvimento (2011) Na tela de listagem de clientes, o usuário visualiza os campos nome, sexo, e-mail e tipo (cliente ou prospect). Tendo como opções para editar ou excluir, como também a vinculação de produtos e serviços. 49
  • 50. 4.4.20 Listagem de funcionários Figura 23: Tela Listagem de Funcionários Fonte: Equipe de desenvolvimento (2011) Na tela de listagem de funcionários, o usuário visualiza os campos nome, sexo, e-mail e grupo (funcionário ou administrador). Apresenta opções de editar ou excluir. 50
  • 51. 4.4.21 Vinculação de produto ao cliente Figura 24: Tela Vinculação de Produto ao Cliente Fonte: Equipe de desenvolvimento (2011) Na tela de vinculação de produto, o usuário deve-se selecionar o produto desejado. Ao clicar em “Adicionar”, o produto é automaticamente anexado e inserido na tabela de produtos vinculados ao cliente. 51
  • 52. 4.4.22 Vinculação de serviço ao cliente Figura 25: Tela Vinculação de Serviço ao Cliente Fonte: Equipe de desenvolvimento (2011) Na tela de vinculação de serviço o usuário, deve-se selecionar o serviço desejado. Ao clicar em “Adicionar”, o serviço é automaticamente anexado e inserido na tabela de serviços vinculados ao cliente. 4.5 ARQUITETURA TECNOLÓGICA A estrutura da aplicação é definida pelo padrão de arquitetura MVC (Model-View- Controller), do servidor Tomcat, banco de dados PostgreSQL, framework jQuery e o browser. Este padrão de arquitetura está subdividido em três camadas: JavaBeans e DAO, JSP (Java Server Pages), controller e o servlet, localizados, respectivamente nas camadas de modelo, visão e controle. 52
  • 53. Figura 26: Infográfico Estrutura da Aplicação Fonte: Equipe de desenvolvimento (2011) JavaBeans: os dados são modelados e seus comportamentos são definidos; DAO: responsável por armazenar e recuperar dados do banco de dados; JSP: acrescenta elementos visuais no browser. Permite a inserção de dados para envio ao Servlet e obtenção de resultados; Controller: local onde percorrem as regras de negócio e as transações do sistema; Servlet: gerencia as informações fornecidas pelo usuário e as direciona para a camada de modelo; Tomcat: fornece um ambiente para a execução da aplicação; Banco de dados (PostgreSQL): armazena as informações do sistema; 53
  • 54. jQuery: valida informações fornecidas no JSP, é capacitado a manipular e adicionar novos elementos de exibição na página; Browser: promove as ações de request e response no servidor. 4.6 CONSIDERAÇÕES SOBRE O DESENVOLVIMENTO No início do desenvolvimento do sistema algumas dificuldades naturais relacionadas à falta de experiência com as tecnologias Web foram encontradas. O tempo, fator não menos importante, atuou como forma a atribuir prioridades para se concretizar um trabalho digno das pesquisas realizadas durantes os seis meses. O desenvolvimento não só proporcionou ao grupo um desafio de agregação de novos conhecimentos concomitantemente a elaboração do projeto e das pesquisas relacionadas, mas horizontes mais concretos, frutos da busca permanente do sucesso profissional. A importância da experiência está atrelada a prática representada no desenvolvimento de um sistema Web, seguindo prazos de entrega e regras. Além disso, o projeto foi capaz de despertar interesse em outras áreas do ofício, as quais se tinha pouco conhecimento, como, por exemplo, a tecnologia jQuery e o mercado de CRM. O uso da tecnologia foi aproveitável e auxiliador em muitos aspectos, reconhecendo que tal ferramenta é complexa e fundamental no cotidiano de muitos profissionais, tal qual a do programador. A criação do FRG Gestão de Clientes possibilitou ao grupo a experiência mais prática sobre o assunto exaustivamente estudado, do princípio da criação a conclusão de um projeto. Apesar de não possuir tantas funcionalidades comparadas a outros CRMs, já presentes no mercado, o sistema oferece ainda a oportunidade de agregar novas tecnologias e mais funcionalidades do própro jQuery. A meta ainda é aperfeiçoar o projeto para que esteja em vias de comercialização para empresas de qualquer porte ou localização. 54
  • 55. 5 CONCLUSÕES FINAIS Ao longo do trabalho foi realizado um estudo sobre CRM, o qual se necessitou inúmeras fontes de pesquisa com o propósito básico de buscar uma compreensão mais aprofundada sobre a técnica e a situação de mercado atual. Foi visto que uma empresa adotante desta abordagem conta com a fidelização maior por parte dos próprios clientes, em vista dos serviços e produtos. A análise e modelagem do projeto FRG Gestão de Clientes foi realizada através de diagramas de casos de uso, de classes e modelo entidade-relacionamento; enquanto que o levantamento de requisitos foi obtido por meio de estudos de mercado e pesquisas a softwares de CRM. Ambos os processos contribuíram para o desenvolvimento do sistema Web, possibilitando o exercício gerencial de atendimentos, visitas e propostas aos clientes, concomitantemente às delimitações de características e funcionalidades do software. O modelo de negócios permitiu observar a versatilidade e atratividade do sistema voltado às empresas de qualquer segmento, sendo elas de pequeno ou médio porte, concentradas em aprimorar o relacionamento com os próprios clientes. É relevante ressaltar que estas características apontadas são gerais referentes à categoria. Também foi definido que a forma ideal de comercialização é dada através de planos mensais e aplicações de taxas de implementação. Além disso, o modelo de negócios mostrou que o FRG Gestão de Clientes é adaptável às empresas, pois se trata de um sistema Web, isento do uso de máquinas com altas configurações de hardware e instalação de software. Com o auxílio do desenvolvimento de um software Web, utilizando-se da plataforma coorporativa J2EE, tecnologia a qual permite agregar todas outras não menos robustas, padrões de projetos e processos do software, é possível ao profissional projetar, desenvolver, empacotar ou implantar aplicações empresariais baseadas em componentes. Com o auxílio desta plataforma, foi permissível ao FRG Gestão de Clientes estruturar-se de forma distinta ao de um simples software. Flexível e versátil, o sistema para a plataforma Web atingiu nível corporativo capaz de ser acessado por meio de qualquer browser, destacando-se no emprego da linguagem Java, orientação a objetos, portabilidade, alto desempenho e segurança. A pesquisa realizada foi de grande propósito ao explanar a área comercial, tecnológica e ao viabilizar a leitura futura de alunos e professores sobre o tema abordado neste trabalho. Desta forma, não somente o software e toda base envolvida no trabalho de constituição e 55
  • 56. atividades extraclasse foram de efeito, mas a partir do desenvolvimento aqui elaborado como referência que dará suporte para futuros trabalhos de alunos os quais desejam desenvolver um sistema Web sob a plataforma J2EE, dirigido principalmente para àqueles que têm como foco gerenciar informações de clientes e serviços de uma empresa. Entre as etapas deste processo, o uso das tecnologias e ferramentas, juntamente com o padrão de projeto envolvidos no sistema e as respectivas apresentações, leva ao conhecimento do aluno não apenas a utilidade superficial de cada uma, mas confere uma compreensão e um olhar além dos pontos práticos que estiveram presentes no desenvolvimento da FRG. Já o estudo de CRM sobre a ótica didática e trabalhada, consegue mostrar ao leitor uma análise atualizada do mercado nacional, global e eletrônico, de modo que esta compreensão auxilie na construção do próprio projeto para que atenda as necessidades do marketing de empresas usuárias ou que pretendem tornar- se, bem como a comercialização do sistema em si. Por meio de tópicos, a organização do trabalho apresenta uma forma mais didática e, portanto de fácil compreensão, assim como o vocabulário utilizado em todo corpo do texto, conferindo a acessibilidade ao maior número de leitores possíveis. 56
  • 57. 6 REFERÊNCIAS BIBLIOGRÁFICAS ADELINO, Ana Elisa. Os fundamentos jurídicos e tecnológicos do comércio eletrônico no Brasil. Disponível em: http://www.franca.unesp.br/Ana%20Elisa%20Adelino.pdf. Acesso em: 13 de maio 2011. ALBUQUERQUE, Fernando. TCP/IP – Internet Programação de Sistemas Distribuídos HTML, JavaScript e Java. Rio de Janeiro: Axcel Books, 2001. ALVAREZ, Miguel Angel. O que é Javascript. Disponível em: http://www.criarweb.com/artigos/184.php. Acesso em: 17 de maio 2011. ASPNETI. Plataforma Web ou Windows Forms. Disponível em: http://www.aspneti.com/artigo/1039/Plataforma+Web+ou+Windows+Forms.aspx. Acesso em: 13 de maio 2011. BASTOS, Daniel Flores. O que é Model-View-Controller(MVC). Disponível em: http://www.oficinadanet.com.br/artigo/desenvolvimento/o_que_e_model-view- controller_mvc. Acesso em: 28 de maio 2011. BORSATTI, Roberto. Iniciando com Jquery. Disponível em: http://www.jquerymagazine.com.br/artigo.php?id=204. Acesso em: 15 de maio 2011. COELHO, Igo. JSP’s e Servlets. Disponível em: http://www.slideshare.net/igocoelho/jspservlets-fatene201006-4624684. Acesso em: 29 de maio 2011. CAMARANO, Luciano. CRM - Gestão de relacionamento com o cliente: Uma abordagem prática. Disponível em: http://ebookbrowse.com/crm-gestao-de-relacionamento- com-o-cliente-uma-abordagem-pratica-pdf-d27764989. Acesso em: 14 de maio 2011. CAMPOS, Sylvia; LEAL, Francisco; HENRIQUE, João; BORBA, Paulo. Introdução ao Eclipse. Disponível em: http://www.cin.ufpe.br/~phmb/ip/MaterialDeEnsino/IntroducaoAoEclipse/IntroducaoAoEclip se.htm. Acesso em: 10 de junho 2011. CGK. E.A Business. Disponível em: http://www.cgk.com.br/enterprise-architect/ea-business- pagina.php. Acesso em: 16 de julho 2011. 57
  • 58. CONTART. Enterprise Architect: Pacote especial para instituições de ensino. Disponível em: http://www.ctgi.com.br/rep/ea-ensino.pdf. Acesso em: 18 de maio 2011. COSTA, Rodrigo Gonçalves Porto. Universo Java: Domine os principais recursos oferecidos por esta linguagem de programação. São Paulo. Digerati Books, 2008. p. 8-12. CULTURA-UFPA. Internet – WWW. Disponível em: http://www.cultura.ufpa.br/dicas/net1/int-www.htm. Acesso em: 13 de maio 2011. DEVMEDIA. Fundamentos de Servlets. Disponível em: http://www.devmedia.com.br/post- 3573-Fundamentos-de-Servlets.html. Acesso em: 15 de junho 2011. DIAZ, Jorge; Vilella Melissa. Open-source Education - Introdução a AJAX. Iniciativa Globalcode. Disponível em: http://www.slideshare.net/adorepump/introduo-a-ajax- presentation. Acesso em: 14 de junho 2011. DEVMEDIA. – 2011. DBDesigner. Disponível em: http://www.devmedia.com.br/articles/viewcomp.asp?comp=6840. Acesso em: 16 de junho 2011. E-Civil. GanttProject. Disponível em: http://www.ecivilnet.com/softwares/gantt_project.htm. Acesso em: 22 de maio 2011. E-MARKETINGLAB. CRM para que te quero. Disponível em: http://www.e- marketinglab.com/crm_para_que_te_quero_jnegocios.html. Acesso em: 14 de maio 2011. FABFORCE. Manual DBDesigner. Disponível em: http://downloads.mysql.com/DBDesigner4/DBDesigner4_manual_1.0.42.pdf. Acesso em: 16 de junho 2011. FREITAS, Gustavo André. Colaboração em massa. Disponível em: http://www.gfsolucoes.net/trabalhos/colaboracao_em_massa.pdf. Acesso em: 13 de maio 2011. GALLON, Alessandra Vansconcelos; PFITSCHER, Elisete Dahmer; VICHROSKI, Tatiane da Silva Ferreira. A contabilidade e o valor real do cliente no processo de CRM: um estudo de caso em empresa do setor de varejo supermercadista. Disponível em: http://www.nemac.ufsc.br/visualizar/valordocliente.pdf . Acesso em: 29 de junho 2011. 58
  • 59. GOODWILL, James. Apache Jakarta-Tomcat. Disponível em: http://doc.isiri.org.ir/c/document_library/get_file?p_l_id=18512&folderId=21415&name=DL FE-22309.pdf. Acesso em: 18 de maio 2011. GRAXAIM. Introdução à HTML. Disponível em: http://www.graxaim.org/drupal/node/33. Acesso em: 18 de junho 2011. GONÇALVES. Dominando Eclipse: Tudo o que o desenvolvedor Java precisa para criar aplicativos para desktop. S.l: Ciência Moderna, 2011. GONSALES, Samuel. CRM - gestão eficiente do relacionamento com os clientes. Disponível em: http://www.metaanalise.com.br/inteligenciademercado/index.php?option=com_content&view =article&id=4372:crm-gestao-eficiente-do-relacionamento-com-os- clientes&catid=6:conhecimento&Itemid=357. Acesso em: 13 de junho 2011. Hospedagemlocal. JSP. Disponível em: http://www.hospedagemlocal.com.br/hospedagem- de-sites-suporte-jsp.php. Acesso em: 15 de junho 2011. HISTÓRIASOBRESITESDEBUSCA. WWW - World Wide Web. Disponível em: http://sites.google.com/site/historiasobreossitesdebusca/www-world-wide-web. Acesso em: 13 de maio 2011. HTMLSTAFF. Vantagens da linguagem Java. Disponível em: http://www.htmlstaff.org/ver.php?id=4384. Acesso em: 15 de junho 2011. HTML.NET. Tutoriais HTML. Disponível em: <http://pt- br.html.net/tutorials/html/lesson2.php>. Acesso em: 15 de junho 2011. JAVA, Saiba mais sobre a tecnologia Java. Disponível em: http://www.java.com/pt_BR/about/. Acesso em: 28 de maio 2011. JÚNIOR, Atílio Garrafoni et al. CRM - Conceitos e Métodos de Aplicação no Marketing de Relacionamento. Disponível em: http://www.abepro.org.br/biblioteca/enegep2004_enegep0705_0115.pdf. Acesso em: 15 de maio 2011. KLEIN, Eduardo. Enterprise Architect, Sparx Systems. Disponível em: http://www.via6.com/topico/28635/enterprise-architect-sparx-systems. Acesso em: 21 de maio 2011. 59
  • 60. LIMA, Adriano Gomes. JavaScript – Aplicações Interativas para a Web. Disponível em: http://pt.scribd.com/doc/4395178/JavaScript. Acesso em: 17 de maio 2011. LUCENA, Fábio Nogueira. Servlet – Introdução. Disponível em: http://www.slideshare.net/kyrios/servletintroducao. Acesso em: 28 de maio 2011. MAKESYS. Enterprise Architect. Disponível em: http://www.makesys.com.br/EA_RUP_UML.html. Acesso em: 18 de maio 2011. MARKETHING2GO. O que é e porque utilizar um CRM – Software de gestão de relacionamento com o cliente. Disponível em: http://www.marketing2go.com.br/index.php?/Ultimas-Noticias-IM/crm-gestao-do- relacionamento-com-o-cliente.html. Acesso em: 14 de maio 2011. MAZARIOLL, Gustavo Celso de Queiroz. GanttProject. Disponível em: https://extranet.metrosp.com.br/downloads/outros/ganttproject_2.0.5.pdf. Acesso em: 22 de maio 2011. MECENAS, Ivan. Java Fundamentos: Swing e jDBC. 2.ed. São Paulo: Alta Book, 2005, p.192. MENGUE, Fábio Mengue. Curso Java III. Disponível em: http://www.4shared.com/get/1DtEhcxG/curso_java_III_jdbc.html. Acesso em: 15 de junho 2011. NETO, Almir; XAVIER, Otávio Calaça. Padrões de Projeto WEB e o MVC. Disponível em: http://www.slideshare.net/almirnet/apresentacao-949009. Acesso em: 28 de maio 2011. O'CONNOR. The Web plataform: what it is. Disponível em: http://edward.oconnor.cx/2009/05/what-the-web-platform-is. Acesso em: 13 de maio 2011. OLIVEIRA, Halley Pacheco de; BIAZUS, Diogo de Oliveira; TONON, Marcia. Tutorial PostgreSQL 8. Disponível em: http://www.joinville.udesc.br/portal/professores/baldo/materiais/Tutorial_PostgreSQL8.pdf. Acesso em: 15 de maio 2011. PGADMIN. Disponível em: http://www.pgadmin.org/. Acesso: 24 de maio 2011. 60
  • 61. RIBEIRO,Angelo; CASSIO, Arthur; PALHANO, Fernanda. Gantt Project, Planejamento e gerência de projeto. Disponível em: http://www.cefetrn.br/~placido/disciplina/pgp/trabalho/Apr_GanttPrj.ppt. Acesso em: 16 de julho 2011. ROCHA, Luciano Roberto. Banco de dados Web: Aula 3. Disponível em: http://www.lrocha.com/arquivos/arquivos/BdWeb%20%28PostgreSQL%29/AULAS/bd_web _A3.pdf. Acesso em: 25 de maio 2011. ROCHA, Helder. Soluções de Conectividade. Disponível em: http://www.argonavis.com.br/palestras/1997/web_bd_itelcon_97.pdf. Acesso em: 23 de junho 2011. SANTOS, Roneclei Campos; JORGE, Eduardo Manuel de Freitas. Java Server Pages JSP. Disponível em: http://javafree.uol.com.br/files_user/files/A/74/F8/Tutorial_JSP1.pdf. Acesso em: 6 de junho 2011. SAPIENZAE. Mercado Brasileiro de CRM deve superar R$ 1 bilhão neste ano. Disponível em: http://www.sapienzae.com.br/?p=1030. Acesso em: 30 de junho 2011. SILVA, Maurício Samy. JQuery: A Biblioteca do Programador JavaScript. S.l: Novatec, 2008. SILVA, José Cleydson Ferreira. Implementando um Servidor Web Java com Tomcat no Linux. Disponível em: http://www.vivaolinux.com.br/artigo/Implementando-servidor-web- Java-com-Tomcat-no-Linux?pagina=5. Acesso em: 6 de junho 2011. SILVA, Maurício Samy. Ajax com jQuery. S.l: Novatec, 2009. SOARES, Walace. PHP 5 Conceitos, Programação e Integração com Banco de Dados. São Paulo: Érica, 2006. SOUSA, Ribamar Ferreira. PostgreSQL Prático. Disponível em: http://pt.scribd.com/doc/50022213/PostgreSQL-Pratico. Acesso em: 15 de maio 2011. SOUZA, Sandro J. S. HTML Introdução. Disponível em: http://www.htmlstaff.org/ver.php?id=1592. Acesso em: 14 de junho 2011. 61
  • 62. THIAGO, S. Gonzaga. Introdução a Tecnologia Java. Disponível em: http://www.slideshare.net/thi.gear/introduo-a-tecnologia-java-presentation. Acesso em: 29 de maio 2011. TIINSIDE. A Maioria das empresas Brasileiras não usam CRM. Disponível em: http://www.tiinside.com.br/23/06/2010/maioria-das-empresas-brasileiras-nao-usa-crm-revela- estudo/ti/187355/news.aspx. Acesso em: 10 de junho 2011 TRINDADE, Luis; Reis Ricardo. Introdução Ajax. Disponível em: http://pwp.net.ipl.pt/alunos.isel/24138/AJAX/IntroducaoAJAX.pdf. Acesso em: 14 de junho 2011. TRIPOD. Disponível em: http://interworldrk.tripod.com/oque.html. Acesso em: 13 de maio 2011. ZEMEL, Tárcio. MVC (Model – View – Controller). Disponível em: http://codeigniterbrasil.com/passos-iniciais/mvc-model-view-controller/. Acesso em: 27 de maio 2011. WEBROOM. Sistemas de plataforma web. Disponível em: http://www.webroom.com.br/conteudo.aspx?cont=120&pai=66. Acesso em: 13 de maio 2011. 62