Buscar

ToiletFY: Aplicativo de Geolocalização de Banheiros

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 39 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 39 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 39 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

UNIVERSIDADE ESTÁCIO DE SÁ 
 
 
Eduardo Oliveira Sales Azevedo 
Lucas Martins dos Santos e Silva 
Victor Lopes da Motta da Silva 
 
 
 
 
 
 
ToiletFY 
 
 
 
 
 
 
 
 
 
 
 
Rio de Janeiro 
Maio de 2020
 
 
 
Eduardo Oliveira Sales Azevedo 
Lucas Martins dos Santos e Silva 
Victor Lopes da Motta da Silva 
 
 
 
 
 
 
ToiletFY 
 
 
 
Trabalho de conclusão de curso 
apresentado à Universidade Estácio de Sá 
como requisito parcial à obtenção do grau 
de Bacharel em Sistemas de Informação. 
Orientador Prof. M.Sc. Rodrigo Augusto 
Barros Pereira Dias. 
 
 
 
 
 
 
 
Rio de Janeiro 
Maio de 2020 
 
 
Eduardo Oliveira Sales Azevedo 
Lucas Martins dos Santos e Silva 
Victor Lopes da Motta da Silva 
 
 
 
ToiletFY 
 
 
Trabalho de conclusão de curso 
apresentado à Universidade Estácio de Sá 
como requisito parcial à obtenção do grau 
de Bacharel em Sistemas de Informação. 
Orientador Prof. M.Sc. Rodrigo Augusto 
Barros Pereira Dias. 
 
 
 
Aprovada em 26 de maio de 2020. 
 
 
 
BANCA EXAMINADORA 
 
 
 
________________________________________ 
Prof. Esp. Antônio Francisco da Silva Junior 
 
 
________________________________________ 
Prof. M.Sc. Rodrigo Augusto Barros Pereira Dias 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Às nossas famílias e 
amigos com carinho 
 
 
AGRADECIMENTOS 
 
 Dedicamos este trabalho em primeiro lugar a Deus que iluminou o nosso caminho, nos 
deu força e coragem durante toda essa longa e difícil caminhada. 
Aos nossos pais e familiares que nos apoiaram. 
Aos nossos amigos, em especial a Milena Silva e Sabrina Cavalcante por nos ajudar 
com suas ideias, compreensão e em momentos de dificuldade e aos colegas que fizemos ao 
longo dessa jornada na universidade. 
E por último, mas não menos importante, aos professores e professoras do curso de 
Sistemas de Informação e de outras áreas, que nos passaram conhecimentos que foram 
importantes na nossa vida acadêmica e que também serão importantes na vida profissional. 
Em especial, ao Prof. Raul Queiros que nos apoiou em um momento de dificuldade, por 
disponibilizar seu tempo para nos ajudar com suas dicas e orientação. E ao Prof. Rodrigo Dias 
por nos orientar no desenvolvimento deste trabalho. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
“Às vezes, são as pessoas que ninguém imagina, que fazem as 
coisas que ninguém pode imaginar.” 
(Alan Turing – O Jogo da Imitação) 
 
RESUMO 
 
 Encontrar um banheiro público, limpo, organizado e acessível constitui-se como uma 
problemática para a maioria dos indivíduos. Sobretudo para turistas, motoristas de aplicativos 
que tendem a dirigir por áreas desconhecidas e pessoas com síndromes que afetam o trato 
intestinal, como a doença de Crohn. Pensando nesses fatores, desenvolveu-se como solução 
um sistema web e mobile, que a partir da localização dos usuários, pode informar onde há 
banheiros próximos para uso. Ao utilizar o ToiletFY, o usuário, além de consultar a 
localização dos banheiros e suas avaliações, também poderá registrar novos banheiros, obter 
informações sobre a qualidade, se necessita pagamento para uso, se o banheiro é adaptado, se 
possui fraldário e horário de funcionamento do mesmo. 
Para o desenvolvimento do aplicativo, as linguagens de programação HTML, CSS, 
Javascript foram utilizadas com o auxílio da API do Google Maps, Node.js para o lado do 
servidor, MySQL para o banco de dados relacional e Apache Cordova para a aplicação 
mobile. Com a realização deste trabalho, foi possível entender como uma tarefa simples, 
como encontrar um banheiro, pode ser muito importante e crucial para algumas pessoas. 
 
Palavras Chave: Banheiro, Aplicativo, Geolocalização 
 
ABSTRACT 
 
Finding a clean and accessible public toilet can be a major difficulty for most people, 
especially for tourists, application drivers who mostly drive through unknown areas and 
people affected by syndromes which affect the intestinal tract, such as Crohn's disease. 
Thinking about these facts a solution was developed, web and mobile system that, through the 
user's location, it is possible to inform where the nearest bathrooms are. When using 
ToiletFY, the user, in addition to consulting the location of the bathrooms and their 
evaluations, will also be able to register new bathrooms, obtain information about the quality, 
whether it is necessary to pay to use it or not, if there are adaptations for those who need, if 
the bathroom has a baby changing station and opening hours. 
For the development of ToiletFY, the programming languages HTML, CSS, and 
Javascript were used with the help of the Google maps API, Node.js for the server-side, 
MySQL for the relational database and Apache Cordova for the mobile application. With the 
accomplishment of this work it was possible to understand how something simple, like 
finding a bathroom, can become crucial in moments of need for some people. 
 
