• Nenhum resultado encontrado

Desenvolvimento de uma aplicação de gestão e aplicação de inquéritos

N/A
N/A
Protected

Academic year: 2021

Share "Desenvolvimento de uma aplicação de gestão e aplicação de inquéritos"

Copied!
76
0
0

Texto

(1)

Universidade de Aveiro 2019

Departamento de Eletrónica, Telecomunicações e Informática

Ana Filipa Carpinteira

Rodrigues

DESENVOLVIMENTO DE UMA APLICAÇÃO DE

GESTÃO E APLICAÇÃO DE INQUÉRITOS

Dissertação apresentada à Universidade de Aveiro para cumprimento dos requisitos necessários à obtenção do grau de Mestre em

Engenharia de Computadores e Telemática, realizada sob a orientação científica do Doutor Joaquim Manuel Henriques de Sousa Pinto,

Professor Auxiliar do Departamento de Eletrónica, Telecomunicações e Informática da Universidade de Aveiro

(2)
(3)
(4)
(5)

O júri

Presidente Prof. Doutor Joaquim Arnaldo Carvalho Martins Professor Catedrático da Universidade de Aveiro

Vogais Prof. Doutor Fernando Joaquim Lopes Moreira Professor Catedrático da Universidade Portucalense

Prof. Doutor Joaquim Manuel Henriques de Sousa Pinto Professor Auxiliar da Universidade de Aveiro

(6)
(7)

Agradecimentos Um agradecimento especial à minha família pelo apoio incondicional e por me ter dado a possibilidade de alcançar esta meta. Aos meus amigos que fizeram parte deste caminho e me ajudaram. Ao Rodrigo pelo carinho, dedicação e cumplicidade que me entregou. Por fim, gostaria de agradecer aos professores que me transmitiram

conhecimento e me acompanharam ao longo desta vida académica, em especial ao professor Doutor Joaquim Manuel Henriques de Sousa Pinto por acreditar em mim quando eu não acreditava.

(8)
(9)

palavras-chave aplicação móvel, dados, formulário, informação, inquérito, questionário.

resumo Na atualidade assiste-se a uma grande preocupação e valorização das características de cada um, como por exemplo os seus gostos, hábitos e sentimentos para que se retirem conclusões dessa informação com o objetivo de serem usadas para atrair mais clientes, prever o comportamento de um indivíduo, entre outras. Por este motivo, surgiram algumas empresas que se dedicam a recolher dados da população. Estas empresas contratam pessoas que têm como função abordar pessoas com determinadas características e fazer algumas perguntas que devem ser anotadas e posteriormente tratadas e possibilitar a sua caracterização. Porém, uma parte destes questionários são respondidos em papel porque as soluções de aplicações que existem são caras e algumas são pouco intuitivas. Depois da recolha de respostas através dos questionários, os entrevistadores precisam de as transcrever para formato digital para poderem entregar ao seu empregador. Este é um processo

demorado e pouco eficiente. A aplicação InQuest permite a criação e gestão de inquéritos, facilita a recolha de dados pessoal ou remotamente, através de uma aplicação para dispositivos móveis.

(10)
(11)

keywords app mobile, data, information, form, survey.

abstract Nowadays there is a great concern and appreciation of the characteristics of each one, such as their tastes, habits and feelings in order to draw conclusions from this information so that it can be used to attract more customers and influence them to consume certain products, predict the behavior of an

individual, among others. For this reason, some companies that have emerged are dedicated to collecting population data. These companies hire people whose job is to approach other people and ask some questions that should be noted and dealt with later. However, some of these questionnaires are

answered on paper because the application solutions that currently exist are expensive and some are unintuitive. After collecting responses to the

questionnaires, interviewers need to rewrite the answers in digital format to be able to deliver to their employer. This is a time consuming and inefficient process. The InQuest app allows you to create and manage surveys, facilitates data collection in person or remotely, throw a mobile app.

(12)
(13)

Índice

Acrónimos ... iv

Lista de Figuras ... v

Lista de Tabelas ... vii

1. Introdução ... 1

1.1 Motivação ... 2

1.2 Objetivos ... 2

1.3 Estrutura da Dissertação ... 3

2. Estado da Arte ... 5

2.1 Fases de Desenvolvimento de um Estudo ... 5

2.1.1 Planeamento do Estudo ... 6

2.1.2 Recolha de Dados ... 6

2.1.3 Tratamento de Dados e Interpretação de Resultados ... 9

2.2 Análise de Produtos no Mercado ... 9

2.2.1 FormsApp ... 9

2.2.2 NestForms ... 11

2.2.3 SurveyMonkey ... 13

2.2.4 ZohoForms ... 14

(14)

2.3.2 Base de Dados ... 20 2.3.3 WCF ... 22 2.3.4 Segurança ... 22 2.4 Considerações Finais ... 23 3. InQuest... 24 3.1 Visão Geral ... 24 3.2 Requisitos Funcionais ... 26 3.2.1 Atores ... 26 3.2.2 Casos de Uso ... 28

3.2.3 Diagramas de caso de uso ... 31

3.3 Requisitos não-funcionais ... 34

3.4 Arquitetura do Sistema ... 34

4. Implementação da Aplicação... 36

4.1 Base de Dados ... 36

4.2 Aplicação para Dispositivos Móveis ... 37

4.3 Sistema de Comunicação ... 47

4.4 Segurança e Privacidade... 47

5. Conclusões e Trabalho Futuro ... 48

5.1 Considerações Finais ... 48

5.2 Trabalho Futuro ... 48

Referências ... 50

Anexos ... 54

Anexo 1 – Diagrama de Sequência do Método de Autenticação por Tokens Aquando do Início de Sessão ... 55

Anexo 2 – Diagrama de Sequência do Método de Autenticaão por Tokens Durante a Listagem de Inquéritos ... 56

(15)
(16)

Acrónimos

BD Base de Dados

CSRF Cross-site Request Forgery

CSS Cascading Style Sheets

FAQ Frequently Asked Questions

HTML HyperText Markup Language

HTTP Hypertext Transfer Protocol

IDE Integrated Development Environment

IIS Internet Information Services

JS Javascript

JSON Javascript Object Notation

NoSQL Non-relational Database

PWA Progressive Web App

QI Quociente de Inteligência

REST Representational State Transfer

SQL Structured Query Language

TCP Transmission Control Protocol

URL Uniform Resource Locator

WCF Windows Communication Foundation

(17)

Lista de Figuras

Figura 1: Página inicial da aplicação FormsApp em Android (à esquerda) e página de

formulários (à direita) ... 10

Figura 2: Página de formulários do website do GoogleForms ... 11

Figura 3: Página inicial da aplicação Nest Forms em Android (à esquerda) e página de formulários (à direita) ... 12

Figura 4: Página de formulários do website NestForms... 12

Figura 5: Página inicial da aplicação SurveyMonkey em Android (à esquerda) e página de questionários (à direita) ... 13

Figura 6: Página de questionários do website surveymonkey ... 14

Figura 7: Página inicial da aplicação ZohoForms em Android (à esquerda) e página de formulários (à direita) ... 15

Figura 8: Página de formulários do website ZohoForms ... 15

Figura 9: Participação de mercado dos sistemas operativos móveis, em Portugal [34] ... 19

Figura 10: Participação de mercado dos sistemas operativos móveis, no mundo [34] ... 20

Figura 11: Logótipos disponíveis para eleição ... 25

Figura 12: Logótipo escolhido ... 25

Figura 13: Ícone da InQuest no smartphone ... 26

Figura 14: Diagrama de caso de uso do autor ... 32

Figura 15: Diagrama de caso de uso do investigador ... 32

Figura 16: Diagrama de caso de uso do inquirido ... 33

