• Nenhum resultado encontrado

COMPONENTE DE SEGMENTAÇÃO VISUAL

N/A
N/A
Protected

Academic year: 2021

Share "COMPONENTE DE SEGMENTAÇÃO VISUAL"

Copied!
87
0
0

Texto

(1)

COMPONENTE DE SEGMENTAÇÃO VISUAL

Sara Marlene Santos Faria

Orientadores

Joaquim Gonçalves Rui Couto

Trabalho de Projeto apresentado ao Instituto Politécnico do Cávado e do Ave

para obtenção do Grau de Mestre em Engenharia Informática:

Este trabalho inclui as críticas e sugestões feitas pelo Júri.

outubro, 2018

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

COMPONENTE DE SEGMENTAÇÃO VISUAL

Sara Marlene Santos Faria

Orientadores

Joaquim Gonçalves Rui Couto

Trabalho de Projeto apresentado ao Instituto Politécnico do Cávado e do Ave

para obtenção do Grau de Mestre em Engenharia Informática

outubro, 2018

(6)

Anexo V – Declaração

Nome: Sara Marlene Santos Faria

Endereço eletrónico: a8642@alunos.ipca.pt Telemóvel: 934472650

Número do Bilhete de Identidade: 14536599

Título do Trabalho: Componente de Segmentação Visual Orientador (Interno): Doutor Joaquim Gonçalves Orientador (Externo): CIO Rui Couto

Ano de Conclusão: 2018

Designação do Curso de Mestrado: Mestrado em Engenharia Informática.

DE ACORDO COM A LEGISLAÇÃO EM VIGOR, NÃO É PERMITIDA A REPRODUÇÃO DE QUALQUER PARTE DESTE TRABALHO.

Instituto Politécnico do Cavado e do Ave, 24/10/2018

Assinatura:__________________________________________________________

(7)

i

RESUMO

Segundo um estudo realizado no Centro Universitário UNISEB (Costa, Nakata, & Calsani, 2013), os consumidores estão cada vez mais exigentes. O valor a pagar pelo serviço/produto final deixou de ser um problema relevante, por isso, as estratégias para reter clientes são uma constante procura por parte dos gestores de negócio.

O marketing de fidelização é uma estratégia que as empresas utilizam para criar e manter consumidores fiéis por um longo período de tempo dentro de uma empresa (Quintino, 2017). A plataforma YClient disponibiliza o acesso a gestão de marketing deste tipo, oferecendo às empresas a possibilidade de introduzirem no seu negócio uma forma personalizada de comunicar com os seus clientes, que vai desde a criação de newsletters à filtração do público alvo a receber a comunicação.

O presente projeto trata da remodelação da componente de comunicação personalizada.

Embora a plataforma YClient potencializasse uma boa estratégia de marketing de fidelização, a facilidade de utilização e percetibilidade da ferramenta não era compreendida pelos utilizadores. O nível de complexidade e o conhecimento técnico que era imputado para segmentar o público alvo para comunicação era de tal forma exigente, que o utilizador se via na necessidade constante de recorrer ao apoio técnico.

Desta forma, o projeto componente de segmentação visual pretende responder a um conjunto de desafios propostos para resolver o problema mencionado. O objetivo é a construção de uma interface simples, percetível, dinâmica e apelativa para os utilizadores, desenvolvido em colaboração com estes. Para tal, adotou-se uma estratégia “Drag and Drop”, de forma a tornar intuitiva a utilização do componente.

Os resultados foram positivos, os objetivos cumpridos, e a componente de segmentação visual foi já implementada. Segundo resultados apurados sob a forma de um questionário realizado, a componente foi bem recebida e entendida pelos utilizadores, sendo uma mais valia para a empresa, estabelecendo um padrão de comunicação.

Palavras-chave: Comunicação, Visualização, Segmentação, Usabilidade, Reutilização

(8)
(9)

iii

ABSTRACT

According to a study conducted at the University Center UNISEB (Costa, Nakata, & Calsani, 2013), consumers are becoming increasingly demanding. The price to be paid for the service/final product is no longer a problem, therefore, strategies to retain customers are a constant demand on the part of business managers.

Loyalty marketing is a strategy that companies use to create and maintain loyal consumers over a long period of time within a company (Quintino, 2017). The YClient platform provides access and marketing management of such type, offering companies the possibility of introducing into their business a customized way of communicating with their customers, which goes from the creation of newsletters to the filtering of the target audience.

The current project deals with the upgrade of the personalized communication component.

Although the YClient platform has enhanced a good loyalty marketing strategy, ease of use, and perceptibility, it was not understood by the users. The level of complexity and the technical knowledge that was imputed to segment the target audience for communication was so demanding that the user was in constant need of technical support.

Therefore, the visual segmentation component project aims at solving a set of challenges proposed in order to solve the mentioned problem. The objective is the development of a simple, perceptible, dynamic, and user-appealing interface, which is to be created in collaboration with the users. For this purpose, a "Drag and Drop" strategy was adopted to make the use of the component intuitive.

The results were positive, the objectives were fulfilled, and the visual segmentation component was already implemented. According to the results obtained through a survey, the component was well received and understood by the users, which means added value to the company and the establishment of a communication standard.

Keywords: Communication, Visualization, Segmentation, Usability, Reuse

(10)
(11)

v

AGRADECIMENTOS

Nesta secção incumbe-me agradecer a todos os que, direta ou indiretamente, ajudaram a ultrapassar todos os obstáculos que surgiram durante o percurso desta formação académica, em concreto na frequência no mestrado em Engenharia Informática. A todos os referidos expresso profunda gratidão, sem o apoio prestado, esta caminhada tornar-se-ia mais difícil de alcançar e concluir.

Desta forma agradeço,

Ao Diretor do Mestrado em Engenharia Informática, professor Doutor Luís Ferreira, a quem devo agradecer a oportunidade cedida para frequentar o mestrado em causa, e pela disponibilidade sempre prestada para ajudar, esclarecer e melhorar a coordenação e regulamento da direção do mestrado a seu cargo.

Ao professor Doutor Joaquim Gonçalves, obrigada pela orientação prestada, motivação e apoio que sempre contribuíram não só para o melhoramento e desenvolvimento do presente projeto, mas também para a minha formação e experiência.

À equipa que constitui a YClient, com especial destaque para o CIO Rui Couto, responsável pela minha orientação no projeto dentro na empresa, e para a CMO Tânia Oliveira.

