• Nenhum resultado encontrado

Estudo da viabilidade de criação de um serviço de envio de mensagens automatizado com a utilização de API

N/A
N/A
Protected

Academic year: 2021

Share "Estudo da viabilidade de criação de um serviço de envio de mensagens automatizado com a utilização de API"

Copied!
62
0
0

Texto

(1)

CURSO DE CIÊNCIA DA COMPUTAÇÃO

ÉDERSON FELIPE ZAMMO SIQUEIRA

ESTUDO DA VIABILIDADE DE CRIAÇÃO DE UM SERVIÇO DE ENVIO DE MENSAGENS AUTOMATIZADO COM A UTILIZAÇÃO DE API

IJUÍ 2019

(2)

ÉDERSON FELIPE ZAMMO SIQUEIRA

ESTUDO DA VIABILIDADE DE CRIAÇÃO DE UM SERVIÇO DE ENVIO DE MENSAGENS AUTOMATIZADO COM A UTILIZAÇÃO DE API

Trabalho de Conclusão e Curso para obtenção do título de Bacharel em Ciência da Computação da Universidade Regional do Noroeste do Estado do Rio Grande do Sul.

Orientador: Prof. Jonas Schreiber

IJUÍ 2019

(3)

ESTUDO DA VIABILIDADE DE CRIAÇÃO DE UM SERVIÇO DE ENVIO DE MENSAGENS AUTOMATIZADO COM A UTILIZAÇÃO DE API

Trabalho de Conclusão e Curso para obtenção do título de Bacharel em Ciência da Computação da Universidade Regional do Noroeste do Estado do Rio Grande do Sul.

Banca Examinadora:

_________________________________________________ Prof. Me. Romário Lopes Alcântara

Universidade Regional do Noroeste do Estado do Rio Grande do Sul

_________________________________________________ Prof. Jonas Schreiber

Universidade Regional do Noroeste do Estado do Rio Grande do Sul

(4)

RESUMO

Considerando os avanços nos meios de comunicação, objetiva-se neste projeto o desenvolvimento de um sistema que facilitará o envio de mensagens instantâneas através do uso de um aplicativo mais popular no cotidiano, ao invés do SMS (Short Message Service), o qual está deixando de ser utilizado cada vez mais. Para tanto, procede-se o projeto de software e o desenvolvimento da aplicação de uma plataforma que gerencia este envio de mensagens e facilite a comunicação. Desse modo observa-se que projetar o sistema primeiramente, torna a sua implementação mais tranquila, obtendo resultados mais específicos, o que permite concluir que é possível principalmente para as empresas, utilizarem novas ferramentas para avisos e/ou comunicação direta com seus clientes com mais facilidade.

Palavras-chave: mensagens instantâneas, projeto de software, desenvolvimento web, API, aplicativos de mensagens.

(5)

Considering the advances in the media, this project aims to develop a system that will facilitate the sending of instant messages through the use of a more popular application in daily life, instead of SMS (Short Message Service), which is leaving to be used more and more. To this end, we proceed with the software design and application development of a platform that manages this messaging and facilitates communication. Thus, it is observed that designing the system first, makes its implementation smoother, obtaining more specific results, which allows us to conclude that it is mainly possible for companies to use new tools for warnings and/or direct communication with their customers with more facility.

Keywords: instant messaging, software design, web development, API, messaging applications.

(6)

LISTA DE FIGURAS

Figura 1 - Diagrama de atividade simplificado... 29

Figura 2 - Diagrama de casos de uso ... 31

Figura 3 - Diagrama de caso de uso enviar mensagem ... 36

Figura 4 - Diagrama de Classes ... 37

Figura 5 - Modelo lógico relacional ... 38

Figura 6 - Diagrama de sequência de cadastro e enviar mensagem ... 39

Figura 7 - Diagrama de sequência de login usuário e enviar mensagem ... 40

Figura 8 - Arquitetura do sistema ... 41

Figura 9 - Classe Pessoa ... 49

Figura 10 - Função de envio de mensagem ... 49

Figura 11 - Tela Inicial ... 50

Figura 12 - Tela de cadastro de pessoa ... 51

Figura 13 - Tela de login ... 51

Figura 14 - Tela de cadastro de telefones ... 52

Figura 15 - Tela de envio de mensagem ... 53

Figura 16 - Tela de cadastro de grupo ... 53

Figura 17 - Tela inicial do usuário logado no sistema ... 54

(7)

LISTA DE QUADROS

Quadro 1 - Tabela Pessoa ... 44

Quadro 2 - Tabela Grupo ... 44

Quadro 3 - Tabela Telefone ... 45

(8)

LISTA DE ABRIVIATURAS E SIGLAS

API Application Programming Interface CSS Cascading Style Sheets

HTML Hypertext Markup Language IM Instant Messaging

PHP Hypertext Preprocessor

POO Programação Orientada a Objetos SGBD Sistemas de Gestão de Base de Dados SMS Short Message Service

TI Tecnologia da Informação

TIC Tecnologia da Informação e Comunicação UML Unified Modeling Language

(9)

SUMÁRIO

1 INTRODUÇÃO ... 8

2 EMBASAMENTO TEÓRICO ... 11

2.1 COMUNICAÇÃO VIRTUAL ... 11

2.2 SERVIÇOS DE ENVIO DE MENSAGENS INSTANTÂNEAS ... 13

2.3 VANTAGENS DA UTILIZAÇÃO DO TELEGRAM ... 16

2.4 DESENVOLVIMENTO WEB ... 17

2.5 APPLICATION PROGRAMMING INTERFACE ... 23

2.6 PROJETO DE SOFTWARE ... 25

3 PROJETO DO SOFTWARE ... 28

3.1 CONTEXTUALIZAÇÃO DA APLICAÇÃO ... 28

3.2 PÚBLICO ALVO ... 30

3.3 PROJETO LÓGICO ... 30

3.3.1 DIAGRAMA DE CASOS DE USO ... 30

3.3.2 DIAGRAMA DE CLASSES ... 37

3.3.3 MODELO LÓGICO RELACIONAL ... 37

3.3.4 DIAGRAMA DE SEQUÊNCIA ... 38

3.4 PROJETO FÍSICO ... 40

3.4.1 ARQUITETURA DO SISTEMA ... 41

3.4.2 TABELAS DO BANCO DE DADOS ... 43

3.4.3 UTILIZAÇÃO DA API DO TELEGRAM ... 46

4 RESULTADOS E DISCUSSÕES ... 47 4.1 DESENVOLVIMENTO DO SISTEMA ... 47 4.2 FUNCIONAMENTO DO SISTEMA ... 50 4.3 DESAFIOS ENCONTRADOS ... 55 5 CONSIDERAÇÕES FINAIS ... 57 REFERÊNCIAS BIBLIOGRÁFICAS ... 59

(10)

1 INTRODUÇÃO

Inicialmente o principal e mais poderoso meio de comunicação, que causou profundas modificações na sociedade, foi a escrita. Após a escrita todos os meios de comunicação existentes no mundo até os dias atuais contribuíram nas modificações da sociedade e na visão de mundo das pessoas. Todos contribuíram para a redução da distância, ou seja, a rapidez e eficiência da comunicação entre as pessoas em locais diferentes.

Em tempos antigos os meios de comunicação eram praticamente físicos, onde para manter a troca de informações com outra pessoa era apenas pessoalmente ou por meio de envio de cartas. Com o grande avanço das comunicações iniciou-se a utilização da televisão, do rádio e do telefone, onde as pessoas captam informações de vários lugares do país e do mundo em apenas um local. A televisão mostrava aquilo que não é possível ver fisicamente, o rádio trouxe as notícias das quais não se possuía conhecimento e o telefone nos permitiu levar a voz a uma distância infinitamente maior do que jamais se havia pensado possibilitando haver a troca de informações entre ambas as partes.

Os recursos que o telefone trouxe, possibilitou a utilização do mesmo para enviar mensagens para qualquer lugar através do SMS (Short Message Service, em português: “Serviço de Mensagens Curtas”), muito utilizado principalmente por empresas para se comunicar com seus clientes, enviando avisos, notícias e promoções.