Figura 17: Diagrama de caso de uso do utilizador da aplicação InQuest ... 33

(18)

Figura 21: Página de registo do utilizador ... 39

Figura 22: Página de entrada ... 40

Figura 23: Lista de inquéritos vazia……….41

Figura 24: Lista de inquéritos………...41

Figura 25: Filtro da lista dos inquéritos ... 42

Figura 26: Página de criação de inquérito ... 43

Figura 27: Página de gestão do inquérito………..44

Figura 28: Página de gestão de permissões ... 44

Figura 29: Página de visualização………45

Figura 30: Página de visualização ... 45

(19)

Lista de Tabelas

Tabela 1: Comparação de produtos concorrentes no mercado ... 16 Tabela 2: Custos e lucros dos desenvolvedores nas aplicações Google Play Store, Apple Store e Aptoide [32] [33] ... 19 Tabela 3: Características dos modelos de base de dados SQL e NoSQL [38] ... 21

(20)
(21)

1. Introdução

“A construção do conhecimento resulta da reflexão e da pesquisa sistemática. O homem relaciona os dados que recebe constituindo os saberes. A ciência é o resultado desta elaboração mental, da reflexão, do estabelecimento de relações, da observação de causas, de consequências, de oposições”. (Werneck, 2006)

Atualmente, a recolha de dados da população tem ganhado destaque e é uma área onde se tem investido muito tempo e dinheiro. Esses dados podem ser recolhidos em inquéritos, mais extensos, como os censos, ou setorialmente, em inquéritos focados em áreas específicas.

Na ciência, os investigadores esforçam-se para compreenderem o comportamento humano e os seus processos mentais quando expostos a situações variadas.

No mundo empresarial, existe grande interesse na perceção do que os seus clientes pretendem e o grau de satisfação com os seus produtos de forma a atingirem maiores lucros.

Na política, usam as sondagens para saberem previamente qual o partido que tem mais eleitores em cada zona e assim poderem fazer uma propaganda mais intensa. Também lhes permite conhecer o quão satisfeitos ou contrariados estão os eleitores com determinada medida.

Portanto, a recolha e tratamento de dados é utilizada em diversas áreas do nosso quotidiano.

(22)

1.1 Motivação

Os inquéritos são uma ferramenta muito importante na recolha de um grande número de respostas que, quando analisadas, revelam informação relevante e valiosa.

Há alguns anos, quando os dados começaram a ser valorizados, as empresas contratavam pessoas para se posicionarem em locais estratégicos e fazerem questionários a indivíduos com o perfil pretendido. Por exemplo, uma empresa que comercializava café e que queria um estudo sobre os hábitos de consumo de café pela população, contratava várias pessoas para estarem à entrada de alguns supermercados e fazerem um questionário a quem passasse. No fim, os inquiridores deveriam fazer um tratamento de dados e entregarem os resultados às empresas. Este trabalho realizava-se em folhas de papel e obrigavam os inquiridores a passarem a informação para formato digital para poderem enviar para as empresas.

Com a evolução da tecnologia sentiu-se a necessidade de criar plataformas que recolhessem os dados dos participantes e os tratassem de modo automático.

Porém, apesar de existirem algumas aplicações que facilitam a criação de questionários, poucos são gratuitos e existe uma carência na adaptação dos formulários existentes à pessoa a quem se destinam.

A aplicação InQuest pretende dar resposta a essa necessidade. Além de possibilitar a criação e gestão de questionários, tem a capacidade de excluir inquiridos que não têm as características pretendidas e oferecer questionários alternativos.

1.2 Objetivos

O objetivo desta dissertação passa por implementar uma aplicação para dispositivos móveis que possa ser usada gratuitamente para facilitar a obtenção e tratamento de informação recolhida através de questionário.

Pretende-se com esta solução:

• Reduzir a emissão de papel porque os questionários serão respondidos diretamente na aplicação;

(23)

• Melhorar a experiência do entrevistado, uma vez que poderá, caso pretenda, responder pessoalmente na aplicação;

• Facilitar o trabalho do entrevistador que submeterá os resultados enquanto questiona o inquirido e conseguirá ver os gráficos automáticos dos dados que recolheu;

• Dar maior controlo às empresas, que poderão visualizar os resultados dos inquéritos em tempo real;

• Permitir que os questionários possam ser respondidos pessoal ou remotamente; • Assegurar que a informação dos utilizadores da aplicação seja mantida

confidencial;

• O entrevistador que tiver vários inquéritos para fazer a públicos-alvo distintos, conseguirá otimizar o tempo e recursos porque caso um individuo não se encaixe no perfil pretendido, poderá ter o perfil indicado para responder a um outro inquérito. O sistema alertará que existe um inquérito mais adequado para a pessoa em causa.

1.3 Estrutura da Dissertação

A dissertação começa com um primeiro capítulo, a introdução, que apresenta a problemática, as motivações e os objetivos desta dissertação.

Para além do capítulo referente à introdução, este trabalho tem mais quatro capítulos. No capítulo dois são exploradas as fases de desenvolvimento de um estudo e os métodos de recolha e tratamento de dados, que é a principal função da aplicação. É feita a pesquisa e comparação das aplicações concorrentes existentes no mercado. Ainda neste capítulo houve um estudo das tecnologias existentes que são relevantes para o desenvolvimento do projeto.

No capítulo três é apresentada a aplicação InQuest e são identificados e definidos os perfis de utilização relativos aos utilizadores que irão interagir com ela e todas as funcionalidades.

(24)

Por fim, o capítulo cinco tira as conclusões principais do trabalho desenvolvido e projeta possíveis trabalhos futuros.

(25)

2. Estado da Arte

Neste capítulo serão identificados alguns conceitos importantes relacionados com a recolha e tratamento de dados para definir quais as ferramentas que serão usadas e quais os seus pontos fortes. Essa análise será relevante mais tarde quando forem definidas as características da aplicação a desenvolver.

Em seguida, serão analisados produtos existentes no mercado. Esta análise impede que se invista em funcionalidades que não tenham resultado no passado e, possibilite explorar outras funcionalidades que possam ser bastante úteis.

Por último, será feita uma investigação das tecnologias passíveis de serem utilizadas no projeto. Serão exploradas as vantagens e desvantagens de cada uma para fazer uma escolha ponderada e acertada.

2.1 Fases de Desenvolvimento de um Estudo

Há alguns anos que o número de pessoas com acesso à internet e às redes sociais aumenta e, segundo as estatísticas, esse valor tenderá a aumentar nos próximos anos [1].

E, se por um lado a internet veio facilitar o quotidiano de quem a utiliza e que consegue fazer praticamente tudo sem sair de casa, por outro lado o pagamento dessa vantagem é a falta de privacidade. O Facebook, por exemplo, utiliza as informações que os utilizadores partilham para sugerir conteúdos que se encaixam nas preferências de pessoas semelhantes. Os dados pessoais são muito valorizados porque depois de tratados devolvem muita informação que pode ser usada para influenciar as escolhas da população.

(26)

Nos subcapítulos seguintes serão explicadas as etapas fundamentais no desenvolvimento de um estudo.

2.1.1 Planeamento do Estudo

O primeiro passo deve ser o planeamento do estudo em causa. Deve existir um problema claro e definido para que se possam elaborar questões que se encaixem no tema. As perguntas devem ser diretas, claras e concisas.

Nesta etapa devem avaliar-se os tipos de dados necessários, os custos e os recursos existentes. Quando estes parâmetros estiverem bem definidos será fácil avaliar qual a ferramenta de recolha de dados que mais se adequa [2].

2.1.2 Recolha de Dados

Os dados recolhidos podem ser classificados como quantitativos ou qualitativos. Os investigadores devem selecionar o tipo de dados tendo em conta o estudo em causa.