Keywords: Bathroom, Application, Geolocation 
 
 
SUMÁRIO 
1. INTRODUÇÃO .......................................................................................................................................... 10 
1.1. SOLUÇÃO PROPOSTA ........................................................................................................................... 10 
1.2. TECNOLOGIA ....................................................................................................................................... 10 
2. DOCUMENTAÇÃO TÉCNICA ............................................................................................................... 11 
2.1. REQUISITOS FUNCIONAIS WEB ............................................................................................................ 11 
2.2. REQUISITOS FUNCIONAIS ANDROID .................................................................................................... 11 
2.3. REQUISITOS NÃO FUNCIONAIS ............................................................................................................ 12 
2.4. DIAGRAMA CONCEITUAL DE CLASSES ................................................................................................ 13 
2.5. DIAGRAMA DE CASOS DE USO ............................................................................................................ 14 
2.6. DIAGRAMA CONCEITUAL DE DADOS ................................................................................................... 15 
2.7. DIAGRAMA LÓGICO DE DADOS ........................................................................................................... 16 
2.8. DIAGRAMA DE ATIVIDADES ................................................................................................................ 17 
3. DOCUMENTAÇÃO DOS CASOS DE USO ........................................................................................... 18 
3.1. DESCRIÇÃO DETALHADA DOS CASOS DE USO ..................................................................................... 18 
3.2. TELAS DO SISTEMA ANDROID ............................................................................................................. 20 
3.2.1. Tela Inicial..................................................................................................................................... 20 
3.2.2. Tela ao Clicar no Botão de Emergência e no Menu de Funções ................................................... 21 
3.2.3. Tela Adicionar Banheiro ............................................................................................................... 22 
3.2.4. Tela Reportar Problemas e no Menu de Funções ......................................................................... 23 
3.3. TELAS DO SISTEMA WEB .....................................................................................................................24 
3.3.1. Tela Inicial..................................................................................................................................... 24 
3.3.2. Tela Inicial Parte 2 ........................................................................................................................ 25 
3.3.3. Tela Inicial Parte 3 ........................................................................................................................ 26 
3.3.4. Tela ao Clicar no Botão Emergência ............................................................................................ 27 
3.3.5. Tela Adicionar Banheiro ............................................................................................................... 27 
3.3.6. Tela Reportar Problemas .............................................................................................................. 29 
4. FERRAMENTAS DE APOIO À DECISÃO ........................................................................................... 30 
4.1. DIAGRAMA DE IMPLANTAÇÃO ............................................................................................................ 30 
4.2. CRONOGRAMA .................................................................................................................................... 31 
4.3. ORÇAMENTO ....................................................................................................................................... 31 
4.3.1. Software ......................................................................................................................................... 31 
4.3.2. Hardware ....................................................................................................................................... 32 
4.3.3. Peopleware .................................................................................................................................... 32 
4.3.4. Total do Orçamento ....................................................................................................................... 33 
4.4. MATRIZ S.W.O.T. ............................................................................................................................... 33 
5. PROTÓTIPO ............................................................................................................................................. 34 
6. CONCLUSÃO ............................................................................................................................................ 37 
6.1. TRABALHOS FUTUROS ......................................................................................................................... 37 
7. REFERÊNCIAS ......................................................................................................................................... 38 
8. ANEXOS ..................................................................................................................................................... 39 
8.1. MODELO FÍSICO DE DADOS ................................................................................................................. 39 
 
 
 
 
10 
 
1. INTRODUÇÃO 
Encontrar um banheiro público, limpo, organizado e acessível constitui-se como uma 
problemática para a maioria dos indivíduos. Sobretudo para turistas, motoristas de aplicativos 
que tendem a dirigir por áreas desconhecidas e pessoas com síndromes que afetam o trato 
intestinal, como a doença de Crohn. 
1.1. Solução proposta 
Construir um sistema, através de uma interface web, que também irá se aplicar para 
sistemas Android, através de um aplicativo, que com o acesso a localização dos usuários é 
possível informar: locais próximos onde há banheiros para uso, suas avaliações, se necessitam 
de pagamento para uso, se são adaptados, se há fraldário, horário de funcionamento ou se 
possuem alguma observação sobre o uso. 
O usuário poderá consultar o mapa, cadastrar banheiros e reportar problemas 
desfrutando de uma interface simples e de fácil entendimento, na qual será solicitado o 
preenchimento de um formulário com as informações do banheiro, como: nome do local, 
endereço, a avaliação em relação a satisfação do usuário. Com funcionalidades de localização 
através do GPS, o cadastramento se torna ainda mais rápido e prático, facilitando assim a 
experiência do usuário com o sistema. 
1.2. Tecnologia 
O trabalho foi desenvolvido utilizando a linguagem de modelagem UML para 
modelar os diagramas de acordo com as necessidades do sistema, como diagrama de casos de 
uso e diagrama de classe. 
O sistema possui como atributos: o nome do local que o banheiro se encontra, a 
avaliação, informa se tem fraldário, se é adaptado, se necessita pagamento para uso e horário 
de funcionamento do local do banheiro. 
O desenvolvimento foi feito em HTML, CSS, JavaScript, Node.js para o lado do 
servidor, MySQL para banco de dados relacional e Apache Cordova para construir a 
aplicação mobile. Também foi utilizada a API do Google Maps para carregamento do mapa 
com o auxílio da biblioteca places para a possibilidade de pesquisar locais no mapa. Os locais 
com banheiro são carregados para o mapa a partir da API Banheiros. 
 