Ao Rui Couto, não posso deixar de expressar o meu obrigado, por toda a dedicação, esforço, disponibilidade e compreensão para esclarecer as mais diversas dúvidas que foram surgindo. Com ele aprendi a ‘não pensar num problema grande, mas em muitos problemas pequenos’ (Rui Couto), a encontrar soluções e a tomar decisões.

À Tânia Oliveira o meu muito obrigada pelo conforto e apoio dado nos momentos mais difíceis, compreendidos mesmo sem que houvesse troca de palavras. Agradeço toda a compreensão, disponibilidade, conselhos, ajuda e contributo para o sucesso do projeto.

Aos dois, expresso a minha profunda gratidão pela oportunidade de trabalhar com grandes profissionais, e a possibilidade de desenvolver competências, ganhar responsabilidade e a cima de tudo experiência profissional.

(12)

vi Aos colegas de turma, em especial à Elsa Barros e Jorge Santos, o meu muito obrigada pelas palavras reconfortantes que foram proferidas ao longo deste percurso, onde foi partilhado conhecimento, experiência e desenvolvido trabalho em equipa.

Por último, mas não menos importante, à Família, pela tranquilidade sempre demonstrada e transmitida durante todo o período desta formação, e pela capacidade de superar, amparar e cuidar em episódios inferidos e adversos a este percurso que se demonstraram mais complicados.

(13)

vii

NOTAÇÃO E GLOSSÁRIO

ASP Active Server Pages CIO Chief Information Officer CMO Chief Marketing Officer MVC Model-view-controller NIF Número Identificação Fiscal PDF Portable Document Format RFV Recency Frequency Value SMS Short Message Service SQL Structured Query Language

(14)
(15)

ix

ÍNDICE

1 INTRODUÇÃO ... 1

2 MÉTODO ... 7

2.1 REQUISITOS FUNCIONAIS E NÃO-FUNCIONAIS ... 11

3 DESENVOLVIMENTO ... 13

3.1 TECNOLOGIAS UTILIZADAS ... 15

3.2 METODOLOGIA DE DESENVOLVIMENTO DE SOFTWARE ... 17

3.3 COMPOSIÇÃO DA INTERFACE ... 19

3.4 ALTERAÇÃO DA BASE DE DADOS DA PLATAFORMA YCLIENT ... 27

3.5 ANÁLISE DO FILTRO GLOBAL ... 28

3.5.1 SEGMENTAÇÃO DE CLIENTES FILTRO POR FILTRO ... 30

3.6 RESULTADO DA SEGMENTAÇÃO DO FILTRO GERAL ... 35

4 APLICABILIDADES DA COMPONENTE DESENVOLVIDA ... 39

5 FEEDBACK DA UTILIZAÇÃO DA NOVA COMPONENTE ... 43

6 CONCLUSÃO ... 51

7 REFERÊNCIAS... 55

8 ANEXOS ... 59

(16)
(17)

xi

ÍNDICE DE FIGURAS

Figura 1: Interface selecionada para a componente de comunicação personalizada ... 10

Figura 2: JsPlumb Demo Community Edition (JSplumb, 2017) ... 20

Figura 3: Listagem das categorias e filtros na componente de segmentação visual ... 23

Figura 4: Exemplo de design de filtro ... 24

Figura 5: Exemplo de filtro global - clientes que vão celebrar o aniversário nos próximos x dias ... 25

Figura 6: Exemplo de vista para preencher propriedades do filtro “Género” ... 25

Figura 7: Exemplo de vista para preencher propriedades do filtro “Produtos Comprados” ... 26

Figura 8: Exemplo de operador lógico “e” ... 27

Figura 9: Exemplo de operador lógico “ou” ... 27

Figura 10: Níveis da árvore para análise do filtro. ... 28

Figura 11: Idade igual a “25” ... 30

Figura 12: Género igual a “Feminino” ... 30

Figura 13: Género igual a “Masculino” ... 31

Figura 14: Exemplo de filtro para análise ... 31

Figura 15: Processo de leitura do filtro (Género igual a “Feminino”) ... 33

Figura 16: Processo de leitura do filtro (Género igual a “Masculino”)... 34

Figura 17: Resultado da segmentação de clientes ... 35

Figura 18: Lista de clientes filtrados ... 36

Figura 19: Detalhe da comunicação enviada com o questionário (YClient, 2018) ... 45

Figura 20: Resultado questionário questão 1 (YClient, 2018) ... 46

Figura 21: Resultado questionário questão 2 (YClient, 2018) ... 47

Figura 22: Resultado questionário questão 3 (YClient, 2018) ... 48

Figura 23: Resultado questionário questão 4 (YClient, 2018) ... 48

(18)
(19)

xiii

ÍNDICE DE TABELAS

Tabela 1: Listagem de Categorias e respetivos Filtros _____________________________________ 23

(20)
(21)

xv

ÍNDICE DE ANEXOS

Anexo I... 57 Anexo II ... 59

(22)
(23)

1

1 INTRODUÇÃO

(24)
(25)

3

1 INTRODUÇÃO

Atualmente vivemos numa era de informação abundante e de constante crescimento. A quantidade e diversidade da oferta com que nos deparamos no mundo do mercado é de tal forma excessiva, que as empresas têm necessidade de moldar e planear o seu negócio detalhadamente para conseguirem atingir o cliente (Adolpho, O Contexto - O novo cenário da sociedade digital, 2012).

Estamos numa era em que a internet desenvolve seres humanos hábeis mas dependentes da tecnologia, onde tudo aquilo que não envolva bits é irrelevante, com pouco ou nenhum interesse. A cultura e a tecnologia são duas vertentes que se encontram em continua mudança, mas a essência do ser humano prevalece, continua exigente e com diferentes necessidades (Adolpho, Consumidor - Os novos Hábitos de consumo na era da informação, 2012).

Por isso, conquistar e atrair a atenção de um cliente é uma tarefa cada vez mais difícil, obrigando as empresas a adotar estratégias para captação da atenção dos clientes. Grande parte destas estratégias passam pelo marketing. Tal como afirma Conrado Adolpho, atualmente, uma empresa que não recorra ao marketing para divulgar o seu negócio estará falida em muito pouco tempo (Adolpho, Googlenomics - A influência do gigante das pesquisas no mercado, 2012).

O marketing de fidelização é um tipo de estratégia de marketing que a empresa YClient viu como potencialidade de desenvolvimento. Esta, oferece aos seus clientes a oportunidade de inserir na sua empresa o marketing de fidelização e desta forma divulgar o seu negócio, constituindo um elemento facilitador na manutenção dos clientes atuais e com elevado potencial para atrair novos clientes.

