Você está na página 1de 24

 

APLICAÇÃO WEB PARA PRÁTICA DE CONVERSAÇÃO 


1
DA LÍNGUA INGLESA  
2
Alice Pereira Longhi <alicelonghi@rede.ulbra.br> 
3
Ramon Lummertz <ramon.lummertz@rede.ulbra.br> 

Universidade Luterana do Brasil (ULBRA) – Curso de Nome do Curso – Campus Canoas 


Avenida Farroupilha, 8001 · Bairro São José · CEP 92425-900 · Canoas/RS  

30 de Novembro de 2020 

R​ESUMO 
Este  projeto  tem  como  objetivo  criar  uma  plataforma  para  auxiliar  estudantes  de  inglês  a  terem  um  espaço 
gratuito  e  acessível  para  a  prática  do  idioma  oral.  O  trabalho  analisa  o  cenário  atual do ensino de línguas através de 
tecnologia,  plataformas  já  existentes  que  possuem  no  mercado  resultando  em  um  projeto  que  soluciona  a 
inacessibilidade  das  mesmas,  sendo  assim,  sugere  uma  plataforma  gratuita  voltada  para  estudantes  de  inglês.  A 
plataforma  é  desenvolvida  para  a  web,  utilizando  a  linguagem  de  programação  Javascript  com  o  MongoDB,  um 
programa de banco de dados NoSQL. 
Palavras-chave:​ Aplicações de inglês; Tecnologias para ensino; Aplicações para WEB. 
 

AB​ STRACT 
Title:​ “Web application for english conversation practice” 
This  project  aims  to  create  a  platform  to  help  English  students  to  have  a  free  and  accessible  space  for  the 
practice  of  oral  language.  The  work  analyzes  the  current  scenario  of  language  teaching  through  technology, 
platforms  that already exist in the market resulting in a project that solves their inaccessibility, thus suggesting a free 
platform  for  English  students.  The  platform  is  developed  for  the  web,  using  the  Javascript  programming  language 
with MongoDB, a NoSQL database program. 
Key-words:​English applications; Teaching technologies; WEB Applications. 
 

1 I​NTRODUÇÃO 
Este  projeto  tem  como  principal  objetivo  criar  uma  plataforma  gratuita  a  fim  de  acessibilizar  o 
ensino  e  a  prática  do  idioma da língua inglesa. A aplicação terá como foco a prática da conversação que hoje 
é  pouco  explorada  em  escolas  e  cursos  de  idiomas  que  trabalham  com  metodologias  mais  tradicionais  de 
ensino. 
O  sistema  será  desenvolvido  em  plataforma  WEB  e  entregará  uma  forma mais facilitada e acessível 
para  exercitar  o  idioma  em  qualquer  lugar,  em  todos  os  níveis  de  conhecimento  e  para  falantes  do  mundo 
todo  que  estão  estudando  a  língua  inglesa  como  segunda  língua.  Ele  terá  como  função  principal  cadastrar 
estudantes  de  inglês  que  estão  procurando  outros  estudantes  com  nível  de  inglês  parecido  para,  através  de 
vídeo  chamada,  praticar  o  idioma.  Aliás,  o  sistema  terá  a  funcionalidade  de  selecionar  o  aluno com base no 
seu  nível  de  inglês  além  de  selecionar  tópicos  pré-estabelecidos  para  auxiliar  com  que  a  comunicação  seja 
completamente em inglês. 
   

1
Artigo elaborado como modelo e exemplo de documento de estilos para elaboração de artigos. 
2
Acadêmico do curso de Análise e Desenvolvimento de Sistemas 
3
Professor dos Cursos de Computação da Ulbra e Orientador do trabalho. 


 

2 F​UNDAMENTAÇÃO​ T​EÓRICA 
Diante  do  desenvolvimento  tecnológico  dos  meios  de  comunicação  da  última  geração,  a  internet  se 
tornou  um  objeto  extremamente  utilizado  no  dia  a  dia  das  pessoas.  Com  o  acesso  a  internet,  o  uso  de 
celulares,  por  exemplo,  para  apenas  realizar  ligações  e  trocar  mensagens  via  SMS  tornou-se  obsoleto,  pois, 
atualmente,  seu  uso  passou  a  ser  incluído  nas  atividades  rotineiras  das  pessoas  como,  por  exemplo,  redes 
sociais, transações bancárias e estudos. 
O  uso  de  computadores  e  dispositivos  móveis  com  acesso  a  internet  para  estudar  se  tornou  uma 
prática  muito  procurada  por  alunos para exercitar o estudo além da sala de aula, fazendo com que a demanda 
por  tecnologias  voltadas  para  o  ensino  de  línguas  crescesse,  uma  vez  que,  conforme afirma Farias (2013), o 
uso  de  ferramentas  tecnológicas  no  processo  ensino  aprendizagem  é  importante  para  fomentar  os  recursos 
didáticos,  auxiliar  na inclusão digital, além de possibilitar o compartilhamento de informações e experiências 
entre os educandos. 
Tendo  em  vista  a  situação  no  qual  o  ensino  oral  da  língua  inglesa  está,  uma  solução  para  melhorar 
esse  cenário,  é  levar  ao aluno uma maneira mais prática e acessível para que o mesmo alcance seus objetivos 
de  forma  eficiente  e  facilitada,  sendo  assim,  utilizando  a  tecnologia. Para complementar, Mousquer e Rolim 
(2011),  mostram  o  auxílio  que  o  uso  da  tecnologia  voltado  para  a  aprendizagem  de  crianças  pode  trazer 
como,  aumento  da  autonomia,  estímulo  da  criatividade,  exploração  provocada  pela  curiosidade, 
desenvolvimento sensório-motor e o fator de errar sem medo, diminuindo a pressão no aprendizado. 
Atualmente  há  dois  aplicativos  famosos  que  possuem  objetivos  parecidos  para  a  prática  de 
conversação  para  estudantes  de  inglês  que  são  os  aplicativos  Italki  e  Cambly.  De  uma  forma  geral,  as 
plataformas  Cambly  e Italki tem propostas, configurações e público alvo parecidos: plataformas para praticar 
o  idioma  com  falantes  estrangeiros.  Entretanto,  existem  algumas  diferenças  que  serão  analisadas  e  também 
apresentadas no decorrer deste trabalho. 

3 C​ONCEITOS​ ​E​ T​ÉCNICAS 


Pode-se  perceber  como  a  internet  sofreu  mudanças  em  relação  ao  que  era  nos  seus  primórdios  pois 
seu  acesso  era  restrito  -  somente  alguns  usuários  podiam  se  conectar  ao  servidor  e  consultar  alguns dados e 
serviços.  Atualmente,  com  todos  os  avanços  tecnológicos  que  ocorreram  nas  últimas  décadas,  o  seu  acesso 
tornou-se  mais  popular  e, após quatro décadas desde a sua criação, a internet tornou-se acessível, conectando 
milhões  de  pessoas  no  mundo  inteiro.  Por  consequência  disso,  houve  transformações  paradigmáticas  em 
todos  os  setores  da  sociedade  que  utilizam  a  internet,  principalmente  a  comunicação  que,  por  sua  vez, 
evoluiu consideravelmente graças à criação da plataforma web. 
  Berners-Lee  (1994)  descreve  que  com a crescente necessidade de compartilhar conhecimentos entre 