Com o surgimento da Internet, teve o início da comunicação virtual, através da comunicação mediada por computador, que proporcionou a extensão de várias capacidades naturais. É possível interagir com as informações, tocá-las em sua realidade virtual, ouvir aquilo que quiser, conversar com quem não conhece. Fundamentalmente, é possível interagir com o que quiser de forma instantânea.

A Internet ganhou forças principalmente dentro das empresas, conquistando empreendedores que estão sempre em busca de novidades para atrair seus clientes e expandir seus negócios com maior rapidez, muito conhecido como marketing digital. O marketing digital depende de duas coisas fundamentais: planejamento e conhecimento do seu público-alvo. Não se pode deixar de usufruir as vantagens que os aplicativos utilizados por meio da internet proporcionam, o mais importante é

(11)

saber usá-los da maneira correta a favor da empresa, para que além de uma boa comunicação a empresa tenha um bom resultado nas vendas.

As empresas, ao buscarem um meio de se comunicar com seus clientes sem a necessidade de ser pessoalmente, se depararam com um conceito de envio de mensagens instantâneas por meio de aplicativos. Um mensageiro instantâneo ou comunicador instantâneo, também conhecido por IM (Instant Messaging), é uma aplicação que permite o envio e o recebimento de mensagens de texto em tempo real. O serviço de envio de mensagens instantâneas é utilizado por vários aplicativos.

De certo modo, este tipo de serviço vem sendo utilizado a tempos, onde a principal plataforma é o SMS. Este serviço ainda vem sendo utilizado pois é um sistema com poucas falhas e está suprindo de imediato a necessidades das empresas que o utilizam como meio de comunicação com seus clientes, seja para avisos de faturas, promoções, atraso de pagamentos, uso do cartão de crédito, entre outros.

Apesar de boa parte dos brasileiros nem mesmo terem o ícone de SMS na tela inicial do smartphone, uma pesquisa movida pelo Mobile Time e a Opinion Box, segundo Miller (2018), o SMS ainda é o meio mais utilizado pelas empresas para envio de mensagens. De acordo com o estudo, grandes companhias, bancos, seguradoras e outros utilizam o SMS para enviar notificações automáticas, 51% dos internautas brasileiros recebem SMS todo dia ou quase todo dia. Curiosamente, apenas 24% dos entrevistados utilizam o serviço, comprovando que o SMS é um canal mais para receber notificações do que para interação entre pessoas.

A pesquisa também mostra o quanto a utilização deste serviço de SMS vem decaindo, pelo motivo de muitos usuários estarem deixando cada vez mais de utilizar este aplicativo como meio de comunicação.

Na prática, muitos usuários desta plataforma estão ignorando o recebimento de SMS, mesmo que em alguns casos sejam de real importância, principalmente porque, atualmente existem meios de comunicação instantâneas com maior facilidade e agilidade de utilização, como por exemplo, o Telegram e o WhatsApp. Mesmo que seja fácil utilizar o aplicativo de mensagens e seus recursos, se for utilizado para um fim de notificação e comunicação com o cliente, sendo neste caso utilizado com muita frequência, acaba se tornando inviável o seu uso sem a

(12)

utilização de alguma plataforma que gerencia este envio de mensagens e facilite a comunicação com os clientes.

É justamente a compreensão dessa necessidade de uma mudança na utilização deste tipo de serviço, que este projeto busca inovar e atualizar, facilitando para o usuário, empresas, como para seus clientes, a utilização de um aplicativo que está em alta dentro do meio de comunicação instantânea, buscando assim, que o cliente final interaja mais com a própria empresa que está tentando se comunicar com ele.

Este trabalho está estruturado em três capítulos além desta introdução. O segundo capítulo aborda os principais conceitos para desenvolver o embasamento teórico, onde foram citados alguns autores importantes de cada tópico, com vários assuntos diferentes, relacionados a comunicação, aplicativos das redes sociais e linguagem de programação. Iniciando cada tópico com uma breve apresentação histórica seguindo até a atualidade. Apresentando os principais meios de comunicação virtual, a importância da utilização de novos aplicativo, o desenvolvimento se sistemas web e quais as vantagens de ter sistemas hospedados na nuvem.

O Capítulo 3 fornece a arquitetura da solução proposta para o desenvolvimento do sistema. No Capítulo 4 são discutidos os detalhes da implementação da arquitetura proposta na modelagem do capítulo anterior e uma avaliação do protótipo desenvolvido. Por fim, o Capítulo 5, conclusão, onde se ressalta os principais desafios e contribuições deste trabalho, assim como trabalhos futuros

No terceiro capítulo, apresenta a arquitetura do sistema, ou seja, o projeto do software, como a linguagem de programação escolhida para desenvolvimento do sistema, os principais casos de uso, diagrama de classes, diagramas de sequência para melhor apresentação detalhada da principal funcionalidade do sistema. O capítulo quatro discute os detalhes do desenvolvimento do sistema conforme a arquitetura proposta, com trechos importantes de códigos e métodos essenciais para a devida funcionalidade da aplicação. Por fim, o quinto capítulo, considerações finais, onde se ressalta os principais desafios e contribuições deste trabalho, assim como trabalhos futuros.

(13)

2 EMBASAMENTO TEÓRICO

Para entender o avanço tecnológico e a sua necessidade de mudança diária, é necessário voltar algum tempo atrás e entender como tudo se iniciou e avançou até os dias atuais. Estes avanços mostram que todos os dias há uma coisa nova para conhecer e se adaptar. Assim também acontece com a forma que as pessoas e os meios de comunicação se interagem. Atualmente, com a vasta utilização de aplicativos cujo objetivo é facilitar a comunicação de forma instantânea e até mesmo com novas práticas de ensino à distância, mas nem sempre foi assim. Este capítulo apresenta a fundamentação teórica do trabalho.

2.1 COMUNICAÇÃO VIRTUAL

A necessidade de comunicação é uma função básica do ser humano. Na época dos homens do período pré-histórico, os humanos já deixavam suas ideias e representações nas paredes das cavernas, passando pela utilização dos sistemas simbólicos. É possível dizer que o primeiro meio de comunicação e mais poderoso foi a escrita, e que ela causou profundas mudanças na sociedade. Após a escrita, outros meios de comunicação foram surgindo e contribuindo cada vez mais para a redução do espaço da distância geográfica da comunicação entre pessoas.

Se faz referência aos meios de comunicação de massa como instrumentos que intermediam o processo comunicacional, mas regularmente é confundido com o canal de comunicação. A palavra “comunicação” tem origem no Latim “communicatio”, que significa “ação de tornar algo comum a muitos” (POYARES, 1970). A comunicação ocorre quando o emissor traduz a sua ideia para uma linguagem ou código que possa ser compreendido pelo receptor. O homem possui duas características distintas: a de emissor e a de receptor, podendo elas serem simultaneamente utilizadas ou variando conforme as diferentes formas de comunicação.

Os meios de comunicação físicos eram recorrentes para a troca de informações, mas, com grandes avanços tecnológicos na área da comunicação, entra em cena a Internet. Como mostra no trecho retirado do artigo publicado por Teixeira (2012), na revista Temática.

(14)

Após o Governo Norte Americano ter criado a “Advanced Research and Projects Agency” (Agência de Pesquisas em Projetos Avançados), em 1958, a ideia da comunicação em rede surge em março de 1960, no artigo do Cientista Joseph Carl Robnett Licklider “Man-Computer Symbiosis” (Simbioses Homem-Computador) publicado na revista Transactions on Human Factors in Electronics. Na década seguinte, Vinton Cerf cunha o termo “Internet” (sistema global de redes interligadas de computadores) oferecendo a sociedade uma vasta gama de recursos e serviços. Com a informatização generalizada das mídias de massa e perda de audiência para as novas tecnologias de informação e comunicação, muitas passaram a optar pela extensão dos polos de emissão ou pela extinção das estruturas físicas e migração para o universo virtual.

A Internet apresenta uma união de mídias. Em um computador já é possível assistir televisão, ouvir rádio ou ler um jornal, ou seja, hoje, todas as mídias tradicionais podem ser encontradas no universo virtual. O usuário dessa rede pode espalhar mensagens e ideias através de e-mail, chats ou até mesmo em websites. Ele pode expandir a sua música através da gravação em um formato que seja manipulável através da Internet; gravar um vídeo em uma câmera digital e divulgá-lo. Enfim, as possibilidades são inúmeras. Cada indivíduo é emissor e receptor de forma simultânea dentro da rede.