A YClient é uma empresa de desenvolvimento de software que possui uma plataforma web (com o mesmo nome da empresa), cuja funcionalidade passa por disponibilizar aos seus utilizadores, na prática os clientes da empresa, um conjunto de informações, baseadas em dados dos seus clientes, que são os clientes dos clientes da empresa (doravante designaremos por utilizadores os clientes da empresa e por clientes os clientes dos utilizadores), que se destinam a apoiar decisões relativamente a estratégias a adotar sobre marketing e fidelização de clientes. Neste contexto, a visualização e manipulação de dados de forma simplificada e percetível para o utilizador torna-se um aspeto fundamental para o sucesso da plataforma. A visualização é a apresentação gráfica da informação, com o objetivo de fornecer uma compreensão qualitativa dos conteúdos da informação, transformando objetos, conceitos e números no sentido de facilitar a interpretação. Está relacionada com a compreensão de relações entre os números, padrões e tendências e não sobre a compreensão dos números individualmente (Kaidi). A estratégia de visualização relaciona-se também com a usabilidade e tem impacto direto no sucesso comercial do produto.

A plataforma YClient destina-se a utilizadores de retalho e suporta um conjunto de funções e processos entre os quais a fidelização e comunicação com os clientes de consumo final, segundo as suas interações, considerando o ponto de venda, a venda online, o sitio web do cliente, as redes sociais e outras, numa estratégia integrada e multicanal.

(26)

4 Esta plataforma foi desenvolvida e implementada em 2015 e encontra-se em constante evolução, a nível da melhoria das suas funcionalidades e do desenvolvimento de novas funções. Todo este esforço, trabalho e dedicação serve da melhor prestação de apoio de qualidade aos utilizadores e de respostas fidedignas num curto prazo de tempo.

A interação contínua com os utilizadores permitiu verificar que dentro da área da comunicação existia uma subárea, “público alvo” (é a subárea na qual os utilizadores podem restringir a comunicação a conjuntos de clientes por si selecionados a partir de um conjunto de condições), que solicitava um elevado número de pedidos de suporte técnico para a sua operacionalização. De facto, esta funcionalidade do produto exigia, por parte do utilizador, um nível de conhecimento técnico que não lhe deveria ser imputado, além de estar restrita ao tipo de dados utilizados na análise, sendo também bastante complexo e exigindo conhecimento na área de SQL e lógica matemática, nomeadamente no que concerne ao conhecimento relacionado com operadores algébricos. Na prática, a informação que o utilizador pretendia obter era angariada através de instruções em SQL, que correspondia a um conjunto de condições cumulativas, estabelecidas para os diferentes atributos, operadas sobre a base de dados (doravante chamaremos a estas instruções “filtro”).

Existem, no mercado, diversas plataformas (umas gratuitas e outras com custos associados) dedicadas à segmentação de clientes, mas não possuem o nível de personalização que permita um ajustamento perfeito às necessidades da YClient. Assim, a decisão estratégica da YCliente foi desenvolver, de raiz, uma plataforma de segmentação para os seus clientes.

O objetivo global deste projeto foi a construção de um novo componente de comunicação personalizada (que substitui o atual), que cumprisse com um conjunto de objetivos parciais, nomeadamente:

interface de utilização amigável, simples, apelativa, intuitiva e dinâmica;

representação compreensiva dos resultados obtidos;

não exija ao utilizador conhecimento além daquele que diz respeito ao seu negócio;

integrável com a plataforma existente.

Para o efeito, foi necessário representar de forma simples os dados sociodemográficos recolhidos dos clientes, tais como consumo efetuado, comunicações, eventos, regras aplicadas, entre outros, para que o utilizador possa gerar uma comunicação baseada na análise daqueles dados e, posteriormente, construir o conjunto de filtros que respondem às suas necessidades.

O presente documento começa por apresentar qual o método aplicado para resolver o problema proposto, enumerando os requisitos aos quais o projeto deve responder. Posteriormente são descritas na secção de “Desenvolvimento” as tecnologias que foram utilizadas, a composição da interface desenvolvida e as alterações que foram necessárias efetuar à base de dados. Neste enquadramento é descrito um exemplo da construção de um filtro global e explicado o processo de análise de acordo com o novo interface.

(27)

5 Por fim, é apresentado um trabalho no qual a componente desenvolvida foi aplicada, comprovando a sua versatilidade e apresentadas conclusões baseadas num questionário realizado aos utilizadores após a implementação da componente online para avaliação da mesma.

(28)

6

(29)

7

2 MÉTODO

(30)
(31)

9

2 MÉTODO

Após a análise da plataforma YClient, com especial enfoque para a área da comunicação, partiu- se para a idealização de uma solução visual para o problema proposto, que, cumprindo com os objetivos propostos neste projeto, tivesse enquadramento na plataforma não apenas ao nível da linha gráfica, mas também no que concerne às tecnologias utilizadas.

Os esboços da interface desenhada para a componente de comunicação personalizada foram pensados e desenvolvidos com base nos pedidos de suporte efetuados pelos utilizadores, nas interações com os mesmos e no conjunto de novas funcionalidades por eles sugeridas. Daqui resultou um conjunto de mockup’s que foi apresentado aos utilizadores mais representativos (com maior volume de negócios) num total de 30, que manifestaram a sua opinião acerca de cada uma das alternativas. Depois de analisadas as opiniões críticas destes utilizadores selecionou-se a solução apresentada na figura 1, como melhor opção de design para a interface do novo componente de comunicação personalizado a desenvolver.

Neste projeto existem quatro palavras chave:

Atributo;

Condição;

Filtro;

Filtro global.

O atributo é o elemento sobre o qual se pretende fazer uma consulta, a condição é o elemento que adicionado ao atributo constrói o filtro e o filtro global é o conjunto de filtros ligados por operadores booleanos. A figura 1 mostra um exemplo, com o interface que será apresentado ao utilizador, onde vemos o relacionamento entre aquelas 4 componentes: o atributo (na lista à esquerda), listados e agrupados por categorias relevantes, que serão selecionados para filtro (no exemplo são a “idade” e

“produtos comparados”), a condição a aplicar sobre o filtro que surge à direita (no exemplo “maior do que 15” e “menor do que 25”) e o filtro global que é construído através das ligações entre os filtros, agregando toda a informação.

(32)

10 Figura 1: Interface selecionada para a componente de comunicação personalizada