cientistas  que  estivessem  em  laboratórios  diferentes,  no  começo  dos  anos  90  nascia-se  a  World-Wide  Web, 
ou  simplesmente  web,  um  sistema  hipermídia  distribuído.  De  acordo  com  Berners-Lee  (1994,  p.76)  “a 
World-Wide Web (W3) foi desenvolvida para ser um local de armazenamento de conhecimento humano, que 
permite  aos  colaboradores,  em  locais  remotos,  compartilharem  suas ideias e todos os aspectos de um projeto 
comum”. 
Sabe-se  que  conectar-se  na  web  é  a  atividade  de  acessar  uma  página  em  um  navegador,  que  é  um 
software  capaz  de  decodificar  informações denominadas “páginas” de servidores web (ou “sites”) e exibi-las 
na  tela  do  usuário  de  um  computador  ou  dispositivo  móvel.  Além  disso,  com  o  navegador  o  usuário  pode 
também  seguir  referências  à  outras  páginas  da  web  com  os  denominados  “links”  ou  até  mesmo  submeter 
informações de volta para o servidor fazendo com o que ocorra uma interação entre cliente e servidor. 
Foi  visto  que  um  navegador  possui  a  capacidade  de  interpretar  informações  dispostas  em 
documentos,  ou  seja,  para  criar  um  site  é  preciso  desenvolver  uma  comunicação  com  o  navegador.  As 
informações  interpretadas,  que  em  sua  maioria  são  em  formato  de  hipertexto,  utilizam  uma  linguagem  de 
marcação.  O  HTML,  sigla  para  linguagem  de  marcação  de  hipertexto,  é  a  linguagem  lida  pela  maior  parte 
dos  navegadores  existentes.  Embora  o  HTML,  desde  sua  última  versão  (HTML5),  seja  a  linguagem  de 


 
marcação  mais  utilizada  nos  navegadores  atualmente,  ela  se  apresenta  com  bastante  limitações  quando  se 
trata de funcionalidades que permitem o desenvolvimento de interatividade avançada para a página.  
Não  há  como  fazer  funcionar  um  formulário  HTML  com  uso  de  elementos  HTML.  A 
HTML  limita-se  a  criar  os  rótulos  e  campos  de  um  formulário  a serem preenchidos e nada 
mais.  Com  o  HTML,  não  conseguimos  processar  os  dados  nem  mesmo  enviá-los  para  o 
servidor  ou  a  outra  máquina  qualquer.  Para  cumprir  essas  tarefas,  é  necessário  utilizar  um 
programa que consiga manipular e processar os dados. (SILVA, 2010, p.23). 
 
Portanto,  para  adicionar  funcionalidades  mais  complexas  em  páginas  da  web,  o  desenvolvimento 
passa  a  ser  feito  com  linguagens  de  programação  que,  por  sua  vez,  promovem  funções  mais  avançadas  de 
interatividade  que  linguagens  de  marcação  não  suportam.  Segundo  Silva  (2010),  as  linguagens  de 
programação  que  atuam  no  processo  e  manipulação  de  dados  foram  desenvolvidas  para  atuar  do  lado  do 
servidor,  server  side​,  isto  quer  dizer  que,  para  funcionarem,  essas  linguagens  se  comunicam com o servidor 
que por sua parte, processa e envia para o navegador uma resposta. 
Além  das  linguagens  server-side,​   existem também linguagens de programação que atuam do lado do 
cliente,  denominadas  ​client-side,​   onde  a  comunicação  é  feita  com  o  navegador.  Conforme  Silva  (2010) 
“JavaScript  é  uma  linguagem  desenvolvida  para  rodar  ao  lado  do  cliente,  isto  é,  a  interpretação  e  o 
funcionamento  da  linguagem  dependem  de  funcionalidades  hospedadas  no  navegador  do  usuário”.  Ou  seja, 
aplicações  ​client-side  como  as  desenvolvidas  com  Javascript  não  necessitam  de  processamento  de  servidor 
para efetuar determinada tarefa. 
Conforme  Silva  (2010),  foi  com  o  intuito  de  fornecer  à  plataforma  web  uma  forma  de  adicionar 
recursos  mais  complexos  no  quesito  interatividade  com  o  usuário,  que,  em  1995 a Netscape em conjunto da 
Sun  Microsystems,  deram  origem  à  linguagem  de  programação  Javascript,  uma  linguagem  que  se  tornou 
padrão  para  a  maior  parte  dos  navegadores  e  consequentemente  da  plataforma Web para o desenvolvimento 
client-side.​   No  decorrer  deste  projeto  será  apresentado  detalhadamente  um  estudo  acerca  da  linguagem  de 
programação Javascript que será, aliás, utilizada no desenvolvimento do sistema proposto.   

4 D​ESCRIÇÃO​ ​DO​ ​PROBLEMA 


Este  projeto  irá  entregar  uma  forma  gratuita  para  tornar  acessível a prática da conversação da língua 
inglesa  que  hoje  não  é  muito  estimulada  em  escolas  e  cursos  de  idiomas  que  utilizam  metodologias 
tradicionais  em  seu  ensino.  As  metodologias  atuais  oferecem  principalmente  as  práticas  de  leitura  e  escrita, 
tornando  difícil  estimular  o  conhecimento  de  uma  segunda  língua  pois  o  ensino  dá  muito  ênfase  em  regras 
gramaticais  deixando  de  lado  a  oralidade.  Além  disso,  conforme  Paiva  (2014),  até  recentemente,  a  maioria 
dos livros didáticos brasileiros não se preocupava com o ensino das habilidades orais. 
Como  pode  ser  analisado  no  gráfico  1,  um  estudo  realizado  em  2015  pelo  Instituto  de  Pesquisas 
Plano  CDE,  com  a  finalidade  de  entender  as  principais  características  do  ensino  da  língua  inglesa  na 
educação básica da rede pública brasileira, aponta as principais dificuldades da formação de professores.  
 
 
 
 
 
 
 
 
 


 
Gráfico 1 - Principais dificuldades associadas à formação de professores 

 
Fonte:  Pesquisa  “O  Ensino  de  Inglês  na  Educação  Pública  Brasileira”  British  Council/Plano  CDE. 
Base: 1247 (ponderada) 
 
Como  pode-se  observar  na  pesquisa  sobre  o  ensino  de  inglês  na  educação  brasileira  apresentada  na 
Figura  2,  o  maior  desafio  apontado  sobre  as  dificuldades  durante  a  formação  de  professores  de inglês é não 
ter  oportunidades  para  exercitar  a  prática  da  conversação  na  língua  inglesa.  Uma  vez  que  não  há  recursos 
apropriados,  gratuitos  ou  acessíveis  para  educadores  colocarem  em  prática  a  oralidade,  também  reflete  em 
seus  alunos,  causando  o  não-exercício  dessa  habilidade  em  específico  por  todos. Como afirma Silva (2014), 
por  consequência  da  falta  de  um  ambiente  adequado,  o  pouco  conhecimento  com  a  língua  falada  obtido 
torna-se a cair no esquecimento com muita facilidade. 
 