A comunicação reduz a distância e permite que as pessoas se aproximem. Não em uma perspectiva concreta, obviamente, mas de maneira virtual. Com a Internet as distâncias geográficas tornam-se muito pequenas, porque, no universo virtual, não existem distâncias geográficas medidas fisicamente. É possível conversar com alguém que esteja há milhares de quilômetros de distância, receber arquivos, trocar fotos, tudo em questão de poucos segundos.

As redes sociais virtuais são um meio de comunicação diferente da mídia tradicional, pois os usuários possuem uma diferente distribuição na capacidade de se comunicar. O usuário das redes virtuais não se limita apenas na posição de espectador, porque ele pode ser também autor, produtor e promotor de textos ou qualquer outro tipo de material. Portanto, ganha espaço uma comunicação bidirecional.

Hoje o Facebook é a rede social mais famosa, mas não é a pioneira. A ClassMates foi considerada a primeira rede social, é o que explica Ropero (2013) para o Diário do Grande ABC.

O ClassMates (colegas, em inglês) é considerado a primeira rede social. Foi criado em 1995 pelo norte-americano Randy Conrads para reunir amigos da

(15)

escola e faculdade. O serviço era pago, mas fez muito sucesso na época entre usuários dos Estados Unidos e Canadá. Existe até hoje.

Em 1997 surgiu o Six Degrees, de Andrew Weinreich, parecido com as redes sociais que conhecemos hoje: com envio de mensagens, publicação em murais e a possibilidade de adicionar contatos. Nos anos seguintes apareceram o Friendster (2002), que não funciona mais, e os famosos MySpace (2003), que permite compartilhar músicas e fotos, e o LinkedIn (2003), com o objetivo de reunir contatos profissionais.

No Brasil, a mania de ter amigos pela internet chegou com o Orkut (2004), que leva o nome do dono, o engenheiro turco Orkut Büyükkökten. No mesmo ano surgiu o Facebook, criado por Mark Zuckerberg e amigos da universidade. No começo, era apenas para alunos de algumas faculdades. Em 2006, foi liberado para qualquer pessoa (a partir de 13 anos). (ROPERO, 2013).

Outras redes sociais foram surgindo e estão sempre em constante evolução, com novidades e avanços tecnológicos, para que a comunicação aconteça cada vez mais rápido e com melhor qualidade.

2.2 SERVIÇOS DE ENVIO DE MENSAGENS INSTANTÂNEAS

A Internet é o meio de comunicação que mais cresce entre os brasileiros. Esse crescimento está atrelado a vários fatores como idade, renda, avanço tecnológico e grau de escolaridade.

Normalmente refere-se à Internet em termos de comunicação como se fosse o próprio e único meio, quando na verdade ela é apenas mais um canal de envio de dados e informações, uma vez que dentro dela temos outros meios de comunicação. Graças ao avanço da tecnologia a comunicação via Internet é algo cada vez mais ilimitado, que permite se comunicar em um menor espaço de tempo e em maiores distâncias. Entre os principais meios de comunicação na Internet, segundo Rosa (2016), encontram-se:

Redes Sociais, atualmente já existem em diversos formatos tendo como principal finalidade de interação e relacionamento, o entretenimento também é uma grande vantagem disponibilizada pelas redes sociais. Nas primeiras redes sociais havia apenas a troca de mensagens entre os usuários, já nas atuais, existe a exposição de perfis com informações pessoais, fotos, além de formas de comunicação bem mais abrangentes.

E-mails, o e-mail é uma forma de comunicação utilizada em todo o mundo, é um meio de comunicação diferente dos demais, utilizado nas empresas como uma das principais ferramentas de comunicação, por essa razão ele deve ser eficiente e profissional.

Sites de notícias e entretenimento, servem de apoio a campanhas de publicidade de outros meios de comunicação como o rádio, televisão, jornal, placas e folhetos. Constituir um empreendimento completo ou parcial

(16)

prestando serviços, vendendo produtos ou simplesmente informando com custos reduzidos em relação ao negócio “não virtual”. Atualmente, ter um site deixou de ser um privilégio de poucos e tornou-se essencial para qualquer empresa e profissional liberal destacar seus serviços e diferenciais.

Skype seria um telefone on-line com recursos de texto e vídeos, milhões de pessoas e empresas usam o Skype para fazer de graça chamadas com vídeo e chamadas de voz, enviar mensagens de chat e compartilhar arquivos com outras pessoas pelo Skype.

Blog muito usado entre adolescentes, o blog é como um “diário on-line”, onde seu autor pode compartilhar fotos, vídeos e textos, expondo seus pensamentos cuja estrutura permite a atualização rápida a partir de acréscimos chamados de artigos, ou “posts” também é possível criar um blog em determinado nicho de mercado e ainda ganhar dinheiro com anúncios, programas de afiliados, vendas diretas e indiretas. (ROSA, 2016)

Utilizada no mundo inteiro ela não poderia estar fora do mercado capital. Ganhando força também dentro das empresas, a Internet conquista os empreendedores que estão sempre em busca de novidades querendo expandir a visibilidade do seu negócio, pela facilidade e rapidez, alcançando metas e objetivos maiores em menor tempo e custo, o que nós chamamos de marketing digital.

Rosa (2016), cita também que o marketing digital depende de duas coisas fundamentais: planejamento e conhecimento do seu público-alvo. Não se pode deixar de usufruir as vantagens que esses meios da Internet nos proporcionam, mas o mais importante é saber manipulá-los; usá-los da maneira correta, para que além de uma boa comunicação, também seja possível adquirir um bom resultado nas vendas.

Por ser uma ferramenta formal, o e-mail é muito utilizado pelas empresas como principal meio de comunicação, seja com clientes, funcionários ou fornecedores. Nas empresas, entra em cena também o SMS para meios de divulgação de serviços, para contato direto com os clientes, enviar avisos, cobranças, promoções, entre outros.

Em pleno ano de 2019, é difícil encontrar alguém que não use nenhuma rede social. O vício acontece com muita gente, que praticamente se esquece de todo o resto da internet, acessando somente Facebook, Instagram, Twitter, Telegram e WhatsApp no dia-a-dia, isso pode acabar afetando até mesmo o rendimento dos funcionários dentro das empresas.

Dentro das organizações, a comunicação virtual e a utilização de aplicativos de envios de mensagens instantâneas está sendo utilizada gradativamente. De acordo com Fengler (2013), atualmente os funcionários e gestores se comunicam

(17)

cada vez mais de forma virtualizada. Ferramentas que trazem praticidade, como correio eletrônico, sistemas de conversas instantâneas, intranet, fóruns internos, sistemas mobile, entre outras, e acabam substituindo cada vez mais a comunicação face a face.

O que se pode perceber é que as relações pessoais dentro das organizações tendem a ser mais distantes e frias, dificultando o relacionamento interpessoal entre colaboradores, líderes e liderados. Por outro lado, essas ferramentas facilitam muito o diálogo entre unidades de uma mesma organização que estão geograficamente distantes, podendo haver trocas de ideias em uma rápida reunião a distância.

Antes da massiva utilização das redes sociais, o SMS era o principal meio de comunicação de texto, um dos mais utilizados do mundo. Esta preferência se dava por alguns dos principais motivos como: baixo custo dos torpedos, comunicação assíncrona, objetividade das mensagens e consequentemente maior economia dos minutos adquiridos em planos de telefonia móvel.

Entretanto, devido a evolução tecnológica dos dispositivos móveis com o lançamento dos smartphones e o fácil acesso à Internet de alta velocidade, a limitação deste recurso de comunicação se tornou cada vez mais evidente. Com isso, começaram a surgir diversas iniciativas de aplicativos de mensagem instantânea para smartphone, semelhantes aos atualmente utilizados em computadores pessoais.

Ao comparar os meios de comunicação mais utilizados com o sistema que está sendo proposto e as vantagens que o mesmo poderá trazer para a área do comércio, é possível perceber uma pequena melhora, principalmente por referir-se à implementação de um serviço juntamente com o uso de um aplicativo de envio de mensagens que possui uma maior aceitação no mercado no momento e vem tendo um constante crescimento, como mostra a pesquisa realizada por Gonçalves (2019) pela e-commercebrasil.