Caso queiram, por exemplo, tirar conclusões sobre a aceitação do público a uma nova marca de café, podem usar os dados qualitativos para saberem se o público gostou, se tinha um aroma muito ou pouco intenso, se voltariam a comprar, etc. Mas se o estudo estiver relacionado com a temperatura de uma cidade num determinado mês, por exemplo, então serão utilizados dados quantitativos.

Portanto, os dados quantitativos apresentam os números que comprovam os objetivos gerais da pesquisa, enquanto os dados qualitativos permitem compreender a complexidade e os detalhes das informações obtidas. Ambos se complementam e podem ser combinados nas pesquisas para obter resultados mais complexos [3].

Na área de investigação existem algumas técnicas de recolha de dados detalhadas em seguida.

(27)

Observação

Este método requer que o investigador observe os participantes do estudo, em ambiente controlado, e permite recolher dados quantitativos e qualitativos, em tempo real. Possibilita que o investigador atente em detalhes que não seriam captados através de outros métodos como por exemplo se a pessoa em causa tem um comportamento corporal que não é compatível com as suas respostas [4]. Porém, uma vez que implica que o investigador esteja atento ao comportamento da pessoa observada, pode levar a que esta se sinta desconfortável, modifique os seus hábitos e aja de forma artificial. Para além desta desvantagem, o tempo exigido na execução da tarefa é elevado e o pesquisador pode ter algumas dificuldades em descrever o que observou sem envolver os seus juízos de valor.

Entrevista

A entrevista consiste numa conversa onde o entrevistador tem a missão de questionar o entrevistado. É um instrumento que, comparativamente com os questionários, confere maior fiabilidade ao entrevistador porque impede que o entrevistado minta em questões como o sexo, a idade, a raça, fazendo uma triagem mais precisa. Também consegue impedir que o entrevistado perca o foco e se mantenha livre de distrações tecnológicas [5]. Caso alguma questão suscite dúvidas ao entrevistado, pode pedir ao entrevistador que formule a pergunta de outra forma. É uma boa solução em estudos que envolvem pessoas invisuais e/ou analfabetas.

Todavia, como desvantagens consideram-se os custos elevados com a contratação de entrevistadores; a qualidade dos dados pode ser afetada pelo modo como o entrevistador faz as perguntas ou se envolve; e a recolha manual de dados que obriga a inserir os dados no software [5] [6].

Testes

Os testes assemelham-se aos questionários na medida em que ambos recolhem informação não observável. Porém, os testes devem ser feitos aplicando o desempenho máximo do

(28)

Os investigadores podem reutilizar testes que já existam e usá-los num grande número de indivíduos. Desta forma, poupam tempo e dinheiro.

Devido à natureza quantitativa dos testes, é fácil analisar dados e comparar respostas dos vários participantes.

No entanto, o teste pode não ser a melhor escolha caso as perguntas não sejam apropriadas ou se forem tendenciosas; se as pessoas que participarem no estudo não quiserem responder a todas as questões ou, caso seja necessário comprar um teste à medida do estudo [8].

Um dos testes mais conhecidos é o teste de Quociente de Inteligência (QI) que representa o nível de inteligência. No âmbito da psicologia os testes ajudam a diagnosticar patologias e distúrbios psicológicos.

Questionários

O questionário é uma ferramenta muito útil para recolher dados quantitativos e qualitativos e pode ser respondido em qualquer lugar, em vários formatos. Permitem também que o entrevistador entregue o questionário a várias pessoas e recolha as respostas depois otimizando o seu tempo e recursos. O questionário é muito usado quando a amostra de estudo é grande e se localiza em áreas geográficas distintas. Outra das vantagens deste método é o facto de não haver juízos de valor do investigador e, caso o questionário contenha perguntas embaraçosas a probabilidade de as respostas serem verdadeiras é maior [7].

No entanto, o questionário demora muito tempo para projetar e desenvolver porque as perguntas precisam de ser simples, percetíveis e objetivas [4]. É necessário que o público que irá responder às questões compreenda a pergunta já que provavelmente não conseguirá pedir ajuda ao investigador. A veracidade das respostas e as circunstâncias em que são respondidas não podem ser controladas pelo investigador e também não tem garantias que o inquirido as tenha respondido todas. Este método não pode ser selecionado caso o público-alvo contenha pessoas analfabetas e/ou invisuais.

(29)

2.1.3 Tratamento de Dados e Interpretação de Resultados

A recolha dos dados é importante porque permite aos investigadores ou às empresas colecionarem um grande número de respostas. Mas se essas respostas não forem bem analisadas então não têm utilidade.

Após a recolha, os dados parecem inúteis e confusos porque precisam de ser limpos, processados e analisados. Nesta fase é comum usar ferramentas e software de análise de dados para facilitar a interpretação e tirar conclusões com base nos requisitos. Caso não se consiga tirar conclusões, pode ser necessário recolher mais dados [9] [10].

Portanto, os dados podem ter muito valor quando são bem explorados e analisados. Por fim, chega a hora de tirar conclusões baseadas na análise dos dados.

2.2 Análise de Produtos no Mercado

Antes de iniciar o desenvolvimento efetivo de qualquer aplicação, é importante investigar a concorrência e avaliar os seus pontos fortes e fracos para que o novo projeto traga algo de novo e inovador e não seja apenas mais uma aplicação.

Para esse estudo preliminar foram escolhidas quatro aplicações que têm como funcionalidades a criação e resposta de inquéritos e simultaneamente tenham uma classificação superior a quatro estrelas na Google Play. São elas: FormsApp, NestForms, SurveyMonkey e Zoho Forms.

Estas aplicações têm em comum a possibilidade de criar questionários e partilhá-los com outros que os podem responder.

2.2.1 FormsApp

A aplicação FormsApp é uma ferramenta para criar e gerir os formulários do Google Forms e do Survey Heart, em dispositivos que tenham Android como sistema operativo. Apesar de usar os serviços do Google Forms [11], a empresa que desenvolveu esta aplicação não foi a Google mas sim a SurveyHeart [12].

(30)

• Criar e editar formulários do Google Forms [13];

• Ser notificados aquando de novas respostas de formulários [13]; • Guardar formulários offline [13];

• Partilhar formulários e obter respostas [13]; • Visualizar gráficos das respostas obtidas [13].

Caso o utilizador se sinta incomodado com publicidade ou se pretender exportar as respostas para outro formato (XLSX, PDF ou CSV) pode pagar para ter estas duas funcionalidades disponíveis [13].

Além da desvantagem de ser paga, é requisito obrigatório que o utilizador tenha uma conta Google para utilizar a aplicação e também não tem disponível a língua portuguesa, o que pode ser uma característica eliminatória caso o utilizador não entenda inglês.

As figuras 1 e 2 ilustram as páginas iniciais da aplicação FormsApp em Android e no website.

Figura 1: Página inicial da aplicação FormsApp em Android (à esquerda) e página de formulários (à direita)

(31)

Figura 2: Página de formulários do website do GoogleForms

2.2.2 NestForms

O Nest Forms é um serviço no qual os inquéritos podem ser criados e geridos apenas através do browser. Usa os sistemas Android ou Apple exclusivamente para recolha de respostas.

Este serviço permite que:

• O utilizador partilhe um inquérito com possíveis inquiridos mas, para responder ao formulário, o inquirido precisa de instalar a aplicação Nest Forms no seu dispositivo e criar uma conta de acesso [14] [15];

• O gestor do questionário possa partilhar os dados recolhidos com outros utilizadores indicados por si [14] [15];

• Os dados possam ser recolhidos online ou offline [14] [15];

• O gestor aceda ao local onde os inquiridos responderam ao formulário, através da configuração da localização geográfica no dispositivo utilizado [14] [15].