5 O​BJETIVO 

  O  principal  propósito deste trabalho é entregar, de uma forma gratuita e acessível, uma aplicação para a 
prática  da  conversação  da  língua  inglesa  que  irá  auxiliar  estudantes  de  inglês  a  terem  um  espaço  adequado 
para  exercerem  a  prática  do  idioma  de  forma  oral  com  outros  estudantes  com  nível  de  conhecimentos  da 
língua  parecidos.  Para  isso,  será  realizada  uma  entrevista  com  alunos  e  professores  de  cursos  de  idiomas  e 
também  serão  analisados  o  cenário  atual  do  ensino  de  línguas  através  de  tecnologia  e  plataformas  já 
existentes  que  estão  disponíveis  atualmente  no  mercado  além  dos  motivos  que  levam  a  inacessibilidade das 
mesmas. 

6 M​ETODOLOGIA 
Durante  o  desenvolvimento  do  projeto  de  software  será  utilizado  a  metodologia  em  espiral  para 
desenvolvimento  de  softwares  proposta  por  Pressman  e  Maxim  (2016). O modelo espiral levanta seis etapas 
para  o  desenvolvimento  de  um  sistema,  no  entanto,  neste  projeto  será  utilizado  apenas quatro delas pois, no 
estudo  da  metodologia  em  específico,  foi  possível  perceber,  assim  como mostra a Figura 3, que as etapas de 


 
formulação e planejamento podem ser incluídos juntos à etapa de análise.  

 
Figura 3 - Metodologia proposta por Pressman e Maxim (2016) adaptada para este projeto 

 
Fonte: O autor. 

A  Figura 2 está apresentando uma adaptação da metodologia em espiral que foi proposta por Pressman e 
Maxim  (2016)  e  que  será  utilizada  no  desenvolvimento  desse  projeto.  Com  base  nesse  modelo,  pode-se 
observar  que  as  etapas  percorridas  serão  análise, engenharia, implementação e testes e, por fim, avaliação de 
usuário. A seguir será feito um estudo detalhadamente de cada uma das fases do modelo proposto. 

6.1. ​Análise 

Em  um  primeiro  momento,  foi  por  meio  de  uma  experiência  do  autor  e  posteriormente em conjunto de 
uma  análise  acerca  de  opiniões por meio de entrevistas com estudantes e também com professores em cursos 
de  idiomas  que,  ao  perceber  as  dificuldades  e obstáculos encontrados ao exercer a prática de conversação do 
inglês,  tornou-se  perceptível  a  necessidade  de  uma  solução  que  melhor  atendesse  os  alunos  na  hora  de 
colocar  em  prática  o  idioma  aprendido.  Por  consequência  disso,  essas  percepções  serviram  como  estímulo 
para o surgimento do presente trabalho.  

Como  dito  anteriormente,  durante  o  surgimento  do  presente  projeto  foi  realizada  uma  entrevista 
utilizando  a  plataforma  de  gerenciamento  de  pesquisas  da  Google  -  Google  Forms,  disponibilizada  na 
internet  com  alunos  e  professores  em  duas  famosas  escolas  de  idiomas  das  cidades  de  Gravataí  e 
Cachoeirinha,  ambas  do  Rio  Grande do Sul. As escolas que participaram do estudo foram CCAA e ITALK e 
os  entrevistados  têm  idades  entre  12  e  45  anos,  possuindo  diferentes  níveis  de  conhecimento  da  língua 


 
inglesa  -  básico,  intermediário,  avançado  e  fluente.  A  seguir  serão  apresentadas  as  perguntas  que  foram 
disponibilizadas para as escolas participantes da pesquisa. 

1. Há quanto tempo você estuda inglês? 


2. Você sente falta de praticar mais conversação para melhorar o seu inglês? 
3. Você acha que através da internet é um bom formato para praticar inglês? 
4. Você já utiliza alguma plataforma para praticar inglês? 
5. As  plataformas  que  você  utiliza  ou  que  gostaria  de  utilizar  são  pagas  ou  têm  uma  versão 
(melhor/mais completa) paga? 
6. Você conhece mais recursos online para praticar gramática (regras) ou para conversação? 
7. Plataformas  de  conversação  como  Cambly  e  Italki  são  pagas  e  além  disso,  disponibilizam 
conversação  com  nativos  da  língua  inglesa.  Você  se sente confortável para conversar em inglês com 
essas pessoas? 
8. Você  gostaria de praticar conversação em inglês de forma gratuita e com pessoas com nível de inglês 
próximo ao seu? 

Além  de  entrevistar  alunos  e  professores  de  escolas  de  idiomas,  para  o  processo de coleta de requisitos 
também  foi  necessário  fazer  uma  análise  das  principais  aplicações  conhecidas  no  mercado  voltados  para  a 
prática  de  conversação  para  estudantes  de  inglês: Cambly e Italki. Com isso, nesse estudo tornou-se possível 
o entendimento das principais funcionalidades e características de cada um dos aplicativos citados.  

Como  dito  anteriormente,  atualmente  existem  no  mercado  duas  aplicações  populares  voltadas  para  a 
prática  de  conversação  para  estudantes  de  inglês  que  são  os  aplicativos  Italki  e  Cambly.  Entretanto,  ambas 
têm  propostas  parecidas:  prática  do  idioma com falantes nativos da língua inglesa através de uma plataforma 
de vídeo paga. 

O  aplicativo  Cambly  é  uma  plataforma  para  dispositivos  móveis  e  computadores  que  oferece  aulas 
individuais  voltadas  para  a  prática  da  conversação  com  professores  nativos  de  países  que  possuem  a  língua 
inglesa  como  língua  materna.  Com  seu  uso,  o  aluno  pode  filtrar  um  professor  por  disponibilidade  do 
aluno/professor,  tipo  de  aula  (prática  de  conversação,  aula  de  gramática,  inglês  para  negócios,  preparação 
para  testes  e  cultura),  nível  de aula (iniciante, intermediário e avançado), perfil do professor como a Figura 3 
apresenta.  Além  disso,  a  plataforma  disponibiliza  que  o  aluno  favorite  um  professor  para  que  possa ter aula 
novamente  com  o  mesmo.  Cada  professor  possui  uma  avaliação  feita  por  alunos  de  1 até 5 e pode cadastrar 
informações  para  popular  seu  perfil  como:  nome,  foto  de  perfil,  vídeo  descritivo,  idioma  que  fala, 
especialidades,  interesses,  formação  profissional,  experiência  de  ensino  e  horários  disponíveis  para  realizar 
aulas  assim  como  apresentado  na  Figura  4.  Além  de  que,  pode-se  perceber  pela  Figura  4  que  o  aplicativo 
exibe também o número de aulas já realizadas pelo professor.   


 

Figura 3: Tela de encontrar professor disponível na aplicação Cambly. 

Fonte: o autor 

Figura 4: Tela de perfil do professor disponível na aplicação Cambly. 

Fonte: o autor 


 