11 
 
2. DOCUMENTAÇÃO TÉCNICA 
2.1. Requisitos Funcionais Web 
Código: RF001 Nome: Acesso à internet 
Prioridade: (x) Essencial ( ) Importante ( ) Desejável 
Descrição: 
Para a funcionalidade do sistema é essencial que o usuário tenha acesso 
à internet. 
 
Código: RF002 Nome: Localização ativada 
Prioridade: (x) Essencial ( ) Importante ( ) Desejável 
Descrição: 
Para o usuário se localizar e procurar algum banheiro no mapa é 
essencial que a sua localização esteja ativada. 
 
Código: RF003 Nome: Requer navegador web 
Prioridade: (x) Essencial ( ) Importante ( ) Desejável 
Descrição: 
Para a utilização do sistema web é essencial que o usuário tenha algum 
navegador web instalado em seu computador ou em seu smartphone. 
2.2. Requisitos Funcionais Android 
Código: RF004 Nome: Requer Android 5.0 ou superior 
Prioridade: (x) Essencial ( ) Importante ( ) Desejável 
Descrição: 
Para a utilização do aplicativo Android é essencial que o usuário tenha 
instalado em seu smartphone o Android na sua versão 5.0 ou superior. 
 
Código: RF005 Nome: GPS 
Prioridade: (x) Essencial ( ) Importante ( ) Desejável 
Descrição: 
Para a funcionalidade do aplicativo é essencial que o usuário tenha o 
GPS ativado em seu smartphone. 
 
Código: RF006 Nome: Conexão com a internet 
Prioridade: (x) Essencial ( ) Importante ( ) Desejável 
Descrição: 
Para a funcionalidade do aplicativo é essencial que o usuário tenha 
acesso à internet. 
 
 
12 
 
2.3. Requisitos Não Funcionais 
Código: RNF001 Nome: Necessidade de banheiro próximo cadastrado 
Descrição: 
Para a funcionalidade botão de emergência operar corretamente é 
necessário que tenha algum banheiro cadastrado no mapa próximo da 
localização do usuário, caso contrário, não irá funcionar corretamente. 
O aplicativo irá informar que não há banheiro próximo cadastrado. 
 
Código: RNF002 Nome: Uso da linguagem JavaScript e interpretador Node.js 
Descrição: 
O sistema deve ser desenvolvido na linguagem JavaScript e deve ser 
usado o Node.js como interpretador para o lado do servidor. 
 
Código: RNF003 Nome: Design Responsivo 
Descrição: 
A interface deve prover a possibilidade do sistema ser usado por 
diferentes dispositivos, computadores, celulares e tablets. 
 
Código: RNF004 Nome: Interface Simples 
Descrição: 
A interface deve ser simples e intuitiva, para melhor experiência do 
usuário com o sistema. 
 
13 
 
2.4. Diagrama Conceitual de Classes 
 
Figura 1 – Diagrama conceitual de classe. 
14 
 
2.5. Diagrama de Casos de Uso 
 
Figura 2 – Diagrama de casos de uso. 
 
15 
 
2.6. Diagrama Conceitual de Dados 
 
Figura 3 – Diagrama conceitual de dados. 
16 
 
2.7. Diagrama Lógico de Dados 
 
Figura 4 – Diagrama lógicode dados. 
 
17 
 
2.8. Diagrama de Atividades 
 
Figura 5 – Diagrama de atividades. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18 
 
3. DOCUMENTAÇÃO DOS CASOS DE USO 
3.1. Descrição detalhada dos Casos de Uso 
Caso de Uso: Solicitação de novo banheiro 
Ator(es): Usuário 
Descrição: 
Caso o usuário queira cadastrar um novo banheiro no mapa, ele poderá 
realizar esta operação através desse caso de uso. 
Curso Típico dos Eventos 
Nº Ações 
1 Clicar no botão ”Adicionar Banheiro” 
2 Preencher todos os dados corretamente 
3 
Banheiro é cadastrado no banco de dados - <<include Adicionar marcador 
no mapa>> 
4 
Marcador do banheiro aparece no mapa na localização exata que foi 
informado 
 --- Fim do caso de uso -- 
 
Caso de Uso: Reportar Erro 
Ator(es): Usuário 
Descrição: 
Caso o usuário queira reportar algum erro em algum banheiro no mapa, ele 
poderá fazer esta operação através deste caso de uso. 
 Curso Típico dos Eventos 
Nº Ações 
1 Clicar no botão “Reportar Erros” 
2 Preencher todos os dados corretamente 
3 Erro é cadastrado no banco de dados 
 --- Fim do caso de uso -- 
 
 
 
 
 
 
19 
 
Caso de Uso: Localizar Banheiro 
Ator(es): Alexa e Usuário 
Descrição: 
Ao utilizar a funcionalidade da Alexa no sistema, ela tentará localizar o 
banheiro mais próximo da localização do usuário e informá-lo. 
Curso Típico dos Eventos 
Nº Ações 
1 Usuário solicita a funcionalidade da Alexa por comando de voz 
2 Alexa utiliza a sua localização - << include Usar localização>> 
3 Alexa informa qual é o banheiro mais próximo 
 --- Fim do caso de uso -- 
 