O acesso a todas as funcionalidades do serviço Nest Forms implica o pagamento de uma mensalidade, já que o utilizador free está muito limitado relativamente ao espaço disponível (20Mb) e só pode associar 3 utilizadores aos seus questionários [14].

As figuras 3 e 4 ilustram as páginas iniciais da aplicação Nest Forms em Android e no website, respetivamente.

(32)

Figura 3: Página inicial da aplicação Nest Forms em Android (à esquerda) e página de formulários (à direita)

(33)

2.2.3 SurveyMonkey

A plataforma SurveyMonkey tem mais de 60 milhões de utilizadores [16] e está acessível através do seu website ou instalando a aplicação num dispositivo Android ou iOS.

O utilizador da aplicação poderá: • Criar questionários [16];

• Enviar o questionário por email, mensagem de texto ou através das redes sociais [16];

• Filtrar, comparar e analisar resultados [16];

• Responder mais do que uma vez aos inquéritos se for essa a vontade do criador. À semelhança das outras aplicações, SurveyMonkey tem recursos que estão disponíveis consoante o pagamento de uma mensalidade definida de acordo com o número de funcionalidades contratadas [17].

As figuras 5 e 6 ilustram as páginas iniciais da aplicação SurveyMonkey em Android e no website, respetivamente.

(34)

Figura 6: Página de questionários do website surveymonkey

2.2.4 ZohoForms

Zoho Forms é um construtor de formulários online que permite criar e gerir os formulários através do website ou de dispositivos Android ou iOS.

O utilizador da aplicação ZohoForms será capaz de:

• Criar, gerir e responder a formulários online e offline [18] [19];

• Associar membros de uma equipa que podem ajudar na gestão dos questionários e na recolha de respostas [18] [19];

• Partilhar questionários [18] [19];

• Filtrar e classificar as respostas obtidas [18] [19];

• Receber pagamentos através de questionários, tais como doações [18] [19].

De forma a usar mais recursos do sistema, tais como número de utilizadores ou de formulários ilimitados ou o espaço de armazenamento, é necessário que o utilizador proceda ao pagamento de uma mensalidade [18].

(35)

As figuras 7 e 8 ilustram as páginas iniciais da aplicação ZohoForms em Android e no website, respetivamente.

Figura 7: Página inicial da aplicação ZohoForms em Android (à esquerda) e página de formulários (à direita)

(36)

2.2.5 Análise Comparativa

A tabela 1 compara algumas características das aplicações existentes no mercado e que foram apresentadas anteriormente. Aqui conclui-se que todas as aplicações consideradas exigem uma mensalidade para que o utilizador possa usufruir de todas as suas funcionalidades e recursos. Embora todas permitam recolher dados usando um entrevistador e um inquirido, nenhuma delas sugere inquéritos alternativos com base no perfil do inquirido.

Aplicação FormsApp NestForms SurveyMonkey Zoho Forms

Grátis Não Não Não Não

Plataforma Android, Web Android, iOS, Web Android, iOS, Web Android, iOS, Web Questionário cara-a-cara

Sim Sim Sim Sim

Em português Não Sim Sim Sim

Mostra gráficos

Sim Apenas em web Sim Sim

Sugere questionários

Não Não Não Não

Espaço ocupado

41,99 Mb 20,74Mb 34,46Mb 25,67Mb

Tabela 1: Comparação de produtos concorrentes no mercado

2.3 Revisão Tecnológica

A escolha das tecnologias a usar no desenvolvimento de uma aplicação não é tarefa fácil. Há inúmeras opções e existe o risco de se escolher ferramentas inadequadas. Para reduzir esse risco é necessário fazer um estudo das tecnologias existentes de modo a ser possível pesar as qualidades e fraquezas de cada uma.

(37)

2.3.1 Aplicação Móvel

Atualmente, no desenvolvimento de uma aplicação para dispositivos móveis é possível fazer o desenvolvimento nativo, web ou híbrido.

Aplicação Nativa vs Híbrida vs PWA

A aplicação nativa é desenvolvida numa linguagem nativa para o sistema operativo onde será executada e não pode ser usada noutras plataformas. Caso se pretenda uma aplicação para Android pode ser programada em Java [20] [21] ou Kotlin [22] e no caso de iOS usa-se Swift e Objective-C.

As aplicações nativas têm desempenho mais elevado, mas o desenvolvimento é mais caro. Permitem também a utilização das ferramentas e tecnologias do dispositivo tais como a câmara, o sistema de geolocalização ou o serviço de notificações [23] [24].

Por outro lado, existe a aplicação híbrida que combina elementos da web com elementos de dispositivos móveis. Começa por criar uma base de código em tecnologias de Web tais como HyperText Markup Language (HTML), Cascading Style Sheets (CSS) e Javascript (JS) e, em seguida, é colocado num contentor nativo.

Estas aplicações têm um desempenho mais lento, o seu desenvolvimento é mais rápido e mais barato. Porém, são mais limitadas do que as aplicações nativas. [25] O mesmo código pode ser usado para várias plataformas.

A Progressive Web App (PWA) é um conceito mais recente. Esta aplicação assemelha-se à aplicação híbrida porque ambas se baseiam em tecnologias da web e são executadas num navegador. O último ponto referido é uma grande vantagem porque dispensa a instalação de uma aplicação no dispositivo uma vez que o acesso é feito através do Uniform Resource Locator (URL). Desta forma, as atualizações são facilmente implementadas e ainda poupa memória e recursos no dispositivo. Distingue-se da aplicação nativa pela capacidade de ser executada em várias plataformas. Para desenvolver são usadas a plataforma Angular ou a biblioteca React. Este tipo de desenvolvimento é ainda mais rápido e barato do que os outros porque um só código pode ser executado em várias plataformas. [26] [27]

(38)

Android vs iOS

O sistema Android é um sistema operativo baseado em Linux e desenvolvido pela Google. Atualmente é usado em smartphones, smartwatches, tablets e muitos outros dispositivos [28].

O sistema iOS é um sistema operativo desenvolvido pela Apple. Atualmente é usado em iPhone, iPod e iPad e a empresa não permite que seja executado em hardware de outros fabricantes [29].

Ao contrário do iOS que está limitado aos dispositivos da Apple, o Android está disponível em produtos de vários fabricantes [28].

Outra das características de Android é que o código fonte está disponível para quem o quiser consultar ou alterar. Esta funcionalidade é muito útil para fabricantes de dispositivos e para developers porque torna o sistema personalizável.

Uma das desvantagens de programar para Android é a dificuldade de codificar layouts e animações mais complexas, mas por outro lado, existem mais recursos disponíveis para consultar.

A Google Play Store, que é a loja oficial de Android onde o utilizador pode procurar e instalar aplicações, é mais intuitiva e mais fácil de usar do que a App Store – loja oficial da Apple. A primeira loja tem mais aplicações do que a segunda, porém as aplicações da App Store são mais lucrativas já que no último ano a App Store gerou 5.4 biliões de dólares no último trimestre e a Google Play Store ganhou apenas 3.3 biliões de dólares no mesmo período [30].

Existem outras alternativas de aplicações de lojas, tais como a Aptoide, que foi criada em 2011 e é portuguesa [31].

Segundo os dados da tabela 2, os desenvolvedores que publiquem aplicações na Aptoide não pagam pela inscrição ou manutenção da conta e recebem uma taxa maior dos lucros comparativamente com a Apple Store e a Google Play Store.

(39)

Loja Google Play Store Apple Store Aptoide Pagamento aos desenvolvedores 70% para desenvolvedores e 30% para a loja 70% para desenvolvedores e 30% para a loja 81% para desenvolvedores e 19% para a loja

Taxas cobradas 25 dólares na inscrição