O número de usuários brasileiros com o aplicativo no smartphone subiu de 13% para 19% em relação ao último levantamento. O destaque do app ficou sobre as mensagens de áudio: ganhou 11 pontos percentuais. Foi um salto de 42% para 53% entre os usuários ativos mensais. Tal qual o Instagram, o índice de rejeição do Telegram para a comunicação com as marcas é de apenas 1%.

(18)

Uma vez que o Telegram possui uma grande utilização, se faz perceptível que os clientes de empresas que utilizam o serviço de envio de mensagens para algum fim não estão mais interessados no uso do SMS, mas sim em novas tecnologias, de mais fácil utilização e interação direta.

2.3 VANTAGENS DA UTILIZAÇÃO DO TELEGRAM

Segundo informações do site da Wikipedia (2019), o Telegram foi fundado em 2013 pelos irmãos Nikolai e Pavel Durov, atualmente, encontra-se sediado em Dubai, Emirados Árabes Unidos. Nikolai criou o novo protocolo MTProto em que o mensageiro é baseado, enquanto Pavel forneceu apoio financeiro e de infraestrutura por meio de seu fundo da Digital Fortress. O Telegram possui código aberto, porém seus servidores são proprietários. O serviço também providencia APIs (Application Programming Interface) para desenvolvedores independentes.

O principal diferencial do projeto foi a busca pela simplicidade com a utilização do próprio número de celular do usuário como seu identificador. Com isso, o aplicativo consegue por meio do acesso da agenda telefônica identificar automaticamente todos os usuários que já utilizam o Telegram e iniciar uma conversa tão simples como o SMS, dando maior poder ao usuário para enviar não apenas texto como também documentos, fotos, vídeos e áudios.

O Telegram é multiplataforma, e possui as versões para desktop e móvel, para os sistemas como iOS, Android, Windows, além de uma versão para navegadores web. Diferente do seu concorrente direto, o WhatsApp, que limita para até 256 pessoas em cada grupo, no telegram o usuário pode criar um grupo com até 200.000 membros.

O serviço do telegram é gratuito, disponibilizando serviços de mensagens e chamadas de forma simples e segura. O aplicativo está disponível em telefones celulares ao redor do mundo todo.

Muito conhecido pela sua alta segurança, tem a possibilidade de uso em mais de um dispositivo, o Telegram se apresentou como uma alternativa muito interessante. Em especial por conta de seu conceito de segurança, onde há criptografia servidor-cliente nas conversas em nuvem (privadas e em grupo), e conversas secretas possuem uma cama adicional de criptografia cliente-cliente.

(19)

Todos os dados, independentemente do tipo, seguem o mesmo processo de criptografia, não importando se estão no formato de texto, mídia ou arquivo.

Utilizado para diversos fins, o aplicativo pode ser de grande valia no desenvolvimento de estudos, principalmente pela interatividade que o mesmo proporciona, como exemplo: um grupo de estudos referente a uma matéria onde os membros do grupo são alunos de uma turma, compartilhando informações e ao mesmo tempo tirando dúvidas entre eles. Unir a tecnologia com a sala de aula não é uma tarefa fácil, mas pode ser uma ótima solução para dinamizar a interação entre os alunos no contexto educacional.

O mesmo caso pode acontecer dentro de uma empresa, com um grupo de trabalho compartilhando novas ideias, complementando o trabalho de colegas e discutindo assuntos da empresa sem a necessidade de uma reunião local. Adiantando muitos assuntos relacionados a empresa, aumentando assim a produtividade da mesma.

As empresas também utilizam, mesmo que de forma limitada o Telegram para fins de divulgação de trabalhos, propagandas e avisos aos clientes. O trabalho para enviar mensagens a uma vasta lista de contatos é enorme, por isso os novos aplicativos ainda são pouco utilizados para este tipo de serviço por grandes empresas e organizações. Já as pequenas empresas acabam optando pela utilização deste serviço, seja criando grupos, publicando no status no aplicativo e enviando mensagens para clientes mais específicos.

Este projeto tem como finalidade desenvolver um sistema que seja capaz de gerenciar o envio de mensagens em massa no Telegram dentro das empresas, sejam elas grandes, médias ou pequenas, para fins de divulgação e contato com os clientes.

2.4 DESENVOLVIMENTO WEB

O número de usuários da Internet no Brasil atingiu cerca de 100 milhões, de acordo última pesquisa realizada pela Agência Brasil. Esse número mostra a importância das empresas em garantirem uma boa presença online para impulsionar suas vendas, e a principal forma de garantir essa presença é através de um site ou um aplicativo.

(20)

O título, desenvolvimento web, é um termo utilizado para descrever o desenvolvimento de sites que ficam disponíveis para acesso na Internet. O desenvolvimento refere-se a um processo de construção e testes de um software especifico para a web com a finalidade de se obter um conjunto de funções que satisfazem as ações pretendidas para aquela página. O desenvolvimento web pode variar desde simples páginas estáticas a aplicações complexas, comércios eletrônicos ou redes sociais.

Com o passar dos anos as aplicações web evoluíram rapidamente de simples web sites cujo propósito era apenas navegação entre páginas, com apresentações da empresa, imagens, contatos e localização para verdadeiros sistemas de informação altamente complexos, repletos de dados, transações, efeitos e com sistema de vendas, voltados para a implementação de processos de negócios. Diante deste quadro, a necessidade de um processo de software sistemático que ajude a gerenciar o ciclo de vida de tais aplicações surge naturalmente. Para realizar um desenvolvimento de um sistema web depende de três personagens principais, é o que explica, Eis (2014) em seu artigo.

O desenvolvimento web depende de três personagens principais: W3C, que regulamenta, cria e sanciona padrões para a web. Os browsers, que importam essas regras e padrões de forma que a web seja mais homogênea e também podem criar padrões. E por fim os desenvolvedores, que aplicam os padrões em projetos, produzindo e criando na web.

Um sistema integrado com a web permite maior mobilidade para os que vão trabalhar com ele, pois é possível acessá-lo de qualquer dispositivo que esteja conectado à Internet. Empresas que atuam com sistemas web podem mais facilmente proporcionar aos seus funcionários a possibilidade de trabalhar remotamente, atualmente conhecido como home office. Com uma menor preocupação com investimentos, pois não é preciso pensar em muitos equipamentos para acessá-lo, basta um computador com acesso à Internet.

Um website é o conjunto de todos documentos de texto, cores, links, imagens e formatação que permitirá que o usuário navegue pelo site. Normalmente ele vem associado com sua URL, que é o que digitamos para acessá-lo, como www.usemobile.com.br. Esse domínio é o que explica para seu Web Browser onde todos os arquivos se encontram. Um Web Browser é todo aplicativo capaz de baixar e exibir esses documentos e exibir suas

(21)

informações de forma organizada ao usuário. O Google Chrome e o Mozilla Firefox são exemplos de Web Browsers mais utilizados. (Madureira, 2017)

Agora que foi possível entender alguns conceitos básicos, vamos para o processo de desenvolvimento web em si, do planejamento ao lançamento, como explica Madureira (2017).

PLANEJAMENTO: O primeiro passo para o planejamento é deixar claro quais são os objetivos do seu site para a estratégia da sua empresa. Esses objetivos irão todo o planejamento da equipe de desenvolvimento web. A partir daí define-se o perfil do seu público alvo, que deve acessar seu website, e começa-se a pensar em todo o comportamento que eles terão. DESENVOLVER O PROTÓTIPO: O protótipo apresentará toda a arquitetura do seu site e é uma forma de documentação mais efetiva que a clássica, guiando todo desenvolvimento web. Identificar todas as páginas que seu site deve e ter sua estrutura é o primeiro passo para a prototipação. Então é possível identificar como as páginas se comunicarão entre si, bem como quais são importantes para um menu de navegação. A homepage de seu site é a principal porta de entrada para todos os usuários, então ela requer atenção especial. O conteúdo das demais páginas já foi pensado, então coloque aqui o que é realmente importante para o usuário.