Além  disso,  as  aulas  disponibilizadas  pela  plataforma  Cambly  são  realizadas  por  meio  de  vídeo 
chamada  e  são  gravadas  e  oferecidas  na  plataforma  para  que  o  aluno  possa  visualizar  novamente  de  uma 
forma  que  o  aluno  possa  revisar  o  conteúdo.  A  plataforma  disponibiliza  para  o  aluno  também  uma  sessão 
chamada  Currículos,  onde  são  listados  módulos  que  ensinam  habilidades  importantes  do  inglês  para  a  vida 
diária,  trabalho  e  viagens.  Para  utilizar  a  plataforma  o  aluno  precisa  assinar  um  plano  mensal  ou  anual 
definindo  a  quantidade  de  minutos  que  o  aluno  pode  acessar  por  semana  assim  como  é  apresentado  pela 
Figura 5. 

Figura 5: Tela de planos disponível na aplicação Cambly. 

Fonte: o autor 

Já  o  aplicativo  Italki  é  uma  plataforma  que  disponibiliza  professores  para  aprender  diversos  idiomas, 
inclusive  inglês.  Suas  principais  funcionalidades  são:  o  aluno  pode  filtrar  um  professor  por  nacionalidade, 
disponibilidade do aluno/professor, tipo (professores profissionais e tutores da comunidade), categoria (geral, 
negócios,  preparação  de  provas,  crianças,  prática  de  conversação)  e  idioma,  que  o  professor  cadastrado  não 
precisa  ser  de  fato  um  nativo daquele idioma, havendo um filtro onde o aluno pode escolher se terá aula com 
nativo  ou  com  um  falante/estudante  da  língua  assim  como  a  Figura  7  apresenta.  Além  disso,  o  sistema 
disponibiliza  que  o  aluno  favorite  um  professor  para  que  possa  ter  aula  novamente  com  o  mesmo.  Cada 
professor  pode  cadastrar  nome,  foto  de  perfil,  idiomas  que  fala  e  seus  níveis  respectivos, sendo do iniciante 
até  nativo,  nacionalidade,  vídeo  descritivo,  descrição  de  perfil,  disponibilidade  de  horário,  tipos  de  aula  e 
preço  por  aula.  Também  pode  receber  uma  avaliação  escrita  e  uma  nota  de  1  até  5  de  cada  aluno.  O 
aplicativo exibe no perfil do professor a quantidade de alunos e aulas que possui.   


 

Figura 7: Tela de busca de professores disponível na aplicação Italki.

Fonte: o autor  

Tabela 1: Comparativo de uma simulação de preço mensal de aulas por minuto feitas uma vez na 
semana nas plataformas Cambly e Italki 
Minutos  Cambly  Italki 

30  R$ 258,00/mês  R$ 128,40/mês 

60  R$ 458,00/mês  R$ 321,00/mês 

Fonte: o autor 

A  Tabela  1  apresenta  dados  de  uma  simulação  de  preços  de  aulas  realizadas  por  minutos  nas 
plataformas  Cambly  e  Italki.  Na  plataforma  Italki  foi  feita  uma simulação de uma aula de um professor cujo 
preço  estabelecido era de R$ 32,10 por 30 minutos e R$ 80,25 por 60 minutos. Em um primeiro momento foi 
feito  uma  simulação  de  uma  compra  de  30  e  60  minutos  de  aulas  realizadas  uma vez por semana em ambas 
as  plataformas  onde  foi  possível  notar  que  os  preços  da  aplicação  Cambly  foram  mais  caros  do  que  os  da 
Italki.  

De  uma  forma  geral,  as  plataformas  Cambly  e  Italki  tem  propostas,  configurações  e  público  alvo 
parecidas:  plataformas  para  estudantes  praticarem  o  idioma  com  falantes  estrangeiros.  Apesar  dessas 
plataformas  terem  objetivos  parecidos,  existem  algumas  diferenças  que  foram  analisadas,  estas  são:  Em 
ambas  as  plataformas,  no  primeiro  acesso,  o  aluno  submete  seu  e-mail  e  senha.  Entretanto,  no  aplicativo 
Italki,  um  formulário  é  disponibilizado  para  que  o  aluno  cadastre  seu  idioma  de  aprendizagem,  nível  de 
conhecimento  da língua estrangeira, língua materna, localidade e fuso horário. No Cambly as informações do 


 
aluno  podem  ser  cadastradas  posteriormente  na  sessão  de  configuração  de  conta.  Além  disso,  o  pagamento 
de  ambas  as  plataformas  são  diferentes:  enquanto  pelo  Italki,  como  a  Figura  8  mostra,  o  aluno  adiciona 
crédito  à  plataforma  para  acessar  aulas  e,  para cada aula, o próprio professor cadastra um valor. No Cambly, 
o  aluno  assina  um  plano  que  define  minutos  por  mês  para  ter  acesso  às  conversações  com  os  nativos  como 
foi  apresentado  na  Figura  6.  Além  disso,  foi  observado  que  as  duas  plataformas  disponibilizam  a  forma  de 
pagamento  com  cartão  de  crédito,  porém  a  Italki  também proporciona para o aluno realizar o pagamento via 
Paypal,  transferência  bancária/internacional  ou  via  eWallet.  Outra  diferença  que  também  foi  analisada  no 
estudo  entre  as  plataformas  é  que  o  Cambly  tem  como  foco  a  língua  inglesa,  enquanto  o  Italki,  oferece 
conversação de diversos idiomas, variando conforme os professores cadastrados. 

Figura 8: Tela de seleção de aula disponível na aplicação Italki. 

Fonte: o autor 

6.2. ​Engenharia 

Conforme afirma Guedes (2007) a UML (Linguagem de Modelagem Unificada) é uma linguagem visual 
para  modelar  sistemas  computacionais  que,  nos últimos anos, se tornou uma linguagem padrão para modelar 
softwares.  Com  isso,  a  utilização  da  UML  passou  a  ser  uma  etapa  primordial  no  processo  de 
desenvolvimento  de  um  novo  software uma vez que, como destacou Guedes (2007), ela é capaz de auxiliar a 
documentar  o  projeto  antes  da  criação  do  mesmo,  definindo  suas  características,  tais  como  os  requisitos, 
comportamentos,  estrutura  e  dinâmica  de  processos  por  meio de diagramas, como por exemplo, caso de uso, 
atividades e sequência. 

Sendo  assim,  considerando  as  respostas  coletadas  na  entrevista  com  alunos  e  professores  de  cursos  de 
idiomas  e  também  no  estudo  das  principais  plataformas existentes no mercado para a prática de conversação 
em  inglês  descritos  na  etapa  de  análise,  é  possível  modelar as funcionalidades do sistema que será proposto. 
Logo,  para  isso,  a  seguir  serão  apresentados  diagramas  como  o  de  caso  de  uso,  atividades  e  sequência, 
previstos por Pressman e Maxim (2016) como estruturas importantes para a modelagem do projeto. 

10 
 

6.2.1. ​Diagrama de Casos de Uso 

Inicialmente,  neste  presente  trabalho,  os  casos  de  uso  serão  descritos  pela  linguagem  UML  através  de 
um  diagrama  de  casos  de  uso  que  apresentam  o  conjunto  de  serviços  oferecidos  pelo  sistemas  proposto, 
como é apresentado na Figura 9. 

Figura 9: Diagrama de Casos de Uso do sistema proposto 

Fonte: o autor 