Na interface, os diferentes filtros estão disponíveis à esquerda, listados e agrupados por categorias relevantes, oferecendo ao utilizador uma melhor perceção e visualização dos dados com que pode trabalhar, facilitando o processo de análise para a segmentação do público alvo relativamente à comunicação que pretende enviar. Ao centro, a interface proporciona a ligação entre os vários filtros oferecendo uma vista de rápida leitura sobre o que está a ser filtrado. No lado direito é apresentado o bloco onde se permite atribuir valores aos atributos selecionados, este bloco ajusta-se automaticamente ao filtro que está em análise simplificando o trabalho do utilizador.

Com a estratégia para o desenho da interface definida, avançou-se para a fase seguinte do projeto com o levantamento dos requisitos funcionais e não funcionais, sempre em estreita colaboração com os utilizadores.

(33)

11 2.1 REQUISITOS FUNCIONAIS E NÃO-FUNCIONAIS

Perceber o problema retratado é uma fase essencial do projeto, no entanto, delinear e compreender o que realmente se pretende obter com a solução a desenvolver por vezes não é tarefa fácil. Em muitos casos, mesmo que as necessidades dos utilizadores sejam bem identificadas e estejam bem explicitas, estas podem alterar ao longo do desenvolvimento do projeto (Roger S. Pressman, 2015), criando maior ou menor entropia no desenvolvimento.

Naturalmente, como já foi referido, os utilizadores foram ouvidos e constituíram a base para a determinação dos requisitos do sistema, no entanto, para mitigar aquele problema, decidimos que os utilizadores iriam acompanhar o processo de desenvolvimento para poderem intervir em tempo útil. O CIO Rui Couto e a CMO Tânia Oliveira da empresa YClient, pela importância das suas atividades a sua experiência e conhecimento do negócio, foram também elementos fundamentais para definição dos requisitos dando contributos decisivos para o projeto.

Segundo os autores do livro “Requirements Engineering”, cada requisito deve identificar um processo operacional, uma função, uma característica ou uma restrição (Jeremy Dick, 2017). Assim, tendo por base esta definição e após todos os intervenientes do projeto chegarem a um consenso, foi pretensão, neste trabalho, garantir uma componente que deva cumprir com os seguintes requisitos:

simples, apelativa, intuitiva e de elevada usabilidade;

listar todos os filtros possíveis dos dados a analisar;

organizar os filtros de forma lógica, agrupados por categorias, por exemplo idade, género, aniversário na categoria “Dados Demográficos”, para facilitar a pesquisa;

conter uma área onde poderão ser colocados apenas os filtros que o utilizador pretende analisar;

deve permitir arrastar, (efeito “Drag and Drop”), os vários filtros para a área diferenciada para análise;

permitir alterar as várias definições e propriedades de cada filtro;

permitir eliminar os filtros da área de análise;

permitir ligar os vários filtros para que seja possível criar uma interação entre estes;

permitir eliminar as ligações entre os vários filtros;

obrigar o preenchimento das definições de cada filtro bem como a ligação de entrada e de saída;

avisar quando o filtro não está preenchido ou não contém as respetivas ligações;

ter por defeito na área de análise um filtro inicial, onde serão ligados os restantes filtros, que irá conter todos os clientes e irá definir o início da segmentação de clientes da comunicação em análise;

ter por defeito, na área de análise, um filtro final onde serão ligados os restantes filtros, que irá conter os clientes finais (público alvo da comunicação), e irá corresponder ao término da segmentação de clientes da comunicação em análise;

(34)

12

permitir verificar quantos clientes foram segmentados em cada filtro;

permitir consultar a listagem de clientes finais a receber as comunicações e, se os utilizadores desejarem, remover da lista os que se pretende que não recebam a comunicação;

permitir zoom na área de análise para facilitar o desenvolvimento de segmentações de clientes que envolvem vários filtros;

a componente deve estar incluída na interface “Adicionar” e “Editar” comunicações para que o público alvo da comunicação possa ser definido aquando a criação ou edição de uma comunicação;

cada análise efetuada, ou seja, cada segmentação de clientes, deve ser analisada em tempo real;

nas comunicações repetitivas, deverá existir uma validação automática dos destinatários.

(35)

13

3 DESENVOLVIMENTO

(36)
(37)

15

3 DESENVOLVIMENTO

Considerando que, entre os requisitos definidos, se encontrou a necessidade de integrar este componente numa plataforma já existente (YClient), disponível online para os utilizadores, foi decidido que a arquitetura e tecnologias a utilizar no desenvolvimento deste componente seriam as que a YClient estava a utilizar. Desta forma, os problemas de integração e interoperabilidade seriam minimizados e, consequentemente, o tempo de desenvolvimento e implementação seriam também minimizados, detalhe não despiciendo.

Para além disso, também se verificou que na interface desenhada teria de existir algum tipo de mecanismo, entre as ligações dos diferentes filtros, que permita distinguir os diferentes operadores lógicos. Esta solução, explicada mais à frente no tópico 3.3 “Composição da Interface”, veio resolver a exigência imposta aos utilizadores sobre conhecimentos de lógica matemática e SQL.

3.1 TECNOLOGIAS UTILIZADAS

Tal como já foi referido anteriormente, as tecnologias utilizadas no desenvolvimento do projeto seriam as mesmas que suportam a plataforma YClient, garantindo maior interoperabilidade.

Microsoft ASP.NET MVC (Model-View-Controller)

Na construção da plataforma YClient foi utilizada a Framework de desenvolvimento Web da Microsoft ASP.NET MVC. A Framework ASP.NET MVC implementa a arquitetura MVC, tal como o próprio nome sugere, o que foi uma mais valia para todo o processo, dadas as suas vantagens não só para o desenvolvimento da plataforma YClient como também para o desenvolvimento da componente de segmentação visual de que este projeto trata, parte integrante da plataforma com grande destaque de inovação.

A arquitetura MVC permite dividir o projeto em três componentes: models, views e controllers.

Models

Uma das linguagens suportadas pela arquitetura MVC, e por conseguinte linguagem de desenvolvimento da plataforma YClient e da componente a que o presente projeto corresponde, é C#.

Esta é uma linguagem de programação orientada a objetos, em que estes objetos não são mais do que modelos de estruturas de classes construídos e localizados na componente models da arquitetura

(38)

16 utilizada. É através dos models que conseguimos comunicar com a base de dados e qualquer operação ou interação com esta deve ser realizada nesta componente.

Views

