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

74
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

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

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

Trabalho de Graduação

Relatório Técnico de Desenvolvimento de

Software

Desenvolvimento de Ferramenta Móvel de

CRM Social

Juliana Araújo Fideles

Sorocaba

Dezembro – 2014

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

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

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

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.

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

Agradecimento

A todos que fizeram parte da minha formação, o

meu muito obrigada.

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

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

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

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

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

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

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

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

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

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

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

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

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

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.

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

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.

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

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).

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

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

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

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.

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

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.

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

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.

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

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.

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

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.

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

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.

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

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”

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

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”

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

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”

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

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”

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

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.

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

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.

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

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.

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

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).

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

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>

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

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).

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

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

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

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.

Page 33: Trabalho de Graduação - Desenvolvimento de Ferramenta Móvel de CRM 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.

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

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

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

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;

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

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.

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

Desenvolvimento de Ferramenta Móvel de CRM Social Página 37

4.5. Diagrama de classe

Figura 9 – Diagrama de Classe

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

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

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

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

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

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

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

Desenvolvimento de Ferramenta Móvel de CRM Social Página 41

4.6. Modelo conceitual de dados

Figura 10 – Modelo conceitual de dados

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Page 50: Trabalho de Graduação - Desenvolvimento de Ferramenta Móvel de CRM 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

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

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

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

Desenvolvimento de Ferramenta Móvel de CRM Social Página 52

Figura 25 – Listagem das conversas na tela Mensagens

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

Desenvolvimento de Ferramenta Móvel de CRM Social Página 53

Figura 26 – Listagem das solicitações na tela Mensagens

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

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

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

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

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

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

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

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

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

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

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

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

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

Desenvolvimento de Ferramenta Móvel de CRM Social Página 60

5. Codificação

5.1. Layout das tabelas

5.1.1. Tabela: tb_con_conta

Chave Campo Tam. Formato Valores Permitidos

Validação Máscara

@ con_n_id 5 Int 0-999999999999999

Numérico e not null

999999999999999

con_c_nome 200 VarChar Caracteres not null

con_c_token 500 VarChar Caracteres not null

con_c_rede 10 VarChar Caracteres not null

con_c_email 500 VarChar Caracteres not null Tabela 14 – Layout da tabela tb_con_conta

5.1.2. Tabela: tb_pag_pagina

Chave Campo Tam. Formato Valores Permitidos

Validação Máscara

@ pag_n_id 5 Int 0-99999999999999999

Numérico e not null

999999999999999

pag_con_n_id 5 Int 0-99999999999999999

Numérico e not null

999999999999999

pag_c_nome 25 VarChar Caracteres not null

pag_c_token 500 VarChar Caracteres not null Tabela 15 – Layout da tabela tb_pag_pagina

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

Desenvolvimento de Ferramenta Móvel de CRM Social Página 61

5.1.3. Tabela: tb_men_mensagem

Chave Campo Tam. Formato Valores Permitidos

Validação Máscara

@ men_n_id 100 VarChar Carateres not null

men_c_autor 200 VarChar Carateres not null

men_c_datahora 16 VarChar Carateres not null

men_c_texto 5000 VarChar Carateres not null

men_c_solicitacao 1 VarChar Carateres not null

men_n_idconversa 100 VarChar Carateres not null

men_pag_n_id 6 Int 0-999999 Numérico e not null

999999

Tabela 16 – Layout da tabela tb_men_mensagem

5.1.4. Tabela: tb_sol_solicitacao

Chave Campo Tam. Formato Valores Permitidos

Validação Máscara

@ sol_n_id 6 Int 0-999999 Numérico e not null

999999

sol_c_tipo 20 VarChar Caracteres not null

sol_n_qtde 6 Int Caracteres not null

sol_c_dataprimeira 16 VarChar Caracteres not null

sol_c_dataultima 16 VarChar Caracteres not null

sol_c_comentario 1000 VarChar Caracteres not null Tabela 17 – Layout da tabela tb_sol_solicitacao

5.1.5. Tabela: tb_smg_solicitacao_mensagem

Chave Campo Tamanho Formato Valores Permitidos

Validação Máscara

@ smg_men_n_id 15 Int 0-999999999999999

Numérico e not null

999999999999999

@ smg_sol_n_id 6 Int 999999 Numérico e not null

999999

Tabela 18 – Layout da tabela tb_smg_solicitacao_mensagem

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

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);

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

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));

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

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

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

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

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

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

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

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.

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

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.

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

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.

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

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

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

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.

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

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

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

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/>.

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

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.