Como  pode  ser  analisado  pela  Figura  9,  o  sistema  proposto  possui  a  funcionalidade  de  registrar,  por 
meio  de  e-mail  e  senha,  um  novo  usuário que, por sua vez, é capaz de efetuar login, manter seu perfil, isto é, 
atualizar  ou  deletar  sua  conta  e  também  buscar  outros  usuários.  Na  ação  de  buscar  outros  estudantes,  é 
apresentado  uma  lista  de  usuários  disponíveis  para  que  o  estudante tenha a possibilidade de realizar um bate 
papo  via  vídeo chamada com outro estudante selecionado. Além dessas funcionalidades, na página da sala de 
bate  papo  o  sistema  também entregará uma sessão de tópicos pré estabelecidos para auxiliar o estudante para 
que a comunicação entre os usuários seja completamente em inglês. 

6.2.2. ​Diagrama de Atividades 

Conforme  é  descrito  por  Larman  (2005),  “um  diagrama  de  atividades  UML  mostra  atividades 
sequenciais  e  paralelas  em  um  processo”.  Ou  seja, com a utilização de um diagrama de atividades é possível 
observar,  de  uma  forma  simplificada  e  por  meio  de  uma  ilustração,  como  por  exemplo  é  apresentado  na 
Figura  10,  o  fluxo  em  que  o  sistema  proposto  irá  seguir  na  atividade  de  realizar  login  de  um  usuário, 
mostrando  suas atividades e seus caminhos que dão acesso a outras atividades presentes no pacote da ação de 
login. 

11 
 

Figura 10: Diagrama de Atividades: Login 

Fonte: o autor 

O  fluxo  da  realização  de  login  acontece  conforme  é  apresentado  na  Figura  10.  Com  base  neste 
diagrama,  é  possível  observar  que,  inicialmente,  ao  entrar  na  tela  de  login,  o  usuário  pode  escolher  entre 
realizar  o  login  ou  criar  uma  nova  conta.  Em  ambos  os casos, ele deverá informar seus dados como e-mail e 
senha.  O  sistema  estará validando a existência do usuário com base no e-mail inserido, ou seja, caso o e-mail 
inserido  na  tela  de  login  não  esteja  cadastrado na base, o usuário não é reconhecido e portanto só terá acesso 
ao  criar  um  novo  cadastro.  Em  contrapartida,  o  sistema  não  permitirá  cadastrar  um  usuário  que  possua  um 
e-mail já inserido na sua base de dados.  

6.2.3. ​Diagrama de Sequência 

Conforme  afirma  Guedes  (2018),  “o  diagrama  de  sequência  é  um  diagrama  comportamental  que  se 
preocupa  com  a  ordem  temporal  em  que  as  mensagens  são  trocadas  entre  os  objetos  envolvidos  em  um 
determinado  processo”.  Em  outras  palavras,  esse  diagrama  em  questão  se  trata  de  uma  apresentação  das 
interações,  pois,  é  capaz  de  descrever  como,  e  em  qual  ordem  um  grupo  de  objetos  interagem em conjunto. 
Portanto,  a  seguir  serão  apresentados,  de  forma  consecutiva,  os diagramas de sequência do sistema proposto 
como: Autenticação de usuário/Login (Figura 11).  

12 
 

Figura 11: Diagrama de Sequência: Login 

Fonte: o autor 

6.3 ​Implementação e testes 

Durante  sua  implementação,  o  sistema  proposto  será  desenvolvido  e  testado,  por  meio  do  framework 
Scrum,  onde  os  processos  do  sistema  serão  divididos em sprints. Ou seja, cada funcionalidade que o sistema 
entregará  será  uma  sprint.  Os  testes,  por  sua vez, serão unitários e funcionais e utilizarão a semântica BDD - 
Desenvolvimento  orientado  por  comportamento.  Além  disso,  o  projeto  será  separado  por  dois  importantes 
ambientes:  back-end  e  front-end  que  serão  conectados  por  meio  de  uma  API  Rest  onde  os  dados  serão 
armazenados no repositório de dados MongoDB, um programa de banco de dados NoSQL.  

6.3.1. ​Javascript e suas tecnologias 


Silva  (2010)  afirma  que,  com  o  intuito  de  fornecer  à  plataforma  web  uma  forma  de  adicionar 
recursos  mais  complexos  no  quesito  interatividade  com  o  usuário,  em  1995  a  Netscape  em conjunto da Sun 
Microsystems,  deram  origem  à  linguagem  de  programação  Javascript,  uma  linguagem  que  se tornou padrão 
para  a  maior  parte  dos  navegadores  e  consequentemente  da  plataforma  Web  para  o  desenvolvimento 
client-side​.  Apesar  de  que  a  linguagem  de  programação  Javascript  seja  classificada  como  linguagem 
client-side​,  recentemente,  a  linguagem  e  seus  motores  de  execução  passaram  por  diversas  revisões  e 
melhorias.  Segundo  Aguiar  (2015),  em  2009  várias  empresas  que  queriam  dominar  o  mercado  dos 
navegadores  estavam  investindo  tempo  e  dinheiro  com  o  Javascript.  E  desse  estudo,  um  dos  principais 
objetivos na procura de melhorias era em aumentar o desempenho de execução dessa linguagem. 
Com  o  sucesso  dessa  pesquisa  em  busca  de  melhorias  para  a  linguagem  de  programação  Javascript 
não  se  limitar  a  apenas  ser  utilizada  do  lado  do  cliente,  em 2009 foi criado o primeiro ambiente utilizando o 
Javascript  com  este  propósito:  o  Node.js.  Conforme  Aguiar  (2015),  o  JavaScript  tinha  todas  as  qualidades 
que  o  engenheiro de software Ryan Dahl - criador do Node.js procurava em uma linguagem de programação. 
Além  disso,  ela  era  capaz  de  trazer  inúmeros  outros  benefícios  quando  empregada  no  lado  do  servidor. 
Entretanto,  é  importante  ressaltar  que  o  Node.js  não  é  uma  linguagem  de  programação,  mas  sim  uma 
plataforma  para  desenvolvimento  com  a  linguagem  de  programação  Javascript.  Para  complementar,  Aguiar 
(2015)  também  explica  que  o  Node.js  é  uma  plataforma  assíncrona,  orientada  a  eventos,  para 
desenvolvimento de aplicações de rede escaláveis.  

13 
 
Uma  das principais vantagens de utilizar uma mesma linguagem de programação no lado do cliente e 
do  servidor  é  a  reutilização  de  código.  Na  figura  12,  pode-se  perceber  que  pode  haver  reaproveitamento  de 
estrutura em Javascript para ambos os lados.  
 
Figura 12 - Exemplo de funções exercidas pelo JavaScript do cliente e do servidor. 

 
Fonte:  “Node.js:  estudo  tecnológico  e  desenvolvimento  full-stack  javascript  de  plataforma  de 
competições em problemas algorítmicos”. 
 