PLANEJAR E DESENVOLVER O DESIGN: O layout do seu site só deve começar a ser desenvolvido após o protótipo ser criado, pois é ele quem guiará o trabalho do designer. Enquanto o protótipo é criado, o mood board do seu projeto de site pode ser feito. Ele é um painel de referências visuais, com conjuntos de imagens, fontes, cores e de como a estética irá interagir com o propósito da marca.

DESENVOLVIMENTO DO CÓDIGO: Essa pode ser considerada uma das partes mais trabalhosas do desenvolvimento web. Essa é a etapa que fará com que tudo o que foi planejado no início do projeto de seu site funcione. Os programadores desenvolverem toda a lógica por trás do layout, linkando os botões criados pelo designer as funções reais. Normalmente o código estrutural é escrito em HTML/CSS e o suporte a outras funções é escrito em PHP ou Javascript.

TESTES: Realizado todo o desenvolvimento web, é hora de testar o seu site e coletar feedbacks sobre o que as pessoas pensam. Peça para amigos, familiares e para qualquer pessoa que possa ter interesse em seu site, para testar e levantar erros e dificuldades. Os erros te falarão se alguma linha do seu código de programação precisa ser refeita ou revisada. As dificuldades irão apontar se existe algum lugar do seu layout que não está intuitivo ao usuário e precisa ser refeito.

LANÇAMENTO: O último passo a ser tomado no desenvolvimento web é o lançamento de seu site. Agora que ele já passou por revisões, é hora de divulgá-lo para que as pessoas comecem a acessá-lo. (MADUREIRA, 2017)

Para entender melhor como é o funcionamento de uma plataforma web, é possível compará-la com um iceberg. Ele possui uma parte visível, que fica acima do nível do mar, e abaixo da água existe outra parte muito maior, onde é impossível de se enxergar a olho nu. Da mesma forma, é possível explicar o funcionamento de uma plataforma web, que é preciso dividi-la em duas partes: Front-end, que é

(22)

equivalente a parte de cima do iceberg; e Back-end, equivalente a parte de baixo. Andrade (2017) explica melhor o que cada parte representa dentro do desenvolvimento web.

Front-end é a parte que o usuário vê na tela do computador, e com a qual interage. Ou seja, a frente do site, plataforma ou sistema. O desenvolvimento do front-end depende de 3 conceitos: uma linguagem de marcação (HTML), uma linguagem de estilo (CSS) e uma linguagem de script ou interpretada (JavaScript). Todo site tem que estar hospedado em um servidor (seja da Google, Amazon entre outros) e é lá onde ficam guardadas as informações, como banco de dados, login e senha além de todos os sistemas e processamento de dados. Nós, da Kingly Studio, usamos principalmente PHP para programar e MySQL como banco de dados, mas diversas outras linguagens de programação podem ser usadas.

Para que o desenvolvimento web seja completo e funcional, é preciso tomar alguns cuidados, estar sempre atento, pois o ambiente web está sempre em constantes modificações, além de o desenvolvimento também estar sempre recebendo atualizações em suas linguagens de desenvolvimento para aperfeiçoamentos. Manter o sistema sempre atualizado é manter o sistema seguro, principalmente de ataques cibernéticos.

No desenvolvimento web é utilizado uma linguagem de programação conhecida como PHP (Hypertext Preprocessor). Criado em 1995 por Lerdorf é uma linguagem interpretada livre, desenvolvida com o propósito de ser utilizada para desenvolver aplicações voltadas para web, com foco ao lado do servidor. São capazes de fazer uma geração dinâmica de conteúdo dentro da World Wide Web, popular WWW.

A linguagem pode ser utilizada juntamente com o HTML (HyperText Markup), onde o código passa a ser interpretado pelo módulo PHP presente no servidor que faz a criação da página web que será visualizada pelo cliente. A evolução passou a trazer funcionalidades como a linha de comando, ganhando também características adicionais, o que amplia ainda mais o uso do PHP - não sendo estes recursos necessariamente relacionados a web. Hoje é possível instalar a linguagem em quase todos os sistemas operacionais de forma gratuita.

O PHP se estende a uma área de atuação bem específica: o desenvolvimento web, fazendo com que tenha uma larga gama de profissionais que utilizam essa linguagem de programação. O PHP visa principalmente implementar

(23)

soluções mais velozes nesta área. Pode ser considerada uma linguagem simples pelo fato de se assemelhar com a linguagem de programação C, que já é amplamente conhecida.

O PHP é uma linguagem flexível que suporta uma variedade de técnicas e paradigmas diferentes de programação, ou seja, é uma linguagem multi-paradigma. Desde programação procedural até a POO (Programação Orientada a Objetos). O PHP nos permite criar aplicações bem estruturadas, organizadas e de fácil manutenção. A linguagem foi criada com base em características como: orientação a objetos, portabilidade, velocidade e ao lado do servidor.

A característica ao lado do servidor, refere-se a tecnologia de hospedagem de aplicações na nuvem, onde por meio dela é possível disponibilizar o seu sistema na web. Para entender como funciona um cloud hosting, do português: hospedagem na nuvem, é necessário voltar um pouco no tempo e entender como foram os primeiros recursos desta tecnologia. Segundo o site, Tudo Sobre Hospedagem de Sites, em sua Redação (2017), explica um pouco dessa história.

Na década de 70, a IBM lançou um sistema operacional que era baseado em uma máquina virtual. Esse sistema virtual foi criado para permitir que diversas pessoas usassem simultaneamente um mesmo computador, que na época eram mainframes gigantescos, que ocupavam o andar inteiro de um prédio. Com uma máquina virtual dentro de um mainframe, cada usuário podia usar uma porção de memória, processamento e outros recursos, sem interferir no trabalho do colega.Alguns anos mais tarde, na década de 90, surgiu um modelo de computação chamado de Grid Computing, no qual diversos computadores poderiam compartilhar seus recursos para realizar grandes cálculos e processamento de dados. Ao unir esses dois conceitos, máquina virtual e o grid computing, foi possível criar máquinas virtuais muito mais potentes do que os computadores individuais que compõem o sistema. O termo cloud computing foi usado pela primeira vez na década de 90 para representar uma rede de servidores – de número e localização desconhecidos – que podem ser acessados pela internet e que tem a capacidade de realizar grandes cálculos (processamento de dados).

Hospedagem cloud é um serviço que disponibiliza na internet um ou mais servidores virtuais que não estão localizados em um computador específico, mas em uma série deles. Na prática, a nuvem é uma rede poderosa de computadores interligados e que funciona como um supercomputador. Ao distribuir os recursos de um único servidor entre vários computadores é possível aliviar a carga de cada máquina e ganhar muito em capacidade de processamento.

(24)

Como o processamento é distribuído entre vários computadores, pode-se até mesmo criar supercomputadores, com capacidade de processamento de dados muito superiores ao que seria possível com um único servidor local. O mesmo site, explica uma lista de vantagens que a hospedagem cloud pode oferecer.

Uma das grandes vantagens de uma hospedagem na nuvem, é a possibilidade de aumento ou redução de seus recursos, à medida que eles se fazem necessários. Além da vantagem de poder expandir e reduzir os recursos, a cobrança no cloud hosting é proporcional ao que é utilizado. Ou seja, você não pagará por mais recursos do que o necessário. A capacidade de processamento e armazenamento do sistema pode ser expandida praticamente sem limites. As vantagens dessa arquitetura são muitas, principalmente para aplicações e sistemas que precisam processar muitas informações online. (REDAÇÃO, 2017).

Para entender melhor a possibilidade de aumento ou redução de recursos, imagine que você possui uma loja virtual, que tem um tráfego online em seu site, que seja constante na maior parte do ano, mas, que possui aumentos repentinos em determinadas épocas, como exemplo, a Black Friday ou o final de ano. Se for utilizado um serviço de hospedagem tradicional, há uma grande chance de o site ficar fora do ar, caso o servidor não suporte a quantidade de acessos. Para contornar essa situação, será necessário fazer upgrade no plano ou até mesmo contratar um servidor dedicado.

