SlideShare una empresa de Scribd logo
1 de 74
Descargar para leer sin conexión
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-
9999999999
99999
Numérico
e not null
9999999
9999999
9
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-
999999999
99999999
Numérico
e not null
9999999
9999999
9
pag_con_n_id 5 Int 0-
999999999
99999999
Numérico
e not null
9999999
9999999
9
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-
99999999
9999999
Numérico
e not null
9999999
9999999
9
@ 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.

Más contenido relacionado

La actualidad más candente

Manual de Referência do GerSpool
Manual de Referência do GerSpoolManual de Referência do GerSpool
Manual de Referência do GerSpool
vhsmiranda
 

La actualidad más candente (20)

Wx python
Wx pythonWx python
Wx python
 
Apostila cdtc dotproject
Apostila cdtc dotprojectApostila cdtc dotproject
Apostila cdtc dotproject
 
Diagnóstico do Design Brasileiro
Diagnóstico do Design Brasileiro Diagnóstico do Design Brasileiro
Diagnóstico do Design Brasileiro
 
Apostila Ministerio da Fazenda Assistente Administrativo
Apostila Ministerio da Fazenda Assistente AdministrativoApostila Ministerio da Fazenda Assistente Administrativo
Apostila Ministerio da Fazenda Assistente Administrativo
 
Manual de Referência do GerSpool
Manual de Referência do GerSpoolManual de Referência do GerSpool
Manual de Referência do GerSpool
 
Um estudo de caso para a avaliação do Scrum sob a Óptica do MPS.BR Nível G
Um estudo de caso para a avaliação do Scrum sob a Óptica do MPS.BR Nível GUm estudo de caso para a avaliação do Scrum sob a Óptica do MPS.BR Nível G
Um estudo de caso para a avaliação do Scrum sob a Óptica do MPS.BR Nível G
 
Plano de projeto de software para o sistema MEA - monitoraemto de eventos ad...
Plano de projeto de software para o sistema  MEA - monitoraemto de eventos ad...Plano de projeto de software para o sistema  MEA - monitoraemto de eventos ad...
Plano de projeto de software para o sistema MEA - monitoraemto de eventos ad...
 
Sql
SqlSql
Sql
 
Processos
ProcessosProcessos
Processos
 
Ruby on rails
Ruby on railsRuby on rails
Ruby on rails
 
Python gtk
Python gtkPython gtk
Python gtk
 
Vim
VimVim
Vim
 
Usabilidade e Arquitetura de Informação de Websites de Governos Municipais
Usabilidade e Arquitetura de Informação de Websites de Governos MunicipaisUsabilidade e Arquitetura de Informação de Websites de Governos Municipais
Usabilidade e Arquitetura de Informação de Websites de Governos Municipais
 
Squid guard
Squid guardSquid guard
Squid guard
 
Relatório de fim de curso
Relatório de fim de cursoRelatório de fim de curso
Relatório de fim de curso
 
Selinux
SelinuxSelinux
Selinux
 
Apostila tre.rs2014 administracao_ravazolo(1)
Apostila tre.rs2014 administracao_ravazolo(1)Apostila tre.rs2014 administracao_ravazolo(1)
Apostila tre.rs2014 administracao_ravazolo(1)
 
Shell script
Shell scriptShell script
Shell script
 
X dialog
X dialogX dialog
X dialog
 
Portais corporativos aline m toledo
Portais corporativos aline m toledoPortais corporativos aline m toledo
Portais corporativos aline m toledo
 

Similar a Trabalho de Graduação - Desenvolvimento de Ferramenta Móvel de CRM Social

DissertacaoMScValterFinal20070216
DissertacaoMScValterFinal20070216DissertacaoMScValterFinal20070216
DissertacaoMScValterFinal20070216
Valter Inacio Jr.
 
Relatório de Projecto de Licenciatura
Relatório de Projecto de LicenciaturaRelatório de Projecto de Licenciatura
Relatório de Projecto de Licenciatura
Joel Carvalho
 
Apostila completa de access
Apostila completa de accessApostila completa de access
Apostila completa de access
mazinho1955
 
Cópia de apostila nova curso idosos
Cópia de apostila nova curso idososCópia de apostila nova curso idosos
Cópia de apostila nova curso idosos
Paulo Rosa
 
Programando ooo b
Programando ooo bProgramando ooo b
Programando ooo b
vangney
 
Apostila fireworks-cs5
Apostila fireworks-cs5Apostila fireworks-cs5
Apostila fireworks-cs5
aulaemvideo
 

Similar a Trabalho de Graduação - Desenvolvimento de Ferramenta Móvel de CRM Social (20)

Sql
SqlSql
Sql
 
Quanta
QuantaQuanta
Quanta
 
DissertacaoMScValterFinal20070216
DissertacaoMScValterFinal20070216DissertacaoMScValterFinal20070216
DissertacaoMScValterFinal20070216
 
Relatório de Projecto de Licenciatura
Relatório de Projecto de LicenciaturaRelatório de Projecto de Licenciatura
Relatório de Projecto de Licenciatura
 
Programacao cpp
Programacao cppProgramacao cpp
Programacao cpp
 