Além  do  reaproveitamento  de  código,  outra  vantagem  que  existe  ao  utilizar  a  mesma  linguagem  de 
programação  é  que,  conforme  Aguiar  (2015),  “quando  precisamos  aprender  várias  tecnologias  para projetar 
todo  o  sistema  (para  o  ​backend  e  o  ​frontend)​ ,  às  vezes  acaba  comprometendo  todo  o  projeto.”  Esse 
comprometimento  pode  estar  relacionado  ao  tempo  de  aprendizado  de  mais  de  uma  linguagem  de 
programação e não ter reaproveitamento de código.  
Neste  projeto  será  utilizado como linguagem de programação somente o Javascript, tanto para o lado 
do  cliente  quanto  para  o  lado  do  servidor,  até  mesmo  na  questão  de  armazenamento  de  dados,  onde  será 
utilizado  o  banco  de  dados  MongoDB,  que  trabalha  com  respostas  de  resultado  de  pesquisas  em  formato 
JavaScript  Object  Notation  (JSON),  que  em  português  significa  Notação  de  Objetos  JavaScript. O banco de 
dados  MongoDB  utiliza  NoSQL  e  é  orientado  a  documentos  onde  cada  documento  é inserido e extraído em 
formato  JSON.  Além  disso,  é  importante  saber  que  o  NoSQL  é  uma  categoria  de  banco  de  dados  não 
relacional,  ou  seja,  ela  se  diferencia  de  outras  categorias  por  não  fazer  relação  com  outras  entidades.  Além 
disso,  o  NoSQL  possui  vantagens  que  outros  banco  de  dados  relacionais  não  possuem,  como  por  exemplo 
uma  melhor performance para trabalhar com grande quantidade de dados e ainda mais quando estes precisam 
ser compartilhados em tempo real. 
Com  o  surgimento  da  Web,  outras  aplicações  de  banco  de  dados  começaram  a  ser 
desenvolvidas,  originando,  dessa  forma,  novos  requisitos  de  bancos  de dados. Dentre estes 
requisitos  destaca-se  a  necessidade  de  manipulação  de  grandes  volumes  de  dados  não 
estruturados  ou  semi-estruturados,  bem  como  novas  necessidades  de  disponibilidade  e 
escalabilidade.  Assim,  a  fim  de  atender  aos  requisitos  destas  aplicações,  novas  soluções 
para  gerenciamento  de  dados  começaram a ser propostas, como, por exemplo, os bancos de 
dados NoSQL. (LÓSCIO; OLIVEIRA; PONTES, 2011) 
 

14 
 
Ademais,  conforme  (LÓSCIO;  OLIVEIRA;  PONTES,  2011),  o  banco de dados NoSQL não chegou 
com  o  intuito  de  substituir o modelo relacional, mas permitir que aplicações que requerem mais performance 
em  termos  de  consultas  e  resultados,  e  que  requerem  também  alta  disponibilidade,  escalabilidade,  esquema 
flexível  e  gerenciamento  de  dados  semi-estruturados,  possam,  então  gerenciar  os  seus  dados  de  forma  mais 
eficiente, o que não se tem quando é utilizado um banco de dados relacional.  
 
6.3.2. Protótipos de tela 
A  aplicação  em  questão  possui  um  layout  simples  e  intuitivo,  no  seu  primeiro  acesso  ao  sistema,  o 
usuário  será  direcionado  para  a  tela  de  login  como  é  apresentado  na  Figura  13.  Nessa  tela  está  inserido  um 
formulário  com  os  campos  necessários  para  o  usuário  entrar  no  sistema.  Além  disso,  botões  de  cadastro  e 
resetar  senha  também  estão  inseridos  nessa  tela  para  que  o  usuário  possa  ser  direcionado  para  realizar  um 
cadastro no sistema ou resetar sua senha caso tenha esquecido dela. 
 
Figura 13 - Tela de login.

 
Fonte: o autor 
Já  a  Figura  14  mostra  a  tela  principal  no  sistema, onde serão apresentadas as informações principais 
do  usuário  logado  como  nome,  email,  nível  de  conhecimento da língua inglesa e idade. Além disso, também 
é  apresentada  uma  lista  de  usuários  que  estão  online  no  momento  com  um  filtro  onde o usuário logado será 
capaz de filtrar outros usuários por nível de conhecimento da língua inglesa.  
 
Figura 14 - Tela inicial 

15 
 

Fonte: o autor 

Para  realizar  uma  videochamada  o  usuário  deverá  clicar  em  um  outro  usuário  na  listagem  “Usuários 
online”  apresentada  na  tela  inicial  como  mostra  a  Figura  14.  Portanto,  ao  clicar  em  uma  pessoa  na  lista,  o 
usuário  será  direcionado  para  a  tela  de  videochamada  e,  se  houver  autorização  por  parte  do  outro  usuário 
para iniciar o chat, a videochamada acontecerá como é apresentado na Figura 15.  

Além  disso,  pode-se  analisar  que  na  tela  que  é  apresentada  pela  Figura  15,  os  usuários  poderão,  a 
qualquer  momento,  voltar  para  a  tela  inicial,  entrar  ou  sair  da  chamada,  favoritar  o  usuário  com  quem  está 
conversando e abrir a aba de tópicos. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

16 
 
Figura 15 - Tela de videochamada 

Fonte: o autor 

6.4. ​ Implementação 

  Com  a  necessidade  de  organizar  as  tarefas  e  entregar  um  projeto  de  forma  rápida,  com  qualidade  e 
funcional,  na  parte  de  implementação  será  utilizado  o  framework  Scrum,  uma  ferramenta  famosa  na 
engenharia  de  software  por  ser  uma  metodologia  que  visa  os  princípios  do  manifesto  ágil  e  que,  segundo 
Martins  (2016),  com  o  Scrum  é  possível  que  pessoas  desenvolvem  e  administrem  projetos  complexos 
dividindo em etapas e entregas a partir de regras e artefatos.  

No  framework  Scrum,  após  a  definição  do  projeto  (objetivos  e  necessidades)  é  realizado  a  criação  de 
uma  lista  de  histórias  contendo  o  que  será  necessário  para  o  desenvolvimento  do  projeto,  popularmente 
conhecido  como  ​Backlog.​   Com  base  nisso,  portanto,  no  decorrer  da  etapa  de  implementação  do  projeto 
proposto  foram  definidas  e  ordenadas  as  principais  tarefas  para  a  criação  do  presente  sistema  como  é 
apresentado pela Tabela 1. 

 
Tabela 1 - Lista de histórias  
BACKLOG 

ID  História 

01  API: Definição e criação dos endpoints. 

02  API: Cadastro, edição, exclusão e adição de usuários 

03  FRONT: Criação da tela de login e cadastro 

17 
 
04  FRONT: Integração da tela de login e cadastro com a API 

05  FRONT: Criação da tela de inicial do sistema 

06  FRONT: Integração da tela inicial com a API 

07  FRONT: Criação da tela de vídeo chamada  

08  FRONT: Configuração do componente de vídeo chamada  

09  FRONT: Integração da tela de vídeo chamada com a API 

Fonte: o autor 

Pode-se  observar  que  na  Tabela  1  as  histórias  estão  divididas  conforme  os  ambientes  de 
desenvolvimento  Back-End  (API)  e  Front  end  (lado  do  cliente).  Essa  divisão  foi  proposta  porque  o  sistema 
foi  desenvolvido  com  a  estratégia  ​API  First,  ​ou  seja,  o  primeiro  ambiente desenvolvido será a API, fazendo 
com  que  as  regras  de  negócio  sejam  colocadas  em  primeiro  lugar  para  somente,  em  seguida,  construir  o 
produto (front end), podendo ser um site ou um aplicativo para celular, por exemplo. 