99 dólares por ano Gratuito

Tabela 2: Custos e lucros dos desenvolvedores nas aplicações Google Play Store, Apple Store e Aptoide [32] [33]

Nos gráficos apresentados nas figuras 9 e 10 observa-se que os valores recolhidos em Portugal são muito próximos das percentagens a nível mundial. Também se conclui que o número de smartphones que usa o sistema Android é muito superior aos que usam iOS.

Figura 9: Participação de mercado dos sistemas operativos móveis, em Portugal [34] Android 76,35% iPhone 23,63% Outro 0,02%

MERCADO DE SISTEMAS OPERATIVOS MÓVEIS EM PORTUGAL

(40)

Figura 10: Participação de mercado dos sistemas operativos móveis, no mundo [34]

2.3.2 Base de Dados

Uma base de dados é uma ferramenta de armazenamento e organização de dados que facilita o seu uso e aumenta a sua longevidade. A informação armazenada pode ser rapidamente consultada, eliminada ou alterada pelo proprietário [35].

Os modelos de base de dados têm em conta a estrutura dos dados e os dois modelos mais conhecidos são apresentados a seguir.

SQL vs NoSQL

Atualmente, o modelo mais usado continua a ser o SQL talvez por ser uma escolha mais segura e por ter bom desempenho em consultas complexas. Por ter mais maturidade, o SQL é mais forte e tem mais informação disponível para desenvolvedores. Apesar de o NoSQL estar em rápido crescimento, ainda não existe muita informação na comunidade por ser relativamente recente.

As bases de dados relacionais – Structured Query Language (SQL) – representam e armazenam os dados em tabelas e colunas. São usadas para definir e manipular dados estruturados que se relacionam entre si.

Android 77,09% iPhone 22,73% Outro 0,18%

MERCADO DE SISTEMAS OPERATIVOS MÓVEIS NO MUNDO

(41)

Por outro lado, as bases de dados não relacionais ou distribuídas – Non-relational Database (NoSQL) – representam e armazenam os dados em coleções de documentos. São úteis quando os dados não se encaixam numa tabela porque neste caso não há um esquema predefinido [36].

O facto de os dados estarem organizados em esquemas pré-definidos, em SQL, implica que haja uma preparação inicial onde se desenhem as tabelas e as suas ligações antes de começar a inserir dados. Qualquer mudança que seja necessária após a inserção de dados pode comprometer a coerência da informação ou criar problemas no sistema.

No caso do NoSQL, o esquema é dinâmico e não é necessário definir a sua estrutura antecipadamente. Os dados inseridos podem ser de vários tipos, sendo Javascript Object Notation (JSON) o tipo mais comum [37].

As bases de dados SQL são escaláveis verticalmente porque podem aumentar o volume no servidor melhorando o CPU, a RAM ou o SSD. Já as bases de dados escaláveis horizontalmente, como as bases de dados NoSQL, suportariam mais tráfego adicionando mais servidores à base de dados SQL. Por esta razão, as bases de dados NoSQL são uma melhor opção em conjuntos de dados maiores ou em constante mudança [38].

Na tabela 3 estão enumeradas algumas características de ambos os modelos.

SQL NoSQL

Sistema de gestão de base de dados relacional Sistema de base de dados distribuída ou não-relacional.

Bases de dados têm esquemas estáticos Têm esquemas dinâmicos Não foram projetadas para armazenar dados

hierárquicos

São mais apropriadas para armazenar dados hierárquicos

São mais adequadas para queries complexas São melhores com queries simples São escaláveis verticalmente São escaláveis horizontalmente

(42)

Os dois modelos de base de dados têm a mesma função, mas características distintas que se podem adaptar melhor a certos dados em prol de outros. Cabe ao programador avaliar qual é mais adequado ao projeto.

2.3.3 WCF

Windows Communication Foundation (WCF) é uma tecnologia usada para a criação de aplicações orientadas a serviços [39]. A comunicação entre serviços é feita através de mensagens assíncronas e aquando do envio da mensagem são definidos o endereço para onde será enviada e o protocolo de transporte, como por exemplo Transmission Control Protocol (TCP) ou Hypertext Transfer Protocol (HTTP). As mensagens podem ser complexas como um fluxo de dados binários ou podem ser tão simples quanto um caracter enviado em JSON ou Extensible Markup Language (XML) [40].

Esta tecnologia apresenta algumas vantagens tais como: • Consegue usar serviços de outras empresas;

• Maior escalabilidade – caso o número de utilizadores de uma aplicação seja muito elevado, é possível dividir a aplicação em várias camadas para serem executadas em computadores diferentes e beneficiar da memória e processador de cada um desses dispositivos;

• É confiável e segura. O seu mecanismo de segurança padrão é bastante robusto. O terminal de um serviço pode estar sempre disponível quando hospedado pelo Internet Information Services (IIS) ou pode ser um serviço hospedado numa aplicação [41].

2.3.4 Segurança

A tecnologia WCF torna um sistema mais seguro e robusto uma vez que funciona como intermediário entre a aplicação móvel e a base de dados e evita que pessoas alheias ao sistema consigam os dados para aceder diretamente à Base de Dados (BD). Mas também tem algumas vulnerabilidades caso alguém detete e invoque o URL do WCF para manipular a base de dados. Por este motivo, há a necessidade de reforçar a segurança do sistema aquando da transferência de dados entre a aplicação e a base de dados [42].

(43)

Como a aplicação tratará de dados pessoais é de extrema importância garantir que a informação permaneça confidencial, íntegra e disponível para ser utilizada corretamente e apenas pelas pessoas certas. Portanto, deve optar-se por usar o método de autenticação baseada em token.

Ao usar esta técnica de segurança o utilizador troca as suas credenciais por um token. Depois, sempre que o utilizador aceder à aplicação e precisar de obter informação da base de dados, basta enviar o token no cabeçalho do pedido [43] [44] [45]. Desta forma, previne-se que ocorram ataques Cross-Site Request Forgery (CSRF). Os ataques CSRF sucedem quando alguém finge ser um utilizador legítimo para fazer pedidos fraudulentos ao sistema e aceder a dados que de outra forma não teria acesso [46].

2.4 Considerações Finais

Após uma pesquisa sobre as fases de desenvolvimento de um estudo, os métodos mais utilizados na recolha de dados e a análise dos produtos que já existem relacionados com a criação e resposta de questionários para dispositivos Android, concluiu-se que, para recolher dados mais facilmente e com menos custo, a aplicação trabalhará com questionários. Desta forma, é possível recolher respostas cara-a-cara ou à distância.

A revisão tecnológica deu a conhecer algumas opções tecnológicas que podem ser usadas no desenvolvimento da aplicação InQuest, nomeadamente a nível de programação móvel, base de dados, WCF e segurança.

(44)

3. InQuest

O estudo do estado da arte permitiu absorver conhecimentos de diversas práticas e tecnologias que poderiam ser utilizadas no desenvolvimento do sistema InQuest. Neste capítulo será apresentada a interface da aplicação bem como a metodologia e as tecnologias utilizadas.

3.1 Visão Geral

O processo de desenvolvimento de software passa por várias fases e aquando do planeamento é importante fazer escolhas acertadas que facilitem a promoção da aplicação para que chegue a um número elevado de possíveis utilizadores. Nesse sentido, a escolha do nome, logótipo, cores e ícone a utilizar na aplicação podem por si só fazer boa publicidade [47].

Nome

Uma vez que existem milhões de aplicações no mundo, é importante que o nome dado seja impactante porque pode ser um fator decisivo na hora de escolher uma aplicação para instalar [47]. Desta forma, o nome InQuest surgiu a partir da junção das palavras inquérito e questionário. É um nome que pode ser usado por nativos de outras línguas e fácil de memorizar.