Plano de Projeto de Software para o desenvolvimento do SIGE (Sistema de Geren...
Plano de Projeto de Software para o desenvolvimento do SIGE (Sistema de Geren...Plano de Projeto de Software para o desenvolvimento do SIGE (Sistema de Geren...
Plano de Projeto de Software para o desenvolvimento do SIGE (Sistema de Geren...
 
Javascript
JavascriptJavascript
Javascript
 
Apostila completa de access
Apostila completa de accessApostila completa de access
Apostila completa de access
 
Relatorio final - Blinded Walker
Relatorio final - Blinded WalkerRelatorio final - Blinded Walker
Relatorio final - Blinded Walker
 
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...
 
Zope
ZopeZope
Zope
 
Planejamento em desenvolvimento_de_sistemas
Planejamento em desenvolvimento_de_sistemasPlanejamento em desenvolvimento_de_sistemas
Planejamento em desenvolvimento_de_sistemas
 
Cópia de apostila nova curso idosos
Cópia de apostila nova curso idososCópia de apostila nova curso idosos
Cópia de apostila nova curso idosos
 
Teste
TesteTeste
Teste
 
Gerenciamento de Requisitos de Software
Gerenciamento de Requisitos de SoftwareGerenciamento de Requisitos de Software
Gerenciamento de Requisitos de Software
 
Programando ooo b
Programando ooo bProgramando ooo b
Programando ooo b
 
Samba
SambaSamba
Samba
 
Apostila fireworks-cs5
Apostila fireworks-cs5Apostila fireworks-cs5
Apostila fireworks-cs5
 
Apostila fireworks-cs5
Apostila fireworks-cs5Apostila fireworks-cs5
Apostila fireworks-cs5
 
Asp dot net e learning
Asp dot net e learningAsp dot net e learning
Asp dot net e learning
 

Último

Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
AntonioVieira539017
 
Aula 03 - Filogenia14+4134684516498481.pptx
Aula 03 - Filogenia14+4134684516498481.pptxAula 03 - Filogenia14+4134684516498481.pptx
Aula 03 - Filogenia14+4134684516498481.pptx
andrenespoli3
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
TailsonSantos1
 
8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito
tatianehilda
 

Último (20)

PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdfPROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
 
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxMonoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
 
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIAPROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
 
Araribá slides 9ano.pdf para os alunos do medio
Araribá slides 9ano.pdf para os alunos do medioAraribá slides 9ano.pdf para os alunos do medio
Araribá slides 9ano.pdf para os alunos do medio
 
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxSlides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.ppt
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
 
Aula 03 - Filogenia14+4134684516498481.pptx
Aula 03 - Filogenia14+4134684516498481.pptxAula 03 - Filogenia14+4134684516498481.pptx
Aula 03 - Filogenia14+4134684516498481.pptx
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéis
 
P P P 2024 - *CIEJA Santana / Tucuruvi*
P P P 2024  - *CIEJA Santana / Tucuruvi*P P P 2024  - *CIEJA Santana / Tucuruvi*
P P P 2024 - *CIEJA Santana / Tucuruvi*
 
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdfTCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
 
Cartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxCartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptx
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
 
EDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVA
EDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVAEDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVA
EDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVA
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
 
8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito
 
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
 

Trabalho de Graduação - Desenvolvimento de Ferramenta Móvel de CRM Social

  • 1. 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
  • 2. 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
  • 3. 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.
  • 4. Agradecimento A todos que fizeram parte da minha formação, o meu muito obrigada.
  • 5. 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
  • 6. 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
  • 7. 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
  • 8. 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
  • 9. 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
  • 10. 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
  • 11. 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.
  • 12. 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.
  • 13. 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).
  • 14. 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
  • 15. 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.
  • 16. 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.
  • 17. 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.
  • 18. 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.
  • 19. 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.
  • 20. 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.
  • 21. 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”
  • 22. 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”
  • 23. 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”
  • 24. 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”
  • 25. 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.
  • 26. 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.
  • 27. 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.
  • 28. 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).
  • 29. 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>
  • 30. 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).
  • 31. 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
  • 32. 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.
  • 33. 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.
  • 34. 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
  • 35. 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;
  • 36. 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.
  • 37. Desenvolvimento de Ferramenta Móvel de CRM Social Página 37 4.5.Diagrama de classe Figura 9 – Diagrama de Classe
  • 38. 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
  • 39. 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
  • 40. 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
  • 41. Desenvolvimento de Ferramenta Móvel de CRM Social Página 41 4.6.Modelo conceitual de dados Figura 10 – Modelo conceitual de dados
  • 42. 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
  • 43. 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
  • 44. 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
  • 45. 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
  • 46. 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
  • 47. 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
  • 48. 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
  • 49. 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
  • 50. 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
  • 51. 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
  • 52. Desenvolvimento de Ferramenta Móvel de CRM Social Página 52 Figura 25 – Listagem das conversas na tela Mensagens
  • 53. Desenvolvimento de Ferramenta Móvel de CRM Social Página 53 Figura 26 – Listagem das solicitações na tela Mensagens
  • 54. 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
  • 55. 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
  • 56. 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
  • 57. 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
  • 58. 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
  • 59. 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
  • 60. 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- 9999999999 99999 Numérico e not null 9999999 9999999 9 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- 999999999 99999999 Numérico e not null 9999999 9999999 9 pag_con_n_id 5 Int 0- 999999999 99999999 Numérico e not null 9999999 9999999 9 pag_c_nome 25 VarChar Caracteres not null pag_c_token 500 VarChar Caracteres not null Tabela 15 – Layout da tabela tb_pag_pagina
  • 61. 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- 99999999 9999999 Numérico e not null 9999999 9999999 9 @ smg_sol_n_id 6 Int 999999 Numérico e not null 999999 Tabela 18 – Layout da tabela tb_smg_solicitacao_mensagem
  • 62. 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);
  • 63. 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));
  • 64. 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
  • 65. 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
  • 66. 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
  • 67. 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.
  • 68. 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.
  • 69. 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.
  • 70. 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
  • 71. 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.
  • 72. 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
  • 73. 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/>.
  • 74. 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.