Para quem possui uma hospedagem cloud, não precisa fazer um upgrade de plano, apenas expandir os recursos de seu serviço, o que é feito no próprio painel de controle da hospedagem. E então, após o final da época de alto tráfego, poderá reduzir a quantidade de recursos utilizados, voltando ao patamar anterior. Então apenas será acrescentado um valor a mais, referente a quantidade de recursos utilizados além do contratado durante aquele período, assim ocasionando uma grande economia e tranquilidade, de forma que o site estará funcionando durante esses aumentos repentinos.

Outra vantagem apresentada no site, e uma das mais importantes, pois influencia no custo dos proprietários das empresas, é a questão da evolução de equipamentos e a mão de obra para manutenção. Na hospedagem cloud esse problema não existe.

Muitas empresas mantêm por conta própria servidores para armazenar dados e sistemas de uso interno e que não podem ser acessados por

(25)

ninguém de fora da empresa. Uma rede interna (intranet), por exemplo, funciona dessa maneira. Essa infraestrutura de servidores e equipamentos de rede precisa de manutenção, seja para manter os sistemas atualizados e funcionando, seja para fazer upgrades e melhorias de equipamento. Nesse caso, a empresa precisará contatar profissionais especializados para manter essa rede e servidores internos. Esses profissionais podem ser funcionários da própria empresa ou terceirizados. Seja qual for o modelo, haverá um custo para manter os profissionais e equipamentos, que pode ser bastante alto, dependendo da estrutura. Por conta desse custo elevado, muitas empresas acabam optando por migrar seus sistemas internos para uma nuvem privada, que fica disponível na internet, mas só pode ser acessada utilizando credenciais da própria empresa. Nesse novo cenário, a empresa reduz em muito o custo com equipamento, que ficará a cargo do fornecedor do serviço de hospedagem cloud, e também reduz o custo com profissionais especializados, pois a manutenção e atualização dos servidores será feita também pela fornecedora da cloud. (REDAÇÃO, 2017).

Mais do que uma tendência, a hospedagem cloud veio para resolver alguns dos grandes problemas que muitos administradores enfrentavam quando o site começa a crescer ou ter grandes picos de tráfego. Da mesma forma, empresas que migram sua estrutura de TI interna para a nuvem ganham a tranquilidade de não ter que se preocupar com manutenção de servidores e redes, além da mobilidade de poder acessar seus recursos de qualquer parte do mundo.

2.5 APPLICATION PROGRAMMING INTERFACE

A sigla API, do inglês: Application Programming Interface (API), que em português significa Interface de Programação de Aplicativos, é uma forma de integrar sistemas, possibilitando benefícios como a segurança dos dados, facilidade no intercâmbio entre informações com diferentes linguagens de programação e a monetização de acessos. As APIs são um tipo de ponte que conectam aplicações, podendo ser utilizadas para os mais variados tipos de negócio por empresas de diversos nichos de mercado ou tamanho.

O acrônimo API é muito antigo na computação, mas a integração de sistemas com utilização de APIs, baseada em protocolos abertos da web, segundo Fernandes (2018), começou nos Estados Unidos acerca do ano 2000, protagonizada por empresas que, até hoje, são gigantes mundiais em business tecnológicos dos mais variados objetivos.

O mesmo autor também cita que companhias como Ebay, Salesforce, Amazon e, um pouco mais tarde, o Twitter, enxergaram nessa ampliação de

(26)

demanda por Internet a chance de gerar negócios online. Ou seja, a integração de interfaces foi a forma de potencializar as respectivas teias de negócios, gerando oportunidades para parceiros e clientes.

A maioria das pessoas não sabe o que é uma API. Isso porque elas são invisíveis ao usuário comum, pois elas estão presentes dentro dos softwares e aplicativos, incluídas na programação dos mesmos. Os profissionais de programação conhecem por dentro essa tecnologia que é resultado da evolução de diversos sistemas e ferramentas. Alguns aplicativos e softwares de diversos tipos são apenas passíveis de construção por meio dos padrões e especificações disponibilizados pelas APIs.

As APIs proporcionam a integração entre sistemas que possuem linguagem totalmente distintas de maneira ágil e segura. Isso porque elas criam uma espécie de portão, na qual apenas conjunto específico de informações – definido pela empresa proprietária da aplicação – estará disponível. (FERNANDES, 2018)

Se um banco possui diversas informações nos sistemas internos quanto a assuntos como número de contas abertas por mês e clientes em débito, com a exposição de uma API seria possível para terceiros criar uma aplicação que seja específica para consultar apenas dados de clientes em débito ou apenas os com montantes altos em suas contas. Esses dados podem ser de grande utilidade para empresas de crédito no momento de realizar avaliações de risco.

Para maior segurança de uma API ela conta com um gateway, que segundo Fernandes (2018), é o responsável por trazer segurança e auditoria para APIs, identificando quem acessou, quando, de onde e o que consultou. Essas são perguntas que uma API sabe responder quanto aos modos como ela é utilizada. Um gateway de API dá a possibilidade de ter um relatório detalhado quanto ao fluxo de dados operados. É uma potencialidade importante para empresas que utilizam as API no e-commerce ou em sistemas que manipulam dados de elevado valor ou necessidade de sigilo, como é o caso dos dados bancários.

Seria impossível enumerar a quantidade de APIs que estão no dia a dia das pessoas. Atualmente, em um mundo cada vez mais interconectado, existem cada vez mais softwares que utilizam APIs para realizar uma busca de informação detalhada sobre alguma pessoa ou local. As Interfaces de Programação de

(27)

Aplicações se tornaram protagonistas em diversas tarefas que são executadas no dia a dia.

Atualmente, a principal API e mais utilizada por todos, é a que realiza login ou efetua cadastros nas redes sociais. Essa integração de contas pessoais com uma plataforma possui a potencialidade de personalizar a experiência do usuário em ambientes digitais, tornando o processo mais prático e rápido, ou seja, precisa apenas ter um cadastro bem feito em uma rede social para que então o mesmo seja buscado por outros sites.

As redes sociais, por exemplo, armazenam informações que podem ser úteis para avaliar nossos hábitos de consumo, como idade, sexo, localização, locais frequentados. Essas informações podem ser fundamentais para uma estratégia de marketing digital e para área comercial de uma organização.

Outro exemplo de API, é quando acessa um site de um estabelecimento, onde em alguma aba do site é possível visualizar a localização através de um mapa fornecido pelo Google Maps. Ciriaco (2009), explica que esse processo de localização é realizado através da API. É através dela que desenvolvedores de softwares e programadores da web podem criar belos programas e páginas, repletos de conteúdo para seus usuários.

Com as APIs é possível ter acesso a vários recursos disponíveis em ferramentas que são utilizadas muitas vezes separadamente pelos usuários, e tudo isso sem deixar de manter a segurança dos dados. A API a ser desenvolvida neste projeto é do tipo de política pública, pois a mesma será disponibilizada para todos, e com isso, outros sistemas podem desenvolver aplicativos que interajam com ela.

2.6 PROJETO DE SOFTWARE

Um software atualmente não tem mais um grande planejamento por trás, muito disso, é devido a falta de tempo dentro das empresas no desenvolvimento do sistema e o software acaba sendo desenvolvido e projetado ao mesmo tempo, ocasionando um grande número de falhas durante o desenvolvimento. Acaba que o desenvolvedor tem que parar e pensar em uma solução, que se torna então no projeto do sistema, facilitando então, a resolução das falhas existentes. Por isso, é

(28)

de grande importância que todas as empresas de desenvolvimento dediquem um tempo para o desenvolvimento do projeto do software que será desenvolvido.

O projeto é a parte da engenharia de software que se encarrega de fazer todo o planejamento anterior ao desenvolvimento, iniciando pelo levantamento de requisitos e incluindo a definição da arquitetura do software. Documentar tudo para que os requisitos do cliente sejam interpretados facilmente pelo programador na hora de desenvolver o sistema, como explica Sommerville (2005).

Projeto de software é uma descrição de estrutura de software a ser implementada, dos dados que são partes do sistema, das interfaces entre os componentes do sistema e, algumas vezes dos algoritmos utilizados. Os projetistas não conseguem que um projeto seja concluído imediatamente, mas desenvolvem o projeto iterativamente por meio de uma série de diferentes versões. O processo de projeto envolve acrescentar formas e detalhes, à medida que o projeto é desenvolvido, com retornos constantes, a fim de corrigir projetos anteriores.