Caso de Uso: Visualizar mapa 
Ator(es): Usuário e Sistema 
Descrição: 
Ao acessar o sistema web ou Android, o sistema automaticamente lista 
para o usuário todos os banheiros cadastrados no mapa. 
Curso Típico dos Eventos 
Nº Ações 
1 Usuário abre o aplicativo Android ou o website via navegador web 
2 Sistema utiliza a sua localização - << include Usar localização>> 
3 
Sistema aproxima a visualização do mapa para o usuário na sua 
localização atual 
4 Sistema lista todos os banheiros no mapa << include Listar Banheiros>> 
 --- Fim do caso de uso -- 
 
 
 
 
 
 
 
20 
 
3.2. Telas do Sistema Android 
3.2.1. Tela Inicial 
 
Figura 6 – Tela inicial no sistema Android. 
 
1) Menu de Funções – Ao clicar no menu o usuário poderá adicionar e reportar algum 
problema no banheiro. 
2) Barra de Pesquisa – Ao clicar na barra irá aparecer uma linha para o usuário digitar 
algum bairro, rua, entre outros dados em relação ao mapa. 
3) Recarregar – Ao clicar neste botão a página será recarregada. 
4) Botão de Emergência – Ao clicar neste botão o sistema irá mostrar qual é o banheiro 
mais próximo da localização do usuário, abrindo uma mensagem na tela com o endereço. 
5) Botão de Localização – Ao clicar neste botão o sistema irá exibir a localização atual 
do usuário no mapa em tempo real. 
21 
 
6) Google Street View – Ao arrastar o bonequinho para qualquer local do mapa, o 
usuário através da API do Google irá desfrutar da funcionalidade Google Street View no local 
que deseja. 
7) Aumentar Zoom – Ao clicar neste botão o usuário poderá aumentar o zoom do mapa. 
8) Diminuir Zoom – Ao clicar neste botão o usuário irá poder diminuir o zoom do mapa. 
3.2.2. Tela ao Clicar no Botão de Emergência e no Menu de Funções 
 
Figura 7 – Tela após clicar no botão de emergência e no menu de funções. 
 
1) Botão OK – Ao clicar neste botão, o usuário será direcionado para o mapa, que se 
aproximará automaticamente do local em que o banheiro mencionado na mensagem está 
localizado. 
2) Adicionar Banheiro – Ao clicar neste botão, o usuário irá para a tela de adicionar um 
banheiro. 
3) Reportar Problemas – Ao clicar neste botão, o usuário irá para a tela de reportar 
problemas. 
22 
 
3.2.3. Tela Adicionar Banheiro 
 
Figura 8 – Tela adicionar banheiro. 
 
1) Campo Nome – O usuário deverá preencher com o seu nome. 
2) Campo Nome do Local – O usuário deverá preencher com o nome do local. 
3) Campo Endereço – Neste campo o usuário não poderá escrever o seu endereço, ele 
deverá clicar no botão de localização ao lado para usar a sua localização atual. 
4) Procurar no Mapa – Caso o banheiro que o usuário queira cadastrar não seja o que 
está na sua localização atual, ele deverá clicar neste botão e localizar no mapa do Google 
Maps a localização exata do banheiro. 
5) Campo Pagamento – Ao clicar nesta box, o usuário irá informar que necessita pagar 
algum valor para usá-lo. 
6) Campo PcD – Ao clicar nesta box, o usuário irá informar que está adaptado para 
pessoas com deficiência. 
7) Campo Fraldário – Ao clicar nesta box, o usuário irá informar que possui fraldário. 
23 
 
8) Campo Horário de Funcionamento – Ao clicar neste campo o usuário irá informar o 
horário de funcionamento do banheiro. 
9) Campo Avaliação – Neste campo o usuário deverá informar qual foi a sua avaliação 
geral do banheiro que vai de 1 até 5, sendo 1 muito insatisfeito e 5 muito satisfeito. 
10) Campo Observação – Ao clicar neste campo o usuário poderá escrever alguma 
observação sobre o banheiro. 
11) Botão Enviar – Ao clicar neste botão, as informações serão enviadas para o banco. 
3.2.4. Tela Reportar Problemas e no Menu de Funções 
 
Figura 9 – Tela reportar problema e no menu de funções. 
1) Campo Nome – O usuário deverá preencher com o seu nome. 
2) Campo Nome do Local – O usuário deverá preencher com o nome do local. 
3) Campo Endereço – Neste campo o usuário não poderá escrever o seu endereço, ele 
deverá clicar no botão de localização ao lado para usar a sua localização atual. 
24 
 
4) Procurar no Mapa – Caso o banheiro que o usuário queira cadastrar não seja o que 
está na sua localização atual, ele deverá clicar neste botão e localizar no mapa do Google 
Maps a localização exata do banheiro. 
5) Campo Categoria – Ao clicar neste campo o usuário poderá escolher qual é a 
categoria do problema apresentado. 
6) Campo Descrição – Ao clicar neste campo o usuário poderá informar a descrição 
exata do problema que ele deseja reportar. 
7) Botão Enviar – Ao clicar neste botão, as informações serão enviadas para o banco. 
8) Botão Home – Ao clicar neste botão o usuário irá voltar para a tela inicial do sistema. 
9) Adicionar Banheiros – Ao clicar neste botão, o usuário irá para a tela de adicionar 
um banheiro. 
3.3. Telas do Sistema Web 
3.3.1. Tela Inicial 
 
