Trabalho de Graduação - Desenvolvimento de Ferramenta Móvel de CRM Social
-
Upload
juliana-fideles -
Category
Education
-
view
228 -
download
2
Transcript of Trabalho de Graduação - Desenvolvimento de Ferramenta Móvel de CRM Social
Trabalho de Graduação
Relatório Técnico de Desenvolvimento de
Software
Desenvolvimento de Ferramenta Móvel de
CRM Social
Juliana Araújo Fideles
Sorocaba
Dezembro – 2014
Relatório Técnico de Desenvolvimento de
Software
Desenvolvimento de Ferramenta Móvel de
CRM Social
Juliana Araújo Fideles
Profª Maria Angélica C. de A. Cardieri – Orientadora
Sorocaba
Dezembro – 2014
Dedicatória
A Deus, que me permitiu chegar até aqui. Aos
meus familiares e colegas da faculdade, que
estiveram ao meu lado nessa jornada. Aos meus
professores, por seus ensinamentos e incentivos
para que esse trabalho fosse concluído. Ao
Maurício, que esteve ao meu lado desde o início,
torcendo por mim.
Agradecimento
A todos que fizeram parte da minha formação, o
meu muito obrigada.
Desenvolvimento de Ferramenta Móvel de CRM Social Página 5
Índice
Resumo ................................................................................................................. 11
1. Introdução ....................................................................................................... 12
2. Planejamento inicial do software ..................................................................... 13
2.1. Análise da situação atual ......................................................................... 13
2.2. Problemas encontrados ........................................................................... 14
2.3. Solução proposta ..................................................................................... 15
2.4. Funcionalidades da Aplicação .................................................................. 15
2.5. Ferramentas ............................................................................................. 16
2.6. Objetivos de negócio do projeto ............................................................... 16
2.6.1. Benefícios pela implementação do sistema ....................................... 16
2.6.2. Portabilidade e usabilidade ................................................................ 16
2.7. Restrições e riscos do projeto .................................................................. 17
2.7.1. Limitações operacionais .................................................................... 17
2.7.2. Considerações legais ........................................................................ 17
2.7.3. Considerações de hardware / software / rede ................................... 17
2.7.4. Considerações pessoais .................................................................... 18
3. Análise de requisitos ....................................................................................... 19
3.1. Situação proposta .................................................................................... 19
3.2. Requisitos Funcionais .............................................................................. 19
3.3. Diagramas de caso de uso ....................................................................... 21
3.4. Casos de uso de baixo nível .................................................................... 21
3.5. Requisitos não funcionais ........................................................................ 25
4. Projeto detalhado do software ......................................................................... 27
4.1. Arquitetura da aplicação ........................................................................... 27
4.2. Tecnologias utilizadas .............................................................................. 28
4.2.1. Phonegap .......................................................................................... 28
4.2.2. jQuery Mobile..................................................................................... 29
4.2.3. SQLite ................................................................................................ 29
4.2.4. Plugins ............................................................................................... 29
Desenvolvimento de Ferramenta Móvel de CRM Social Página 6
4.3. Arquitetura do Phonegap ......................................................................... 30
4.4. Integração com Redes Sociais ................................................................. 31
4.4.1. Integração com o Facebook .............................................................. 31
4.5. Diagrama de classe.................................................................................. 37
4.6. Modelo conceitual de dados ..................................................................... 41
4.7. Diagrama de sequência ........................................................................... 42
4.7.1. Diagrama de Sequência Adicionar Contas ........................................ 42
4.7.2. Diagrama de Sequência Ler Mensagens ........................................... 43
4.7.3. Diagrama de Sequência Responder Mensagens .............................. 43
4.7.4. Diagrama de Sequência Enviar múltiplas postagens ......................... 44
4.7.5. Diagrama de Sequência Pesquisar palavras chave .......................... 45
4.7.6. Diagrama de Sequência Criar Log ..................................................... 45
4.7.7. Diagrama de Sequência Gerar relatórios .......................................... 46
4.8. Telas ........................................................................................................ 47
4.8.1. Menu Inicial ....................................................................................... 47
4.8.2. Contas ............................................................................................... 48
4.8.3. Adicionar Rede Social ....................................................................... 49
4.8.4. Páginas .............................................................................................. 50
4.8.5. Mensagens ........................................................................................ 51
4.8.6. Enviar Postagens ............................................................................... 56
4.8.7. Pesquisar ........................................................................................... 57
4.8.8. Log ..................................................................................................... 58
4.8.9. Relatórios .......................................................................................... 59
5. Codificação ...................................................................................................... 60
5.1. Layout das tabelas ................................................................................... 60
5.1.1. Tabela: tb_con_conta ........................................................................ 60
5.1.2. Tabela: tb_pag_pagina ...................................................................... 60
5.1.3. Tabela: tb_men_mensagem .............................................................. 61
5.1.4. Tabela: tb_sol_solicitacao ................................................................. 61
5.1.5. Tabela: tb_smg_solicitacao_mensagem ............................................ 61
5.1.6. Tabela: tb_log_log ............................................................................. 62
Desenvolvimento de Ferramenta Móvel de CRM Social Página 7
5.2. Script das tabelas ..................................................................................... 62
5.2.1. Script da tabela tb_con_conta ........................................................... 62
5.2.2. Script da tabela tb_pag_pagina ......................................................... 62
5.2.3. Script da tabela tb_men_mensagem ................................................. 63
5.2.4. Script da tabela tb_sol_solicitacao..................................................... 63
5.2.5. Script da tabela tb_smg_solicitacao_mensagem ............................... 63
5.2.6. Script da tabela tb_log_log ................................................................ 64
5.3. Código fonte ............................................................................................. 67
5.3.1. Módulo usuário .................................................................................. 67
5.3.2. Módulo da aplicação .......................................................................... 67
6. Instalação do aplicativo ................................................................................... 68
7. Conclusão ....................................................................................................... 69
8. Bibliografia ....................................................................................................... 70
9. Glossário ......................................................................................................... 71
Desenvolvimento de Ferramenta Móvel de CRM Social Página 8
Lista de Figuras
Figura 1 – Diagrama de Caso de Uso ................................................................... 21
Figura 2 – Arquitetura do Software ........................................................................ 27
Figura 3 – Arquitetura do Phonegap ..................................................................... 30
Figura 4 – Registro como desenvolvedor no Facebook ........................................ 31
Figura 5 – Confirmação do registro como desenvolvedor no Facebook ............... 32
Figura 6 – Confirmação do registro como desenvolvedor no Facebook ............... 32
Figura 7 – Permissões de acesso ao Facebook .................................................... 34
Figura 8 – Permissões de acesso ao Facebook .................................................... 34
Figura 9 – Diagrama de Classe ............................................................................. 37
Figura 10 – Modelo conceitual de dados ............................................................... 41
Figura 11 – Diagrama de Sequência Adicionar Contas ......................................... 42
Figura 12 – Diagrama de Sequência Ler Mensagens ........................................... 43
Figura 13 – Diagrama de Sequência Responder Mensagens ............................... 43
Figura 14 – Diagrama de Sequência Identificar o Tipo da Mensagem .................. 44
Figura 15 – Diagrama de Sequência Enviar Múltiplas Postagens ......................... 44
Figura 16 – Diagrama de Sequência Pesquisar palavras chave ........................... 45
Figura 17 – Diagrama de Sequência Criar Log ..................................................... 45
Figura 18 – Diagrama de Sequência Gerar relatórios ........................................... 46
Figura 19 – Tela do Menu Inicial ........................................................................... 47
Figura 20 – Tela Contas ........................................................................................ 48
Figura 21 – Tela Adicionar Rede Social ................................................................ 49
Figura 22 – Tela Páginas ...................................................................................... 50
Figura 23 – Botão Atualizar ................................................................................... 51
Figura 24 – Opções da tela Mensagens ................................................................ 51
Figura 25 – Listagem das conversas na tela Mensagens ..................................... 52
Figura 26 – Listagem das solicitações na tela Mensagens ................................... 53
Figura 27 – Listagem das mensagens .................................................................. 54
Figura 28 – Detalhes da Solicitação ...................................................................... 55
Figura 29 – Tela Enviar Postagens ....................................................................... 56
Desenvolvimento de Ferramenta Móvel de CRM Social Página 9
Figura 30 – Tela Pesquisar ................................................................................... 57
Figura 31 – Tela Log ............................................................................................. 58
Figura 32 – Tela Relatórios ................................................................................... 59
Desenvolvimento de Ferramenta Móvel de CRM Social Página 10
Lista de Tabelas
Tabela 1 – Caso de Uso “Adicionar Contas” ......................................................... 21
Tabela 2 – Caso de Uso “Ler Mensagens” ............................................................ 22
Tabela 3 – Caso de Uso “Responder Mensagens” ............................................... 22
Tabela 4 – Caso de Uso “Identificar o tipo da mensagem” ................................... 23
Tabela 5 – Caso de Uso “Enviar múltiplas postagens” .......................................... 23
Tabela 6 – Caso de Uso “Pesquisar palavras chave” ........................................... 24
Tabela 7 – Caso de Uso “Criar Log” ...................................................................... 24
Tabela 8 – Caso de Uso “Gerar relatórios” ........................................................... 25
Tabela 9 – ClassConta .......................................................................................... 38
Tabela 10 – ClassPagina ...................................................................................... 38
Tabela 11 – ClassMensagem ................................................................................ 39
Tabela 12 – ClassSolicitacaoMensagem .............................................................. 39
Tabela 13 – ClassSolicitacao ................................................................................ 40
Tabela 14 – Layout da tabela tb_con_conta ......................................................... 60
Tabela 15 – Layout da tabela tb_pag_pagina ....................................................... 60
Tabela 16 – Layout da tabela tb_men_mensagem ............................................... 61
Tabela 17 – Layout da tabela tb_sol_solicitacao ................................................... 61
Tabela 18 – Layout da tabela tb_smg_solicitacao_mensagem ............................. 61
Tabela 19 – Layout da tabela tb_log_log .............................................................. 62
Tabela 20 – Descrição dos campos da tabela tb_con_conta ................................ 64
Tabela 21 – Descrição dos campos da tabela tb_pag_pagina .............................. 65
Tabela 22 – Descrição dos campos da tabela tb_men_mensagem ...................... 65
Tabela 23 – Descrição dos campos da tabela tb_sol_solicitacao ......................... 66
Tabela 24 – Descrição dos campos da tabela tb_smg_solicitacao_mensagem.... 66
Tabela 25 – Descrição dos campos da tabela tb_log_log ..................................... 67
Desenvolvimento de Ferramenta Móvel de CRM Social Página 11
Desenvolvimento de Ferramenta Móvel de CRM Social
Resumo
O cliente é a principal fonte de renda para a empresa, e devido à
concorrência e aos preços competitivos de mercado, o cliente se sente cada vez
mais a vontade para trocar de fornecedor. Para a empresa é essencial manter um
bom relacionamento com o cliente, já que é mais fácil manter um cliente do que
obter novos. As empresas contam com ferramentas de gestão de relacionamento
com o cliente, que vão além de um simples serviço de atendimento: as
ferramentas CRM, que além do atendimento visam também conhecer, identificar e
fidelizar seus clientes. Atualmente os clientes utilizam um novo canal de
atendimento para se relacionar com a empresa: as redes sociais. A vantagem de
se utilizar as redes sociais como canal de atendimento é que a resposta pode ser
obtida em melhor tempo hábil em relação às outras formas de atendimento. Além
do CRM operacional, colaborativo e analítico, surge mais uma modalidade: o CRM
Social. A partir do tema CRM Social, este trabalho de graduação abordará o
desenvolvimento de uma aplicação para dispositivos móveis para facilitar o
relacionamento entre cliente e empresa através das redes sociais, de maneira que
a empresa possa em qualquer lugar e a qualquer momento responder as
solicitações dos clientes.
Desenvolvimento de Ferramenta Móvel de CRM Social Página 12
1. Introdução
Este trabalho de graduação tem como objetivo desenvolver um software
para dispositivos móveis, capaz de administrar contas de redes sociais,
melhorando a interação e o relacionamento com os clientes. A seguir serão
apresentados os motivos para desenvolvimento da aplicação, a solução proposta
e os detalhes técnicos do projeto. Também serão apresentadas as descrições
sobre o tema do aplicativo a ser desenvolvido e a tecnologia que será utilizada,
informações necessárias para a compreensão deste trabalho.
Desenvolvimento de Ferramenta Móvel de CRM Social Página 13
2. Planejamento inicial do software
2.1. Análise da situação atual
Atualmente vivencia-se um cenário onde cliente e empresa estão cada vez
mais próximos, e as informações sobre os produtos, serviços e principalmente
sobre a satisfação do cliente estão casa vez mais expostos; através das redes
sociais.
Além dos canais convencionais de atendimento ao cliente, dispôs-se
também das redes sociais como um canal de atendimento; onde sua adesão está
crescendo cada vez mais, pois a resposta é obtida em melhor tempo hábil em
relação às outras formas.
Em 2010, a empresa Gartner divulgou previsões para softwares sociais.
Algumas dessas previsões:
Em 2014, serviços de redes sociais irão substituir e-mail como o
principal veículo de comunicação interpessoal para 20% dos usuários de
negócios.
Até 2015, apenas 25% das empresas utilizarão, rotineiramente, análise
de redes sociais para melhorar o desempenho e produtividade
(Corporate Eye, 2014).
Segundo GREENBERG (2009): “CRM Social é uma filosofia e uma
estratégia de negócio, suportada por uma plataforma tecnológica, regras de
negócios, processos e características sociais, projetada para engajar o cliente em
uma conversação colaborativa de forma a prover um benefício mútuo em
ambiente de negócio de transparência e confiança mútua. É a resposta da
empresa ao fato do cliente ser o dono da conversação.”
As empresas contam com as ferramentas CRM (Customer Relationship
Management - Gestão de Relacionamento com o Cliente), que visa além de
identificar perfis de consumo, traçar estratégias de negócio e reduzir os custos de
marketing e apoio ao cliente (Luis Melo, 2014).
Desenvolvimento de Ferramenta Móvel de CRM Social Página 14
O CRM pode ser entendido então como um conjunto de ferramentas de
negócio que visa conhecer, identificar e fidelizar o cliente. O CRM ainda pode ser
dividido em três grupos: Operacional (trata da automação dos processos de
relacionamento com o cliente. Exemplo: marketing e call-center), Colaborativo
(toda forma de sistemas da informação utilizados para se relacionar com o cliente.
Exemplo: email, telefone, fax) e Analítico (parte estratégia do CRM, que analisa e
gerencia o desempenho e inteligência dos negócios). As atividades do CRM
Operacional e CRM Colaborativo são guiadas através das decisões tomadas pelo
CRM Analítico (MXStudio, 2014).
Com a interação entre cliente e empresa através das redes sociais, surge
mais um tipo de CRM: o CRM Social.
No mercado atualmente existem diversas ferramentas (softwares) para o
CRM convencional. Mas para CRM Social existem apenas alguns softwares
pagos, como por exemplo o software SproutSocial. Surgiu então a ideia de
desenvolver um aplicativo de CRM Social para plataformas móveis, com o intuito
de facilitar a interação com o cliente.
2.2. Problemas encontrados
Administrar o relacionamento com o cliente de maneira que o mesmo fique
satisfeito é algo necessário, uma vez que recuperar o relacionamento com o
cliente é mais fácil que obter novos clientes.
“É muito mais fácil criar uma imagem positiva do que apagar uma imagem
negativa. Provendo consistentemente serviços de qualidade, criamos um
relacionamento positivo. Isso não só ajuda a nós mesmos e as pessoas com quem
lidamos, mas a organização inteira” (TSCHOHL, 1996).
Um dos desafios enfrentados pelas empresas é atender seu cliente em
tempo hábil o suficiente para que o mesmo fique satisfeito. O processo de atender
o cliente, analisar sua solicitação e proceder com a devida resposta deve ser
simplificado no CRM Social; uma vez que o cliente que busca contato com a
Desenvolvimento de Ferramenta Móvel de CRM Social Página 15
empresa através das redes sociais espera ser atendido com mais urgência que
nos outros meios de atendimento (email e telefone, por exemplo).
2.3. Solução proposta
Para solucionar o problema, surgiu a ideia de criar um aplicativo para CRM
Social para plataformas móveis, que permita a inclusão de contas das redes
sociais para exibir e responder mensagens e interações entre a conta do cliente e
da empresa, assim como fornecer um gráfico de acordo com o tipo de interação
dos clientes (reclamações, elogios e sugestões, por exemplo) e também a
possibilidade de pesquisar nas redes sociais conteúdos relacionados a palavras
chave fornecidas pela empresa.
2.4. Funcionalidades da Aplicação
O aplicativo funcionará da seguinte maneira: ao abrir o aplicativo, a
Empresa poderá adicionar contas das redes sociais para exibir as mensagens e
interações das redes sociais. Para as contas cadastradas, as mensagens serão
resgatadas e exibidas em uma listagem. Para responder a mensagem, deverá
selecionar na listagem à mensagem que deseja responder e uma janela será
aberta para que o uma resposta possa ser elaborada e enviada. Após o envio da
mensagem, será possível classificar a mensagem como “reclamação”, “elogio”,
“sugestão” ou “outros”.
O aplicativo também terá a funcionalidade de enviar postagens múltiplas;
onde um único texto/postagem elaborado será publicado nas contas cadastradas.
A empresa poderá fazer uma pesquisa de postagens públicas relacionadas
com palavras chave que a mesma deverá informar. O aplicativo deverá criar um
log com as ações, e também terá uma opção para gerar relatórios para a análise
do relacionamento com o cliente.
Desenvolvimento de Ferramenta Móvel de CRM Social Página 16
2.5. Ferramentas
A ferramenta escolhida para desenvolvimento do aplicativo será Phonegap;
um framework de código aberto que permite acessar recursos nativos dos
aparelhos móveis (como câmera, armazenamento de dados etc.) para a maior
parte das plataformas móveis existentes; como iOs, Android e Windows Phone.
O desenvolvimento de aplicações no Phonegap baseia-se em JavaScript,
HTML5 e CSS3, portanto não é necessário conhecer as linguagens específicas de
cada plataforma, como Objective C (para iOs) e Java (para Android). Para
compilar o projeto para as plataformas suportadas pelo Phonegap, os arquivos
devem ser carregados para um ambiente na nuvem feito pela Adobe chamado
Phonegap Build, que irá gerar os arquivos de instalação da aplicação para as
diversas plataformas.
2.6. Objetivos de negócio do projeto
2.6.1. Benefícios pela implementação do sistema
O objetivo do aplicativo será beneficiar a empresa, onde a mesma irá contar
com um aplicativo que ajude na melhora do relacionamento entre empresa e
cliente; pois a empresa responderá as solicitações com mais agilidade, ajudando a
fidelizar os clientes e obtendo um feedback em tempo real.
2.6.2. Portabilidade e usabilidade
A portabilidade também é um dos principais pontos positivos deste
aplicativo, pois o mesmo será desenvolvido para a maioria das plataformas móveis
sem a necessidade de conhecimento das linguagens específicas de cada
plataforma. A usabilidade também é outra vantagem, pois o aplicativo será de
simples utilização, com uma interface amigável e de fácil compreensão.
Desenvolvimento de Ferramenta Móvel de CRM Social Página 17
2.7. Restrições e riscos do projeto
O aplicativo e a base de dados serão instalados no dispositivo da empresa.
O principal risco é a perda de dados, caso algo seja apagado involuntariamente ou
mesmo algum problema de hardware ocorra em seu dispositivo.
O aplicativo utilizará recursos de terceiros e estará sujeito à variação das
políticas de segurança dos mesmos, e à legislação brasileira.
2.7.1. Limitações operacionais
O aplicativo funcionará apenas nas plataformas móveis suportadas pelo
framework Phonegap; não funcionando em outras plataformas. O dispositivo
deverá ter acesso à internet.
2.7.2. Considerações legais
O aplicativo é um software livre, onde qualquer pessoa pode acessar e
modificar seu código fonte sem a permissão do autor, e redistribuí-lo com as
modificações.
2.7.3. Considerações de hardware / software / rede
O aplicativo deverá ser executado em um dispositivo compatível com
Phonegap, que disponha de pelo menos 20Mb de armazenamento, mínimo de
256Mb de memória RAM para um bom desempenho e acesso à internet. Para
uma boa execução da aplicação recomenda-se um processador de pelo menos
800Mhz. Para o completo funcionamento do aplicativo será necessário acesso à
internet.
Desenvolvimento de Ferramenta Móvel de CRM Social Página 18
2.7.4. Considerações pessoais
Para o melhor aproveitamento da aplicação e suas funções, recomenda-se
que a empresa se dedique em sua utilização e faça simulações com as
funcionalidades da aplicação para entender seu funcionamento, e obter os
resultados desejados.
Desenvolvimento de Ferramenta Móvel de CRM Social Página 19
3. Análise de requisitos
3.1. Situação proposta
Será desenvolvido um aplicativo móvel, onde a empresa poderá inserir
contas das redes sociais, ler e responder mensagens, classificar os tipos de
mensagens, enviar múltiplas postagens, fazer pesquisa de postagens através de
palavras chave, registrar um log de uso da aplicação e gerar relatórios de análise
dos relacionamentos com o cliente.
3.2. Requisitos Funcionais
RF001 – Adicionar Contas
Prioridade: Essencial Importante Desejável
O sistema permitirá adicionar contas das redes sociais, assim como ver
uma listagem das contas já adicionadas.
RF002 – Ler Mensagens
Prioridade: Essencial Importante Desejável
O sistema irá exibir uma lista com as mensagens não lidas.
RF003 – Responder Mensagens
Prioridade: Essencial Importante Desejável
Ao selecionar uma mensagem para responder, será aberta uma janela onde
a empresa irá elaborar o conteúdo da resposta, enviar a resposta e posteriormente
classificar o tipo da mensagem.
RF004 – Enviar múltiplas postagens
Prioridade: Essencial Importante Desejável
O sistema permitirá criar uma postagem e postar nas diversas contas das
redes sociais já cadastradas.
Desenvolvimento de Ferramenta Móvel de CRM Social Página 20
RF005 – Pesquisar palavras chave
Prioridade: Essencial Importante Desejável
O sistema permitirá fazer uma pesquisa das postagens públicas dos
usuários de acordo com palavras chave.
RF006 – Criar Log
Prioridade: Essencial Importante Desejável
O sistema deverá criar um log nas ações do usuário.
RF007 – Gerar relatórios
Prioridade: Essencial Importante Desejável
O sistema permitirá à empresa gerar relatórios para a análise do
relacionamento com o cliente.
Desenvolvimento de Ferramenta Móvel de CRM Social Página 21
3.3. Diagramas de caso de uso
Figura 1 – Diagrama de Caso de Uso
3.4. Casos de uso de baixo nível
Caso de Uso Adicionar Contas
Ator Principal Empresa
Ator Secundário
Pré-Condição Nenhuma
Pós-Condição Conta da rede social cadastrada para exibir as mensagens recebidas
Ação do Ator Responsabilidade do Sistema
1. Informar usuário e senha.
2. Conectar a rede social e logar com o usuário e senha informado.
3. Armazenar dados informados. Tabela 1 – Caso de Uso “Adicionar Contas”
Desenvolvimento de Ferramenta Móvel de CRM Social Página 22
Caso de Uso Ler Mensagens
Ator Principal Empresa
Ator Secundário
Pré-Condição Ter alguma conta de redes sociais cadastrada
Pós-Condição Lista com as mensagens
Ação do Ator Responsabilidade do Sistema
1. Acessar listagem das mensagens das redes sociais.
2. Selecionar uma mensagem para ler. Tabela 2 – Caso de Uso “Ler Mensagens”
Caso de Uso Responder Mensagens
Ator Principal Empresa
Ator Secundário Sistema
Pré-Condição Mensagens não respondidas
Pós-Condição Nenhuma
Ação do Ator Responsabilidade do Sistema
1. Selecionar mensagem para responder.
2. Elaborar texto de resposta para a mensagem e clica em enviar.
3. Enviar a resposta da mensagem selecionada.
Tabela 3 – Caso de Uso “Responder Mensagens”
Desenvolvimento de Ferramenta Móvel de CRM Social Página 23
Caso de Uso Identificar o tipo da mensagem
Ator Principal Empresa
Ator Secundário
Pré-Condição Mensagem respondida
Pós-Condição Classificação da mensagem respondida como “reclamação”, “elogio”, “sugestão” ou “outros”
Ação do Ator Responsabilidade do Sistema
1. Após resposta da mensagem enviada, permitir classificar a mensagem.
2. Classificar mensagem de acordo com o seu conteúdo.
3. Armazenar os dados da mensagem e sua classificação.
Tabela 4 – Caso de Uso “Identificar o tipo da mensagem”
Caso de Uso Enviar múltiplas postagens
Ator Principal Empresa
Ator Secundário Sistema
Pré-Condição Nenhuma
Pós-Condição Nenhuma
Ação do Ator Responsabilidade do Sistema
1. Informar dados para a postagem.
2. Sistema envia postagem para as contas de redes sociais cadastradas.
Tabela 5 – Caso de Uso “Enviar múltiplas postagens”
Desenvolvimento de Ferramenta Móvel de CRM Social Página 24
Caso de Uso Pesquisar palavras chave
Ator Principal Empresa
Ator Secundário
Pré-Condição Nenhuma
Pós-Condição Nenhuma
Ação do Ator Responsabilidade do Sistema
1. Informar as palavras chave e critérios de pesquisa.
2. Buscar nas redes sociais postagens relacionadas às palavras chave e critérios de pesquisa.
Tabela 6 – Caso de Uso “Pesquisar palavras chave”
Caso de Uso Criar Log
Ator Principal Sistema
Ator Secundário
Pré-Condição Execução de ações no aplicativo
Pós-Condição Log do sistema com as ações executadas
Ação do Ator Responsabilidade do Sistema
1. Criar log com as ações executadas no aplicativo.
2. Armazenar log. Tabela 7 – Caso de Uso “Criar Log”
Desenvolvimento de Ferramenta Móvel de CRM Social Página 25
Caso de Uso Gerar relatórios
Ator Principal Sistema
Ator Secundário Empresa
Pré-Condição Mensagens respondidas e classificadas
Pós-Condição Relatório com a análise do relacionamento
Ação do Ator Responsabilidade do Sistema
1. Empresa acessa página de relatórios do aplicativo.
2. Sistema exibe relatório de análise do relacionamento com o cliente.
Tabela 8 – Caso de Uso “Gerar relatórios”
3.5. Requisitos não funcionais
RNF001 – Software
Prioridade: Essencial Importante Desejável
O aplicativo será compatível com todos os dispositivos móveis abrangidos
pelo Phonegap.
RNF002 – Hardware
Prioridade: Essencial Importante Desejável
Para o bom funcionamento da aplicação, recomenda-se um dispositivo com
pelo menos 20Mb de armazenamento, 256Mb de memória RAM e processador de
800Mhz ou superior.
RNF003 – Interface
Prioridade: Essencial Importante Desejável
O aplicativo terá uma interface clara de fácil utilização para que o usuário
não tenha dificuldades em usá-lo.
Desenvolvimento de Ferramenta Móvel de CRM Social Página 26
RNF004 – Rede
Prioridade: Essencial Importante Desejável
O dispositivo deverá ter acesso a uma conexão de dados com velocidade
igual ou superior a 1MB/s.
Desenvolvimento de Ferramenta Móvel de CRM Social Página 27
4. Projeto detalhado do software
4.1. Arquitetura da aplicação
Figura 2 – Arquitetura do Software
A interface do usuário é o meio pelo qual a aplicação se comunicará com o
usuário. Para o aplicativo de CRM Social, a interface será uma WebView exibida
através da tela do dispositivo móvel.
O módulo usuário consiste na parte gráfica (telas) do aplicativo. Será
construído em HTML5 e CSS3.
O módulo da aplicação consiste na codificação do aplicativo, onde será
utilizada a linguagem JavaScript.
SQLite é o meio de armazenamento que será utilizado pelo aplicativo. Será
detalhado na sequência.
Desenvolvimento de Ferramenta Móvel de CRM Social Página 28
4.2. Tecnologias utilizadas
Para o desenvolvimento do aplicativo foi escolhido o framework Phonegap,
que permite desenvolver para várias plataformas móveis sem necessidade de
conhecer as linguagens nativas de cada.
Para construção das interfaces gráficas será utilizado o framework jQuery
Mobile. Para o armazenamento de dados será utilizado SQLite. Outros plugins
utilizados serão detalhados na sequência.
4.2.1. Phonegap
Phonegap é um framework de desenvolvimento móvel que permite
desenvolver aplicativos para a maioria das plataformas móveis; com a vantagem
de não ser necessário ao desenvolvedor conhecer a linguagem de
desenvolvimento de cada plataforma. Os aplicativos Phonegap são construídos
em HTML5, CSS3 e JavaScript e posteriormente compilados para as plataformas
suportadas.
Phonegap começou como um hackathon. Em 2007, a Apple lançou o
iPhone e Steve Jobs disse aos desenvolvedores que deveriam desenvolver
webapps. Phonegap começou em 2008 como um hackathon de verão e ganhou
força como um conceito na Nitobi, com implementações em Android e Blackberry
no outono. Em 2009, as pessoas começaram a prestar atenção quando Phonegap
foi rejeitado pela Apple. Eles acrescentaram suporte Symbian e webOS e a Sony
Ericsson começou a contribuir com o projeto. Eles foram rejeitados porque todos
os aplicativos Phonegap desenvolvidos foram nomeados "Phonegap". Isso acabou
por ser boa imprensa para o projeto Phonegap, o que levou a Apple deixá-los
pouco tempo depois (Raible Designs, 2014).
Desenvolvimento de Ferramenta Móvel de CRM Social Página 29
4.2.2. jQuery Mobile
O jQuery Mobile é um framework de interface de usuário unificado, que
apresenta um código leve e um design flexível e facilmente personalizável. A
biblioteca jQuery Mobile funciona baseada na biblioteca jQuery, e que se propõe a
criar sites para navegação com toque com aparência estilo iPhone/iPad para
diversas plataformas móveis como Apple iOS, Android, Nokia N900, etc.
O jQuery Mobile utiliza recursos de CSS3 e HTML5 e desse modo para
poder usar os recursos do jQuery Mobile deverá ser usado um navegador com
suporte a HTML5 (Macoratti, 2014).
4.2.3. SQLite
SQLite é uma biblioteca compacta que implementa um banco de dados
embutido. Diferentemente da maioria dos outros bancos de dados, SQLite não tem
um processo de servidor separado. SQLite lê e escreve diretamente para arquivos
de disco comuns. Um banco de dados SQL completo com várias tabelas, índices e
gatilhos, está contido em um único arquivo em disco. O formato do arquivo de
banco de dados é multiplataforma, ou seja, é possível copiar livremente um banco
de dados entre sistemas de 32 bits e de 64 bits ou entre arquiteturas diferentes.
Estas características tornam SQLite uma escolha popular como um formato de
arquivo de aplicativos (SQLite, 2014).
4.2.4. Plugins
Serão utilizados os seguintes plugins para simplificar as ações no aplicativo:
OpenFB: biblioteca JavaScript para integrar as funções do aplicativo
Phonegap ao Facebook. Esse plugin não possui nenhuma dependência,
ou seja, não é necessário o plugin do Facebook ou o Facebook SDK. O
download do plugin está disponível no endereço:
<http://www.github.com/ccoenraets/OpenFB>
Desenvolvimento de Ferramenta Móvel de CRM Social Página 30
Cordova-SQLitePlugin: biblioteca JavaScript que implementa a
interface nativa do SQLite nos aplicativos Phonegap. O download do
plugin está disponível no endereço:
<http://www.github.com/brodysoft/Cordova-SQLitePlugin>
Chart.js: biblioteca JavaScript que implementa gráficos, e será utilizada
no módulo de relatórios. O download do plugin está disponível no
endereço: <http://www.github.com/nnnick/Chart.js>
4.3. Arquitetura do Phonegap
Figura 3 – Arquitetura do Phonegap
Phonegap tem uma arquitetura baseada em plugin. Cada recurso específico
do dispositivo é um plugin, que consiste em lados JavaScript e nativo. O lado
JavaScript deve ser multiplataforma quando possível, enquanto o lado nativo pode
ser implementado apenas uma vez, para um único dispositivo. Esta arquitetura,
juntamente com o código fonte aberto, não só permite ao desenvolvedor corrigir os
seus erros, mas também lhe permite ajustar seus plugins conforme suas
exigências. Além disso, o desenvolvedor pode criar seu próprio plugin, e dar
suporte a qualquer plataforma de sua escolha (Digital Wolf, 2014).
Desenvolvimento de Ferramenta Móvel de CRM Social Página 31
4.4. Integração com Redes Sociais
4.4.1. Integração com o Facebook
Será utilizado o Facebook para demonstrar como integrar o aplicativo a
uma rede social, e como obter os dados das redes sociais e utilizar no aplicativo a
fim de melhorar o relacionamento com o cliente.
Para integrar qualquer função do Facebook a um aplicativo ou site é
necessário ter uma conta e registrar-se como desenvolvedor. Para se registrar
como desenvolvedor, basta acessar o endereço na internet
<https://developers.facebook.com/> e proceder com o registro, conforme as
figuras 4, 5 e 6.
Figura 4 – Registro como desenvolvedor no Facebook
Desenvolvimento de Ferramenta Móvel de CRM Social Página 32
Figura 5 – Confirmação do registro como desenvolvedor no Facebook
Figura 6 – Confirmação do registro como desenvolvedor no Facebook
Após o registro como desenvolvedor, um aplicativo do Facebook será
criado para permitir o acesso do aplicativo de CRM Social aos dados da rede
social da Empresa. Com o aplicativo do Facebook criado, será usado o código de
identificação do aplicativo (APP_ID) para ter acesso às funções e informações da
rede social.
Desenvolvimento de Ferramenta Móvel de CRM Social Página 33
4.4.1.1. Permissões
Ao criar um aplicativo no Facebook é possível, por padrão, ter acesso às
informações básicas do usuário, como nome, foto do perfil e gênero. Para ter
acesso a outras informações que serão utilizadas pelo aplicativo de CRM Social,
será necessário ter acesso às seguintes permissões (figuras 7 e 8):
email: Esta permissão disponibilizará ao aplicativo de CRM Social o
endereço de email do usuário. Será usado apenas em caráter
informativo;
manage_pages: Esta permissão irá conceder ao aplicativo de CRM
Social o gerenciamento das páginas do usuário do Facebook que se
conectou a aplicação;
read_page_mailboxes: Esta permissão disponibilizará ao aplicativo de
CRM Social o acesso às Caixas de Mensagens das páginas do usuário
do Facebook;
read_mailbox: Esta permissão complementará a permissão
read_page_mailboxes, para visualizar e responder as mensagens das
páginas do usuário do Facebook;
publish_actions: Esta permissão possibilitará ao aplicativo de CRM
Social publicar postagens nas páginas do usuário do Facebook.
Desenvolvimento de Ferramenta Móvel de CRM Social Página 34
Figura 7 – Permissões de acesso ao Facebook
Figura 8 – Permissões de acesso ao Facebook
Desenvolvimento de Ferramenta Móvel de CRM Social Página 35
4.4.1.2. Access Token
Access Token ou Token de Acesso é uma sequência de caracteres que
identifica um usuário ou uma página, e inclui informações sobre quais permissões
estão sendo utilizadas e qual a validade do Token de Acesso. O Token de Acesso
é necessário para ter acesso a algumas informações, como a Caixa de
Mensagens, por exemplo. Toda vez que o Token de Acesso expira, é necessário
obter um novo para poder continuar tendo acesso a essas informações.
Para cada usuário ou página são concedidos diferentes Tokens de Acesso,
que serão utilizados em requisições HTTP para obter os dados do Facebook.
4.4.1.3. Graph API
O Graph API é a interface de programação do Facebook, baseada em
requisições HTTP usada para obter informações, enviar mensagens ou postagens
e consultar dados no Facebook, entre outras informações.
Um exemplo de requisição HTTP que será utilizada pelo aplicativo de CRM
Social é https://graph.facebook.com/me?access_token=TOKEN , onde TOKEN
representa o Token de Acesso obtido no momento que o usuário autorizou o
acesso do aplicativo de CRM Social ao Facebook. A requisição utilizada no
exemplo irá retornar uma sequencia de caracteres com dados do usuário, como
nome, usuário e número de identificação.
4.4.1.4. Métodos
As requisições HTTP são acompanhadas pelos métodos:
GET: Método utilizado para obter ou consultar dados, como listar dados
do usuário, listar páginas e mensagens etc;
POST: Método utilizado para atualizar algum dado no Facebook, como
responder uma mensagem, publicar uma atualização na página, entre
outros;
Desenvolvimento de Ferramenta Móvel de CRM Social Página 36
DELETE: Método usado para excluir alguma informação do Facebook.
Os métodos utilizados pelas requisições HTTP no aplicativo de CRM Social
serão GET e POST.
Desenvolvimento de Ferramenta Móvel de CRM Social Página 37
4.5. Diagrama de classe
Figura 9 – Diagrama de Classe
Desenvolvimento de Ferramenta Móvel de CRM Social Página 38
Classe: ClassConta Classe responsável por armazenar os dados das contas de redes sociais.
Atributo Função
Id Responsável por armazenar o número de identificação da conta da rede social.
Nome Responsável por armazenar o nome do usuário da conta da rede social.
Token Responsável por armazenar o código que permite o acesso do aplicativo à da conta da rede social.
Rede Responsável por armazenar a informação a qual rede social a conta armazenada pertence.
Email Responsável por armazenar o email do usuário da rede social.
Tabela 9 – ClassConta
Classe: ClassPagina Classe responsável por armazenar os dados das páginas da rede social Facebook.
Atributo Função
Id Responsável por armazenar o número de identificação da página da rede social Facebook.
IdConta Responsável por armazenar o número de identificação da conta da rede social a qual a página pertence.
Nome Responsável por armazenar o nome das páginas da rede social Facebook.
Token Responsável por armazenar o código de acesso do aplicativo à página da rede social Facebook.
Tabela 10 – ClassPagina
Desenvolvimento de Ferramenta Móvel de CRM Social Página 39
Classe: ClassMensagem Classe responsável por armazenar as mensagens das páginas das redes sociais.
Atributo Função
Id Responsável por armazenar o código de identificação da mensagem.
Autor Responsável por armazenar o nome do remetente da mensagem.
DataHora Responsável por armazenar a data e hora de criação da mensagem.
Texto Responsável por armazenar o texto da mensagem.
Solicitacao Responsável por identificar se esta mensagem está ligada vinculada a uma solicitação.
IdConversa Responsável por armazenar o código de identificação do conjunto de mensagens qual esta mensagem pertence.
IdPagina Responsável por armazenar o código de identificação da página qual esta mensagem pertence.
Tabela 11 – ClassMensagem
Classe: ClassSolicitacaoMensagem Classe responsável por armazenar a identificação das mensagens e solicitações que estão relacionadas.
Atributo Função
IdMensagem Responsável por armazenar o código de identificação da mensagem qual está ligada a uma solicitação.
IdSolicitacao Responsável por armazenar o número de identificação da solicitação qual está ligada a uma mensagem.
Tabela 12 – ClassSolicitacaoMensagem
Desenvolvimento de Ferramenta Móvel de CRM Social Página 40
Classe: ClassSolicitacao Classe responsável por armazenar os dados de um conjunto de mensagens respondidas, identificadas e avaliadas de uma página.
Atributo Função
Id Responsável por armazenar o número de identificação da solicitação.
Tipo Responsável por armazenar o tipo de solicitação do conjunto de mensagens (“reclamação”, “elogio”, “sugestão” ou “outros”).
Qtde Responsável por armazenar a quantidade mensagens que compõem a solicitação.
DtPrimeiraMsg Responsável por armazenar a data e hora da primeira mensagem quem compõe a solicitação.
DtUltimaMsg Responsável por armazenar a data e hora da ultima mensagem quem compõe a solicitação.
Comentario Responsável por armazenar um comentário ou observação sobre a solicitação.
Tabela 13 – ClassSolicitacao
Desenvolvimento de Ferramenta Móvel de CRM Social Página 41
4.6. Modelo conceitual de dados
Figura 10 – Modelo conceitual de dados
Desenvolvimento de Ferramenta Móvel de CRM Social Página 42
4.7. Diagrama de sequência
4.7.1. Diagrama de Sequência Adicionar Contas
Figura 11 – Diagrama de Sequência Adicionar Contas
Desenvolvimento de Ferramenta Móvel de CRM Social Página 43
4.7.2. Diagrama de Sequência Ler Mensagens
Figura 12 – Diagrama de Sequência Ler Mensagens
4.7.3. Diagrama de Sequência Responder Mensagens
Figura 13 – Diagrama de Sequência Responder Mensagens
Desenvolvimento de Ferramenta Móvel de CRM Social Página 44
Figura 14 – Diagrama de Sequência Identificar o Tipo da Mensagem
4.7.4. Diagrama de Sequência Enviar múltiplas postagens
Figura 15 – Diagrama de Sequência Enviar Múltiplas Postagens
Desenvolvimento de Ferramenta Móvel de CRM Social Página 45
4.7.5. Diagrama de Sequência Pesquisar palavras chave
Figura 16 – Diagrama de Sequência Pesquisar palavras chave
4.7.6. Diagrama de Sequência Criar Log
Figura 17 – Diagrama de Sequência Criar Log
Desenvolvimento de Ferramenta Móvel de CRM Social Página 46
4.7.7. Diagrama de Sequência Gerar relatórios
Figura 18 – Diagrama de Sequência Gerar relatórios
Desenvolvimento de Ferramenta Móvel de CRM Social Página 47
4.8. Telas
4.8.1. Menu Inicial
Ao abrir o aplicativo, a tela inicial é exibida. Com uma interface de fácil
compreensão, a tela inicial é composta por sete menus de acesso às
funcionalidades do aplicativo (figura 19).
Figura 19 – Tela do Menu Inicial
Desenvolvimento de Ferramenta Móvel de CRM Social Página 48
4.8.2. Contas
Nesta tela, apresentada na figura 20, é possível ver as contas de redes
sociais, adicionar ou apagar uma conta.
Figura 20 – Tela Contas
Desenvolvimento de Ferramenta Móvel de CRM Social Página 49
4.8.3. Adicionar Rede Social
Nesta tela, apresentada na figura 21, é possível adicionar uma conta da
rede social Facebook ao aplicativo.
Figura 21 – Tela Adicionar Rede Social
Desenvolvimento de Ferramenta Móvel de CRM Social Página 50
4.8.4. Páginas
Nesta tela, apresentada na figura 22, é possível ver uma listagem com as
páginas obtidas ao adicionar uma conta do Facebook. Caso alguma página seja
criada ou excluída do Facebook, é possível obter a listagem de páginas
novamente, através do botão Atualizar (figura 23).
Figura 22 – Tela Páginas
Desenvolvimento de Ferramenta Móvel de CRM Social Página 51
Figura 23 – Botão Atualizar
4.8.5. Mensagens
Esta tela possui duas partes: “Todas” e “Finalizadas”, conforme a figura 24.
A primeira parte se refere às conversas (grupo de mensagens) entre uma
página e um usuário do Facebook (figura 25). A segunda parte se refere às
mensagens (solicitações) já respondidas e identificadas (figura 26). É possível
detalhar as mensagens ou solicitações clicando em ambas.
Figura 24 – Opções da tela Mensagens
Desenvolvimento de Ferramenta Móvel de CRM Social Página 52
Figura 25 – Listagem das conversas na tela Mensagens
Desenvolvimento de Ferramenta Móvel de CRM Social Página 53
Figura 26 – Listagem das solicitações na tela Mensagens
Desenvolvimento de Ferramenta Móvel de CRM Social Página 54
4.8.5.1. Mensagens detalhadas
Ao clicar em uma conversa na tela Mensagens, é possível ver as
mensagens trocadas entre a página da Empresa e um usuário do Facebook
(figura 27). Também é possível responder às mensagens e selecionar quais
mensagens irão compor uma Solicitação.
Figura 27 – Listagem das mensagens
Desenvolvimento de Ferramenta Móvel de CRM Social Página 55
4.8.5.2. Mensagens finalizadas
Ao clicar sobre um item da lista de mensagens finalizadas (solicitação), é
possível ver os detalhes da solicitação, como o tipo da solicitação (reclamação,
sugestão ou outros), nome do remetente das mensagens, histórico das conversas,
entre outros (figura 28).
Figura 28 – Detalhes da Solicitação
Desenvolvimento de Ferramenta Móvel de CRM Social Página 56
4.8.6. Enviar Postagens
Nesta tela, apresentada na figura 29, é possível elaborar um texto para
publicar nas páginas da rede social, e escolher em quais páginas o texto será
publicado.
Figura 29 – Tela Enviar Postagens
Desenvolvimento de Ferramenta Móvel de CRM Social Página 57
4.8.7. Pesquisar
Nesta tela, apresentada na figura 30, é possível fazer a pesquisa de
palavras chave no Facebook, precedidas pelo caractere “#”. O resultado será uma
lista com as postagens públicas do usuário que contém o critério de pesquisa.
Esta funcionalidade foi implementada, mas como o Facebook alterou a
política de privacidade de pesquisa a postagens públicas, esta tela será utilizada
em pesquisas de postagens de outras redes sociais, em implementações futuras.
Figura 30 – Tela Pesquisar
Desenvolvimento de Ferramenta Móvel de CRM Social Página 58
4.8.8. Log
Nesta tela, apresentada na figura 31, é possível ver um histórico com todas
as ações executadas no aplicativo.
Figura 31 – Tela Log
Desenvolvimento de Ferramenta Móvel de CRM Social Página 59
4.8.9. Relatórios
Nesta tela, apresentada na figura 32, é possível ver um relatório com todas
as estimativas de atendimento ao cliente, como: quantidades de reclamações,
elogios, sugestões e outros, média de tempo de resolução das solicitações, gráfico
com as solicitações de cada categoria na última semana, etc.
Figura 32 – Tela Relatórios
Desenvolvimento de Ferramenta Móvel de CRM Social Página 60
5. Codificação
5.1. Layout das tabelas
5.1.1. Tabela: tb_con_conta
Chave Campo Tam. Formato Valores Permitidos
Validação Máscara
@ con_n_id 5 Int 0-999999999999999
Numérico e not null
999999999999999
con_c_nome 200 VarChar Caracteres not null
con_c_token 500 VarChar Caracteres not null
con_c_rede 10 VarChar Caracteres not null
con_c_email 500 VarChar Caracteres not null Tabela 14 – Layout da tabela tb_con_conta
5.1.2. Tabela: tb_pag_pagina
Chave Campo Tam. Formato Valores Permitidos
Validação Máscara
@ pag_n_id 5 Int 0-99999999999999999
Numérico e not null
999999999999999
pag_con_n_id 5 Int 0-99999999999999999
Numérico e not null
999999999999999
pag_c_nome 25 VarChar Caracteres not null
pag_c_token 500 VarChar Caracteres not null Tabela 15 – Layout da tabela tb_pag_pagina
Desenvolvimento de Ferramenta Móvel de CRM Social Página 61
5.1.3. Tabela: tb_men_mensagem
Chave Campo Tam. Formato Valores Permitidos
Validação Máscara
@ men_n_id 100 VarChar Carateres not null
men_c_autor 200 VarChar Carateres not null
men_c_datahora 16 VarChar Carateres not null
men_c_texto 5000 VarChar Carateres not null
men_c_solicitacao 1 VarChar Carateres not null
men_n_idconversa 100 VarChar Carateres not null
men_pag_n_id 6 Int 0-999999 Numérico e not null
999999
Tabela 16 – Layout da tabela tb_men_mensagem
5.1.4. Tabela: tb_sol_solicitacao
Chave Campo Tam. Formato Valores Permitidos
Validação Máscara
@ sol_n_id 6 Int 0-999999 Numérico e not null
999999
sol_c_tipo 20 VarChar Caracteres not null
sol_n_qtde 6 Int Caracteres not null
sol_c_dataprimeira 16 VarChar Caracteres not null
sol_c_dataultima 16 VarChar Caracteres not null
sol_c_comentario 1000 VarChar Caracteres not null Tabela 17 – Layout da tabela tb_sol_solicitacao
5.1.5. Tabela: tb_smg_solicitacao_mensagem
Chave Campo Tamanho Formato Valores Permitidos
Validação Máscara
@ smg_men_n_id 15 Int 0-999999999999999
Numérico e not null
999999999999999
@ smg_sol_n_id 6 Int 999999 Numérico e not null
999999
Tabela 18 – Layout da tabela tb_smg_solicitacao_mensagem
Desenvolvimento de Ferramenta Móvel de CRM Social Página 62
5.1.6. Tabela: tb_log_log
Chave Campo Tamanho Formato Valores Permitidos
Validação Máscara
@ log_n_id 6 Int Numérico e not null
0-999999 999999
log_c_acao 20 VarChar Caracteres not null
log_c_tela 50 VarChar Caracteres not null
log_c_data 16 VarChar Caracteres not null Tabela 19 – Layout da tabela tb_log_log
5.2. Script das tabelas
5.2.1. Script da tabela tb_con_conta
CREATE TABLE IF NOT EXISTS tb_con_conta (
con_n_id INTEGER PRIMARY KEY,
con_c_nome VARCHAR( 200 ) NOT NULL,
con_c_token VARCHAR( 500 ) NOT NULL,
con_c_rede VARCHAR( 10 ) NOT NULL,
con_c_email VARCHAR( 500 ) NOT NULL);
5.2.2. Script da tabela tb_pag_pagina
CREATE TABLE IF NOT EXISTS tb_pag_pagina (
pag_n_id INTEGER PRIMARY KEY,
pag_con_n_id INTEGER NOT NULL,
pag_c_nome VARCHAR( 25 ) NOT NULL,
pag_c_token VARCHAR( 500 ) NOT NULL);
ALTER TABLE tb_pag_pagina ADD CONSTRAINT fk_pag_con_n_id FOREIGN
KEY (pag_con_n_id) REFERENCES tb_con_conta(con_n_id);
Desenvolvimento de Ferramenta Móvel de CRM Social Página 63
5.2.3. Script da tabela tb_men_mensagem
CREATE TABLE IF NOT EXISTS tb_men_mensagem (
men_n_id VARCHAR ( 100 ) PRIMARY KEY,
men_c_autor VARCHAR( 200 ) NOT NULL,
men_c_datahora VARCHAR ( 16 ) NOT NULL,
men_c_texto VARCHAR ( 5000 ) NOT NULL,
men_c_solicitacao VARCHAR (1) NULL,
men_n_idconversa INTEGER NOT NULL,
men_pag_n_id INTEGER NOT NULL);
ALTER TABLE tb_men_mensagem ADD CONSTRAINT fk_men_pag_n_id
FOREIGN KEY (men_pag_n_id) REFERENCES tb_pag_pagina(pag_n_id);
5.2.4. Script da tabela tb_sol_solicitacao
CREATE TABLE IF NOT EXISTS tb_sol_solicitacao (
sol_n_id INTEGER PRIMARY KEY AUTOINCREMENT,
sol_c_tipo VARCHAR ( 20 ) NOT NULL,
sol_n_qtde INTEGER NOT NULL,
sol_c_dataprimeira VARCHAR ( 16 ) NOT NULL,
sol_c_dataultima VARCHAR ( 16 ) NOT NULL,
sol_c_comentario VARCHAR (1000) NOT NULL);
5.2.5. Script da tabela tb_smg_solicitacao_mensagem
CREATE TABLE IF NOT EXISTS tb_smg_solicitacao_mensagem (
smg_men_n_id INTEGER NOT NULL,
smg_sol_n_id INTEGER NOT NULL,
PRIMARY KEY (smg_men_n_id, smg_sol_n_id));
Desenvolvimento de Ferramenta Móvel de CRM Social Página 64
ALTER TABLE tb_smg_solicitacao_mensagem ADD CONSTRAINT
fk_smg_men_n_id FOREIGN KEY (smg_men_n_id) REFERENCES
tb_men_mensagem(men_n_id);
ALTER TABLE tb_smg_solicitacao_mensagem ADD CONSTRAINT
fk_smg_sol_n_id FOREIGN KEY (smg_sol_n_id) REFERENCES
tb_sol_solicitacao(sol_n_id);
5.2.6. Script da tabela tb_log_log
CREATE TABLE IF NOT EXISTS tb_log_log (
log_n_id INTEGER PRIMARY KEY AUTOINCREMENT,
log_c_acao VARCHAR ( 20 ) NOT NULL,
log_c_tela VARCHAR( 50 ) NOT NULL,
log_c_data VARCHAR ( 16 ) NOT NULL);
Tabela tb_con_conta
con_n_id Representa a chave primária da tabela Conta.
con_c_nome Armazena o nome do usuário da conta.
con_c_token Armazena o token de acesso do aplicativo à conta da rede social.
con_c_rede Armazena a informação sobre qual rede social a conta pertence.
con_c_email Armazenar o email do usuário da rede social.
Tabela 20 – Descrição dos campos da tabela tb_con_conta
Desenvolvimento de Ferramenta Móvel de CRM Social Página 65
Tabela tb_pag_pagina
pag_n_id Representa a chave primária da tabela Página.
pag_con_n_id Representa à chave estrangeira, que identifica a qual conta da rede social a página pertence.
pag_c_nome Armazena o nome da página.
pag_c_token Armazena o token de acesso do aplicativo à página da rede social.
Tabela 21 – Descrição dos campos da tabela tb_pag_pagina
Tabela tb_men_mensagem
men_n_id Representa a chave primária da tabela Mensagem.
men_c_autor Armazena o nome do autor da mensagem.
men_c_datahora Armazena a data e hora em que a mensagem foi criada.
men_c_texto Armazena o texto da mensagem.
men_c_solicitacao Armazena a informação se esta mensagem está vinculada a uma solicitação.
men_n_idconversa Armazena o código de identificação do conjunto de mensagens qual esta mensagem pertence
men_pag_n_id Armazena o código da página qual esta mensagem pertence.
Tabela 22 – Descrição dos campos da tabela tb_men_mensagem
Desenvolvimento de Ferramenta Móvel de CRM Social Página 66
Tabela tb_sol_solicitacao
sol_n_id Representa a chave primária da tabela Solicitacao.
sol_c_tipo Armazena o tipo de solicitação do conjunto de mensagens.
sol_n_qtde Armazena a quantidade de mensagens que compõem a solicitação.
sol_c_dataprimeira Armazena a data e hora em que a primeira mensagem da solicitação foi criada.
sol_c_dataultima Armazena a data e hora em que a última mensagem da solicitação foi criada.
sol_c_comentario Armazena um comentário ou observação sobre a solicitação.
Tabela 23 – Descrição dos campos da tabela tb_sol_solicitacao
Tabela tb_smg_solicitacao_mensagem
smg_men_n_id Representa a chave primária composta da tabela Solicitacao Mensagem e representa a qual mensagem o registro da tabela pertence.
smg_sol_n_id Representa a chave primária composta da tabela Solicitacao Mensagem e representa a qual solicitação o registro da tabela pertence.
Tabela 24 – Descrição dos campos da tabela tb_smg_solicitacao_mensagem
Desenvolvimento de Ferramenta Móvel de CRM Social Página 67
Tabela tb_log_log
log_n_id Representa a chave primária da tabela Log.
log_c_acao Armazena a ação executada no aplicativo.
log_c_tela Armazena em qual tela a ação ocorreu.
log_c_data Armazena a data e hora em que a ação ocorreu.
Tabela 25 – Descrição dos campos da tabela tb_log_log
5.3. Código fonte
O código fonte do aplicativo pode ser encontrado no CD-ROM em anexo.
5.3.1. Módulo usuário
Para desenvolver o módulo usuário (front-end do aplicativo), foi utilizado
HTML5 e CSS3, que tem o objetivo de construir a interface do aplicativo. A figura
33 representa o código do Módulo Usuário.
5.3.2. Módulo da aplicação
Para desenvolver o módulo da aplicação (back-end), foi utilizada a
linguagem JavaScript para programar as ações. A figura 34 representa o código
do Módulo da aplicação.
Desenvolvimento de Ferramenta Móvel de CRM Social Página 68
6. Instalação do aplicativo
Os arquivos de instalação para as plataformas Windows Phone e Android
podem ser encontrados no CD-ROM em anexo. Para instalar, basta copiar o
arquivo de instalação (com a extensão .XAP para Windows Phone ou com a
extensão .APK para Android) para a memória do dispositivo e executar a
instalação. Também estará disponível futuramente a instalação para a plataforma
Android através da Google Play Store. Para as demais plataformas, é necessário
compilar o código fonte em anexo para cada plataforma.
Desenvolvimento de Ferramenta Móvel de CRM Social Página 69
7. Conclusão
Este trabalho de graduação teve como objetivo a implementação de um
aplicativo de CRM Social para dispositivos móveis. Uma breve descrição sobre o
tema do aplicativo desenvolvido e as tecnologias utilizadas foi apresentado, assim
como o detalhamento técnico do projeto.
O objetivo de criar um aplicativo móvel de CRM Social multiplataforma foi
atingido e futuramente a aplicação será disponibilizada para testes de usuários
reais.
Futuramente serão implementadas novas funcionalidades, como
sincronização dos dados da aplicação com outros dispositivos e unificação dos
dados, além de outros tipos de análise de relacionamento.
O uso do Phonegap permitiu a criação de um aplicativo multiplataforma sem
a necessidade de conhecer a linguagem de programação nativa de cada
plataforma móvel; o que agilizou o desenvolvimento do aplicativo para as várias
plataformas, o que seria mais demorado se fosse desenvolvido em linguagens
nativas.
Desenvolvimento de Ferramenta Móvel de CRM Social Página 70
Bibliografia
Corporate Eye. Disponível em: http://www.corporate-eye.com/main/the-future-of-
marketing-communications-and-social-media/ . Acesso em: 08 de out. 2014.
Digital Wolf. Disponível em:
http://digitalwolfstudio.in/most_common_phonegap_interview_questions . Acesso
em 09 de nov. de 2014.
GREENBERB, Paul. CRM at the Speed of Light – Social CRM Strategies, Tools,
and Techniques for Engaging Your Customers. New York: McGraw-Hill, 2009, p.
475.
Luis Melo. Disponível em: http://www.luismelo.org/?page_id=269 . Acesso em: 08
de out de 2014.
Macoratti. Disponível em: http://www.macoratti.net/11/09/jqry_mob.htm . Acesso
em 08 de nov. de 2014.
MXStudio. Disponível em: http://www.mxstudio.com.br/carreira/mercado/crm-
operacional-colaborativo-e-analitico/ . Acesso em: 09 de out. 2014.
Raible Designs. Disponível em:
http://raibledesigns.com/rd/entry/phonegap_for_hybrid_app_development . Acesso
em: 08 de nov. 2014.
SQLite. Disponível em: http://www.sqlite.org/about.html . Acesso em 08 de nov. de
2014.
TSCHOHL, John. Encantando o cliente. São Paulo: MAKRON Books, 1996, p. 59
Desenvolvimento de Ferramenta Móvel de CRM Social Página 71
8. Glossário
Back-end – É o termo utilizado para descrever o módulo de codificação de um
sistema.
Banco de dados – Sistema que gerencia e proporciona o armazenamento de
dados, permitindo consultas aos dados armazenados e garantindo sua
integridade.
Call-center – Central de atendimento, que tem como objetivo fazer a comunicação
entre o cliente e a empresa. É uma expressão do inglês call (chamada) e center
(central).
Compilar – É a expressão que significa a tradução de um código fonte (código do
programador) em código de máquina.
CSS3 – É a terceira versão da Cascading Style Sheets, uma linguagem de folhas
de estilo, utilizada para definir estilos e layouts de páginas da web.
Download – É o termo utilizado para descrever o ato de baixar, pegar, obter ou
descarregar um conteúdo da internet.
Facebook – Site do tipo “rede social”, lançado em 2004, onde seu endereço na
internet é <http://www.facebook.com/>.
Facebook SDK – Conjunto de funcionalidades e utilitários para que
programadores façam a integração com o site Facebook.
Framework – É o termo utilizado para descrever uma abstração de um conjunto
de códigos e funcionalidades no desenvolvimento de softwares, provendo uma
funcionalidade genérica.
Desenvolvimento de Ferramenta Móvel de CRM Social Página 72
Front-end – É o termo utilizado para descrever telas e toda parte gráfica de um
aplicativo, que irá interagir com o usuário.
Gartner – Empresa de consultoria fundada em 1979 por Gigeon Gartner, que
desenvolve tecnologias relacionadas à estratégia empresarial; onde seu endereço
na internet é <http://www.gartner.com/>.
Hackathon – È o termo obtido a partir das palavras em “hack” e “marathon”, onde
a tradução apropriada seria “maratona de programação”. Hackathon é um evento
promovido por empresas de tecnologia da informação, com o intuito de estimular a
construção ou melhorias de softwares e a inovação tecnológica.
HTML5 – É a quinta versão da Hyper Text Markup Language (ou Linguagem de
Marcação de Hipertexto), uma linguagem com a qual se definem as páginas web.
HTTP – Protocolo utilizado para comunicações de sistemas de informação
distribuídos e colaborativos. Utilizado para requisições e respostas entre cliente e
servidor da Web. Exemplo: ao acessar uma pagina qualquer da web, seu
navegador solicita a leitura desta pagina enviado através do protocolo HTTP esta
requisição onde o servidor da pagina web está.
Interface – É o meio pelo qual um programa se comunica com o usuário, incluindo
uma linha de comandos, menus, caixas de diálogos etc. As interfaces com os
usuários podem ser classificadas com baseadas em caracteres (texto), baseados
em menus ou baseadas em elementos visuais.
JavaScript – Trata-se de uma linguagem de programação interpretada. Foi
originalmente implementada como parte dos navegadores web para que
comandos pudessem ser executados do lado do cliente e interagissem com o
usuário sem a necessidade do comando passar pelo servidor, controlando o
Desenvolvimento de Ferramenta Móvel de CRM Social Página 73
navegador, realizando comunicação assíncrona e alterando o conteúdo do
documento exibido.
jQuery – Biblioteca de comandos JavaScript utilizada para simplificar o uso de
scripts em uma página HTML, onde seu endereço na internet é
<http://www.jquery.com/>.
jQuery Mobile – Framework de desenvolvimento de interface gráfica para
dispositivos móveis, onde seu endereço na internet é
<http://www.jquerymobile.com/>.
Log – É o termo utilizado para descrever o processo de registro de eventos
relevantes num sistema computacional.
Marketing – É o setor de uma empresa responsável pelos estudos de mercado,
definição de estratégias, publicidade e venda de um produto ou serviço.
Mb – É a abreviação da palavra Megabyte, uma unidade de medida
computacional, usado com frequência para especificar o tamanho ou quantidade
da memória ou capacidade de armazenamento de um dispositivo.
Memória RAM – É um tipo de memória que permite a leitura e a escrita, utilizada
como memória primária em sistemas eletrônicos digitais.
Mhz – Velocidade em que o processador de um sistema computacional trabalha.
Nitobi – Empresa de desenvolvimento de software, comprada pela Adobe
Systems em 2011.
Phonegap – Framework de desenvolvimento móvel, onde seu endereço na
internet é <http://www.phonegap.com/>.
Desenvolvimento de Ferramenta Móvel de CRM Social Página 74
Plugin – Trata-se de todo programa, ferramenta ou extensão que se encaixa a
outro programa principal para adicionar mais funções e recursos a ele.
Postagem – Trata-se de determinado qualquer informação publicada em sites,
blogs ou redes sociais.
Software – Trata-se de um programa ou aplicativo, composto por uma sequência
de instruções, que é interpretada e executada por um processador ou por uma
máquina virtual. Em um meio correto e funcional, essa sequência segue padrões
específicos que resultam em um comportamento desejado.
Sony Ericsson – Associação de empresas do ramo de bens eletrônicos e
telecomunicações, onde seu endereço na internet é
<http://www.sonymobile.com/>.
SproutSocial – Aplicação web de CRM Social, onde seu endereço na internet é
<http://www.sproutsocial.com/>.
SQL – É a linguagem padrão para bancos de dados, utilizada para criar tabelas e
funções, fazer consultas e modificar o banco de dados.
Webapps – Webapps ou Aplicações Web são sistemas de informática projetados
para utilização através de um navegador, na internet ou em redes privadas
(Intranet). Trata-se de um conjunto de programas que é executado em um servidor
web.
WebView – Trata-se de um componente que exibe arquivos HTML, podendo ser
da internet ou de uma pasta do projeto. Funciona como um navegador, mas sem a
barra de navegação e os botões do navegador.