O projeto de software pode ser subdividido em dois tipos para melhor entendimento, sendo o projeto lógico e o projeto físico.

O projeto lógico é a elaboração do documento do projeto de software, ou seja, a definição de quais as funcionalidades do sistema, apresentadas em forma de diagramas, para que o desenvolvedor tenha um melhor entendimento de o que o sistema deverá fazer. Por meio da documentação é possível obter a visão detalhada da solução, dos produtos e das integrações do sistema.

É por meio dos diagramas apresentados nesta fase, que é possível esboçar entradas e saída das informações, através de casos de uso, classes, o modelo lógico do sistema e o diagrama de sequência. Também é um meio de analisar custos, benefícios, riscos e viabilidade do sistema antes de ir direto ao desenvolvimento.

Após o desenvolvimento do projeto lógico, passa-se para o projeto físico do sistema que consiste teoricamente em especificar o modelo de dados das tabelas do banco, reestruturar os dados, eliminar redundâncias e analisar as dependências funcionais.

No projeto físico, também são especificados os modelos de processos, os métodos de acesso ao sistema, onde estará hospedado e principalmente definir os procedimentos do plano de segurança das informações, conhecido como backup. Nesta etapa é definida a linguagem de programação que será utilizada no

(29)

desenvolvimento do software, assim como demais componentes de desenvolvimento.

(30)

3 PROJETO DO SOFTWARE

Para relembrar, vimos no capítulo anterior sobre a história dos meios de comunicação, serviços de envio de mensagens instantâneas, novos aplicativos e também entender um pouco sobre como é o desenvolvimento web, linguagem de programação e a hospedagem em nuvem. Por último, conhecer o funcionamento de uma API, sua finalidade e suas vantagens, e um conceito sobre o projeto de um software, porque é importante e como auxilia no desenvolvimento.

Considerando a fundamentação teórica vista no capítulo anterior, o presente item deste trabalho destina-se ao planejamento do software proposto. Esse sistema tem como objetivo o desenvolvimento de um serviço que facilitará o envio de mensagens instantâneas utilizando um aplicativo que atualmente é mais utilizado que o SMS como meio de comunicação instantânea: o Telegram. Este capítulo irá apresentar o sistema proposto, bem como a sua modelagem, algumas informações de desenvolvimento e diagramas da aplicação.

3.1 CONTEXTUALIZAÇÃO DA APLICAÇÃO

A aplicação tem o intuito de facilitar a divulgação e comunicação de empresas com seus clientes através de envios de mensagens de marketing com a utilização de um meio de comunicação mais conhecido pelos clientes dessas empresas, o Telegram tem uma grande aceitação no mercado e é mais utilizado que o ultrapassado SMS, que ainda possui grande utilização dentro das empresas. Com um novo sistema de divulgação espera-se que empresas passem a utilizar o novo serviço devido a maior aceitação de seus clientes.

Em outras palavras, a empresa ou uma pessoa, poderá enviar mensagens diversas para seus clientes ou amigos através da utilização do Telegram de forma unificada e automatizada, sem interação direta com a interface da plataforma em questão.

A empresa, cliente do software, deve realizar o seu cadastro, e então cadastrar os seus clientes na base de dados do programa, com a possibilidade de criação de grupos para uma melhor organização. A base de clientes é peça

(31)

fundamental para o funcionamento do software, visto que todas as ações do sistema acontecem a partir dela.

A integração com a plataforma de envio de mensagens acontece através da utilização da API da mesma, a qual possibilita a integração do sistema com a plataforma. Um dos fatores essenciais do serviço é a disponibilização da API por parte da empresa gestora da mídia social, visto que todo projeto é dependente da mesma, onde sem possibilidade de envio de mensagens através da mídia social, o software proposto perde completamente sua essência.

As mensagens podem ser enviadas para os contatos específicos ou grupos de contatos. Alguns possíveis exemplos de uso da aplicação são: envio de promoções, informativos, felicitações de aniversário, cobranças e avisos em geral.

Para melhor entendimento do processo de uso da aplicação, elaborou-se um diagrama de atividades simplificado que pode ser visto na Figura 1.

Figura 1 - Diagrama de atividade simplificado

Fonte: Autor

Todo o acesso do usuário, bem como o processamento e envio das mensagens será realizado via web, assim, eliminando a necessidade de instalação de programas nas máquinas locais das empresas e garantindo o acesso à aplicação de qualquer local, a qualquer hora e em qualquer dispositivo. Cada usuário cadastrado no sistema, possui um login e senha exclusivos, que serão respectivamente, seu e-mail e senha inseridos no cadastro, e que concede acesso ao sistema, conforme opera a grande maioria dos sistemas.

(32)

3.2 PÚBLICO ALVO

O foco principal da aplicação está em um público alvo bem específico, devido a necessidade de uma nova ferramenta para comunicação com seus clientes, as empresas tornam-se o principal público alvo desse sistema. Empresários de todo o mundo e de qualquer classe social ou idade possuem o grande desafio de comunicar-se melhor com seus clientes.

Atualmente as empresas possuem um grande interesse em divulgar sua marca e seus trabalhos a fim de conquistar novos clientes e fidelizar os já existentes, fato este que é fundamental no mundo dos negócios e indispensável para o crescimento de qualquer empresa.

3.3 PROJETO LÓGICO

O projeto lógico, tem como objetivo modelar o software para que o desenvolvedor entenda como o sistema deverá funcionar e reduzir o tempo de desenvolvimento, levando em conta que o sistema já foi pensado e planejado para uma futura implementação. Do conjunto de diagramas de Linguagem de Modelagem Unificada (UML) do projeto de software, neste projeto serão apresentados diagrama de casos de uso, diagrama de classe, modelo lógico relacional e o diagrama de sequência.

3.3.1 DIAGRAMA DE CASOS DE USO

O diagrama de caso de uso descreve a funcionalidade proposta para um novo sistema que está sendo projetado, é uma excelente ferramenta para o levantamento dos requisitos funcionais do sistema e para entendimento por parte do programador na hora do desenvolvimento. Com a utilização de casos de uso é possível apresentar as atividades principais do sistema, seus atores, e principais iterações que serão realizadas por cada ator.

Na figura 2, está representado o caso de uso desta aplicação, apresentando as funcionalidades que o usuário poderá fazer, bem como as funcionalidades que o sistema deverá realizar para que tudo ocorra da melhor maneira.

(33)

Figura 2 - Diagrama de casos de uso

Fonte: Autor

Para melhor entendimento do funcionamento do sistema, a seguir, a descrição detalhada referente a cada caso de uso do sistema.

• Realizar Cadastro

o Esse caso de uso tem a finalidade de que o usuário realize o seu cadastro no sistema.

o Atores:

▪ Usuário. o Cenário Primário:

▪ O usuário realiza o seu cadastro. o Cenário Secundário:

▪ O sistema não está acessando / Tentar novamente mais tarde;

▪ Os dados do usuário são insuficientes ou incorretos / completar o cadastro.

(34)

• Login

o Esse caso de uso tem a finalidade de que o usuário realize o seu login no sistema.

o Atores:

▪ Usuário.

o Casos de Uso Relacionados: ▪ Realizar Cadastro; ▪ Valida Login. o Cenário Primário:

▪ O usuário realiza o seu login. o Cenário Secundário:

▪ O sistema não está acessando / Tentar novamente mais tarde;

▪ Os dados de login estão incorretos / Tente novamente; ▪ Usuário não cadastrado / Realizar cadastro no sistema.

• Cadastrar Telefone

o Esse caso de uso tem a finalidade de que o usuário realize o cadastro de telefones no sistema.

o Atores:

▪ Usuário.

o Casos de Uso Relacionados: ▪ Valida Telefone; ▪ Login.

o Cenário Primário:

▪ O usuário realiza o cadastro de telefones. o Cenário Secundário:

▪ O sistema não está acessando / Tentar novamente mais tarde;

▪ Os dados inseridos estão incorretos ou inválidos / Tente novamente;

(35)

• Criar um Grupo

o Esse caso de uso tem a finalidade de que o usuário realize o cadastro de um grupo no sistema, o qual será vinculado a uma lista de números cadastrados.