É através das views que toda a informação é transmitida ao utilizador e é aqui que a visualização percetível, simples, clara, atrativa e intuitiva deve ser trabalhada. É nas views onde o utilizador interage com a plataforma e invoca todos os pedidos ou ações que pretende realizar. Na arquitetura MVC as views podem ser desenvolvidas em HTML, como foi o caso da plataforma YClient e da componente de segmentação visual, JavaScript e outras bibliotecas complementares, como jQuery.

Controllers

Quando o utilizador invoca um pedido, para que seja processada uma resposta a aplicação irá consultar um controller. Cada controller é responsável por apresentar uma view e, caso seja necessário, comunicar com a componente models para consultar a base de dados e assim apresentar os resultados na view que sejam pretendidos. Os controllers foram desenvolvidos em C#.

Embora a utilização da arquitetura MVC no desenvolvimento de um projeto possa complicar o processo na fase inicial, pois é necessário delinear, planear e organizar toda a estrutura, o que atrasa o tempo de execução, esta ainda é a arquitetura mais favorável existente no mercado para grandes projetos (Walther, 2010).

Com a arquitetura MVC é possível ter um projeto mais organizado, visto que toda a estrutura está divida por componentes lógicas, pelo que é mais fácil perceber, localizar, alterar, inserir ou até mesmo remover código sem interferir com outras funcionalidades. Por este motivo, as tecnologias a utilizar para o projeto componente de segmentação visual não foram alteradas comparativamente com as utilizadas para o desenvolvimento da plataforma YClient. É ainda importante realçar que todo este isolamento facilita a manutenção de código e reaproveitamento do mesmo, sem afetar as regras de negócio definidas inicialmente para a plataforma.

Microsoft Visual Studio

O ambiente de trabalho utilizado para desenvolvimento do projeto foi o Microsoft Visual Studio. O Microsoft Visual Studio é um ambiente de desenvolvimento de software especialmente dedicado ao .Net Framework, uma das principais tecnologias utilizadas neste projeto. É uma plataforma de desenvolvimento que permite congregar as várias versões existentes de um mesmo projeto o que, para a plataforma YClient, é uma mais valia visto que existem mais programadores a desenvolver e melhorar novas funcionalidades (Lars Powers, 2016). Assim, foi sempre possível verificar à medida que o projeto ia sendo desenvolvido se este estava ou não enquadrado com a plataforma.

(39)

17

Microsoft SQL server

A tecnologia utilizada para auxiliar na gestão de dados foi Microsoft SQL server. A base de dados desenvolvida para registo de todos os dados recolhidos pela plataforma YClient foi construída em SQL. Assim sendo, a linguagem utilizada para a componente de segmentação visual foi SQL, para que a conexão com base de dados da plataforma YClient fosse possível e assim feita a análise e recolha de dados.

SQL Management Studio

SQL Management Studio é um dos softwares existentes utilizado para configurar, gerir e administrar os componentes do Microsoft SQL server. Este software disponibiliza ferramentas simples, práticas e gráficas para que a sua utilização seja facilitada (Coles, 2008). Foi o software utilizado para gerir a análise e restruturação da base de dados existente da plataforma YClient, para que fosse adaptada para a nova componente de comunicação desenvolvida no presente projeto.

3.2 METODOLOGIA DE DESENVOLVIMENTO DE SOFTWARE

O envolvimento dos utilizadores no desenvolvimento de uma plataforma informática é um aspeto fundamental para o sucesso da implementação (Gonçalves, Faria, Reis, Carvalho, & Rocha, 2015), assim, durante o desenvolvimento do projeto “Componente de Segmentação Visual”, foi solicitado o envolvimento dos utilizadores, que responderam maioritariamente de forma positiva. Os seus contributos foram determinantes para que fossem tomadas as decisões mais corretas e encontradas as melhores soluções para o problema. Com o apoio, opinião e avaliação constante por parte dos utilizadores foi possível discutir possíveis melhoramentos e assim chegar rapidamente a um resultado satisfatório e produtivo.

Neste seguimento, as metodologias de desenvolvimento de software que aqui melhor se enquadravam eram as metodologias ágeis, visto que estas não têm um processo de desenvolvimento rígido, e permitem a constante interação dos utilizadores em qualquer fase do projeto. Para além disso, este tipo de metodologia permite voltar a etapas anteriores do desenvolvimento do projeto para corrigir possíveis erros detetados ou mesmo alterar, adicionar ou eliminar funcionalidades.

Dado que existiam objetivos definidos e datas determinadas para dar como terminado e implementado o projeto online, a metodologia de gestão de projeto carecia de um bom plano de desenvolvimento e um rigoroso cumprimento. Por isso, depois de avaliadas as metodologias ágeis (Andrew Stellman, Andrew Stellman, Jennifer Greene), o método Scrum foi o escolhido para gerir e planear o projeto, pois é o que melhor se enquadra tendo em conta que:

(40)

18

Foram definidos inicialmente todos os requisitos que devem ser cumpridos;

O utilizador deve acompanhar o desenvolvimento do projeto;

Existem datas pré-definidas;

Serão feitas constantes atualizações consoante o feedback do utilizador.

Scrum

O Scrum é uma Framework que rege um conjunto de valores, princípios e práticas e permite organizar e gerir dinamicamente projetos complexos. É uma Framework versátil que potencializa o desenvolvimento dos projetos podendo maximizar qualidade e fiabilidade do produto e minimizar o tempo de produção. O Scrum não segue uma metodologia rígida, dividida por fases sequenciais, e por isso, permite voltar a etapas de desenvolvimento anteriores, para que possam ser feitos melhoramentos ou corrigidos bugs, e assim evitar custos acrescidos posteriormente (Layton, 2012).

Com o método de planeamento de trabalho do Scrum, foi possível estabelecer prioridades de desenvolvimento bem como o período que deveria ser dedicado a cada funcionalidade desenvolvida. A cada um destes ciclos de produção no Scrum são chamados Sprints.

No inicio de cada sprint, tal como sugere o Scrum, foram realizadas reuniões com o Product Owner, responsável pelo projeto, Rui Couto, para definir quais as tarefas a fazer, tendo sempre em mente a lista de requisitos definida (Product Backlog).

Terminadas as tarefas a realizar na sprint, as funcionalidades desenvolvidas eram avaliadas e, caso necessário, eram discutidos possíveis melhoramentos e postos em prática quando justificados.