(45)

Logótipo

O logótipo pretendia-se simples e atrativo [48]. Entre dezenas de possibilidades destacaram-se os dois logótipos da figura 11. Por fim, optou-se pelo logótipo representado na figura 12.

Figura 11: Logótipos disponíveis para eleição

Figura 12: Logótipo escolhido

Cores

A seleção das cores para usar na aplicação é importante porque uma má escolha pode ditar o seu insucesso.

A cor predominante na aplicação é a azul porque transmite tranquilidade, calma e honestidade ao cliente, aumenta a produtividade e gera uma sensação de confiança e segurança. A cor verde também é usada no logótipo e traz a sensação de equilíbrio e acalma os clientes [49].

Ícone

(46)

Figura 13: Ícone da InQuest no smartphone

3.2 Requisitos Funcionais

A aplicação InQuest está a ser desenvolvida de forma a poder ser usada por todas as pessoas que tenham smartphone ou tablet com Android e acesso à internet, mas o principal objetivo é facilitar o trabalho dos indivíduos que andam nas ruas a inquirir pessoas oferecendo uma ferramenta que lhes permita rapidamente perceber quais os questionários indicados para cada inquirido e observar as respostas em gráficos gerados em tempo real.

Os requisitos funcionais do sistema estão representados a seguir pelos casos de uso e atores envolvidos. Os casos de uso facilitam a perceção do processo de execução da aplicação e as responsabilidades de cada participante.

3.2.1 Atores

(47)

Utilizador não registado

Neste cenário o ator ainda não está registado na aplicação móvel InQuest. Após instalar a aplicação no dispositivo, deve fazer o seu registo para poder iniciar a sessão e usufruir de todas as funcionalidades que InQuest disponibiliza.

Autor

O autor é a pessoa que criou um ou mais questionários. Tem total controlo sobre os mesmos. Pode dar permissões aos inquiridores e inquiridos; eliminar; editar; ver respostas; ativar/desativar.

O autor pode atribuir o papel de inquiridor e inquirido a qualquer pessoa registada na app. Caso o autor queira abrir o questionário à comunidade, também o pode fazer e, nesse caso, todos os utilizadores da InQuest terão permissão para responder ao questionário.

Investigador/Inquiridor/Entrevistador

O inquiridor pode responder várias vezes ao questionário, ver respostas e desassociar-se do inquérito se, por algum motivo, não quiser ter acesso a ele.

Participante/Inquirido/Entrevistado

O inquirido pode responder ao questionário ou desassociar-se dele.

Administrador

O administrador é a entidade responsável por gerir a aplicação. Ele recebe uma notificação quando um autor cria um inquérito e tem o dever de o analisar para impedir que trate de temas inadequados. Caso detete que algum autor está a fazer um uso indevido do sistema, deve emitir uma notificação ao utilizador e eliminar o inquérito em causa.

(48)

3.2.2 Casos de Uso

Os casos de uso especificam o comportamento esperado entre o utilizador da aplicação (ator) e o sistema [50].

A seguir serão explorados os casos de uso do sistema.

Criar conta

Um utilizador não registado que queira usar a aplicação precisa de a instalar num dispositivo com sistema Android. Depois basta criar uma conta usando um email válido, escolhendo uma palavra-chave e inserindo o seu nome próprio. Será enviado um pedido de confirmação para o email facultado pelo utilizador, para garantir que o utilizador tem acesso ao email e não está a enganar o sistema [51]. Após a confirmação, o utilizador poderá aceder às funcionalidades da aplicação.

Iniciar e terminar sessão

Um utilizador registado pode iniciar uma sessão após validar o seu email e password. Depois de iniciada, pode terminar a sessão em qualquer momento.

Gerir as notificações da aplicação

A aplicação InQuest oferece aos seus utilizadores a possibilidade de serem notificados quando são associados a um novo questionário. Esta funcionalidade é opcional e pode ser desativada pelo utilizador.

Consultar as Frequently Asked Questions (FAQ) e ler a política de privacidade

A aplicação tem disponíveis para consulta uma lista de perguntas e respostas mais frequentes para ajudar o utilizador a usar a aplicação e a política de privacidade para explicar ao utilizador como são processados e tratados os seus dados pessoais.

(49)

Partilhar a aplicação

De modo a promover a aplicação InQuest, todos os utilizadores podem partilhar com amigos o link da localização da aplicação InQuest na Google Play Store, através de qualquer rede social ou por correio eletrónico.

Criar questionário

A opção de criar um questionário está disponível para todos os utilizadores da aplicação InQuest. Quando um utilizador cria um questionário, adquire o papel de autor desse questionário e tem total controlo sobre ele. Aquando da criação, o autor precisa de colocar um título que será apresentado na listagem de inquéritos e pode escrever uma breve descrição para apresentar o tema aos inquiridos. Depois, começará a formular as questões. Neste ponto, tem a possibilidade de deixar a resposta em aberto ou pode acrescentar opções de resposta. Se o autor, considerar a questão como decisiva para continuação ou término do inquérito, pode acrescentar a resposta seletora que definirá se o participante tem condições para continuar o questionário. Quando tiver adicionado todas as questões, basta submeter o questionário.

É importante referir que as questões podem ter diferentes tipos de resposta tais como: resposta aberta, escolha múltipla, avaliação com estrelas ou barra deslizante. O tipo de resposta é escolhido pelo autor quando começa a adicionar perguntas ao questionário.

Associar entrevistadores e/ou participantes

O autor decide quem tem acesso ao seu questionário e qual o estatuto de cada um, ou seja, depois de criado o questionário apenas o autor consegue aceder a ele. É, portanto, necessário convidar outros utilizadores da aplicação a responder. Consoante o público-alvo do autor, pode optar por colocar o questionário aberto a toda a comunidade InQuest e neste caso o questionário aparecerá disponível na listagem de inquéritos de todos os utilizadores, ou pode abrir o questionário para utilizadores específicos. Em qualquer das situações é fundamental que decida o papel dos utilizadores com acesso ao seu questionário. É

(50)

os entrevistadores poderão responder ao inquérito inúmeras vezes, enquanto os participantes podem fazê-lo apenas uma vez.

Ativar/desativar questionário

Após a criação do questionário, este fica ativo por omissão, mas o autor pode desativá-lo a qualquer momento. Enquanto o questionário estiver desativado, ninguém conseguirá respondê-lo. Esta funcionalidade é muito útil caso o autor já tenha recolhido respostas suficientes para o seu estudo. Nesse caso, desativa o inquérito e pode consultar os resultados em qualquer momento. Se, ao analisar os valores e ao formular as teorias que daí advêm, se aperceber que os dados são inconclusivos e seria vantajoso receber mais respostas, pode ativar novamente o questionário.

Listar questionários

Depois de o utilizador iniciar sessão, será encaminhado para a lista de inquéritos. Esta lista pode não ter entradas caso o utilizador em causa não tenha nenhum inquérito associado. Caso existam inquéritos listados, o utilizador pode filtrar os questionários para ver apenas aqueles onde é autor, entrevistador ou participante.

Responder a questionário

Se o utilizador tiver algum inquérito associado pode respondê-lo. Se o seu papel nesse questionário for de participante, pode responder uma vez e depois esse inquérito sairá da sua lista porque não poderá participar de novo. Caso seja entrevistador pode responder quantas vezes desejar já que cada participação corresponderá a um indivíduo diferente.

Desassociar questionário

Um utilizador que esteja associado a um inquérito mas não queira estar, pode desassociar-se e deixará de ter acesso a ele.

(51)

Alterar ou eliminar questionário