o Atores:

▪ Usuário.

o Casos de Uso Relacionados: ▪ Cadastrar Telefone. o Cenário Primário:

▪ O usuário realiza o cadastro de um grupo. o Cenário Secundário:

▪ O sistema não está acessando / Tentar novamente mais tarde;

▪ Nenhum telefone cadastrado / Realizar cadastro de telefones.

• Mensagem

o Esse caso de uso tem a finalidade de que o usuário realize o cadastro de uma mensagem, a qual será vinculado a um grupo de telefones cadastrados.

o Atores:

▪ Usuário.

o Casos de Uso Relacionados: ▪ Criar um Grupo. o Cenário Primário:

▪ O usuário realiza o cadastro de uma mensagem. o Cenário Secundário:

▪ O sistema não está acessando / Tentar novamente mais tarde;

▪ Nenhum grupo de telefones cadastrado / Realizar cadastro de um grupo de telefones;

(36)

▪ Mensagem inválida ou muito grande / Altere os dados da mensagem.

• Enviar Mensagem

o Esse caso de uso tem a finalidade de enviar a mensagem para o grupo de telefones cadastrados.

o Atores:

▪ Usuário.

o Casos de Uso Relacionados: ▪ Cadastrar Telefone; ▪ Criar um Grupo; ▪ Mensagem. o Cenário Primário:

▪ O usuário realiza o envio da mensagem para o grupo de telefones.

o Cenário Secundário:

▪ O sistema não está acessando / Tentar novamente mais tarde;

▪ Erro no envio / Realizar envio novamente.

• Valida Login

o Esse caso de uso tem a finalidade de validar o login de acesso do usuário ao sistema.

o Atores:

▪ Sistema. o Cenário Primário:

▪ O sistema valida o login do usuário. o Cenário Secundário:

▪ O sistema não está acessando / Tentar novamente mais tarde;

▪ Os dados de login estão incorretos / Tente novamente; ▪ Usuário não cadastrado / Realizar cadastro no sistema.

(37)

• Valida Telefone

o Esse caso de uso tem a finalidade de validar os telefones inseridos pelo usuário no sistema.

o Atores:

▪ Sistema. o Cenário Primário:

▪ O sistema valida os telefones inseridos pelo usuário. o Cenário Secundário:

▪ O sistema não está acessando / Tentar novamente mais tarde;

▪ Os dados inseridos estão incorretos ou inválidos / Tente novamente.

• Realizar Envio

o Esse caso de uso tem a finalidade de realizar o envio da mensagem para o grupo de telefones cadastrados pelo usuário.

o Atores:

▪ Sistema.

o Casos de Uso Relacionados: ▪ Enviar Mensagem o Cenário Primário:

▪ O sistema valida os dados e envia a mensagem através da utilização da API do Telegram.

o Cenário Secundário:

▪ API não está acessando / Tentar novamente mais tarde; ▪ Os dados inseridos pelo usuário estão incorretos ou inválidos

/ Tente novamente.

• Confirmação de Envio

o Esse caso de uso tem a finalidade de informar a confirmação do envio da mensagem para o usuário.

o Atores:

(38)

o Casos de Uso Relacionados: ▪ Realizar Envio

o Cenário Primário:

▪ O sistema confirma o envio da mensagem. o Cenário Secundário:

▪ Erro ao realizar o envio da mensagem / Tentar novamente mais tarde.

Para entender melhor como ocorrerá o funcionamento do sistema após o usuário selecionar o envio da mensagem, a figura 3 apresenta um detalhamento referente as funcionalidades que o sistema deverá executar.

Figura 3 - Diagrama de caso de uso enviar mensagem

Fonte: Autor

É possível perceber que sem o acesso à API da plataforma, através da qual será enviada as mensagens, não é possível a realização do envio dos dados da mensagem. Para isso, ao usuário selecionar o envio da mensagem, o sistema realiza o acesso à API do mensageiro, reúne os dados da mensagem a ser enviada e então realiza o envio, aguardando uma confirmação que será apresentada na tela do sistema.

(39)

3.3.2 DIAGRAMA DE CLASSES

Um diagrama de classes é uma representação da estrutura e relações das classes do sistema, é ele que mais auxilia o desenvolvedor, pois é uma modelagem muito útil no desenvolvimento de sistemas. Neste diagrama são definidas todas as classes que o sistema necessita e é a base para a construção de demais diagramas. Com o diagrama de classes é possível definir, o nome da classe, o tipo de atributo e sua visibilidade, as principais operações e a relação entre as classes e seus atributos, como mostra a Figura 4.

Figura 4 - Diagrama de Classes

Fonte: Autor

3.3.3 MODELO LÓGICO RELACIONAL

O projeto do modelo lógico relacional se dá em cima das tabelas do banco de dados, identificando chaves primárias, secundárias e as relações entre tabelas com a identificação de relacionamentos, como exemplo, do tipo 1:N (um para

(40)

muitos), que ocorrem quando uma entidade pode se relacionar com uma ou várias ocorrências de outra entidade. No contexto do banco de dados isso significa que para um registro em uma tabela podem existir vários registros relacionados em outra.

Figura 5 - Modelo lógico relacional

Fonte: Autor

3.3.4 DIAGRAMA DE SEQUÊNCIA

Diagrama de sequência é um diagrama usado em UML, representando a sequência de processos em determinado sistema. Como um projeto pode ter uma grande quantidade de métodos em classes diferentes, pode ser difícil determinar a sequência global do comportamento. O diagrama de sequência representa essa informação de uma forma simples e lógica.

Um diagrama de sequência descreve a maneira como os grupos de objetos colaboram em algum comportamento ao longo do tempo. Ele registra o comportamento de um caso de uso e exibe os objetos e as mensagens passadas entre esses objetos. Ou seja, o diagrama de sequência é uma das ferramentas UML usadas para representar interações entre objetos de um cenário, realizadas através de operações ou métodos. Este diagrama é construído a partir do diagrama de caso de uso.

(41)

O diagrama de sequência dá ênfase a ordenação temporal em que as mensagens são trocadas entre os objetos de um sistema. Entende-se por mensagens os serviços solicitados de um objeto a outro, e as respostas desenvolvidas para as solicitações. Os diagramas representados nas figuras 6, apresentam os principais processos de interações do projeto do sistema que será desenvolvido.

Figura 6 - Diagrama de sequência de cadastro e enviar mensagem

Fonte: Autor

O diagrama da figura 6, representa a ação do usuário ao enviar uma mensagem para um grupo de contatos, onde o usuário não estava cadastrado no sistema. Primeiramente o usuário iniciou o seu cadastro, após cadastrou um grupo e então inseriu contatos a este grupo, para que pudesse enviar uma mensagem ao grupo que havia cadastrado.

Para representar a ação do usuário quando já possui cadastro no sistema, o diagrama de sequencia a seguir apresenta como o usuário deverá seguir os passos para chegar ao objetivo de enviar a mensagem.

Referências

Documentos relacionados

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

xii) número de alunos matriculados classificados de acordo com a renda per capita familiar. b) encaminhem à Setec/MEC, até o dia 31 de janeiro de cada exercício, para a alimentação de

Resultados: Os parâmetros LMS permitiram que se fizesse uma análise bastante detalhada a respeito da distribuição da gordura subcutânea e permitiu a construção de

A Lei nº 2/2007 de 15 de janeiro, na alínea c) do Artigo 10º e Artigo 15º consagram que constitui receita do Município o produto da cobrança das taxas

As cadeias laterais variam em certo nível entre as diferentes formas de clorofila encontradas em diferentes organismos, mas todas possuem uma cadeia fitol (um terpeno ) ligada

Mediante o impacto do paciente com o ambiente do centro cirúrgico, a equipe de enfermagem deve estar voltada para o aspecto humano do atendimento, centrando suas

c.4) Não ocorrerá o cancelamento do contrato de seguro cujo prêmio tenha sido pago a vista, mediante financiamento obtido junto a instituições financeiras, no

Os autores relatam a primeira ocorrência de Lymnaea columella (Say, 1817) no Estado de Goiás, ressaltando a importância da espécie como hospedeiro intermediário de vários parasitos