6.5. ​Componente de vídeo chamada 

Para  a  implementação  da  funcionalidade  de  vídeo  chamada  foi  utilizado  o  componente  WebRTC  que 
utiliza  a  api  de  código  aberto  da  Wide  Web  Consortium.  Esta  api  tem  o  papel  de  permitir  aos  navegadores 
executar  aplicações  de  chamadas  por  vídeo.  Para  a  aplicação  presente  foi  utilizado  uma  dependência 
chamada  Vue-webrtc  que  tem  o  papel  de  unir  a  api  WebRTC  com  o  framework  javascript  Vue.js  de  uma 
forma que facilite o desenvolvimento do componente de vídeo chamada e o torne reutilizável.  
 
Figura 16 - Componente de videochamada

Fonte: o autor 

A  Figura  16  apresenta  um  trecho  de  código  em  Vue.js  sobre  a  forma  de  utilização  do  componente 
vue-webrtc  na  página  de  vídeo  chamada  da  aplicação  onde  é  passado  a  propriedade  ​width  correspondente a 
largura  que  o  componente  em  questão  irá  ocupar  na  estrutura  em  que  ele  for  criado  e  a  ​roomId  que 

18 
 
corresponde ao id da vídeo chamada. 

 
Figura 17 - Métodos da videochamada 

Fonte: o autor 

A  Figura  17  apresenta  um  trecho  de  código  em  Vue.js  referente  aos  métodos  utilizados  na 
funcionalidade  de  vídeo  chamada.  O  método  ​onJoin()  é​   responsável  por  enviar  ao  navegador  um  pedido de 
acesso  à  câmera  e  microfone  e  entrar  na  vídeo  chamada.  Já  o método ​onLeave() tem como responsabilidade 
sair da vídeo chamada, desligando a câmera e o microfone do navegador.  

6.6 ​Login 

Para a realização da funcionalidade de login da aplicação presente é inserido dados como e-mail e 
senha. Esses campos são utilizados para que o sistema reconheça e dê acesso ao usuário que os inserir 
corretamente. A Figura 18 apresenta um trecho de código da estrutura template Vue.js do componente Login. 
 
 
 
 
 
 
 
 

19 
 
Figura 18 - Estrutura do componente Login

Fonte: o autor 
 
Como  é  apresentado  na  Figura  18,  a  estrutura  do  componente  Login  é  dividida  entre  os  campos  de 
inserção  de  email,  senha  e  botão de realizar login cuja função será abordada posteriormente. Em cada campo 
de  inserção  de  dados  é  usada  a  estrutura  ​v-model  que  é  responsável  por  pegar  o  dado  inserido  pelo  usuário 
para  futuros  tratamentos  ou  validações.  O  v-model  em  questão  está  observando  um  estrutura  que,  em  um 
primeiro  momento,  foi definida por um objeto chamado login que inicia com um estado vazio como mostra a 
Figura 19:  
 
Figura 19 - Objeto Login 

Fonte: o autor 

O  botão  de  realizar  login  apresentado  na  Figura  18 é responsável por popular, em um evento de click, o 


objeto login mostrado na Figura 19. Com essa ação, o sistema irá realizar uma consulta na api enviando esses 

20 
 
dados  de  email  e  senha  de  forma  que  possa  encontrar  o  usuário  em  questão  e  ao  encontrar  apresentar  a 
página  principal.  A  Figura  20  apresentará um trecho de código em Vue.js do método auth() que irá realizar a 
funcionalidade de login.  

 
Figura 20 - Método que realiza Login 

Fonte: o autor 

6.7. ​Testes 

Uma  das principais e primordiais fases do processo de engenharia de software é a parte de testes porque, 
conforme  afirma  Busch  (2007), os testes visam atingir um nível de qualidade de um produto e encontrar seus 
defeitos,  para  que  estes  possam  ser  corrigidos  pela  equipe  de  programadores,  antes  de  sua  entrega. Ou seja, 
um  dos  principais  objetivos  dos  testadores  é  encontrar  o  maior  número  de  ​bugs  e  também  divergências  em 
relação  à  documentação  para  que sejam analisados junto à equipe de desenvolvimento e gerenciamento se os 
resultados estão de acordo com o que foi estabelecido durante a documentação do projeto. 

Apesar  de  funcional,  todo  sistema  já  passou  por  uma  série  de  alterações  durante  seu  ciclo  de  vida.  E 
dependendo  de  certas  implementações,  sejam  elas  correções  de  erros  ou  novas  funcionalidades,  o  sistema 
pode  melhorar  ou  piorar.  Segundo  Souza  (2016)  foi  com  base  nesses  problemas  que  em  2003,  Kent  Beck 
apresentou  uma  técnica  para  desenvolver  sistemas  baseados  em  testes  -  TDD  que  tem  como  objetivo  a 
garantia da qualidade e da funcionalidade do software durante sua fase de implementação e melhorias. 

Ao  sugerir  a  prática  dos  testes  como  atividades  iniciais  e  finais  do  processo  de 
desenvolvimento, Beck tinha como objetivo mitigar alguns dos riscos de possíveis falhas de 
projeto  atacando  um  dos  pontos  em  que  as  organizações  mais  apresentavam  novas 
alternativas  e  soluções  para  garantir  um  produto  de  qualidade.  Essas  alternativas 
contemplam  novas  ferramentas,  novos  processos  de  testes  e  novas  técnicas  associadas  à 
fase de validação de software. (SOUZA, 2016) 

Apesar  do  TDD  ser  uma  técnica  muito  utilizada,  muitas  equipes  de  desenvolvimento  têm  dificuldades 

21 
 
para  entender  o  que  é  preciso  testar  e  o  que  não  é  preciso.  Além  do  mais,  os  encarregados  de  escrever esse 
testes  unitários  são  os  desenvolvedores,  fazendo  com  que  os  testadores,  que  avaliam  o  comportamento, 
tenham  dificuldades  no  entendimento  uma  vez  que  não  há  comunicação  eficiente  entre  as  duas  equipes  no 
nível  de  código.  Com  base  nisso  foi  que  surgiu  uma  aplicação  de  testes  unitários  chamada  de  BDD  - 
Behaviour  Driven  Development,  conhecido  como  teste  orientado  ao  comportamento, que possui uma leitura 
mais  simples  e  amigável  para ajudar as equipes de desenvolvimento e de qualidade a resolverem as falhas de 
comunicação.  

Além  disso,  o  BDD  ajuda  a  simplificar  a  comunicação  entre  equipes  e,  para  isso,  utiliza  cenários  que 
são  descritos  pelo  desenvolvedor  ou  analista.  Cada cenário é dividido em no mínimo três blocos, e estes, são 
definidos pelas palavras chaves: ​Given​: dado um contexto, ​When​: quando acontecer um evento, ​Then​: então 
se  espera  que  aconteça  algo.  Nesse  projeto,  utilizou-se o teste orientado a comportamento, portanto, a seguir 
serão apresentados os cenários criados. 