O autor tem a capacidade de, em qualquer momento, alterar ou remover o questionário da base de dados. Antes da eliminação do questionário é emitida uma caixa de alerta para que o utilizador confirme que essa é a sua decisão definitiva. Uma vez removido o questionário, não poderá ser recuperado.

Visualizar respostas e gráficos

Tanto o autor como o inquiridor conseguem ver as respostas e gráficos às perguntas dos seus inquéritos. Os gráficos são gerados automaticamente e é permitido que o utilizador alterne entre os vários tipos de gráfico para cada pergunta.

Esta funcionalidade é muito importante porque auxilia na análise dos dados obtidos.

3.2.3 Diagramas de caso de uso

Os casos de uso e atores detalhados anteriormente serão representados em diagramas de caso de uso para mostrar o relacionamento entre eles.

Nas Figuras 14, 15, 16 e 17 observam-se os diagramas de caso de uso de cada ator e os casos de uso respetivos.

(52)

Autor

Alterar inquérito

Eliminar inquérito Ativar/Desativar inquérito

Associar entrevistadores e/ou entrevistados Listar os inquéritos

Consultar respostas e gráficos

Criar inquérito

Figura 14: Diagrama de caso de uso do autor

Entrevistador

Responder ao inquérito Listar inquéritos

Ver respostas Sair do inquérito

(53)

Inquirido

Responder ao inquérito

Sair do inquérito Listar inquéritos associados

Figura 16: Diagrama de caso de uso do inquirido

Utilizador

Criar conta Iniciar sessão

Listar questionários associados Criar questionário

Terminar sessão Consultar as FAQ Partilhar a aplicação

Ler a política de privacidade Gerir as notificações da aplicação

(54)

3.3 Requisitos não-funcionais

Uma vez definidos os requisitos funcionais que definem o comportamento do sistema, é importante atentar na forma como este funciona de modo a garantir a sua qualidade.

Alguns dos requisitos não-funcionais que a aplicação deve ter são:

• Segurança – é necessário garantir que toda a informação está segura. Os dados trocados entre os vários componentes do sistema devem ser protegidos para evitar possíveis ataques de segurança.

• Usabilidade – a manipulação da aplicação deve ser intuitiva e fácil.

• Eficiência – o sistema deve ter um tempo de execução reduzido nas interações com a base de dados e com o servidor.

• Espaço – a aplicação não deve ocupar muito espaço de armazenamento do dispositivo.

3.4 Arquitetura do Sistema

O sistema é constituído por 3 componentes: a aplicação para dispositivos móveis, o sistema de comunicação e a base de dados.

A aplicação móvel está a ser desenvolvida em Android através do Integrated Development Environment (IDE) Android Studio [20]. Este componente comunica com o sistema de comunicação por HTTP.

O sistema de comunicação usa a tecnologia WCF e foi desenvolvido em C# através do IDE Visual Studio 2017 [52]. Ele funciona como intermediário entre a aplicação móvel e a base de dados.

A base de dados é uma base de dados relacional desenvolvida em SQL através do IDE Microsoft SQL Server Management Studio 17.

O sistema de comunicação e a base de dados comunicam através do protocolo .NET Data Provider for SQL Server, que é um protocolo nativo otimizado para aceder diretamente ao SQL Server. (Figura 18)

(55)
(56)

4. Implementação da Aplicação

Uma vez realizados o planeamento e a especificação do projeto, segue-se a implementação do sistema.

A exploração das vantagens e desvantagens na elaboração do estado da arte obrigou a uma escolha consciente das tecnologias mais vantajosas para o sistema e que se interligam melhor entre si.

Este capítulo divide-se em quatro subcapítulos que exploram o processo de desenvolvimento de cada componente do sistema InQuest.

4.1 Base de Dados

A base de dados foi desenvolvida em SQL em conformidade com o estado de arte, por ter mais informação disponível para desenvolvedores e pelo bom desempenho em consultas complexas [38].

No começo, foi necessário esboçar a base de dados com as entidades e as ligações entre elas (Figura 31), definir as primary keys de cada tabela e associar foreign keys.

Depois criou-se a base de dados com recurso ao Microsoft SQL Server Management Studio 17 [55] e adicionaram-se as tabelas.

(57)

Figura 19: Estrutura da base de dados

4.2 Aplicação para Dispositivos Móveis

Optou-se pela criação de uma aplicação nativa para o sistema Android em virtude do estado da arte ter demonstrado que a maioria das pessoas possui dispositivos com este sistema operativo.

O Android Studio [20] foi o ambiente de desenvolvimento integrado usado para desenvolver a plataforma Android. As linguagens utilizadas foram Java [53] e XML [54].

(58)

Página Inicial

A aplicação inicia com a página da figura 19. Aqui, o utilizador pode seguir para a página de criação de conta (Figura 20) ou optar por fazer login (Figura 21), caso tenha feito o registo previamente.

(59)

Página de Registo

Para usar a aplicação InQuest é necessário estar registado na base de dados. Neste processo são recolhidos o nome, email e password do utilizador. Caso os campos estejam vazios ou sejam inválidos, será emitido um alerta para que possam ser corrigidos. Não é permitido registar endereços de email repetidos. Depois de preenchidas as informações pessoais basta carregar no botão “REGISTAR” e será encaminhado para a página de entrada (Figura 21).

(60)

Página de Entrada

A página de entrada impede a entrada a pessoas que não estão registadas na aplicação e permite o acesso daqueles que concluíram o registo com sucesso. O utilizador pode aceder às funcionalidades da aplicação depois de colocar o email e password com que se registou.

(61)

Página de Inquéritos

Depois de autenticado, o utilizador poderá observar os inquéritos a que está associado. A lista pode não ter entradas (Figura 22) ou pode ter, caso tenha criado algum inquérito ou outro utilizador lho tenha atribuído (Figura 23).

(62)

Na Figura 24 mostra-se que os inquéritos podem ser filtrados pelo papel que o utilizador desempenha neles. Ou seja, se pretender visualizar apenas os inquéritos onde é autor, basta filtrar pelo “autor”.

Figura 25: Filtro da lista dos inquéritos

Página de Criação de Inquérito

Caso o utilizador queira criar um inquérito precisa de indicar um título pelo qual será identificado o inquérito. Pode escrever uma breve descrição do estudo em causa e colocar várias questões. Para acrescentar respostas pressiona “Adicionar opção” e para adicionar questões carrega no botão ‘+’. A resposta seletora é opcional e serve para filtrar os entrevistados. Esta questão ditará o fim ou a permanência do inquirido neste questionário. Se o inquirido optar pela resposta seletora, terminará o inquérito. O ícone presente no canto superior direito indica que o inquérito ficará no estado ativo. O estado pode ser alterado durante a criação do inquérito ou mais tarde.

Quando terminar, pressiona o botão “SUBMETER”. O inquérito pode ser alterado posteriormente pelo autor.

(63)

Figura 26: Página de criação de inquérito

Páginas de Gestão do Inquérito e de Permissões

Na figura 26, observa-se um menu que pode ser acedido ao pressionar dois segundos sobre o título do inquérito desejado. Aqui é possível gerir permissões (Figura 27) ou avançar para a página de visualização e análise de respostas (Figuras 28 e 29). É ainda possível editar ou eliminar o inquérito. Depois de eliminado, o inquérito não pode ser recuperado.

(64)

Após a criação do inquérito, o autor deve gerir as permissões para que seja possível começar a receber respostas.

Na Figura 27 está representada a página de gestão das permissões. No exemplo dado na figura, o autor nomeia o utilizador com o endereço de email ana@gmail.com para entrevistador e faz um convite a toda a comunidade InQuest para participar no inquérito. O autor pode convidar quantas pessoas quiser desde que estejam registadas na aplicação InQuest.

Figura 27: Página de gestão do inquérito Figura 28: Página de gestão de permissões

(65)