Figura 10 – Tela inicial da interface web. 
25 
 
3.3.2. Tela Inicial Parte 2 
 
Figura 11 – Tela inicial da interface web. 
1) Barra de Pesquisa – Ao clicar na barra irá aparecer uma linha para o usuário digitar 
algum bairro, rua, entre outros dados em relação ao mapa. 
2) Adicionar Banheiro – Ao clicar neste botão, o usuário irá para a tela de adicionar um 
banheiro. 
3) Reportar Problemas – Ao clicar neste botão, o usuário irá para a tela de reportar 
problemas. 
4) Recarregar – Ao clicar neste botão a página será recarregada. 
 
26 
 
3.3.3. Tela Inicial Parte 3 
 
Figura 12 – Tela inicial da interface web. 
1) Botão de Emergência – Ao clicar neste botão o sistema irá mostrar qual é o banheiro 
mais próximo da localização do usuário, abrindo uma mensagem na tela com o endereço. 
2) Botão de Localização – Ao clicar neste botão o sistema irá exibir a localização atual 
do usuário no mapa em tempo real. 
3) Google Street View – Ao arrastar o bonequinho para qualquer local do mapa, o 
usuário através da API do Google irá desfrutar da funcionalidade Google Street View no local 
que deseja. 
4) Aumentar Zoom – Ao clicar neste botão o usuário poderá aumentar o zoom do mapa. 
5) Diminuir Zoom – Ao clicar neste botão o usuário irá poder diminuir o zoom do mapa. 
27 
 
3.3.4. Tela ao Clicar no Botão Emergência 
 
Figura 13 – Tela ao clicar o botão emergência. 
1) Botão OK – Ao clicar neste botão, o usuário será direcionado para o mapa, que se 
aproximará automaticamente do local emque o banheiro mencionado na mensagem está 
localizado. 
3.3.5. Tela Adicionar Banheiro 
 
Figura 14 – Tela adicionar banheiro da interface web. 
28 
 
1) Botão Home – Ao clicar neste botão o usuário irá voltar para a tela inicial do sistema. 
2) Campo Nome – O usuário deverá preencher com o seu nome. 
3) Campo Nome do Local - O usuário deverá preencher com o nome do local. 
4) Campo Endereço – Neste campo o usuário não poderá escrever o seu endereço, ele 
deverá clicar no botão de localização ao lado para usar a sua localização atual. 
5) Procurar no Mapa – Caso o banheiro que o usuário queira cadastrar não seja o que 
está na sua localização atual, ele deverá clicar neste botão e localizar no mapa do Google 
Maps a localização exata do banheiro. 
6) Campo Pagamento – Ao clicar nesta box, o usuário irá informar que necessita pagar 
algum valor para usá-lo. 
7) Campo PcD – Ao clicar nesta box, o usuário irá informar que está adaptado para 
pessoas com deficiência. 
8) Campo Fraldário – Ao clicar nesta box, o usuário irá informar que possui fraldário. 
9) Campo Horário de Funcionamento – Ao clicar neste campo o usuário irá informar o 
horário de funcionamento do banheiro. 
10) Campo Avaliação – Neste campo o usuário deverá informar qual foi a sua avaliação 
geral do banheiro que vai de 1 até 5, sendo 1 muito insatisfeito e 5 muito satisfeito. 
11) Campo Observação – Ao clicar neste campo o usuário poderá escrever alguma 
observação sobre o banheiro. 
12) Botão Enviar – Ao clicar neste botão, as informações serão enviadas para o banco. 
 
29 
 
3.3.6. Tela Reportar Problemas 
 
Figura 15 – Tela reportar erros da interface web. 
1) Campo Nome – O usuário deverá preencher com o seu nome. 
2) Campo Nome do Local – O usuário deverá preencher com o nome do local. 
3) Campo Endereço – Neste campo o usuário não poderá escrever o seu endereço, ele 
deverá clicar no botão de localização ao lado para usar a sua localização atual. 
4) Procurar no Mapa – Caso o banheiro que o usuário queira cadastrar não seja o que 
está na sua localização atual, ele deverá clicar neste botão e localizar no mapa do Google 
Maps a localização exata do banheiro. 
5) Campo Categoria – Ao clicar neste campo o usuário poderá escolher qual é a 
categoria do problema apresentado. 
6) Campo Descrição – Ao clicar neste campo o usuário poderá informar a descrição 
exata do problema que ele deseja reportar. 
7) Botão Enviar – Ao clicar neste botão, as informações serão enviadas para o banco. 
 
 
30 
 
4. FERRAMENTAS DE APOIO À DECISÃO 
4.1. Diagrama de Implantação 
 
Figura 16 – Diagrama de instalação. 
Os três primeiros itens do diagrama (lido de cima para baixo) são representados pelos 
smartphones (apenas Android), Computadores / Notebooks e a Alexa, a assistente virtual 
desenvolvida pela Amazon, possui capacidade de interagir por voz, tocar músicas, fazer listas 
de tarefas, configurar alarmes, prover informações sobre tráfego, temperatura, entre outras 
informações, além de controlar sistemas e aparelhos inteligentes conectados. 
31 
 
