• Nenhum resultado encontrado

2. Estado da Arte

2.2 Análise de Produtos no Mercado

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

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

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

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.

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.

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

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

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.

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.

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

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.

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.

Documentos relacionados