Página de Visualização dos Dados

Se o autor ou o entrevistador quiserem ver as respostas de um inquérito passarão para a página da Figura 28 onde estão representados os dados recolhidos com recurso a um gráfico de pizza. Mas, como nem sempre este é o mais indicado para determinados valores, existe a possibilidade de mudar para um gráfico de barras (Figura 29) ou para um gráfico de linha.

É de realçar que o autor terá acesso aos gráficos com os dados de todos os participantes do inquérito, enquanto que o inquiridor poderá visualizar apenas a informação que recolheu.

Figura 29: Página de visualização Figura 30: Página de visualização

(66)

Página do menu

O menu lateral está acessível através do botão ≡. Através deste menu é possível gerir as notificações que se pretende receber, partilhar a aplicação com outras pessoas, consultar as perguntas mais frequentes para ajudar o utilizador e ler a política de privacidade da aplicação.

(67)

4.3 Sistema de Comunicação

O sistema de comunicação funcionará como intermediário na troca de dados entre a aplicação e a base de dados. A aplicação não tem informação acerca da base de dados. Sempre que precisa de adicionar ou obter dados, liga-se ao sistema de comunicação que, por sua vez, se conecta com a base de dados e devolve uma resposta à aplicação.

O WCF foi desenvolvido na linguagem C# através do IDE Visual Studio 2017 [52].

A ligação entre a aplicação e o WCF usa o protocolo de comunicação Representational State Transfer (REST) que se baseia no protocolo de transporte HTTP [56].

4.4 Segurança e Privacidade

Para garantir a segurança no acesso ao serviço de comunicação, foi implementado um método de autenticação baseado em tokens [43] [44].

A autenticação baseada em tokens funciona da seguinte forma:

1. Quando o utilizador insere os dados de login, a aplicação comunica com o Sistema de Comunicação (através de um POST) e este com a base de dados para confirmar se os dados estão corretos.

2. Se verificar que o utilizador e a senha constam na base de dados, o Sistema de Comunicação cria o token e uma data de expiração do token. Atualmente, está programada uma duração de seis horas.

3. O token recebido pela aplicação móvel expira quando a data de expiração for ultrapassada ou quando o utilizador terminar a sessão na aplicação. (Anexo 1). Entretanto, de cada vez que a aplicação precisa de fazer pedidos ao Sistema de Comunicação, envia o token no cabeçalho do pedido e se o Sistema de Comunicação confirmar que o token corresponde ao utilizador faz leituras/alterações à base de dados (Anexo 2).

(68)

5. Conclusões e Trabalho Futuro

Para finalizar a dissertação é importante rever o trabalho desenvolvido e avaliar o que pode ser melhorado no futuro.

5.1 Considerações Finais

O objetivo principal desta dissertação era apresentar uma solução que facilitasse a recolha e análise de dados para auxiliar as empresas que contratam entrevistadores para abordarem pessoas e lhes fazerem questionários pessoalmente.

A aplicação InQuest permite criar e gerir questionários, recolher dados aos inquiridos e avaliar o resultado dos inquéritos.

Depois de concluído o desenvolvimento da aplicação, é crucial que se executem testes de usabilidade e de validação para detetar antecipadamente possíveis falhas do sistema e corrigir antes de chegar ao utilizador final.

5.2 Trabalho Futuro

Futuramente seria benéfico continuar a acrescentar algumas funcionalidades à aplicação para que continue a ser apelativa para o utilizador e se mantenha competitiva em relação a outras aplicações existentes.

Uma das medidas seria criar uma aplicação web para facilitar a gestão dos questionários. Para atrair utilizadores de todo o mundo, é fundamental tornar a aplicação versátil, ou seja deve permitir ao utilizador selecionar a língua em que quer utilizar a aplicação. Também

(69)

seria útil que a aplicação fizesse a tradução dos questionários para a língua selecionada pelo utilizador.

Outra funcionalidade importante seria a exportação dos dados recolhidos para um formato à escolha do utilizador, como por exemplo para Excel.

Caso a aplicação se torne um sucesso e seja utilizada por um grande número de pessoas, torna-se difícil gerir e manter o sistema gratuitamente. É possível que haja a necessidade de fazer parcerias com marcas que ajudem a suportar os custos da manutenção da aplicação em troca de publicidade.

(70)

Referências

[1] Social Media Statistics 2019. Consultada em julho de 2019, a partir de https://hostingfacts.com/internet-facts-stats/

[2] Brace, I. (2008). Questionnaire Design: How to Plan, Structure and Write Survey Material for Effective Market Research. 2ª edição. Kogan Page Publishers. EUA [3] Diferença entre pesquisa quantitativa e qualitativa. Consultada em maio de 2019, a

partir de https://pt.surveymonkey.com/mp/quantitative-vs-qualitative-research/ [4] Walliman, N. (2011). Research Methods: The Basics. 1ª edição. Routledge [5] DeFranzo, S. E. (2014). Advantages and Disadvantages of Face-to-Face Data

Collection. Consultada em maio de 2019, a partir de

http://www.snapsurveys.com/blog/advantages-disadvantages-facetoface-data-collection/

[6] Brace, I. (2008). Questionnaire Design: How to Plan, Structure and Write Survey Material for Effective Market Research. 1ª edição. Kogan Page

[7] Kiff, J. (2013). Survey Methodology. Consultada em maio de 2019, a partir de https://psychology.wikia.org/wiki/Survey_methodology

[8] Lopes, N. (2011). Metodologias de Investigação em Educação - Métodos de Recolha de Dados. Consultada em maio de 2019, a partir de

http://mienlopes.blogspot.com/2011/01/metodos-de-recolha-de-dados.html

[9] Diana, J. Pesquisa quantitativa e qualitativa. Consultada em maio de 2019, a partir de https://www.diferenca.com/pesquisa-quantitativa-e-pesquisa-qualitativa/ [10] Lee, E. S. e Forthofer, R.N. (2006) Analyzing Complex Survey Data. 2ª edição.

SAGE

[11] How to use Google Forms. Consultada em maio de 2019, a partir de

Imagem

Figura 1: Página inicial da aplicação FormsApp em Android (à esquerda) e página de  formulários (à direita)
Figura 2: Página de formulários do website do GoogleForms
Figura 3: Página inicial da aplicação Nest Forms em Android (à esquerda) e página de  formulários (à direita)
Figura 6: Página de questionários do website surveymonkey
+7

Referências

Documentos relacionados

Local de realização da avaliação: Centro de Aperfeiçoamento dos Profissionais da Educação - EAPE , endereço : SGAS 907 - Brasília/DF. Estamos à disposição

Os principais passos para o planejamento do processo estão baseados no fatiamento dos modelos 3D (geração das camadas), no posicionamento da peça na mesa de trabalho e

No código abaixo, foi atribuída a string “power” à variável do tipo string my_probe, que será usada como sonda para busca na string atribuída à variável my_string.. O

dois gestores, pelo fato deles serem os mais indicados para avaliarem administrativamente a articulação entre o ensino médio e a educação profissional, bem como a estruturação

A regulação da assistência, voltada para a disponibilização da alternativa assistencial mais adequada à necessidade do cidadão, de forma equânime, ordenada, oportuna e

Atualmente os currículos em ensino de ciências sinalizam que os conteúdos difundidos em sala de aula devem proporcionar ao educando o desenvolvimento de competências e habilidades

Mas ele é ( verbo ser, no Presente do Indicativo ) apenas um gato e não tinha tido ( verbo ter, no Pretérito Mais-Que-Perfeito Simples do Indicativo ) tempo de aprender (

Gottardo e Cestari Junior (2008) efetuaram análise de viabilidade econômica na implantação de silo de armazenagem de grãos utilizando os seguintes modelos VPL,