Ao se comunicarem com o dispositivo GPS, quando conectados com a internet, terão 
acesso à API banheiros, que está hospedada em um servidor Node.js, que automaticamente irá 
se comunicar com banco de dados MySQL lhe retornando todos os banheiros cadastrados no 
sistema. 
4.2. Cronograma 
 
Figura 17 – Cronograma do trabalho. 
4.3. Orçamento 
4.3.1. Software 
NOME DESCRIÇÃO QUANT. VALOR UNIT. VALOR 
Visual Studio Code
Editor de código-fonte 
desenvolvido pela Microsoft 1 Gratuito Gratuito
MySQL Workbench
Ferramenta visual de design de 
banco de dados 1 Gratuito Gratuito
Android Studio
 Ambiente de desenvolvimento 
integrado para desenvolver para 
a plataforma Android
1 Gratuito Gratuito
Office 365
 Versão por assinatura da suíte 
de aplicativos para 
escritório/produtividade 
Microsoft Office
1 Gratuito Gratuito
Total 4 R$ 0
SOFTWARE
 
Figura 18 – Total gasto com software. 
32 
 
4.3.2. Hardware 
NOME DESCRIÇÃO QUANT. VALOR UNIT. VALOR 
Domínio Registro de dominio 1 R$ 40,00 R$ 40,00
Hospedagem Heroku
Hospedagem do aplicativo na 
web 1 Gratuito Gratuito
Servidor Node.JS + SGBD
Hospedagem do servidor com a 
API banheiros e do SGBD 
MySQL
1 R$ 8,50 R$ 8,50
Total 3 R$ 48,50
HARDWARE
Figura 19 – Total gasto com hardware. 
4.3.3. Peopleware 
NOME DESCRIÇÃO HORAS VALOR HORAS VALOR 
Desenvolvedor Full Stack
Desenvolvedor atua em 
backend (servidor, banco de 
dados, modelagem, 
programação, estruturação de 
dados e implementação) e 
frontend (interface, UX).
496 R$ 28,43 R$ 14.101,28
Analista de sistemas
Analisa, documenta, projeta, 
implementa, testa e gerencia os 
sistemas de informações 
necessários para os negócios de 
seus clientes ou empregadores.
424 R$ 23,41 R$ 9.925,84
Testador de Software
Os testadores de software têm 
tarefas específicas desde o 
desenvolvimento, testes e 
lançamento para produção
216 R$ 9,37 R$ 2.023,92
Total 1136 R$ 26.051,04
PEOPLEWARE
Figura 20 – Total gasto com peopleware. 
O valor hora do Analista e do Desenvolvedor mencionados no orçamento foi baseado 
no site GuiadaCarreira, do Testador de Software no site Vagas.com, acessados no dia 14 de 
abril de 2020. Para o analista foi calculado o salário mensal inicial de R$ 4.120,00, para o 
desenvolvedor FullStack o salário mensal inicial de R$ 5.003,00 e para o Testador de 
Software salário mensal inicial de R$ 1.650,00. 
33 
 
A partir desse ponto inicial, consegue-se calcular o valor hora dos colaboradores para 
definir-se o custo com peopleware durante o trabalho, sendo usado como parâmetro 22 dias 
úteis por mês. 
4.3.4. Total do Orçamento 
NOME DESCRIÇÃO VALOR 
Software
Conjunto de componentes lógicos de um computador ou 
sistema de processamento de dados; programa, rotina ou 
conjunto de instruções que controlam o funcionamento de um 
computador
R$ 0,00
Hardware
Componentes eletrônicos, como por exemplo, circuitos de 
fios e luz, placas, utensílios, correntes, e qualquer outro 
material em estado físico
R$ 48,50
Peopleware
Pessoas que trabalham diretamente, ou indiretamente, com a 
área de tecnologia da informação, ou mesmo com Sistema de 
Informação.
R$ 26.051,04
Total Geral R$ 26.099,54
TOTAL
 
Figura 21 – Total do orçamento. 
 
4.4. Matriz S.W.O.T. 
 
Figura 22 – Matriz S.W.O.T. 
 
34 
 
5. PROTÓTIPO 
Inicialmente, quando o sistema foi lançado, era necessário que a equipe de 
desenvolvimento coletasse as informações – nome do local, endereço e avaliação, a respeito 
dos banheiros, tanto do formulário externo, quanto do formulário interno no sistema, por meio 
de uma integração com o Google Forms. A partir destas informações enviadas pelos usuários, 
os desenvolvedores poderiam cadastrar um novo banheiro, um por um. 
 
Figura 23 – Formulário de cadastro de novo banheiro no aplicativo. 
 
Figura 24 – Formulário de cadastro de novo banheiro no Google Forms. 
 
35 
 