Durante o processo de desenvolvimento do projeto, sempre que era obtida uma versão estável e lógica, esta era colocada disponível online para que os utilizadores fossem testando e opinar sobre a nova componente de segmentação visual. Através dos comentários dos utilizadores foi possível aperfeiçoar interações desenvolvidas na interface para que se tornassem mais percetíveis.

Este método de feedback por parte dos utilizadores, foi recorrente durante todo o processo de desenvolvimento e ainda se aplica, para que a componente esteja sempre ajustada e modelada de acordo com as necessidades dos mesmos, e assim evitar que deixe ser funcional e que caia em desuso.

Constituição da Equipa para o desenvolvimento do projeto

Tal como referido anteriormente durante o desenvolvimento do projeto foi aplicado o método Scrum. Este método define diferentes papeis para os intervenientes do projeto.

No projeto Componente de Segmentação Visual os intervenientes para o desenvolvimento e os respetivos papeis foram:

(41)

19 - Rui Couto: desempenhou o papel de Product Owner – tem o poder de decisão final sobre as funcionalidades do produto a implementar e é o responsável pela comunicação entre o utilizador, equipa e os stakeholders.

- Sara Faria: desempenhou o papel de Scrum Master e de Equipa, visto ser o único elemento responsável pelo desenvolvimento do projeto – garantindo o cumprimento de todas as sprints procurando formas de ultrapassar todos os obstáculos e chegando à qualidade do produto com autonomia e responsabilidade.

- Utilizadores: desempenharam o papel de cliente final e de stakeholders – correspondem aos interessados no produto/resultado.

3.3 COMPOSIÇÃO DA INTERFACE

Para a construção da interface, foi analisada uma plataforma já existente que permite planificar e simplificar a criação de uma comunicação. Esta plataforma foi o MailChimp.

O MailChimp é uma plataforma desenvolvida especificamente para enviar emails como estratégia de marketing associada a um baixo custo (Netherlund, 2014). Apresenta interfaces faseados e explicativos que simplificam o preenchimento e construção de um email. Apesar das várias funcionalidades que o MailChimp ostenta, uma possível integração desta plataforma com a YClient não se justifica, pois o processo de filtração do “público alvo” era semelhante ao existente na plataforma YClient, e que incompreendido por grande parte dos utilizadores.

No entanto, algumas funcionalidades que o MailChimp disponibiliza, como o “Drag and Drop”, vieram apoiar a ideia inicial para o desenvolvimento do projeto “Componente de Segmentação Visual”. Desta forma, a JsPlumb foi a libraria de JQuery encontrada para desenvolver uma interface com estas características, que poderia proporcionar um desenvolvimento, implementação e manutenção mais eficiente.

A libraria JsPlumb apresenta características que a tornam uma mais valia para o projeto, pois para além de permitir estabelecer ligações entre blocos (connections), também disponibiliza toda a gestão dessas ligações e dos respetivos pontos de ligação (endpoints), apresentado um design percetível e intuitivo (figura 2). Para o desenvolvimento e implementação eficientes, a libraria foi exaustivamente estudada analisando todas as suas funcionalidade e formas de integração com a interface já existente.

(42)

20 Figura 2: JsPlumb Demo Community Edition (JSplumb, 2017)

A análise, apresentação e desenvolvimento das propriedades dos diferentes filtros é um ponto fundamental para o projeto. A construção de cada filtro é realizada através da seleção de um atributo (o mesmo atributo pode ser alvo de seleção de mais do que um filtro, por exemplo para representar a operação lógica “ou”) e do estabelecimento de uma ou mais condições para cada um. Cada um destes filtros será ligado, por um conector, a outro filtro, construindo uma rede de filtros que formam o filtro global, que permite segmentar os clientes de acordo com os dados disponíveis no sistema. Todos os dados possíveis de correlacionar e analisar devem ser mencionados e destacados na lista de filtros disponível para seleção.

A lista de atributos a considerar é extensa, sendo pouco prático apresentar, em simultâneo todos eles ao utilizador. Para resolver este problema decidiu-se criar um conjunto de categorias na qual se agruparam os atributos. Desta forma, apresenta-se ao utilizador o conjunto de categorias e depois de selecionada a categoria apresenta-se o conjunto de atributos dessa categoria. Na prática criaram-se dois níveis de apresentação que tornam o processo de seleção mais rápido e intuitivo.

A escolha das categorias está relacionada com o tipo de consultas que os utilizadores fazem à base de dados. A tabela 1 mostra as categorias com os atributos que lhes estão associados.

(43)

21

Filtro Descrição

Categoria: Dados Demográficos

Cartão Número de cartão de cliente

Lista de Cartões Lista de números de cartões de cliente

Idade Intervalo de idades de clientes

Outras Idades Idade de familiares com ligação ao cliente

Aniversário Quantos dias faltam para o dia de aniversário do cliente Outros Aniversários Aniversário de familiares com ligação ao cliente

Género Sexo do cliente

Profissão Profissão do cliente

NIF NIF do cliente

Listagem de NIF Listagem de NIF’s de clientes

E-mail E-mail do cliente

Telemóvel Telemóvel do cliente

Código Postal Código postal do cliente Localidade Localidade do cliente

Morada Morada do cliente

País País de residência do cliente

Grupos Grupos a que o cliente pertence, definidos nas configurações da plataforma YClient e associados ao cliente na ficha de cliente

Grupos Dinâmicos Grupos dinâmicos a que o cliente pertence, definidos nas configurações da plataforma YClient e associados ao cliente na ficha de cliente

Tipo de Conta Tipo de conta do cliente, definidas nas configurações da plataforma YClient e associadas ao cliente na ficha de cliente

Data de Registo Data em que o cliente foi registado na plataforma Loja de Registo Loja em que o cliente foi registado na plataforma

Percentagem a dar Percentagem a atribuir a outro cliente com base nos pontos do cliente em análise

Categoria: Perfil de consumo

(44)

22 Loja Loja onde a compra foi efetuada pelo cliente

Posto Posto onde a compra foi efetuada pelo cliente Produtos Comprados Quais os produtos comprados pelo cliente a analisar Última Transação Análise da última transação efetuadas pelo cliente Número Transações Análise do número de transações efetuadas pelo cliente Venda Média Análise da venda média do cliente

Valor Adquirido Análise do valor adquirido pelo cliente Saldo Ganho Análise do saldo ganho pelo cliente Saldo Disponível Análise do saldo disponível do cliente Saldo expirado Análise do saldo expirado do cliente

Top Clientes Análise do top de clientes por valor ou transações

RFV Análise de clientes com base no valor RFV