Scenario​: Usuário realiza login 

Given ​usuário preenche seus dados de e-mail e senha 

When ​clicar no botão de entrar 

Then ​deve consultar a api e retornar se o usuário existe para abrir a tela inicial. 

Scenario​: Usuário realiza cadastro 

Given ​usuário preenche o formulário 

When ​clicar no botão de registrar-se 

Then ​deve consultar a api e retornar se o usuário não existir para registrá-lo.  

6.8. ​Avaliação do usuário 

Inicialmente,  em um primeiro momento o sistema proposto neste presente trabalho foi avaliado quanto à 
sua  usabilidade  e  acessibilidade.  Para  isso,  foi  concedido  o  acesso  a  estudantes  e  professores  dos  cursos  de 
idiomas  CCAA  e  Italki,  ambos  participantes  da  pesquisa  anteriormente  realizada  na  etapa de análise. Sendo 
assim,  para  uma  melhor  avaliação,  os  estudantes  e  professores  utilizaram  a  plataforma  e  dessa  forma,  foi 
possível  coletar  feedbacks  e  sugestões  para  que  a  plataforma  possa  ser  melhorada  e  ajustada  conforme  as 
necessidades.  Além  disso,  foi  enviado  a  cada  estudante  e  professor  que  acessou a plataforma um formulário 
da plataforma Google com as seguintes perguntas: 

1. Quão amigável está o layout da plataforma? 


2. Quão fácil foi realizar o cadastro na plataforma? 
3. Quão bem-sucedido é a aplicação na realização das funções que ela se propõe a fazer? 
4. Qual é a probabilidade de recomendar a aplicação para outros estudantes de inglês? 
5. De forma geral, quão satisfeito(a) ou insatisfeito(a) está com a plataforma? 

22 
 

C​ONSIDERAÇÕES​ F​INAIS 
Podemos  concluir  que,  diante  de  todas  as  possibilidades  de  aplicações  voltadas  para  a  conversação  da 
língua  inglesa,  foi  possível  criar  um  sistema  que  tem  como  foco  a  conversação  de  uma  forma  gratuita  e 
acessível  e  que  instigue  o  usuário  a  ter  uma  prática  efetiva  a  partir  de  um  ambiente  confortável,  na qual ele 
pode  comunicar-se  com  pessoas  do  seu  mesmo  nível.  Além  disso,  foi  possível  realizar  um  sistema  web 
utilizando  a  linguagem  de  programação  Javascript  na  qual  é  uma linguagem bastante utilizada e que oferece 
todas as ferramentas possíveis para a criação da aplicação. 

A  maior  dificuldade  enfrentada  durante  a  realização  deste  projeto foi a conciliação entre a produção e o 


estudo  nas  tecnologias  ​server  side  Node,js  e  Mongo  DB,  pois  no  início  não  havia  conhecimento  suficiente 
para  a  criação  do  sistema  proposto.  Portanto,  houve  momentos  em  que  foi  necessário  pausar  o 
desenvolvimento para ler e estudar as documentações respectivas. 

Apesar  do  Mongo  DB  apresentar  uma  maneira  diferente  de  armazenar  dados  dos  bancos  de  dados 
relacionais  mais  conhecidos na comunidade de tecnologia, foi descoberto que sua implementação é simples e 
possui  uma  vantagem  quanto  a  sua  relação  com  o  Node.js  porque  ambos trabalham diretamente com JSON, 
então  não  há  processo  de  conversão  ao  ler ou gravar dados, por exemplo. Além disso, uma outra vantagem é 
que  as  duas  tecnologias  são  Javascript,  que  é  a  mesma  linguagem  ​client  side  d​ esse  projeto,  o  que  facilita 
possíveis manutenções do sistema posteriormente. 

Em  suma,  esse  projeto  foi  uma  oportunidade  para  conhecer  e  aprender  novas  tecnologias  e 
possibilidades  na  programação  web  apesar de suas dificuldades durante a realização do  mesmo. Além disso, 
tanto  o  Node.js  quanto  o  Mongo  DB  possuem  uma  comunidade  ativa,  por  isso,  foi  facilmente  encontrado 
material  para  estudo  e  resolução  de  dúvidas.  Ademais, planeja-se implantações futuras para o sistema como, 
por  exemplo,  uma  forma  de  gravar  e  armazenar  em  formato  de  vídeo  chamadas  realizadas  pelos  usuários. 
Desta forma, usuários poderão visualizar suas próprias conversas posteriormente. 

R​EFERÊNCIAS 
CAMBLY. Cambly. Disponível em: < https://www.cambly.com> acesso em: 27 de setembro de 2020. 
FARIAS, Suelen Conceição. Os benefícios das tecnologias de informação e comunicação (TIC) no processo 
de educação a distância (EAD). Rev. digit. bibliotecon. cienc. inf., Campinas, SP, v.11, n.3, p.15-29, 
ago/nov. 2013. ISSN 1678-765X. Disponível em: <​http://www.sbu.unicamp.br/seer/ojs/index.php/rbci​> 
GUEDES, Gilleanes T. A. UML 2 - Guia Prático. 2ª Edição. Novatec, 2007. 
ITALKI, Italki. Disponível em: <https://www.italki.com> acesso em: 27 de setembro de 2020. 
LARMAN, Craig. Utilizando UML e Padrões. 3ª Edição. Bookman, 2005.   
AGUIAR, Gustavo Stor De. Estudo tecnológico e desenvolvimento full-stack javascript de plataforma de 
competições em problemas algorítmicos. Universidade Federal de Pernambuco, 2015. 
MOUSQUER, T.; ROLIN, C. O. A utilização de dispositivos móveis como ferramenta pedagógica 
colaborativa na educação infantil. In: II Simpósio De Tecnologia Da Informação, 2011, Santo Ângelo. 
PAIVA, V. L. M. O. Tecnologias digitais para o desenvolvimento de habilidades orais em inglês. 2014. 28 f. 
Projeto de pesquisa CNPq (Produtividade em Pesquisa – PQ – 2014) – Universidade Federal de Minas 
Gerais, Belo Horizonte, 2014. 

23 
 
LÓSCIO;  OLIVEIRA;  PONTES.  NoSQL  no  desenvolvimento  de  aplicações  Web  colaborativas  - 
Universidade Federal de Pernambuco, 2011. 
PRESSMAN, Roger; MAXIM, Bruce. Engenharia de Software - Uma abordagem profissional. 8ª Edição. 
Bookman, 2016.  
SILVA, Eliane de Oliveira da. Dificuldades na aprendizagem da língua inglesa no ensino fundamental em 
escolas do município de Humaitá. - Universidade Federal do Amazonas, 2014. 
SOUZA, Marcos Vinícius Rodrigues de. Abordagens de testes: uma comparação entre as metodologias 
tradicionais e ágil. - Universidade Federal de Pernambuco, 2016. 
BUSCH, A. V.; LODI, R. A.; BORBA, S. F. P. Metodologia de desenvolvimento e aplicação de testes para 
qualidade de software. Rev. Ciên. Empresariais da UNIPAR, Umuarama, v. 8, n. 1 e 2, p. 125-139, jan./dez. 
2007. 
 
 
 

24 

Você também pode gostar