Um dos primeiros usuários, Tadeu Martich, ao cadastrar um banheiro, perguntou a um 
integrante da equipe de desenvolvimento se era possível utilizar sua localização 
automaticamente para realização do cadastro. Tal ação seria mais rápida, prática e intuitiva. 
Levando essa sugestão em conta, implementou-se o botão "usar localização" no formulário de 
cadastro de banheiros. O usuário Rodrigo Dias sugeriu que além das informações já contidas 
no aplicativo a respeito dos banheiros (se o mesmo era adaptado e se necessitava pagamento), 
fosse incluída a indicação se o mesmo possuía fraldário. 
Depois que o aplicativo foi publicado na Google Play, o usuário "Bee S" reportou uma 
avaliação, informando que a interface era fácil de usar e bem organizada. Todavia, salientou 
que um mecanismo de busca traria benefícios ao aplicativo. Após essa implementação, 
divulgou-se em grupos de desenvolvimento no Facebook, recebendo diversas sugestões e 
elogios, a respeito da ideia, e como ela seria útil. Uma dassugestões implementadas no 
sistema foi solicitada pelo usuário Arthur Almeida. Quando o mesmo foi cadastrar um 
banheiro, não tinha conhecimento sobre o endereço exato do local e, com isso, não conseguiu 
concluir seu cadastro. Logo após, solicitou para que fosse desenvolvida uma opção de 
adicionar banheiro selecionando o local no mapa. 
Com o aplicativo próximo de sua versão final, o usuário Rodrigo Dias sugeriu mais 
uma funcionalidade, um botão de emergência, que foi nomeado como SOS. Ao ser acionado, 
indicaria o banheiro mais próximo da localização do usuário, dando um zoom no local exato 
no mapa. 
 
 
 
 
 
 
 
 
 
 
 
 
36 
 
Em abril de 2020, enviou-se uma pesquisa para os 30 primeiros usuários que 
colaboraram com o aplicativo. Tratava-se de uma pesquisa simples, com três campos: nome, 
sugestão de melhoria e probabilidade de indicar o aplicativo para um amigo. 
 
Figura 25 – Gráfico de probabilidade de recomendação do aplicativo. 
Diversos usuários sugeriram a inclusão de um campo que indicasse o horário de 
funcionamento dos locais em que se encontra o banheiro, para assim, evitar o deslocamento 
desnecessário até um ponto que esteja fechado. Tendo em vista essas sugestões pertinentes, a 
equipe de desenvolvimento realizou um estudo e as implementou. 
O usuário Patrick Del Bello sugeriu aos desenvolvedores, ao responder a pesquisa, que 
o botão de "pesquisar locais" estava com difícil legibilidade. A partir disso, implementou-se 
uma solução para melhorar a visualização da barra de pesquisa. 
Atualmente, em maio de 2020, o aplicativo está instalado em mais de 100 dispositivos 
e já foi instalado mais de 250 vezes. 
 
 
37 
 