Categoria: Comunicação

Comunicação Comunicações recebidas ou não pelo cliente SMS Recebidos SMS recebido pelo cliente

Categoria: Eventos

Tipo de Evento Evento associado ao cliente, definido na automação de eventos na plataforma YClient

Categoria: Vouchers

Voucher Atribuído Vouchers atribuídos ao cliente, definidos em Vouchers na plataforma YClient

Voucher Redimido Vouchers redimidos ao cliente Categoria: Regras

Regra Geral Regra geral aplicada ao cliente, definida em Regras Gerais na plataforma YClient

Regra de Item Regra de item aplicada ao cliente, definida em Regras de Item na plataforma YClient

Regra de Campanha Regra de campanha aplicada ao cliente, definida em Regras de Campanha na plataforma YClient

Categoria: Agenda

(45)

23 Data de Reserva Data de reserva registada associada ao cliente, no calendário da

plataforma YClient

Data de Entrada Data de entrada registada associada ao cliente, no calendário da plataforma YClient

Data de Saída Data de saída registada associada ao cliente no calendário da plataforma YClient

Tabela 1: Listagem de Categorias e respetivos Filtros

A representação da listagem destas categorias e atributos, bem como a área de processamento e análise, foi desenvolvida com o pressuposto de que deveria ser envolvida na interface já construída para a criação de uma nova comunicação. A Figura 3, apresenta a interface que é apresentada ao utilizador.

Figura 3: Listagem das categorias e filtros na componente de segmentação visual

A componente visual é o aspeto mais importante neste projeto, por isso, foi aquele sobre o qual recaiu a maior atenção e cuidado. Esta componente contém aspetos dinâmicos que consistem na movimentação dos atributos, por arrastamento, para a área de análise, na conexão dos diversos filtros que estão na área de análise para a construção do filtro global e um momento estático que consiste na seleção das condições impostas aos atributos para a construção de cada filtro. Todo o desenvolvimento

(46)

24 teve por base a ideia de obter um componente caracterizado pela simplicidade de processos, grande usabilidade e controlo nas ações do utilizador.

A estratégia passou pela atribuição de um identificador a cada atributo distinto transferido para a área de análise, para posteriormente associar as condições impostas ao identificador, isto é, independentemente do número de vezes que se use um atributo na área de análise, ser-lhe-á atribuído um único identificador.

Ainda sobre o aspeto visual, de forma a tornar intuitiva a utilização do componente, foi adicionado ao atributo dois conectores (endpoints) para estabelecer a ligação com os outros filtros.

Além disto, existem mais três elementos associados a cada atributo, um alusivo ao tema a que corresponde, outro com a indicação dos erros que existem no respetivo filtro (que fazem com que o filtro global não funcione) e aquele que abre o modal onde se selecionam as condições e respetivos valores para a construção do filtro. A figura 4 apresenta o aspeto gráfico do filtro.

Figura 4: Exemplo de design de filtro

Um atributo passará a ser nomeado de filtro quando é arrastado e largado na área de análise.

Assim que é deixado na área de análise, o atributo adquire o aspeto do filtro, tal como na figura 4.

A área de análise contém de base dois componentes: um de entrada, que se ligará a pelo menos um filtro, e um de saída que recebe a conexão de pelo menos um filtro. Na prática, podemos afirmar que o primeiro componente corresponde a um filtro sem condições, contendo por isso todos os clientes (tem o nome “Todos os Clientes”) e o segundo corresponde à combinação de todos os filtros formando o filtro global (tem o nome “Público Alvo”). As ligações são realizadas através dos conetores. A figura 5 mostra estes dois componentes e a ligação a um filtro através dos conetores.

(47)

25 Figura 5: Exemplo de filtro global - clientes que vão celebrar o aniversário nos próximos x dias

Neste processo foram adicionadas algumas restrições nomeadamente:

Todos os filtros têm de ter uma ligação de entrada;

Todos os filtros têm de ter uma ligação de saída;

Um filtro não pode ser ligado a si mesmo, caso contrário seria gerado um ciclo infinito.

Para a seleção das condições para os diferentes filtros, foi adicionado o evento de duplo clique ao ícone com o símbolo de somatório (no atributo), que abre uma nova interface na qual se define o conjunto de valores a considerar no atributo. Para todos os filtros foi criado um objeto com os respetivos campos que eram apresentados na vista propriedades. Através deste objeto foi possível guardar os dados que o utilizador pretendia analisar naquele filtro. Os elementos a apresentar ao utilizador estão relacionados com o filtro selecionado, isto é, a informação que se solicita varia com o tipo de atributo para o qual se está a construir o filtro. A figura 6 mostra um exemplo da definição do valor “Masculino” para o filtro “Género”. A figura 7 apresenta as diversas opções disponibilizadas para a construção do filtro “Produtos Comprados”.

Figura 6: Exemplo de vista para preencher propriedades do filtro “Género”

(48)

26 Figura 7: Exemplo de vista para preencher propriedades do filtro “Produtos Comprados”

No final, quando o filtro global estiver pronto a ser processado, todos os objetos dos filtros em análise são guardados num array, tal como as respetivas ligações entre os filtros. O array com os objetos dos filtros e o array com as ligações são posteriormente guardados noutro objeto chamado BLSHEME, criado para este fim.

A solução encontrada para o problema lógico da construção de um filtro sem exigir, dos utilizadores conhecimento técnico, passou pela utilização de um componente de visualização gráfica que permite estabelecer ligações entre objetos de forma intuitiva. Para adicionar um operador lógico

“e”, a ligação deve ser estabelecida desde o filtro anterior até ao novo filtro, criando uma sequência de filtros tal como demonstra a figura 8. Para adicionar um operador lógico “ou”, a ligação deve ser estabelecida entre o filtro pai e o novo filtro, tal como exemplifica o exemplo da figura 9.

(49)

27 3.4 ALTERAÇÃO DA BASE DE DADOS DA PLATAFORMA YCLIENT

Para obter os resultados do filtro global, construído pelo utilizador através da nova interface desenvolvida para a componente de segmentação visual, foi necessário alterar a base de dados existente da plataforma YClient. Esta alteração contemplou duas operações: a criação de uma nova tabela (temporária) e uma alteração à tabela onde são registadas todas as comunicações.

A nova tabela temporária foi adicionada para avaliar e analisar o filtro global, de modo a ser visualizado o número de clientes que estão representados no filtro, tal como foi mencionado nos requisitos. Os campos que foram necessários incluir na tabela temporária, nomeada CO.commTempResults, foram:

itemID, corresponde ao ID do atributo em análise;

clientRID, diz respeito ao ID do cliente que foi analisado e filtrado;

treelevel, corresponde ao nível da árvore em que o filtro está a ser analisado (a figura 10 descreve a forma de identificação do nível de árvore);

commRID, identifica o ID da comunicação em análise;

lastlevel, classifica o nível da árvore como último ou não.

Figura 8: Exemplo de operador lógico “e” Figura 9: Exemplo de operador lógico “ou”

(50)

28 Figura 10: Níveis da árvore para análise do filtro.

Na tabela, onde são registadas todas as comunicações, nomeada CO.Comms, foi necessário adicionar um novo campo, VisualFilter, no qual é armazenada toda a informação do filtro global desenvolvido para definir o público alvo da comunicação. Este campo é do tipo varchar(MAX).

Tal como já foi referido no tópico anterior, toda a informação dos filtros e respetivas ligações são armazenadas numa classe, criada para o efeito, que recebeu o nome BLSHEME. Para que este objeto seja guardado no novo campo da base de dados VisualFilter, é necessário convertê-lo em string, através da função de jQuery JSON.stringify(BLSHEME).

3.5 ANÁLISE DO FILTRO GLOBAL

Para analisar um filtro desenvolvido para processamento de filtração de clientes da base de dados, é necessário associar um ID a este processo para que, posteriormente, seja possível obter os

(51)

29 resultados detalhados correspondentes a este. Neste caso, o ID a associar a esta análise é a identificação da comunicação, ou seja, o ID da comunicação, commRID.

Como é possível analisar o filtro global sem que a comunicação esteja guardada na base de dados, foi necessário adotar uma estratégia para que haja sempre um ID associado ao filtro geral. Foi adicionada uma linha estática à tabela da base de dados da plataforma YClient CO.Comms, com o ID - 1000. Assim, esta comunicação está constantemente a sofrer alterações, pois sempre que é feito um pedido de análise de um novo filtro, este é guardado no campo VisualFilter desta comunicação.

A função responsável por analisar cada filtro individualmente, e assim chegar a um resultado final, foi nomeada getSqlVisualQuery e recebe como parâmetros a connectionString, para que seja possível estabelecer a ligação com a base de dados, e o ID da comunicação que contém o filtro guardado a analisar.

A função getSqlVisualQuery é complementada por duas funções adicionais, a ProcessNode e a InsertClientsInTempTable.

A função ProcessNode é responsável pela análise, validação e interação pelas ligações dos filtros – dados retirados da base de dados do campo VisualFilter, da tabela CO.Comms, com o respetivo ID da comunicação em análise, após convertidos num objeto do tipo CommVisualArrayObj, que contém uma lista de objetos do tipo CommVisualElement, que corresponde à lista dos filtros, e contém ainda uma lista de objetos do tipo CommVisualObjConn, que corresponde à lista das ligações entre os filtros. A conversão do filtro no formato string para um objeto é realizada ainda na função getSqlVisualQuery, através do código:

Models.Comm cm = GetByRID(conn, RID);

string vFilter = cm.VisualFilter;

BLL.Comunication.Models.CommVisualArrayObj TotalObj =

JsonConvert.DeserializeObject<BLL.Comunication.Models.CommVisualArrayObj>(vFilter);

Para além desta operação, nesta função são adicionados todos os clientes ativos à tabela temporária CO.commTempResults, pois o primeiro filtro contém todos os clientes e, dadas as possibilidades de ligações dos próximos filtros, os clientes filtrados terão obrigatoriamente de estar contidos no primeiro filtro, que corresponde ao nível da árvore zero, (treelevel = 0), pois tratam-se de ligações lógicas do tipo “e”. Esta análise será explicada no tópico 4.5.1.

(52)

30 3.5.1 SEGMENTAÇÃO DE CLIENTES FILTRO POR FILTRO

Para facilitar a compreensão de todo o processo de criação de um filtro global, que tem por base as funções descritas nas secções anteriorese que é, na prática, o objetivo principal deste trabalho, vamos utilizar um exemplo do processo de seleção de clientes, que se pode observar nas figuras 11,12 e 13.

No exemplo pretende-se filtrar os clientes com idade igual a 25 anos (figura 11), e que sejam do género feminino (figura 12) ou do género masculino (figura 13) (vão ser excluídos os clientes cujo o género não está definido).

Figura 11: Idade igual a “25”

Figura 12: Género igual a “Feminino”

(53)

31 Figura 13: Género igual a “Masculino”

A atribuição de valores aos atributos não determina qual o operador lógico que os une, a utilização dos operadores lógicos é determinada pela forma de ligação. A figura 14 mostra de que forma a ligação entre os atributos indica que o operador lógico utilizado é um “ou” ou um “e”. Neste exemplo, a ligação paralela entre idade e género (para o feminino e para o masculino) permite realizar a operação lógica “ou”. As ligações em série realizam a operação lógica “e”.

Figura 14: Exemplo de filtro para análise

Referências

Documentos relacionados

A dose inicial recomendada de filgrastim é de 1,0 MUI (10 mcg)/kg/dia, por infusão intravenosa (foram utilizadas diversas durações: cerca de 30 minutos, 4 horas ou 24

esta espécie foi encontrada em borda de mata ciliar, savana graminosa, savana parque e área de transição mata ciliar e savana.. Observações: Esta espécie ocorre

Dessa forma, os níveis de pressão sonora equivalente dos gabinetes dos professores, para o período diurno, para a condição de medição – portas e janelas abertas e equipamentos

O valor da reputação dos pseudônimos é igual a 0,8 devido aos fal- sos positivos do mecanismo auxiliar, que acabam por fazer com que a reputação mesmo dos usuários que enviam

Gisele Lima Dos Santos 7,0 Maria Gabriela de Freitas Rodrigues 8,0 André Lima de Souza 10,0 Lucas Marques da Silva 9,0 Química de. Polímeros Heloise Ribeiro Moreira Lima 5,0

Também não deve misturar este medicamento para inalação com outras soluções que resultem em uma mistura com pH acima de 6,3, como a salmoura de Emser, pois isso pode alterar

Para contemplar o nosso objetivo, refletimos sobre a chegada do livro didático na Educação Física, descrevemos as experiências com a prática pedagógica nas

Se a única confissão do naturalista sobre a falta de recursos para dar prosseguimento às escavações foi feita ao orientador Johannes Christopher Hagemann Reinhardt, pareceu-me