6. CONCLUSÃO 
Com a realização deste trabalho, foi possível compreender aquilo que é uma tarefa 
simples, como procurar por um banheiro, é essencial para determinados indivíduos: 
motoristas de aplicativos, turistas e pessoas com síndromes do trato intestinal. 
Constataram-se as reais dificuldades no desenvolvimento de sistemas, tanto para web 
como para dispositivos móveis. Proporcionou-se, durante o desenvolvimento do sistema, o 
aprendizado acerca de novas tecnologias e soluções. Com isso, facilita-se o desenvolvimento 
de novos projetos para auxiliar a população no dia a dia. 
No cenário amplo, a aceitação do usuário com o sistema foi bem-sucedida, atendendo 
as necessidades de forma simples, precisa e rápida. Sua interface simplificada e intuitiva 
melhora ainda mais a experiência do usuário com o sistema. 
O Backend foi publicado utilizando a plataforma de hospedagem da empresa King 
Host. Foi criada uma instância com Linux e Node.js versão 12.16.2 para subir o servidor, foi 
utilizado o gerenciador de processos para tempo de execução PM2, uma ferramenta 
opensource para o gerenciamento e deploy de aplicações Node.js em ambientes de produção. 
Atrelado ao servidor Node.js foi usado o banco de dados relacional MySQL para gerenciar e 
manter a base de dados de locais com banheiro disponível para uso. 
O Frontend foi hospedado no Heroku, uma plataforma de computação em nuvem, que 
oferece serviços de hospedagem para sites e servidores em diversas linguagens. 
A aplicação está disponível na loja oficial de aplicativos para o sistema operacional 
Android e através do endereço (https://toiletfy.herokuapp.com/) para navegadores web 
6.1. Trabalhos futuros 
Como trabalho futuro, a equipe visa a criação de parcerias comerciais com empresas e 
estabelecimentos comerciais, alçando vantagens para seus usuários. Simultaneamente, 
desenvolver estudos para monetizar o aplicativo, com a inserção de propagandas utilizando o 
Google Ads, sem poluir a identidade visual do aplicativo. 
Adição de banheiros temporários, onde o usuário pode ceder o banheiro de sua 
residência ou estabelecimento comercial, seja cobrando pelo uso ou não, para determinados 
eventos públicos ou privados, como carnaval, ano novo e eventos esportivos. 
Criação de parcerias estratégicas usando os dados de reclamação dos banheiros para 
melhoria dos mesmos. 
 
38 
 
7. REFERÊNCIAS 
ALEXA. Automação Residencial. Disponível em: https://www.b2home.com.br/alexa-
da-amazon/. Acesso em: 10 abr. 2020. 
CORDOVA. Documentation, 2015. Disponível em: 
https://cordova.apache.org/docs/en/latest/. Acesso em: 08 mar. 2020. 
GUIADACARREIRA. Quanto ganha um Programador. Disponível em: 
https://www.guiadacarreira.com.br/salarios/quanto-ganha-um-programador/. Acesso em: 14 
abr. 2020. 
GUIADACARREIRA. Quanto ganha um Analista de Sistemas. Disponível em: 
https://www.guiadacarreira.com.br/salarios/quanto-ganha-um-analista-de-sistemas/. Acesso 
em: 14 abr. 2020. 
HEROKU. Cloud Platform. Disponível em: https://www.heroku.com/. Acesso em: 05 
fev. 2020. 
JAVASCRIPT. Tecnologia para desenvolvedores web, 2019. Disponível em: 
https://developer.mozilla.org/pt-BR/docs/Web/JavaScript. Acesso em: 12 jan. 2020. 
KINGHOST. Hospedagem de Sites. Disponível em: https://king.host/. Acesso em: 20 
fev.2020. 
MYSQL. MySQL Documentation, 2020. Disponível em: https://dev.mysql.com/doc/. 
Acesso em: 10 fev. 2020. 
NODE.JS. Documentação. Disponível em: https://nodejs.org/pt-br/docs/. Acesso em: 
05 jan. 2020. 
PM2. Advanced, Production, Process Manager for Node.JS. Disponível em: 
https://pm2.keymetrics.io/. Acesso em: 15 fev. 2020. 
VAGAS. Testador de Software. Disponível em: 
https://www.vagas.com.br/cargo/testador-de-software. Acesso em: 14 abr. 2020. 
 
 
 
 
https://www.b2home.com.br/alexa-da-amazon/
https://www.b2home.com.br/alexa-da-amazon/
https://cordova.apache.org/docs/en/latest/
https://www.guiadacarreira.com.br/salarios/quanto-ganha-um-programador/
https://www.guiadacarreira.com.br/salarios/quanto-ganha-um-analista-de-sistemas/
https://www.heroku.com/
https://developer.mozilla.org/pt-BR/docs/Web/JavaScript
https://king.host/
https://dev.mysql.com/doc/
https://nodejs.org/pt-br/docs/
https://pm2.keymetrics.io/
https://www.vagas.com.br/cargo/testador-de-software
39 
 
8. ANEXOS 
 
8.1. Modelo Físico de Dados 
CREATE TABLE `banheiros` ( 
 `Id` int(11) NOT NULL AUTO_INCREMENT, 
 `Latitude` decimal(10,8) NOT NULL, 
 `Longitude` decimal(11,8) NOT NULL, 
 `Descricao` varchar(1000) NOT NULL, 
 `Nomelocal` varchar(700) NOT NULL, 
 `Endereco` varchar(700) NOT NULL, 
 `Observacao` varchar(700) DEFAULT NULL, 
 `Avaliacao` varchar(700) NOT NULL, 
 `Informacao` varchar(700) NOT NULL 
) ENGINE=InnoDB DEFAULT CHARSET=utf8; 
 
CREATE TABLE `erros` ( 
 `Id` int(11) NOT NULL AUTO_INCREMENT, 
 `Latitude` decimal(10,8) NOT NULL, 
 `Longitude` decimal(11,8) NOT NULL, 
 `Nomelocal` varchar(700) NOT NULL, 
 `Endereco` varchar(300) NOT NULL, 
 `Descricao` varchar(700) NOT NULL, 
 `Categorias` varchar(200) NOT NULL, 
 `Data_Reclamacao` datetime NOT NULL 
) ENGINE=InnoDB DEFAULT CHARSET=utf8; 
 
ALTER TABLE `banheiros` 
 ADD PRIMARY KEY (`Id`); 
 
ALTER TABLE `erros` 
 ADD PRIMARY KEY (`Id`); 
	1. INTRODUÇÃO
	1.1. Solução proposta
	1.2. Tecnologia
	2. DOCUMENTAÇÃO TÉCNICA
	2.1. Requisitos Funcionais Web
	2.2. Requisitos Funcionais Android
	2.3. Requisitos Não Funcionais
	2.4. Diagrama Conceitual de Classes
	1.
	2.
	2.
	2.5. Diagrama de Casos de Uso
	2.6. Diagrama Conceitual de Dados
	2.7. Diagrama Lógico de Dados
	2.8. Diagrama de Atividades
	3. DOCUMENTAÇÃO DOS CASOS DE USO
	3.1. Descrição detalhada dos Casos de Uso
	3.2. Telas do Sistema Android
	3.2.1. Tela Inicial
	3.2.2. Tela ao Clicar no Botão de Emergência e no Menu de Funções
	2.5.1.
	3.2.3. Tela Adicionar Banheiro
	3.2.4. Tela Reportar Problemas e no Menu de Funções
	3.3. Telas do Sistema Web
	3.3.1. Tela Inicial
	3.1.1.
	3.3.2. Tela Inicial Parte 2
	3.3.3. Tela Inicial Parte 3
	3.3.4. Tela ao Clicar no Botão Emergência
	3.3.5. Tela Adicionar Banheiro
	3.3.6. Tela Reportar Problemas
	4. FERRAMENTAS DE APOIO À DECISÃO
	4.1. Diagrama de Implantação
	4.2. Cronograma
	4.3. Orçamento
	4.3.1. Software
	4.3.2. Hardware
	4.3.3. Peopleware
	4.3.4. Total do Orçamento4.4. Matriz S.W.O.T.
	5. Protótipo
	6. CONCLUSÃO
	6.1. Trabalhos futuros
	7. REFERÊNCIAS
	8. Anexos
	8.1. Modelo Físico de Dados

Outros materiais