Você está na página 1de 87

UNIVERSIDADE DO SUL DE SANTA CATARINA

PEDRO ALENCAR DE SOUSA SANTOS DA ROCHA


SANDRO IRENO MARTINS JUNIOR

DESENVOLVIMENTO DE APLICATIVO PARA O AUXÍLIO DE ADOÇÃO DE


ANIMAIS UTILIZANDO NODE E REACT NATIVE

Florianópolis
2021
PEDRO ALENCAR DE SOUSA SANTOS DA ROCHA
SANDRO IRENO MARTINS JUNIOR

DESENVOLVIMENTO DE APLICATIVO PARA O AUXÍLIO DE ADOÇÃO DE


ANIMAIS UTILIZANDO NODE E REACT NATIVE

Trabalho de Conclusão de Curso apresentado ao Curso


de Graduação em Sistemas da Informação da
Universidade do Sul de Santa Catarina, como requisito
parcial à obtenção do título de Bacharel em Sistemas da
Informação.

Orientador: Prof. Theo Augustus Luz, Me.

Florianópolis
2021
PEDRO ALENCAR DE SOUSA SANTOS DA ROCHA
SANDRO IRENO MARTINS JUNIOR

DESENVOLVIMENTO DE APLICATIVO PARA O AUXÍLIO DE ADOÇÃO DE


ANIMAIS UTILIZANDO NODE E REACT NATIVE

Este Trabalho de Conclusão de Curso foi julgado


adequado à obtenção do título de Bacharel em Sistemas
de informação e aprovado em sua forma final pelo Curso
de Graduação em Sistemas de informação da
Universidade do Sul de Santa Catarina.

Florianópolis, 22 de junho de 2021

______________________________________________________
Professor e orientador Theo Augustus Luz, Me.
Universidade do Sul de Santa Catarina

______________________________________________________
Prof. Maria Inés Castiñeira, Dra.
Universidade do Sul de Santa Catarina

______________________________________________________
Prof. Rafael Lessa, Esp.
Universidade do Sul de Santa Catarina
AGRADECIMENTOS

Pedro agradece a:
Agradeço primeiramente aos meus pais Juliana Marinho de Sousa Santos e Pedro
Roberto da Rocha por serem pais maravilhosos sempre me incentivarem nos estudos e no meu
aprimoramento pessoal, gostaria de deixar registrado meu amor e gratidão por tudo que vocês
fazem por mim.
Gostaria de agradecer a minha namorada Natália Kinzel, que me apoiou durante
todo o desenvolvimento do projeto, esteve do meu lado para ouvir minhas ideias e sempre me
apoiou. Obrigado por todo seu amor, carinho e ajuda.
Quero agradecer meu colega Sandro Ireno Martins Junior, minha dupla nas realizações
deste projeto, foi um prazer realizar esse trabalho ao seu lado, um grande amigo que tive a
oportunidade de conhecer durante o curso, e que pretendo guardar para toda vida. E gostaria de
agradecer nosso orientador Theo Luz por todo suporte durante o projeto

Sandro agradece a:
Agradeço aos meus pais Delma Pereira Martins e Sandro Ireno Martins por sempre me
incentivar na vida e me dar força a cada etapa dela. Gostaria de agradecer a minha vó Francisca,
que infelizmente faleceu recentemente, mas que levo sempre comigo. Agradeço também aos
meus irmãos Thaise Pereira Martins, Everton Pereira Martins e Thiago Pereira Martins por todo
apoio durante esses anos e por sempre estar do meu lado em todos os momentos.
Gostaria de agradecer meu amigo e dupla do TCC Pedro Alencar, por todo esse tempo
de faculdade, foi um grande prazer realizar esse trabalho com você e tenho certeza de que
levarei essa amizade para sempre.
Quero também agradecer ao nosso orientador Theo por todo essa ajuda que nos deu
durante o processo do TCC. E aos professores de Unisul que passaram no meu caminho da
faculdade, fica aqui meu muito obrigado, saibam que estarão juntos nessa minha caminhada
pessoal e profissional e que me deram muito conhecimento e experiência sobre essa área que
tanto amo.
“Quando olhemos para o futuro, no próximo século, veremos que os líderes serão os que
favoreçam o desenvolvimento de todos os outros.” (Bill Gates).
RESUMO

O número de animais abandonados ou que foram resgatados por ONG’s e precisam ser adotados
cresce cada dia mais no Brasil, e mesmo com a rápida troca de informações que existe nas redes
sociais, não são todos os anúncios que chegam para quem realmente está interessado em ajudar.
Com isso o presente trabalho tem o objetivo de desenvolver uma aplicação voltada para o
auxílio da adoção/doação de animais. Não existe uma plataforma relevante que aborde apenas
essa parcela do mercado, mesmo que esse nicho tenha muita relevância nas redes sociais
atualmente. A aplicação funciona como uma rede de anúncios, onde é possível emitir alertas de
adoção, tendo como principal função a padronização desse tipo de anúncio. A utilização da
aplicação é feita pelo utilizador através de um usuário criado após o primeiro acesso, e nessa
página de cadastro é possível cadastrar os animais do usuário também, assim criando um
vínculo entre tutor e animal. O potencial de escalonamento para esse tipo de aplicativo é enorme
podendo auxiliar em inúmeros casos de desaparecimento de animais e resgates, criando uma
padronização, onde a informação se torna mais concreta e confiável. Para o desenvolvimento
do aplicativo foram utilizadas ferramentas como, Node.js para o back-end, React Native para a
parte front-end do mobile e para armazenamento e tratamento dos dados foi utilizado o
PostgreSQL como banco de dados. O aplicativo desenvolvido foi avaliado através de um
questionário, e respondido por pessoas de diversas áreas de atuação, que já adotaram ou tem
interesse em adotar, até mesmo pessoas que atuam em ONG’s. Ao final são apresentados os
resultados obtidos com a avaliação realizada, as conclusões tiradas e trabalhos futuros para
melhorias do trabalho atual, constituídas das sugestões feitas pelos respondentes do formulário
e novas ideias que surgiram durante o desenvolvimento do aplicativo.

Palavras-chave: Adoção animais. React Native. NodeJS. Aplicativo mobile.


LISTA DE ILUSTRAÇÕES

Figura 1 - Arquitetura da aplicação. ......................................................................................... 22


Figura 2 - Modelos e fases do ICONIX. ................................................................................... 25
Figura 3 - Layout tela de login. ................................................................................................ 30
Figura 4 - Layout Tela de cadastro. .......................................................................................... 31
Figura 5 - Layout tela inicial. ................................................................................................... 32
Figura 6 - Layout perfil do animal............................................................................................ 33
Figura 7 - Layout perfil de usuário. .......................................................................................... 34
Figura 8 - Layout lista de pets. ................................................................................................. 35
Figura 9 - Layout cadastro pet. ................................................................................................. 36
Figura 10 - Diagrama de caso de uso da aplicação................................................................... 37
Figura 11 - Modelo de domínio. ............................................................................................... 41
Figura 12 - Modelo de dados da aplicação. .............................................................................. 42
Figura 13 - HTML logo. ........................................................................................................... 44
Figura 14 - CSS logo. ............................................................................................................... 45
Figura 15 - JavaScript Logo. .................................................................................................... 46
Figura 16 - TypeScript logo. .................................................................................................... 46
Figura 17 - React Native logo. ................................................................................................. 47
Figura 18 - Nodejs logo. ........................................................................................................... 48
Figura 19 - PostgresSQL logo. ................................................................................................. 49
Figura 20 - Docker logo. .......................................................................................................... 49
Figura 21 - JSON logo. ............................................................................................................. 50
Figura 22 – VSCode. ................................................................................................................ 50
Figura 23 – Android Studio logo. ............................................................................................. 51
Figura 24 - Logo do github. ...................................................................................................... 52
Figura 25 - Tela de login. ......................................................................................................... 54
Figura 26 - Tela de cadastro. .................................................................................................... 55
Figura 27 - Tela inicial. ............................................................................................................ 56
Figura 28 - Alerta para denúncias............................................................................................. 57
Figura 29 - Tela de editar cadastro. .......................................................................................... 58
Figura 30 - Tela de detalhes do pet. ......................................................................................... 59
Figura 31 - Exemplo de contato para adoção. .......................................................................... 59
Figura 32 - Exemplo de e-mail de contato para adoção. .......................................................... 60
Figura 33 - Tela Meus pets. ...................................................................................................... 61
Figura 34 - Tela de cadastro de pet. ......................................................................................... 62
Figura 35 - Protocolo de avaliação ........................................................................................... 63
Figura 36 - Gráfico resultado pergunta 1.................................................................................. 68
Figura 37 - Gráfico resultado pergunta 2.................................................................................. 68
Figura 38 - Gráfico resultado pergunta 3.................................................................................. 69
Figura 39 - Gráfico resultado pergunta 4.................................................................................. 69
Figura 40 - Gráfico resultado pergunta 5.................................................................................. 70
Figura 41 - Gráfico resultado pergunta 6.................................................................................. 71
Figura 42 - Gráfico resultado pergunta 7.................................................................................. 71
LISTA DE QUADROS

Quadro 1 - Requisitos funcionais. ............................................................................................ 26


Quadro 2 - Requisitos não funcionais ...................................................................................... 28
Quadro 3 - Regras de negócios. ................................................................................................ 28
Quadro 4 - Caso de uso – Registrar-se. .................................................................................... 37
Quadro 5 - Caso de uso – Efetuar login. .................................................................................. 38
Quadro 6 - Caso de uso – Listar PET. ...................................................................................... 39
Quadro 7 - Caso de uso – Cadastrar PET. ................................................................................ 39
Quadro 8 - Caso de uso – Editar PET....................................................................................... 39
Quadro 9 - Caso de uso – Remover PET. ................................................................................. 40
Quadro 10 - Caso de uso – Visualizar PET para adoção. ......................................................... 40
Quadro 11 - Caso de uso – Adotar PET ................................................................................... 40
Quadro 12 - Questionário de Avaliação por Requisitos. .......................................................... 65
Quadro 13 - Questionário de Avaliação por Impactos. ............................................................ 66
Quadro 14 - Respostas dos usuários na avaliação por impactos. ............................................. 72
SUMÁRIO

1 INTRODUÇÃO ................................................................................................................................. 11
1.1 PROBLEMÁTICA ........................................................................................................................... 11
1.2 OBJETIVOS .................................................................................................................................... 12
1.2.1 Objetivo geral .............................................................................................................................. 12
1.2.2 Objetivo específico....................................................................................................................... 12
1.3 JUSTIFICATIVA ............................................................................................................................. 13
1.4 ESTRUTURA DO TRABALHO ..................................................................................................... 13
2 FUNDAMENTAÇÃO TEÓRICA ................................................................................................... 15
2.1.1 Aumento do abandono de animais ............................................................................................. 15
2.1.2 Movimento social de adoção de pets .......................................................................................... 15
2.1.3 Expansão do mercado PET ........................................................................................................ 16
2.2 SISTEMA OPERACIONAL............................................................................................................ 16
2.2.1 Android ........................................................................................................................................ 17
2.2.2 IOS ................................................................................................................................................ 17
2.3 DESENVOLVIMENTO DE APLICATIVOS MOVEIS ................................................................. 18
2.4 SOLUÇÕES MÓVEIS ..................................................................................................................... 19
2.4.1 Aplicações Nativas ....................................................................................................................... 19
2.4.2 Aplicações Híbridas..................................................................................................................... 19
2.4.3 Rest Services ................................................................................................................................ 20
3 MÉTODO........................................................................................................................................... 21
3.1 CARACTERIZAÇÃO DO TIPO DE PESQUISA .......................................................................... 21
3.2 ATIVIDADES METODOLÓGICAS .............................................................................................. 21
3.3 ARQUITETURA DA SOLUÇÃO PROPOSTA ............................................................................. 22
3.4 DELIMITAÇÕES ............................................................................................................................ 23
4 ANÁLISE E MODELAGEM DA APLICAÇÃO ........................................................................... 24
4.1 ICONIX ............................................................................................................................................ 24
4.2 UML ................................................................................................................................................. 25
4.3 REQUISITOS .................................................................................................................................. 26
4.3.1 REQUISITOS FUNCIONAIS .................................................................................................... 26
4.3.2 REQUISITOS NÃO FUNCIONAIS .......................................................................................... 27
4.3.3 REGRAS DE NEGÓCIOS ......................................................................................................... 28
4.4 PROTÓTIPO DE TELAS ................................................................................................................ 29
4.4.1 Tela de Login ............................................................................................................................... 29
4.4.2 Tela de Cadastro ......................................................................................................................... 30
4.4.3 Tela Principal .............................................................................................................................. 31
4.4.4 Tela perfil do animal ................................................................................................................... 32
4.4.5 Tela perfil do usuário .................................................................................................................. 33
4.4.6 Tela lista de pets .......................................................................................................................... 34
4.4.7 Tela cadastro de pet .................................................................................................................... 35
4.5 CASOS DE USO.............................................................................................................................. 36
4.6 MODELO DE DOMÍNIO ................................................................................................................ 41
4.7 MODELO DE DADOS .................................................................................................................... 42
5 DESENVOLVIMENTO ................................................................................................................... 43
5.1 FERRAMENTAS E TECNOLOGIAS ............................................................................................ 43
5.1.1 HTML........................................................................................................................................... 43
5.1.2 CSS ............................................................................................................................................... 44
5.1.3 Java Script ................................................................................................................................... 45
5.1.4 TypeScript .................................................................................................................................... 46
5.1.5 React Native ................................................................................................................................. 46
5.1.6 Node JS......................................................................................................................................... 47
5.1.7 PostgreSQL .................................................................................................................................. 48
5.1.8 Docker .......................................................................................................................................... 49
5.1.9 JSON............................................................................................................................................. 49
5.1.10 VS CODE ................................................................................................................................... 50
5.1.11 Android Studio .......................................................................................................................... 51
5.1.12 GitHub........................................................................................................................................ 51
5.2 HISTÓRICO DO DESENVOLVIMENTO ..................................................................................... 52
5.3 APRESENTAÇÃO DO APLICATIVO DESENVOLVIDO ........................................................... 53
5.4 AVALIAÇÃO DO APLICATIVO .................................................................................................. 62
5.4.1 Cenário de avaliação ................................................................................................................... 63
5.4.2 Elaboração do questionário ........................................................................................................ 64
5.4.3 Aplicação do Questionário.......................................................................................................... 66
5.4.4 Análise dos resultados ................................................................................................................. 67
6 CONCLUSÃO E TRABALHOS FUTUROS.................................................................................. 73
6.1 CONCLUSÃO ................................................................................................................................. 73
6.2 TRABALHO FUTUROS ................................................................................................................. 74
REFERÊNCIAS ................................................................................................................................... 76
APÊNDICE A – CRONOGRAMA ..................................................................................................... 83
APÊNDICE B – PERGUNTAS FORMULÁRIO.............................................................................. 84
11

1 INTRODUÇÃO

Nos dias atuais, muitos serviços on-line (que antes eram acessíveis apenas via páginas
Web) estão disponíveis para dispositivos móveis, os quais crescem a cada dia, desde
entretenimento ao controle financeiro e investimentos. (SIMAS et al., 2019).
Com o grande fluxo de informação que circula através das redes sociais, existem cada
vez mais serviços especializados em filtrar esse tipo de informação e conteúdo, com isso novas
demandas de serviço são criadas, sendo possível então a criação de ferramentas que organizem
todas essas informações para o usuário, tornando o seu acesso fácil e rápido. O especialista em
desenvolvimento de aplicativos móveis Adriano Santos (2020) destaca que: “O Brasil ocupa
hoje o segundo lugar no ranking de países que tem maior crescimento no mercado mobile,
perdendo apenas para a Indonésia.”
O principal objetivo de criar um sistema que padroniza e agrega todo o tipo de
informação de um certo nicho, é trazer um conteúdo relevante e com qualidade. Dentro disso
foi escolhido o tema de abandono de animais, pois se trata de um assunto recorrente nos dias
de hoje, levando em consideração que o número de animais em condições de vulnerabilidade
hoje no Brasil ultrapassa a casa do 4 milhões de animais como registra a pesquisa do Instituto
Pet Brasil (2019). Isso traz a importante missão de fazer algo funcional e responsivo para
auxiliar a causa e ajudar os animais a acharem novos lares e tutores, pois muitas das ações
realizadas não são tão organizadas, o que acaba atrasando a forma como as coisas acontecem.

1.1 PROBLEMÁTICA

Conseguir colocar um cão ou gato para adoção não é algo fácil, principalmente quando
não se tem um canal único para esse serviço. Isso pode ocasionar o abandono de animais, um
problema recorrente no Brasil.
O principal meio de divulgação que possuímos para colocar animais para adoção é por
meio das redes sociais. De acordo com Checoni (2020) “As redes sociais auxiliam na causa. A
quantidade de animais que são resgatados e postados para adoção é enorme. De certa forma
12

facilita o processo, pois a maioria das pessoas que deseja adotar acaba não tendo tempo de ir
em feiras ou ONGs”
Mas não é algo que pode ter muito efeito, pois na grande maioria das vezes passa
despercebido, devido ao alto fluxo de informação e conteúdo. No caso de ações de ajuda a
animais como resgate ou doações, mesmo sendo um conteúdo de grande relevância, acaba não
atingindo todas as pessoas interessadas.
Sendo assim, o foco deste trabalho é desenvolver um aplicativo para focar nesses casos
de adoção como uma solução mais eficaz para o assunto.

1.2 OBJETIVOS

A seguir os objetivos geral e específico

1.2.1 Objetivo geral

Este trabalho tem como objetivo desenvolver um aplicativo para auxiliar na


adoção/doação de animais.

1.2.2 Objetivos específicos

Os objetivos específicos deste trabalho são:

• Realizar análise do tema, avaliar a necessidade de um aplicativo para o auxílio de


adoção/doação de animais.
• Levantar os requisitos necessários para o desenvolvimento da aplicação.
13

• Desenvolver um MVP1 de um aplicativo a partir da modelagem e requisitos levantados.


• Aplicar os conhecimentos adquiridos durante o decorrer do curso no desenvolvimento
do aplicativo.

1.3 JUSTIFICATIVA

Há uma necessidade de adoção de animais no Brasil, de acordo com o Instituto Pet


Brasil (2019), no Brasil a cerca de 140 milhões de animais de estimação, sendo deste, 54,2
milhões de cães e 23,9 milhões de gatos, somando ao total 78,1 milhões. Sendo que 5% desse
valor, são animais em condições de vulnerabilidade (ACV). Os Animais de condições de
vulnerabilidade (ACV) são os que estão sob tutela de famílias classificadas abaixo da linha da
pobreza, ou os animais que vivem nas ruas, mas que são cuidados por pessoas.
Os canais existentes para o serviço de adoção de PETS hoje em dia, conhecidos pela
população, seriam principalmente através do compartilhamento nas redes sociais. Isso pode não
ser tão efetivo, pois a circulação de informações nas redes sociais é gigantesca e há diversos
assuntos que não estão relacionados ao da questão, acabando em não conseguir o sucesso em
adotar ou doar seu PET.
Essa necessidade, motivou o desenvolvimento de um aplicativo que pudesse aproximar
pessoas e ONG’s. Criar um ambiente verdadeiramente voltado para realização de ações de
adoção com pessoas que realmente tem interesse neste assunto é essencial para que exista um
canal de comunicação confiável e de qualidade.

1.4 ESTRUTURA DO TRABALHO

O trabalho está divido em seis capítulos, que são eles:


O capítulo 1 apresenta a problemática, os objetivos e a justificativa,

1
MVP - Minimum Viable Product (Produto Mínimo Viável).
14

No capítulo 2 tem-se a revisão bibliográfica para o tema escolhido e foi apresentado as


ferramentas que foram necessárias para desenvolver o aplicativo.
A apresentação da metodologia de pesquisa, as atividades metodológicas e as
delimitações do projeto constam no capítulo 3.
Em seguida, no capítulo 4 são apresentados os requisitos do projeto, a prototipação das
telas e a modelagem do projeto, utilizando a notação UML.
Logo após, é descrito no capítulo 5 as etapas de desenvolvimento, a apresentação do
aplicativo, o modelo de avaliação e os seus resultados.
Por último, no capítulo 6, é feito a conclusão do projeto seguindo com as possíveis
melhorias futuras.
15

2 FUNDAMENTAÇÃO TEÓRICA

Neste capítulo será apresentada a teoria que envolve a construção do aplicativo. Será
abordado questões sobre o abandono e adoção de animais, que ajudará na compreensão do
ambiente em que o aplicativo estará inserido. Também serão apresentados temas como o
aumento de abandono de animais e os movimentos sociais existentes sobre pets hoje em dia.
Além disso, será visto algumas metodologias das tecnologias que serão utilizadas para
desenvolver o aplicativo.

2.1.1 Aumento do abandono de animais

O Instituto Pet Brasil (2019) declara, “A população pet no Brasil é de cerca de 140
milhões de animais, entre cães, gatos, peixes, aves e répteis e pequenos mamíferos. A maioria
é de cachorros (54,2 milhões) e felinos (23,9 milhões), num total de 78,1 milhões de animais”.
Baseado nesses números, é possível estimar que apenas 4% da população de pets entre cães e
gatos, evolui de um ACV (Animal em Condição de Vulnerabilidade) para um possível
abandono (NETO, 2019).
Com o crescimento do número de abandonos, essa situação acaba se tornando um
problema muito maior, que além de afetar a vida dos animais, gera uma situação impactante na
vida da população ao redor, isso acontece, pois, muitos animais nas ruas começam a gerar riscos
como ataques de violência, exposição a doenças transmissíveis aos humanos, e um dos
problemas mais comuns causados pelos animais abandonados, os acidentes de trânsito. O
CRMV (2019) ainda ressalva que esses animais podem afetar áreas de preservação de fauna,
como parques ecológicos, pois acabam entrando em conflitos com outros animais, gerando
predação para algum dos lados ou transmissão de doenças para ambos os lados.

2.1.2 Movimento social de adoção de pets


16

Segundo pesquisa Radar Pet (2020) realizada pelo Instituto H2R a pedido da COMAC
(Comissão de Animais de Companhia), foi constatado através de dados quantitativos mais de
53% dos domicílios nacionais possuem cães e/ou gatos, sendo que 33% adotaram cães e 59%
optaram por adotar gatos. O coordenador da COMAC, Leonardo Brandão afirma que esse
comportamento acontece pois: “O relacionamento das pessoas com os animais vem se
intensificando ao longo do tempo. As pessoas estão tratando pets como membros da família”.

2.1.3 Expansão do mercado PET

A grande expansão no mercado de animais de estimação na última década, se dá pelo


fato de que cada vez mais os Pets têm sua rotina humanizada, se tornando cada vez mais
complexas e excessivas, indo desde cuidadores, treinadores e hotéis até produtos de beleza e
moda.
Segundo a ABINPET (Associação brasileira da indústria de produtos para animais de
estimação) em 2019 o Brasil comportava na totalidade 141,6 milhões de pets, sendo o 4° lugar
do mercado mundial com 4,7%, ficando atrás apenas de Reino Unido, China e EUA. A indústria
pet contribuiu em 0,36% do PIB nacional em 2018, sendo composta por segmentos
alimentícios, medicamentos veterinários e cuidados de higiene e saúde. Gerando um
faturamento total em R$20,3 bilhões.

2.2 SISTEMA OPERACIONAL

Segundo STALLINGS (2002 apud VIEIRA; VERAS; MACEDO; MELO; SOUSA,


2018), “o sistema operacional é o software que controla a execução de programas, no entanto
para esses programas virem a ser executados de modo rápido e eficiente dependem de um
suporte adequado do hardware do processador. Quase todos os processadores dispõem desse
suporte, em maior ou menor grau. Isso inclui as áreas de armazenamento temporária, além de
um conjunto de circuitos para realizar tarefas básicas de gerenciamento de recursos”.
17

O sistema operacional é importante, porque nos permite interagir com o computador.


Sem um sistema operacional, um computador seria considerado inútil para os usuários, pois
não teríamos uma plataforma para realizar nossas tarefas do dia que estamos acostumados. Ele
é a estrutura que sustenta e administra todos os programas e partes do computador. (GCF
GLOBAL, 2016)

2.2.1 Android

O Android é uma plataforma de desenvolvimento para aplicativos móveis, como


celulares e tablets. Pode-se usar o Java para desenvolver as aplicações, contêm um sistema
operacional baseado no Linux. Possui diversas aplicações já instalada, uma interface de fácil
manipulação e muito rica visualmente. Disponibiliza ainda um ambiente de desenvolvimento
muito poderoso, inovador e flexível. (LECHETA, 2013).
Segundo Deitel (2015) e citado por Dapper (2018):

Android foi desenvolvido pela empresa Android, a qual foi adquirida pela Google em
2005. Em 2007, foi formada a Open Handset Aliance que conta com 84 membros
(http:www.openhandsetalliance.com/oha_members.html) – para desenvolver, manter
e aprimorar o Android, trazendo inovação para tecnologia móvel, melhorando a
experiência do usuário e reduzindo custos.

O foco do Android não é somente os dispositivos móveis, ele por ser um sistema aberto
e customizável, está disponível também em outros equipamentos, como por exemplo, smart
TVs, câmeras fotográficas, videogames e até em relógios (SANTOS, 2019).

2.2.2 IOS
18

IOS é o sistema operacional desenvolvido pela Apple e foi projetado para suprir as
necessidades dos dispositivos moveis da empresa. É uma abreviatura para iPhone Operation
System. Ele realizar uma abstração entre a comunicação do hardware com o aplicativo. A
arquitetura do IOS é composta por 4 camadas: CocoaTouch, Media, Core Services e Core OS
(MENDONÇA e BITTAR, 2011).
O termo IOS, tem origem da sigla OS (Sistema operacional, traduzido), junto a letra “i”,
que está presente em todos os produtos da empresa Apple. Ele não é compatível em hardwares
que não são da empresa. Seu maior concorrente é o Android (MARQUES, 2019).

2.3 DESENVOLVIMENTO DE APLICATIVOS MOVEIS

O desenvolvimento de aplicativos moveis hoje em dia é uma parte muito importante,


ele estabelece uma conexão mais profunda entre a empresa e o cliente. Em relação ao
desenvolvimento de aplicativos moveis, é descrito que:

Considerando um cenário com notável diferença entre sistemas operacionais e


plataformas de programação existentes, desenvolver um aplicativo para aparelho
celular uma vez e poder utilizá-lo em várias plataformas é um dos maiores desafios
da computação móvel. (SILVA el at, 2014).

“O desenvolvimento de aplicativos móveis está hoje se tornando tão importante no


fortalecimento de uma marca como o site foi há alguns anos. Os APPs estabelecem uma
conexão mais profunda entre a empresa e o cliente” (TRÍSCELE WEB E MUSEOLOGIA,
2017).
O desenvolvimento de um aplicativo depende muito do seu planejamento e o design
dele, é preciso algo simples e que mantenha o usuário interessado no uso. O código deve ter
qualidade para um bom funcionamento, para realização de upgrades e adição de novas
funcionalidades no futuro (TRÍSCELE WEB E MUSEOLOGIA, 2017).
19

2.4 SOLUÇÕES MÓVEIS

Dentro do mundo dos dispositivos moveis, é possível encontrar inúmeras fabricantes


para determinados ramos do mercado mobile, tendo consigo opções consideráveis de
plataformas de desenvolvimento, sistemas operacionais moveis, software e hardware (SILVA;
PIRES; NETO, 2015)

2.4.1 Aplicações Nativas

As aplicações nativas são desenvolvidas para um sistema específico, por exemplo


Android e IOS, o seu desenvolvimento é realizado em linguagens que os sistemas operacionais
suportam (Opensoft, 2017).
Monde (2011) define as aplicações nativas como:

As aplicações nativas são desenvolvidas para uma única plataforma, com a


capacidade de executar e explorar todas as funções que tal plataforma em questão
dispõe. Ou seja, os aplicativos que são criados exclusivamente para iOS, Android e/ou
Windows Phone, entre outras, conseguem acessar todo o potencial do dispositivo
através da própria arquitetura do sistema operacional, como câmera, calendário,
álbum de fotos, GPS, entre outros. É dito que um aplicativo nativo é todo programa
construído sob medida para uma única plataforma, com o intuito de funcionar sob
medida para os dispositivos em conjunto com suas especificidades. O
desenvolvimento de aplicações móveis nativas teve início juntamente com a
popularização dos smartphones na segunda metade da década passada e se
transformando numa tendência para década seguinte e até o presente momento. (apud
REIS, 2019)

Elas possuem a característica de ser rápida e de oferecer uma experiencia otimizada para
os usuários dos sistemas. No entanto, se quiser disponibilizar um aplicativo para vários sistemas
operacionais, se for utilizar aplicações nativas, terá que desenvolver mais de um aplicativo por
plataforma (Opensoft, 2017).

2.4.2 Aplicações Híbridas


20

Montan e Santos (2017), explicam que “aplicações híbridas são desenvolvidas uma vez
e o código é compartilhado entre as plataformas. Os aplicativos podem ser publicados nas lojas
de fabricantes e instalados no dispositivo. Há três abordagens para o desenvolvimento híbrido:
Tempo de Execução, Tradutor de Código e Web-para-Nativo.”
Silva, Pires e Neto (2015) complementam que, “Aplicações híbridas” consistem em uma
categoria especial de aplicações web que ampliam o ambiente do aplicativo baseado na Web
através da utilização de APIs nativas da plataforma disponível em um determinado dispositivo.
O padrão de projeto aplicação híbrida é igualmente aplicável a ambos os ambientes móveis e
de desktop.”

2.4.3 Rest Services

O conceito de REST consiste em um protocolo sobre a arquitetura da informação. A


arquitetura visa que os desenvolvedores utilizem algumas regras para uma hierarquia
organizada do código. Essas regras permitem que os web services sejam mais bem estruturados
e fáceis de serem integrados uns aos outros (Redação Vindi, 2020).
Saudate (2014), define o REST como:

REST significa Representational State Transfer (ou Transferência de Estado


Representativo, em tradução livre), e é um estilo de desenvolvimento de web services
que teve origem na tese de doutorado de Roy Fielding. Este, por sua vez, é coautor de
um dos protocolos mais utilizados no mundo, o HTTP (HyperText Transfer Protocol).
Assim, é notável que o protocolo REST é guiado (dentre outros preceitos) pelo que
seriam as boas práticas de uso do HTTP.

Nunes, David (2019) afirmam que o “REST representa um modelo de como a Web deve
funcionar. A existência deste modelo permite identificar áreas onde os protocolos existentes
falham, comparar soluções alternativas e assegurar que novas extensões não violam os
princípios nucleares que contribuíram para o sucesso da Web.”
21

3 MÉTODO

Neste capítulo será descrito a preparação e organização do desenvolvimento da


aplicação para adoção/doação de animais e serviços referentes a Pets, definindo suas
delimitações, particularidades do funcionamento e os tipos de pesquisas utilizadas.

3.1 CARACTERIZAÇÃO DO TIPO DE PESQUISA

Quanto a natureza, trata-se de uma pesquisa aplicada, pois ele trata de uma aplicação
prática que é dirigido à solução de um problema específico. (SILVEIRA; CÓRDOVA, 2009).
O tipo de pesquisa, quanto a abordagem do tipo qualitativa, pois há uma aproximação
entre o tema e o público, e não somente números (GOLDENBERG, 1997 apud SILVEIRA;
CÓRDOVA, 2009).
Esta pesquisa é classificada, em relação aos objetivos, como exploratória, pois é
realizado um estudo para familiarizar com o tema, além de que foi realizado um levantamento
bibliográfico sobre o assunto (GIL, 2007 apud SILVEIRA; CÓRDOVA, 2009), por meio de
livros, artigos, monografias e materiais encontrados na internet.

3.2 ATIVIDADES METODOLÓGICAS

As atividades metodológicas deste trabalho estão organizadas como:


a Revisão bibliográfica e pesquisa.
b Escolha das tecnologias utilizadas no desenvolvimento da aplicação.
c Estudo aprofundado das tecnologias selecionadas.
d Levantamento de requisitos para o MVP da aplicação.
e Preparação do ambiente para começar o desenvolvimento.
f Modelagem da aplicação.
22

g Desenvolvimento do backend do aplicativo.


h Desenvolvimento do frontend do aplicativo.
i Testes do aplicativo MVP.
j Resultado dos testes obtidos através do MVP.

3.3 ARQUITETURA DA SOLUÇÃO PROPOSTA

Atendendo as necessidades deste trabalho, a arquitetura escolhida para suprir as


necessidades da aplicação é moldada com uma camada cliente e outra de servidor, como visto
na Figura 1.

Figura 1 - Arquitetura da aplicação.

Fonte: Elaborado pelos autores (2021).

A camada cliente envolve a parte mobile da aplicação, que é o aplicativo desenvolvido


em React Native, e que consome as informações que estão contidos na camada do servidor.
23

A camada do servidor envolve o Backend da aplicação que foi desenvolvido em NodeJS


e a parte do banco de dados que o PostgreSQL gerencia. A camada do servidor é responsável
por armazenar e disponibilizar os dados da aplicação.

3.4 DELIMITAÇÕES

Tendo em vista as complexidades do desenvolvimento de um aplicativo em sua


totalidade, algumas funcionalidades serão postergadas para um momento futuro da vida desta
aplicação. Com isso será realizada apenas a entrega do produto minimamente viável (MVP) Os
itens a seguir não serão implementados no MVP da aplicação:
a Não será disponibilizado o aplicativo nas lojas de dispositivos moveis.
b Não serão usados anúncios reais de adoção de pets.
c Não será disponibilizado a versão web.
d Não será implementado nenhum requisito de segurança para o aplicativo.
24

4 ANÁLISE E MODELAGEM DA APLICAÇÃO

Neste capítulo será realizado a análise e a modelagem que envolve a aplicação proposta.
Será levantado os requisitos funcionais, não funcionais e as regras de negócios que serão
levados em conta na hora do desenvolvimento do aplicativo. Além disso, será feito a
modelagem utilizando o diagrama de casos de uso.

4.1 ICONIX

Na análise do trabalho foi utilizado somente a primeira fase do ICONIX, Silva (2007)
explica que o ICONIX é "um processo de desenvolvimento de software desenvolvido pela
ICONIX Software Engineering. Trata-se de uma metodologia prática e simples, mas também
poderosa e com um componente de análise e representação de problemas sólido e eficaz."
O ICONIX fica entre RUP e XP, pois ele não é tão burocrático como o RUP e nem tão
simples como o XP, pois não é insuficiente nas áreas de design e afins. (RAMOS, 2014).
Ramos (2014) complementa que o processo de ICONIX “faz uso da linguagem de
modelagem UML e possui uma característica exclusiva chamada ‘Rastreabilidade dos
Requisitos' (Traceability of Requirements), mais precisamente, ele nos permite
“obrigatoriamente” através de seus mecanismos, verificar em todas as fazes, se os requisitos
estão sendo atendidos.”
A seguir na Figura 2, está representado com mais detalhes o processo ICONIX. A figura
mostra o processo dividido em dois grandes setores, o modelo estático e o modelo dinâmico. O
modelo estático são os diagramas que modelam o funcionamento do sistema sem nenhuma
interação com o usuário. Já o modelo dinâmico sempre há uma interação com o usuário e o
sistema (MAIA, 2005 apud SILVA, 2007).
25

Figura 2 - Modelos e fases do ICONIX.

Fonte: Silva (et. al. 2007).

4.2 UML

A UML significa Linguagem de Modelagem Unificada, serve para elaborar a estrutura


dos projetos. O autor FOWLER (2011, p.25) define a UML como uma “família de notações
gráficas, apoiada por um meta-modelo único, que ajuda na descrição e no projeto de sistemas
de software, particularmente daqueles construídos utilizando o estilo orientado a objetos (OO)”.
BOOCH, RUMBAUCH e JACOBSON (2005) complementam Fowler explicando que:

A UML proporciona uma forma-padrão para a preparação de planos de arquitetura de


projetos de sistemas, incluindo aspectos conceituais tais como processos de negócios
e funções do sistema, além de itens concretos como as classes escritas em determinada
linguagem de programação, esquemas de banco de dados e componentes de software
reutilizáveis.

A seguir, os casos de uso, que auxiliará no levantamento de requisitos para a aplicação.


26

4.3 REQUISITOS

Nesta seção, são apresentados os requisitos funcionais, os não funcionais e as regras de


negócios que envolvem o aplicativo.
Segundo Sommerville (2018, p. 85), “os requisitos de um sistema são descrições dos
serviços que o sistema deve prestar e as restrições a sua operação. Esses requisitos refletem as
necessidades dos clientes de um sistema que atende a um determinado propósito […]”.
Sommerville (2018) complementa descrevendo que os requisitos não são
independentes, ele pode gerar ou limitar outros requisitos. E ele não define apenas as
características ou serviços de um sistema, mas também as funcionalidades que serão necessárias
para que esses serviços e características funcionem conforme especificado.

4.3.1 REQUISITOS FUNCIONAIS

Requisito funcional é uma parte muito importante para o sistema que está sendo criado,
pois é nele que descrevemos as funcionalidades que vão existir na aplicação. REINEHR (2020)
define o requisito funcional como sendo “uma funcionalidade requerida pelos Stakeholders para
cumprir algum objetivo de negócio. Representa o que os desenvolvedores deverão implementar
para que os usuários possam realizar as suas atividades”.
No Quadro 1, são apresentados os requisitos funcionais existentes na aplicação.

Quadro 1 - Requisitos funcionais.


Requisito Descrição
RF001 O aplicativo deve permitir cadastro de usuários.

RF002 O aplicativo deve permitir que o usuário efetue acesso com suas credenciais.

RF003 O aplicativo deve permitir que o usuário edite suas informações pessoais.

RF004 O aplicativo deve permitir que um usuário logado cadastre um PET.


27

RF005 O aplicativo deve permitir que um usuário edite o cadastro de seu PET
cadastrado.

RF006 O aplicativo deve permitir que o usuário exclua PET cadastrado.

RF007 O aplicativo deve permitir que o usuário coloque PET cadastrado para adoção

RF008 O aplicativo deve permitir que o usuário retire seu PET cadastrado da adoção.

RF009 O aplicativo deve permitir que um usuário logado visualize os PET's que estão
para adoção.

RF010 O aplicativo deve permitir que um usuário logado entre em contato via
WhatsApp e e-mail com os tutores dos pets que estão para adoção.

RF011 O aplicativo deve ter uma área com número para denúncias de maus tratos a
animais.

Fonte: Elaborado pelos autores (2021).

4.3.2 REQUISITOS NÃO FUNCIONAIS

Se os requisitos funcionais dizem ao sistema o que ele fará, os requisitos não funcionais
dirão a ele como ele irá se comportar. Sommerville (2011) explica que são “requisitos que não
estão diretamente relacionados com os serviços específicos oferecidos pelo sistema a seus
usuários”. Eles podem estar relacionados às propriedades emergentes do sistema, como
confiabilidade, tempo de resposta e ocupação de área.
Sommerville (2011) ainda diz que esses requisitos podem afetar a arquitetura geral de
um sistema. Um requisito funcional pode gerar uma série de requisitos funcionais ou gerar
outros requisitos com restrições.
No Quadro 2, são apresentados os requisitos não funcionais existentes na aplicação.
28

Quadro 2 - Requisitos não funcionais


Requisito Descrição
RNF001 O backend deve ser escrito utilizando o NodeJS.

RNF002 O aplicativo deve ser escrito utilizando o framework React Native.

RNF003 As senhas dos usuários devem ser criptografadas ao salvar no banco.

RNF004 O aplicativo deve ser compatível com os sistemas operacionais Android e IOS.

RNF005 As operações do backend devem ser consumidas via serviço rest.

RNF006 A estrutura de comunicação entre o APP e o backend deve ser o JSON.

RNF007 Os serviços do backend devem possuir uma autenticação para ser utilizados.

RNF008 O aplicativo deve ser na arquitetura cliente/servidor

Fonte: Elaborado pelos autores (2021).

4.3.3 REGRAS DE NEGÓCIOS

Regras de negócio é o que guia o comportamento dos sistemas em determinadas


ocasiões. Kamada (2006) define que “as regras de negócio, que delimitam e governam a
realização dos negócios da organização são fundamentais pois, no conjunto, representam o seu
comportamento.”
Elas que definem como o sistema irá se comportar em determinadas ocasiões, as regras
podem ser simples ou até complexas envolvendo outros requisitos.
No Quadro 3, são apresentadas as regras de negócios existentes na aplicação.

Quadro 3 - Regras de negócios.


Regra Descrição
RN001 Só pode existir uma conta de usuário por e-mail.
29

RN002 Quando o usuário entrar em contato com o tutor via whatsapp ou e-mail,
deverá ser preenchido pelo aplicativo um texto padrão sobre a descrição do
contato.

Fonte: Elaborado pelos autores (2021).

4.4 PROTÓTIPO DE TELAS

Nesta seção, são apresentados os protótipos de tela, criados para atender os requisitos
propostos, e estabelecer um layout estrutural para a aplicação.

4.4.1 Tela de Login

A Figura 3 demostra o layout inicial da aplicação, uma tela de login, com campo de e-
mail e senha, uma opção de redefinição de senha, um botão que realiza o login e outro para
efetuar o cadastro caso não exista.
30

Figura 3 - Layout tela de login.

Fonte: Elaborado pelos autores (2021).

4.4.2 Tela de Cadastro

Realizando o primeiro acesso ao app, será necessário acessar a tela de cadastro, onde
serão preenchidos os campos do formulário como demonstrado na Figura 4, após os campos
preenchidos o botão de cadastrar redireciona o usuário para tela de login caso o cadastro seja
efetuado com sucesso.
31

Figura 4 - Layout Tela de cadastro.

Fonte: Elaborado pelos autores (2021)

4.4.3 Tela Principal

Com o cadastro realizado o usuário acessa a página principal da aplicação, essa tela
organiza os anúncios de pets para adoção, disponibilizando opções de filtros por sexo, peso,
cor, proximidade e idade. Também é possível selecionar diferentes tipos de pets. A figura 5
exemplifica essas funções.
32

Figura 5 - Layout tela inicial.

Fonte: Elaborado pelos autores (2021).

4.4.4 Tela perfil do animal

Para o usuário demonstrar interesse na adoção do pet listado na tela anterior, basta que
clique no anúncio e seja redirecionado para a tela de perfil do animal, Figura 6.
Nesta tela são exibidas as informações cadastradas pelo criador do anúncio, fotos do
pet, e uma descrição do pet, que conta um pouco sobre a personalidade do animal. Ao final é
possível ver a pessoa que publicou o anúncio e o botão “Me adote”, para realizar um contato
referente a adoção.
33

Figura 6 - Layout perfil do animal.

Fonte: Elaborado pelos autores (2021).

4.4.5 Tela perfil do usuário

Na Figura 7 é possível visualizar a tela de perfil do usuário, essa permite ir para as telas
de edição de dados do usuário e listagem dos pets cadastrados, sendo possível também realizar
um logoff, caso o usuário que acessar outra conta.
34

Figura 7 - Layout perfil de usuário.

Fonte: Elaborado pelos autores (2021).

4.4.6 Tela lista de pets

Para realizar o cadastro de um pet o usuário tem acesso a uma listagem com todos os
pets como mostra a Figura 8, onde é possível editar os dados de seus pets, cadastrar um novo
pet ou excluir um pet já cadastrado.
35

Figura 8 - Layout lista de pets.

Fonte: Elaborado pelos autores (2021).

4.4.7 Tela cadastro de pet

Com o intuito de cadastrar ou editar um pet o usuário acessa a tela de “Informações”


como mostra a Figura 9, que se adapta em relação a ação selecionada na tela anterior, seja for
realizada uma edição os dados já vêm preenchidos e os usuários pode alterá-los, e em um
cadastro de um novo pet os campos estão vazios.
36

Figura 9 - Layout cadastro pet.

Fonte: Elaborado pelos autores (2021).

4.5 CASOS DE USO

Casos de uso é uma forma resumida de explicar o que se pode fazer no sistema. BOOCH,
RUMBAUCH e JACOBSON (2005, p 227) explicam que, “um caso de uso especifica o
comportamento de um sistema ou de parte de um sistema e é uma descrição de um conjunto de
sequência de ações, incluindo variantes realizadas pelo sistema para produzir um resultado
observável do valor de um ator”.
Os casos de uso são criados de uma forma fácil de entender, para que os desenvolvedores
e os usuários finais cheguem a uma compreensão comum, sem ter algo realmente implementado
(BOOCH, RUMBAUCH e JACOBSON, 2005).
Na Figura 10, é apresentado o diagrama de casos de uso da aplicação.
37

Figura 10 - Diagrama de caso de uso da aplicação.

Fonte: Elaborado pelos autores (2021).

A seguir, são exibidos os casos de uso descritos em quadros, que foram demonstrados
acima.
No Quadro 4, são apresentados o fluxo principal e alternativo do caso de uso “Registrar-
se”.

Quadro 4 - Caso de uso – Registrar-se.


UC001 – Registrar-se
Descrição: Registrar a conta do usuário no aplicativo
Pré-condições: --
Pós-condições: O usuário irá ter uma conta para acessar o aplicativo, utilizando seu e-mail
e senha.
Requisitos funcionais: RF001
38

Fluxo principal
Passo 1: O usuário abre o aplicativo pelo seu dispositivo mobile.
Passo 2: O usuário clica em criar uma conta
Passo 3: É aberto uma tela de cadastro, com campos de informações pessoais para
preenchimento do usuário
Passo 4: O usuário preenche as informações da tela e clica em cadastrar
Passo 5: É retornado para o usuário que o cadastro foi efetuado com sucesso e ele é
redirecionado para a tela inicial do aplicativo.
Fluxo alternativo A
Passo 1: No passo 4 o usuário não preenche algum campo obrigatório
Passo 2: A aplicação retorna mensagem com o nome do campo obrigatório que não foi
preenchido.
Passo 3: A aplicação retorna para o passo 3, contendo as informações que já foram
preenchidas.
Fluxo alternativo B
Passo 1: No passo 4, o usuário preenche um e-mail já cadastrado na aplicação.
Passo 2: A aplicação retorna mensagem que o e-mail já foi cadastrado anteriormente.
Passo 3: A aplicação retorna para o passo 3, contendo as informações que já foram
preenchidas.
Fonte: Elaborado pelos autores (2021).

No Quadro 5, são apresentados o fluxo principal e alternativo do caso de uso “Efetuar


login”.

Quadro 5 - Caso de uso – Efetuar login.


UC002 – Efetuar login
Descrição: Efetuar login com e-mail e senha do usuário
Pré-condições: Ter feito cadastro anteriormente.
Pós-condições: O usuário será redirecionado para a página inicial do aplicativo.
Requisitos funcionais: RF002
Fluxo principal
Passo 1: O usuário abre o aplicativo pelo seu dispositivo mobile.
Passo 2: O usuário preenche o e-mail e senha
Passo 3: O usuário clica em ‘Logar’
Passo 4: O aplicativo redireciona o usuário para a tela inicial
Fluxo alternativo A
Passo 1: No passo 2 o usuário preenche e-mail ou senha incorreta
Passo 2: Ao ir ao passo 3, o aplicativo retorna mensagem que e-mail ou senha estão
incorretos
Passo 3: A aplicação retorna para o passo 2
Fonte: Elaborado pelos autores (2021).

No Quadro 6, são apresentados o fluxo principal do caso de uso “Listar PET”.


39

Quadro 6 - Caso de uso – Listar PET.


UC003 – Listar PET
Descrição: Listar PETs cadastrados pelo usuário
Pré-condições: Ter algum PET cadastrado
Pós-condições: --
Requisitos funcionais: RF009
Fluxo principal
Passo 1: O usuário logado na tela inicial, clica em ‘meus pets’
Passo 2: Usuário será redirecionado a tela de PETs e irá ver a lista dos PETs cadastrados
Fonte: Elaborado pelos autores (2021).

No Quadro 7, são apresentados o fluxo principal e alternativo do caso de uso “Cadastrar


PET”.

Quadro 7 - Caso de uso – Cadastrar PET.


UC003 – Cadastrar PET
Descrição: Cadastrar um novo PET
Pré-condições: Usuário logado
Pós-condições: PET cadastrado
Requisitos funcionais: RF004
Fluxo principal
Passo 1: O usuário logado na tela inicial, clica em ‘meus pets’
Passo 2: Usuário será redirecionado a tela de PETS e clica em novo PET
Passo 3: Ele preenche as informações do PET e clica em salvar
Passo 4: É retornado uma mensagem que o cadastro foi efetuado com sucesso e o usuário
é redirecionado para a tela de PETS
Fluxo alternativo A
Passo 1: No passo 3, o usuário não preenche as informações obrigatórias
Passo 2: É retornado ao usuário uma mensagem dos campos que faltaram preencher e ele
volta para o passo 2 com as informações preenchidas anteriormente.
Fonte: Elaborado pelos autores (2021).

No Quadro 8, são apresentados o fluxo principal e alternativo do caso de uso “Editar


PET”.

Quadro 8 - Caso de uso – Editar PET


UC003 – Editar PET
Descrição: Editar um PET cadastrado
Pré-condições: Usuário logado e ter um PET já cadastrado.
Pós-condições: PET terá suas informações atualizadas.
Requisitos funcionais: RF005
Fluxo principal
Passo 1: O usuário logado na tela inicial, clica em ‘meus pets’
Passo 2: Usuário será redirecionado a tela de PETS, localiza um PET e clica em editar.
40

Passo 3: Ele atualiza as informações do PET e clica em salvar.


Passo 4: É retornado uma mensagem que o cadastro foi atualizado com sucesso e o usuário
é redirecionado para a tela de PETS
Fluxo alternativo A
Passo 1: No passo 3, o usuário não preenche as informações obrigatórias
Passo 2: É retornado ao usuário uma mensagem dos campos que faltaram preencher e ele
volta para o passo 2 com as informações preenchidas anteriormente.
Fonte: Elaborado pelos autores (2021).

No Quadro 9, são apresentados o fluxo principal do caso de uso “Remover PET”.

Quadro 9 - Caso de uso – Remover PET.


UC003 – Remover PET
Descrição: Remover um PET cadastrado
Pré-condições: Usuário logado e ter um PET já cadastrado
Pós-condições: PET removido do banco de dados
Requisitos funcionais: RF006
Fluxo principal
Passo 1: O usuário logado na tela inicial, clica em ‘meus pets’
Passo 2: Usuário será redirecionado a tela de PETS, localiza um PET e clica em excluir.
Passo 3: Cadastro do PET é removido e atualizado a listagem de PET’s da tela.
Fonte: Elaborado pelos autores (2021).

No Quadro 10, são apresentados o fluxo principal do caso de uso “Visualizar PET para
adoção”.

Quadro 10 - Caso de uso – Visualizar PET para adoção.


UC004 – Visualizar PET para adoção
Descrição: Usuário pode visualizar os PET’s que estão para adoção
Pré-condições: Usuário logado
Pós-condições: --
Requisitos funcionais: RF009
Fluxo principal
Passo 1: Após o usuário realizar login, será redirecionado para a tela principal
Passo 2: Na tela principal terá a lista de PET’s para adoção.
Fonte: Elaborado pelos autores (2021).

No Quadro 11, são apresentados o fluxo principal do caso de uso “Adotar PET”.

Quadro 11 - Caso de uso – Adotar PET


UC005 – Adotar PET
Descrição: Usuário pode entrar em contato com outros usuários para adotar um PET
41

Pré-condições: Usuário logado e algum PET disponível para adoção


Pós-condições: --
Requisitos funcionais: RF011
Fluxo principal
Passo 1: Na tela inicial, o usuário visualiza a listagem de PET para adoção
Passo 2: O usuário seleciona um PET e é aberto uma tela com todas as informações do PET
Passo 3: A tela possui 2 botões para entrar em contato (e-mail e whatsapp), o usuário clica
em um deles
Passo 4: Abre o aplicativo referente ao botão que o usuário clicou, com uma mensagem
padrão para entrar em contato com o tutor do PET.
Fonte: Elaborado pelos autores (2021).

4.6 MODELO DE DOMÍNIO

Segundo SILVA (2014), modelo de domínio são utilizados para construir objeto. Ele
ilustra as classes e é um dos modelos mais importantes durante a análise orientada a objeto.
SOMMERVILLE (2011) diz que o modelo de domínio identifica os principais
interesses do sistema e são definidos por meio do diagrama de classe incluindo objetos,
atributos e associações.
Para a aplicação foi desenvolvido o modelo de domínio, que pode ser visto a seguir na
Figura 11:

Figura 11 - Modelo de domínio.

Fonte: Elaborado pelos autores (2021).


42

4.7 MODELO DE DADOS

Segundo COELHO (2009) define o modelo de dados como uma forma gráfica da base
de dados de um sistema, nele está suas entidades e relacionamentos. Ele ainda reitera que
considera uma peça fundamental para o desenvolvimento do sistema. Pode ser criado de duas
formas, baseando-se nas necessidades do sistema ou por meio da engenharia reversa.
O modelo de dados da aplicação foi elaborado pelos autores, contendo quatro tabelas
que comunicam entre si, de acordo com a Figura 12.

Figura 12 - Modelo de dados da aplicação.

Fonte: Elaborado pelos autores (2021).


43

5 DESENVOLVIMENTO

Neste capítulo será apresentado o aplicativo desenvolvido. É apresentado primeiramente


as ferramentas e tecnologias utilizadas, logo após um histórico de desenvolvimento relatado
pelos autores. Em seguida o aplicativo desenvolvido, com suas telas e descrições de como
devem funcionar. Finalizando com a avaliação do aplicativo, que foi aplicada a usuários
relacionados ao tema.

5.1 FERRAMENTAS E TECNOLOGIAS

São as tecnologias que estão contidas no aplicativo desenvolvido, como os frameworks,


banco de dados, ferramentas.

5.1.1 HTML

Segundo CARVALHO ( [1997?]):

HTML é uma linguagem baseada em marcas, que se destina a formatar tudo quanto
aparece em documentos para a WWW. Esta formatação é feita tanto no layout de
qualquer texto inserido, como na colocação de imagens, passando pela criação de
links e atribuição de cores ou imagens para papel-de-parede. Não é uma linguagem
complexa e torna-se fácil de entender mesmo para quem nunca teve nenhum tipo de
contacto com linguagens de programação.

Vale ressaltar que o HTML não é uma linguagem de programação, e sim uma linguagem
de marcação. Mas mesmo não sendo uma linguagem de programação, ela possui regras de
sintaxe e palavras reservadas de modo semelhante as linguagens que encontramos hoje em dia.
Pode-se dizer que o HTML é o componente mais essencial de uma aplicação web, pois com ele
44

é possível criar a estrutura, definir os posicionamentos dos elementos e estruturar a divisão de


uma página web. (NOLETO, 2020).
Noleto (2020), explica ainda o funcionamento do HTML como:

O HTML trabalha lado a lado com os navegadores da internet e os sistemas de


mecanismos de busca. Depois que o código de uma página está pronto, o navegador
interpreta as informações e renderiza o site visualmente de acordo com as instruções.
Assim, a pessoa que acessa consegue visualizar as informações, disponíveis em forma
de texto, formas, imagens e outros recursos.

No aplicativo desenvolvido, o HTML está presente em toda parte mobile, pois pode ser
utilizado as suas sintaxes para construção do layout.

Figura 13 - HTML logo.

Fonte: https://www.w3schools.com/html/

5.1.2 CSS

Se o HTML é responsável em organizar e formatar as páginas web, o CSS é responsável


em trazer uma melhor aparência para elas, sendo assim, FERREIRA (2016), define o CSS como
um conjunto de regras de estilos aplicado ao conteúdo para trabalhar o design da página. O CSS
tem como pontos fortes controlar a posição das camadas utilizadas, controlar a formação, o
tamanho e a cor dos elementos da página.
45

Segundo MUNZLINGER (2011), o CSS possui alguns benefícios, como, facilidade de


manutenção do código das páginas do site, reuso de estilos de formatação, separação entre o
conteúdo de sua aparência e adequação com os padrões internacionais W3C de
desenvolvimento web.
O CSS é uma parte essencial para a aplicação desenvolvida, pois é com ele que é
possível modelar o design do jeito que é necessário e o que for melhor para o usuário.

Figura 14 - CSS logo.

Fonte: https://www.w3schools.com/css

5.1.3 Java Script

Segundo FLANAGAN (2014), “JavaScript é uma linguagem de alto nível, dinâmica,


interpretada e não tipada, conveniente para estilos de programação orientados a objetos e
funcionais. A sintaxe de JavaScript é derivada da linguagem Java, das funções de primeira
classe Scheme e da herança baseada em protótipos de Self.”
Para SOUZA (2019), “JavaScript é hoje uma das linguagens mais importantes entre a
comunidade de desenvolvedores no mundo todo. É inegável quanto cada vez mais o mundo se
adéqua à transformação digital, e isso representa a necessidade de ambientes online cada vez
mais eficazes. Assim, a JavaScript é ainda mais necessária no trabalho com aplicações
diversas.”
46

Figura 15 - JavaScript Logo.

Fonte: https://www.javascript.com/

5.1.4 TypeScript

O Typescript foi criado pela Microsoft e é um conjunto de ferramentas e formas mais


eficientes para escrever códigos em Javascript. Ele adiciona recursos, como tipagem e
orientação a objetos que não estão presentes do Javascript. (MELO, 2021).
Na aplicação ele é utilizado para nos ajudar principalmente na tipagem das
variáveis, sendo utilizado tanto no backend quanto no mobile.

Figura 16 - TypeScript logo.

Fonte: https://www.typescriptlang.org/

5.1.5 React Native

Conforme diz CABRAL (2016), “o React Native é framework para o desenvolvimento.


Desenvolvido pelos engenheiros do Facebook e que consiste em uma série de ferramentas que
viabilizam a criação de aplicações móveis nativas para a plataforma iOS e Android, utilizando
47

o que há de mais moderno no desenvolvimento Front-end”. (apud ROMERO; SAAD; BASTIS,


2017).
KOTLIARSKYI (2015), explica o funcionamento do React Native como:

React Native funciona numa arquitetura com 3 threads, a thread principal no


dispositivo da aplicação, uma thread executando uma máquina virtual com Javascript
e uma thread para servir de ponte entre as outras duas, dado que elas nunca se
comunicam diretamente. A ponte é responsável por toda a comunicação e funciona de
maneira assíncrona, coordenando a troca de mensagens serializadas em lotes. A thread
executando o Javascript toma conta do react e da árvore de componentes e ciclo de
vida da aplicação, já a thread principal fica responsável por renderizar tudo que é
passado para ela e captar eventos que influenciem o estado da mesma para enviar pela
ponte. (apud GALVÃO, 2018).

O React Native é utilizado no desenvolvimento da parte mobile da aplicação do trabalho,


sendo um framework muito rico e de grande poder na construção da aplicação.

Figura 17 - React Native logo.

Fonte: https://reactnative.dev/

5.1.6 Node JS

Segundo Lopes (2014) Node.js é uma plataforma de desenvolvimento de aplicações do


lado do servidor (server-side) que se baseia na utilização do interpretador V8 JavaScript Engine
do Google que utiliza apenas código em JavaScript, o mesmo utilizado pelo navegador Google
Chrome. (apud CAMPOS; PEREIRA; CARVALHO; et al, 2016).
48

Moreira (2013) entende que o objetivo número um do Node é fornecer uma maneira
fácil para construir programas de rede escaláveis. Em vez de criar um thread de conexão, cada
requisição dispara um evento que executa dentro da engine, evitando deadlock, não permitindo
bloqueios. Suportando assim dezenas de milhares de conexões simultâneas. (apud CAMPOS;
PEREIRA; CARVALHO; et al, 2016).
O backend da aplicação é feito em NodeJS, que segundo os autores ajudou muito no
desenvolvimento, o aprendizado não é difícil e possui muitas bibliotecas que os ajudaram no
processo do desenvolvimento.

Figura 18 - Nodejs logo.

Fonte: https://nodejs.org/en/

5.1.7 PostgreSQL

PostgreSQL é um sistema de banco de dados relacional de código aberto com mais de


30 anos que tem uma boa reputação de ter confiabilidade e robustez. (PostgreSQL).
O PostgreSQL foi escolhido pelos autores para ser o sistema de banco de dados da
aplicação desenvolvida.
49

Figura 19 - PostgresSQL logo.

Fonte: https://www.postgresql.org/

5.1.8 Docker

Docker é uma plataforma aberta para criação, execução e publicação (deploy) de


containers. Um Container é a forma de empacotar sua aplicação e suas dependências
(bibliotecas) de forma padronizada. (MOLL, 2019).
O conceito de Docker vai além disso, mas dá para ter uma noção. Na aplicação, ele foi
utilizado para criar as configurações de banco e sempre que é necessário rodar o banco de dados,
é utilizado o Docker para inicializar.

Figura 20 - Docker logo.

Fonte: https://medium.com/

5.1.9 JSON
50

JSON significa JavaScript Object Notation, é um formato leve para troca de informações
e dados entre sistemas. Mesmo contendo o nome JavaScript, ele não precisa ser utilizado
somente com javascript, pode utilizá-lo com outras linguagens. (GAMA, 2011).
O formato JSON é utilizado na aplicação para fazer o envio e recebimento de
informações entre mobile e o backend, então é um elemento importantíssimo na aplicação.

Figura 21 - JSON logo.

Fonte: https://devtools.com.br/

5.1.10 VS CODE

Visual Studio Code ou VS code como conhecemos, é um editor de código destinado ao


desenvolvimento de aplicações. Além de ser gratuito, ele é open source (código aberto),
acabando que a comunidade pode contribuir constantemente e a ele evolua cada vez mais.
(DIONISIO, 2016)
O VS code foi utilizado durante todo desenvolvimento, tanto na parte mobile quanto na
parte do backend, sendo uma ferramenta muito importante para a entrega da aplicação.

Figura 22 – VSCode.

Fonte: https://code.visualstudio.com/
51

5.1.11 Android Studio

Android Studio é um ambiente de desenvolvimento oficial para aplicativos android,


fornece diversas ferramentas para facilitar o desenvolvimento de aplicativos mobile.
(ANDROID).
Na aplicação, ele foi utilizado somente para emular a aplicação, pois ele possui
uma ferramenta que pode simular o aplicativo desenvolvido.

Figura 23 – Android Studio logo.

Fonte: https://developers-br.googleblog.com/

5.1.12 GitHub

O GitHub é um site para versionamento e desenvolvimento de código colaborativo


baseado sistema de controle de versão git, onde estão hospedados mais de 96 milhões de
projetos de todo cunho: Desde trabalhos escolares até sistemas de código aberto, como o Linux.
(CONTA, 2018).
É uma ferramenta importantíssima para o desenvolvimento de softwares nos dias de
hoje, principalmente quando se trata de trabalhar em equipe, pois o mesmo projeto pode ser
alterado por diversos colaboradores de forma simultânea e organizada sem perder o trabalho
feito, além de ter um excelente controle de versões.
Carlile (2002), Bechky (2006) e Dabbish (2013) afirmam que o “GitHub também
permite a coordenação e a comunicação, pois fornece um ambiente onde é possível criar
conhecimento distribuído. Além disso, as atividades públicas, que seguem o formato de uma
52

rede social, podem levar a uma melhor tomada de decisões, redução de conflitos e aumento da
produtividade.” (apud PORTUGAL; LEITE, 2015).

Figura 24 - Logo do github.

Fonte: https://github.com/

5.2 HISTÓRICO DO DESENVOLVIMENTO

O processo de desenvolvimento foi feito em algumas etapas, as etapas foram a de


modelagem do sistema, modelagem de dados e o desenvolvimento em si, neste último foi
dividido entre desenvolvimento do Backend e do app.
Na modelagem de sistemas, foi levantado os requisitos que seriam necessários e que
agregariam no trabalho final. Para isso, foi visto alguns anúncios de adoção de animais que
foram postados por ONGs desta área em redes sociais, além de conversar com pessoas ligadas
a essa causa, para entender um pouco mais o que seria feito.
Na modelagem de dados, foi realizado uma análise das tabelas e atributos que teriam no
sistema, depois disso os autores escolheram o sistema banco de dados que foi utilizado no
desenvolvimento. Optaram por escolher o PostgreSQL, pois foi um SGBD que além de ser
gratuito, trabalhar com banco relacional e de fácil configuração, o PostgreSQL foi utilizado
durante a faculdade e há uma familiaridade com os autores.
O desenvolvimento foi realizado em duas etapas, a etapa do Backend e a etapa mobile
(app). Antes de iniciar, foi definido quais seriam as tecnologias que iriam ser utilizadas para o
desenvolvimento. Optaram pelo NodeJS para a parte do Backend e React Native para a parte
mobile. Elas foram utilizadas de olho no mercado, o que estava sendo utilizado hoje em dia, e
porque as duas são desenvolvidas em JavaScript. Isso facilita muito, pois o aprendizado seria
53

mais rápido, por ser todo sistema em uma linguagem, e que os autores já tinham trabalhado
com ambas as tecnologias, o que ajudou a evolução da aplicação.
A parte do backend houve algumas dificuldades no processo, mas que foram superadas
após estudo da linguagem. Umas das dificuldades foi a autenticação via JWT (JSON Web
tokens), pois os autores nunca haviam implementado por completo, mas após algumas
pesquisas, exemplos e verificar a documentação, conseguiram fazer e funcionar conforme
esperado. Outra dificuldade foi a parte de upload de fotos, que foram utilizados no cadastro de
usuário e cadastro de pet. Foi utilizado algumas bibliotecas compatíveis com o node, que
ajudaram no desenvolvimento da funcionalidade. O que ajudou muito a codificação do app foi
a utilização do Typescript, porque ele ajuda principalmente nas tipagens das variáveis.
A parte do mobile, para os autores, foi a mais difícil no desenvolvimento, pois ela
necessita de conhecimento sobre a linguagem, de CSS, HTML, um olhar de design e de muita
criatividade. Foi sim a mais difícil, mas foi a que eles mais aprenderam durante o
desenvolvimento. O React Native trabalha com componentes, então conseguiram aproveitar
vários componentes que se repetiam, programando uma vez só. Como por exemplo o botão, é
um componente que foi utilizado em praticamente todas as telas. Houve dificuldades na parte
de passar as fotos dos pets de um lado para o outro, eles não tinham ideia de como fazer, mas o
resultado foi satisfatório, pois ficou do jeito que foi imaginado. Também houve dificuldade na
parte de login da aplicação, pois era preciso gravar o token e utilizá-lo em outras telas, mas no
fim funcionou corretamente.
Por fim, esse MVP de aplicativo para adoção de pets foi um grande desafio e os autores
saíram com um enorme conhecimento adquirido. Houve barreiras no processo, mas que foram
superadas através da persistência e estudo.

5.3 APRESENTAÇÃO DO APLICATIVO DESENVOLVIDO

Nesta seção, são apresentadas as telas do aplicativo que foi desenvolvido, com base nas
telas que foram desenvolvidos os protótipos anteriormente e nas suas modelagens.
Na figura 25, é apresentada a tela de login, onde o usuário precisa ter um cadastro
realizado previamente e inserir informações de e-mail e senha para acesso ao aplicativo. O
54

sistema retorna erro quando algumas dessas informações são inseridas de forma errada ou que
não correspondem a cadastrada no sistema, deixando a borda do campo da cor vermelha. Na
tela possui um botão de cadastro, para realizar um novo cadastro de usuário e conseguir realizar
o login.

Figura 25 - Tela de login.

Fonte: Elaboração dos autores (2021).

Na Figura 26 é realizado o cadastro do usuário, ele precisa preencher com informações


básicas e cadastrar. O sistema retorna erro se alguma informação obrigatória não for preenchida
ou se for preenchida de forma errada, por exemplo o e-mail, que precisa ter formato de e-mail.
Caso coloque alguma informação errada, o campo fica com as bordas vermelhas.
55

Figura 26 - Tela de cadastro.

Fonte: Elaboração dos autores (2021).

Na Figura 27, é a tela principal do sistema, aqui que será listado os pets para adoção e
por aqui que poderá acessar as outras telas. Ela só é acessível depois da autenticação, possui
uma listagem de pets para adoção, que poderá clicar no card e ser direcionado a tela de detalhes
de pets. Além disso, o usuário pode clicar na sua foto, que será redirecionado a tela de edição
de perfil, onde poderá alterar informações do cadastro e inserir uma foto.
Possui também dois botões na parte de baixo do aplicativo, o primeiro botão a esquerda
é para denúncias, quando clicado ele abre um alerta com número para denúncias de maus tratos
a animais. O outro botão serve para o usuário acessar a sessão de seus pets, caso queira por
algum para adoção, podendo cadastrar, editar e deletar.
56

Figura 27 - Tela inicial.

Fonte: Elaboração dos autores (2021).

Na Figura 28, é o alerta de denúncia contra maus tratos a animais. Os autores pensaram
em por algo para apoiar as denúncias e que informe algum número para ser realizada essa
denúncia. Para receber esse alerta, deve ser clicado no ícone abaixo no canto esquerdo de cor
vermelha.
57

Figura 28 - Alerta para denúncias.

Fonte: Elaboração dos autores (2021).

Na Figura 29, é a tela de edição de perfil do usuário logado, ao abrir já está inserido as
informações que constam no cadastro dele, que podem ser editadas. Além disso, há opção de
alteração de senha, que precisa colocar a senha atual e a nova senha com sua confirmação. Com
os devidos tratamentos, caso algumas informações estiverem incorretas. Também possui a
funcionalidade de alteração de avatar, clicando na foto, abre a galeria do celular e é possível
inserir uma nova foto.
58

Figura 29 - Tela de editar cadastro.

Fonte: Elaboração dos autores (2021).

Na Figura 30 é a tela de detalhes do PET selecionado. Em primeiro aparece o nome do


pet e logo abaixo suas fotos, podendo ser alteradas deslizando para esquerda via Touchscreen.
Logo abaixo da foto, possui informações do pet, que foi cadastrada e com o nome do usuário
que publicou.
Abaixo dessas informações do pet, possui dois botões para entrar em contato. O primeiro
a esquerda, é o de via Whats App, que ao clicar o usuário é redirecionado ao Whats App do
telefone do usuário que publicou, com uma mensagem previamente preenchida. E o botão a
direita é para entrar em contato via E-mail, seguindo mesmo padrão do contato via Whats App.
59

Figura 30 - Tela de detalhes do pet.

Fonte: Elaboração dos autores (2021).

Na Figura 31 é a mensagem previamente feita pelo App no Whats App do usuário.

Figura 31 - Exemplo de contato para adoção.

Fonte: Elaboração dos autores (2021).


60

Na Figura 32, é a tela do e-mail após clicar no botão, com o contato do usuário
que publicou preenchido, junto com uma mensagem previamente realizada.

Figura 32 - Exemplo de e-mail de contato para adoção.

Fonte: Elaboração dos autores (2021).

Na Figura 33 é a tela de administração dos pets do usuário, esses pets são os que o
usuário colocou para adoção. Na tela é possível editar um cadastro, clicando no ícone de edição
e é possível deletar um cadastro, clicando no ícone para deletar.
Logo abaixo, possui um botão para cadastrar pet, que nos levará a tela de cadastro de
pet.
61

Figura 33 - Tela Meus pets.

Fonte: Elaboração dos autores (2021)

Na Figura 34 é a tela de cadastro/edição de pet, aqui será utilizado no cadastro de pet


conforme abaixo, e para edição de pet, que virá com as informações preenchidas.
62

Figura 34 - Tela de cadastro de pet.

Fonte: Elaboração dos autores (2021).

5.4 AVALIAÇÃO DO APLICATIVO

Esta etapa será responsável por apresentar a avaliação do sistema, sendo realizada por
meio de um questionário respondido por pessoas relacionadas a ONG’s ligadas ao tema de
adoção de animais, por pessoas ligadas a tecnologia e pessoas ligadas a causa de adoção de
animais, mas sem vínculo com ONG’s. A avaliação tem o objetivo de esclarecer dúvidas,
registrar o nível de satisfação dos usuários finais com a aplicação e receber sugestões para ser
desenvolvido no futuro.
63

O questionário foi criado utilizado o modelo exibido na Figura 35, criado por Badin e
Kuhn (2015).

Figura 35 - Protocolo de avaliação

Fonte: Badin e Kuhn (2015)

Como é possível analisar na figura, o sistema de avaliação existe para uma melhor
execução da avaliação do aplicativo, e tem etapas muito bem definidas, que serão detalhadas
nas próximas seções.

5.4.1 Cenário de avaliação


64

Com objetivo de obter uma avaliação consistente em relação ao impacto e eficiência


que o aplicativo pode trazer para os utilizadores, na hora de adotar um pet, seja ele resgatado
por uma ONG’s ou apenas de uma pessoa que encontrou ou possui um pet e não tem mais
condições de cuidar do animal.
Para auxiliar os participantes da avaliação foi criado um vídeo, que foi postado no
YouTube, explicando o funcionamento das telas do protótipo, e como elas funcionarão no
projeto finalizado do aplicativo, foi incluído também o link para que os participantes possam
utilizar o protótipo, que foi criado utilizando a ferramenta Figma, um editor gráfico de vetor e
prototipagem, comumente utilizado por designers de interface de usabilidade. Para ter uma
melhor sensação da usabilidade do aplicativo.
Foi elaborado um formulário que foi respondido por ONG’s, pessoas que já participaram
de algum processo de adoção que tenham ou não envolvimento na área e pessoas de outras áreas
profissionais que tenham interesse em utilizar o aplicativo.

5.4.2 Elaboração do questionário

A elaboração do questionário foi feita utilizando o modelo criado por Badin e Kuhn
(2015), que leva em consideração os requisitos apresentados anteriormente na seção 4.3.1 e
4.3.2 do presente trabalho, para a elaboração de perguntas que congruentes com o sistema
descrito.
Como exibido na Figura 35, o modelo de Badin e Kuhn (2015) segue um processo de 5
passos para a elaboração do questionário, sendo eles:

• Análise dos requisitos;


• Seleção dos principais requisitos;
• Análise dos impactos do sistema;
• Elaboração das perguntas a partir dos requisitos e impactos do sistema;
• Conclusão do questionário.
65

Inicialmente, foi feita uma análise dos requisitos propostos para o sistema, determinando
os mais relevantes para atender as necessidades do usuário. Em seguida foi realizada uma
análise dos impactos do sistema. A partir dos requisitos e impactos, foram formuladas perguntas
de múltipla escolha (questões fechadas), e duas perguntas abertas, na nas quais os perguntados
respondem se já utilizaram alguma aplicação semelhante e se sim, qual seria, já a outra pergunta
é pedindo sugestões de funcionalidades e/ou melhorias para o aplicativo.
Algumas perguntas elaboradas para o questionário utiliza a escala Likert, criado pelo
professor Rensis Likert em 1932, que é habitualmente utilizada em questionários, nesta escala
os perguntados especificam o seu nível de concordância com uma afirmação, que nesse caso
foi criada a partir de algum requisito ou impacto.
Das 7 perguntas fechadas realizadas no questionário, se tem como opção de resposta as
seguintes alternativas:
• Discordo totalmente (D.T);
• Discordo parcialmente (D.P);
• Não concordo nem discordo (I);
• Concordo parcialmente (C.P);
• Concordo totalmente (C.T).
Nos quadros 12 e 13 é possível visualizar as perguntas elaboradas para o questionário.

Quadro 12 - Questionário de Avaliação por Requisitos.

Questionário de Avaliação do Aplicativo MiAuDote


Requisito Pergunta Tipo de Pergunta
A interface do aplicativo é fácil de ser entendida e
RF009
utilizada
O botão de SOS traz uma facilidade maior para reportar
RF012
maus tratos contra animais
Fechada
As informações exibidas sobre os pets são uteis para a
RF009
adoção

RF004 O cadastro de pets é fácil de ser realizado

Fonte: Elaboração do autor (2021).

O Quadro 12, demostra as 4 perguntas baseadas nos requisitos.


66

Quadro 13 - Questionário de Avaliação por Impactos.

Questionário de Avaliação do Aplicativo MiAuDote


Impacto Pergunta Tipo de Pergunta
Adoção Você acha q esse aplicativo seria útil para realizar a
adoção de um pet?
Visibilidade Este aplicativo é recomendável para pessoas
interessadas em adotar um pet ou colocar um pet para
Fechada
adoção
ONG’s Você acha que a participação das ONG's dentro do
aplicativo seria uma ferramenta útil para acelerar o
processo de adoção?
Concorrência Você conhece ou já utilizou, algum aplicativo
semelhante com foco em adoção de pets? Se sim, qual?
Aberta
Sugestões Você teria alguma recomendação ou comentário a fazer
sobre o aplicativo apresentado?
Fonte: Elaboração dos autores (2021).

O Quadro 13, demonstra as 5 perguntas baseadas nos impactos do aplicativo.

5.4.3 Aplicação do Questionário

A aplicação do questionário é realizada com objetivo de coletar dados que possam ser
analisados e com isso obter informações referentes a eficiência e eficácia do aplicativo
desenvolvido.
Os respondentes são submetidos a etapas específicas antes de responderem as perguntas,
essas etapas são as seguintes:
1 Breve introdução ao sistema, qual o seu objetivo principal;
2 Indicação para visualizar um vídeo explicativo do protótipo criado ou acesso para
testar o protótipo;
3 Realização do questionário.
67

Foi encaminhado pelos autores o formulário para os participantes, nele foi anexado um
link para utilizar o protótipo através da web e um link para um vídeo criado utilizando o
protótipo e comentando as funcionalidades presentes.
O questionário foi criado utilizando a ferramenta Google Forms, pelo fato de ser uma
ferramenta consolidada e de fácil manuseio, tanto para os questionados quanto para tratamento
dos dados coletados.
O formulário foi encaminhado para um grupo de 21 pessoas, contendo 4 participantes
ativos dentro de ONG’s de Florianópolis e Grande Florianópolis, e 17 participantes de diversas
áreas de atuação, mas que já tiveram ou tem algum envolvimento com adoção ou resgate de
pets, todos com idade de 20 a 50 anos.
Os participantes puderam opinar sobre possíveis melhorias do sistema, e indicar quais
as funcionalidades mais importantes que encontraram no mesmo.

5.4.4 Análise dos resultados

Com todos os dados coletados, é possível realizar a apresentação das informações


obtidas no questionário de avaliação. Esta pesquisa tem como principal objetivo avaliar se os
usuários têm suas necessidades atendidas para doar ou realizar a adoção de um pet utilizando o
MiAuDote.
Esta avaliação tem seus resultados baseados nas respostas dos 21 participantes, que
puderam utilizar um protótipo do aplicativo e posteriormente responder o formulário.
Segue abaixo os gráficos com os resultados contendo as respostas referentes a avaliação
de requisitos do sistema.
68

Figura 36 - Gráfico resultado pergunta 1.

Fonte: Elaboração dos autores (2021).

Figura 37 - Gráfico resultado pergunta 2

Fonte: Elaboração dos autores (2021).


69

Figura 38 - Gráfico resultado pergunta 3

Fonte: Elaboração dos autores (2021).

Figura 39 - Gráfico resultado pergunta 4

Fonte: Elaboração dos autores (2021).


70

Nas figuras acima podemos analisar que todos os usuários concordaram totalmente com
a questão de o aplicativo ter uma interface fácil de ser entendida e utilizada, dentro das questões
voltadas para informação sobre o pet tivemos 4 usuários que acharam isso indiferente, e apenas
2 usuários responderam como indiferente sobre a facilidade de cadastrar um pet.
Segue abaixo os gráficos com os resultados contendo as respostas referentes a avaliação
por impactos.

Figura 40 - Gráfico resultado pergunta 5

Fonte: Elaboração dos autores (2021).


71

Figura 41 - Gráfico resultado pergunta 6

Fonte: Elaboração dos autores (2021).

Figura 42 - Gráfico resultado pergunta 7

Fonte: Elaboração dos autores (2021).


72

Segue abaixo o Quadro 14 com as respostas abertas que foram realizadas ao usuário
sobre os impactos.

Quadro 14 - Respostas dos usuários na avaliação por impactos.

P8 P9
Nas informações exibidas sobre os pets como sendo uteis para a
adoção, adicionaríamos a informação de CASTRADO(A) e
VACINADO(A) como campos obrigatórios*.
U1 Não
O porte “estimado” junto do campo peso atual.
Por essas informações importantes ausentes, ainda não
recomendaríamos o aplicativo.
pros gatos é bom saber se possui fiv (aids felina) ou felv
U2 Não
(leucemia felina). De resto, aplicativo muito intuitivo e bonito.
A inclusão do termo de responsabilidade na adoção com
compromisso de Castração. Opção de doação de verba ou de
U3 Não produto para ajudar os animais resgatados. Lista de contato de
locais que fazem Castração social. Lista de ONGs e dados para
doações. Seriam algumas ideias..
Acho interessante acrescentar as seguintes informações: a) se o
U4 Não animal é castrado ou não; b) se foi vacinado, e c) No caso de gatos,
se é Fiv ou Felv positivo ou negativo.
Recomendaria acrescentar um espaço para a ONG/Projeto colocar
sua página no Instagram ou Facebook. Outras informações
U5 Não importantes sobre o pet: sociabilidade, porte aproximado (P/M/G),
comportamento (agressivo, dócil, etc), se se dá bem com outros
pets...

U6 Não É um app muito útil para adoção e para ajudar os animais

U7 Não O aplicativo ficou muito bom, parabéns!


73

Sistema intuitivo e de fácil utilização. Acredito que vai ajudar


U8 Não
muito na adoção dos animais.

U9 Não Ficou muito bom! Parabéns pelo nome, achei muito criativo.

U10 Não O aplicativo irá facilitar muito no processo de adoção de pets

U11 Não Muito bom. Parabéns a todos.

U12 Não Não

Achei muito interessante a forma de facilitar através da tecnologia


U13 Não
a adoção de pet juntamente com a participação de ONGs

U14 Não Excelente


74

Deixar mais visível o porte do animal para melhor identificação


U15 Não
junto com o peso já descrito.

U16 Não Da pra colocar o porte do cachorro (pequeno/médio/grande)

Eu coloquei na pergunta acima, mas vou repetir aqui. Seria


interessante testarem qual o melhor canal pra resolução do
problema. Muitas vezes um app web pode funcionar melhor pq hoje
U17 Não
em dias as pessoas estão mais seletivas quanto a baixar apps. Mas
claro, tudo é questão de testar mesmo. Se precisarem de ajuda,
estou a disposição! Abraço

U18 Não App muito bom

U19 Não Muito legal!

U20 Não Excelente aplicativo!

U21 Não Nenhuma sugestão, apenas achei a ideia do aplicativo muito legal

Fonte: Elaboração dos autores (2021).


75

No Gráficos acima com as perguntas 5, 6, 7 e o Quadro 14 estão exibidas as respostas


referentes a avaliação por Impactos, e nele é possível visualizarmos que a grande maioria dos
usuários concordam com as afirmações feitas e acreditam que o aplicativo possa ter um impacto
positivo dentro de sua área de atuação e que recomendariam o aplicativo para outras pessoas,
concordam também que a participação de ONG’s dentro do aplicativo faria a diferença na hora
de agilizar o processo de adoção dos pets.
Com as respostas da pergunta 4 conseguimos determinar o como o aplicativo tem espaço
disponível no mercado, pelo fato de nenhum dos usuários terem utilizado qualquer ferramenta
semelhante.
Já as respostas abertas sobre possíveis recomendações ou comentários sobre o
aplicativo, a recomendação mais indicada foi a criação de campos referentes a castração do pet,
com a inclusão de termos de responsabilidade e colocar o máximo de informações possíveis
referente a saúde e comportamento do pet, sendo que esses são requisitos muito importantes
para a concretização da adoção. Todos os pontos levantados pelos usuários são de extrema
importância e suas sugestões serão consideradas como novas funcionalidades nas próximas
atualizações.
76

6 CONCLUSÃO E TRABALHOS FUTUROS

A seguir serão apresentadas as conclusões alcançadas com a elaboração e


desenvolvimento deste trabalho, incluindo trabalhos futuros que venham a ser efetuados com
intuito de dar prosseguimento a este projeto.

6.1 CONCLUSÃO

O MiAuDote surgiu de uma dor vivida por um dos autores em um momento em que foi
necessário realizar a doação de um pet, pois não tinha os recursos fundamentais para cuidar do
animal. Além da falta de recursos para os cuidados essenciais que todo animal precisa, foi
encontrada uma nova necessidade, devido à dificuldade para divulgar a doação, que precisou
ser feita através de cartazes espalhados pelo bairro.
A partir de dados coletados inicialmente no projeto, foi possível estabelecer uma análise
referente ao tema adoção de animais, por meio de citações e dados de pesquisas coletados pelo
Instituto Pet, é notável o espaço existente para um aplicativo com esses requisitos, podendo
assim atender o primeiro objetivo.
Com o primeiro objetivo concluído, foi possível estabelecer uma base para o
desenvolvimento do aplicativo, porém foi necessário realizar uma pesquisa para definir se os
requisitos criados pelos autores atenderiam o usuário final do aplicativo, para isso foi realizado
um questionário comprovando que as informações exibidas para os usuários são uteis para uma
possível adoção/doação, assim cumprindo o segundo objetivo.
Após levantar os requisitos e realizar a modelagem seguindo a primeira fase do
ICONIX, foi desenvolvido o aplicativo mobile para adoção/doação de pets. Na aplicação o
usuário pode se cadastrar, realizar login, visualizar os pets cadastrados, colocar pet para adoção
e entrar em contato via e-mail e WhatsApp com outros usuários, concluindo assim o terceiro
objetivo proposto.
No desenvolvimento do aplicativo, os autores utilizaram diversas tecnologias, que
conheceram através do curso de Sistemas de Informação e trabalhando na área de tecnologia,
77

podendo assim consolidar seus conhecimentos, os principais exemplos são: as noções de análise
e modelagem de sistemas vistos nas matérias de engenharia de software; conhecimento
referente a programação de aplicações adquiridos nas matérias de desenvolvimento web e
mobile; aprendizado necessário para criar um banco de dados funcional e manipular dados,
obtido por meio das matérias de banco de dados. Atingindo desta forma a conclusão do quarto
objetivo apresentado.
Com os objetivos específicos atingindo sua completude, é definido a conclusão do
objetivo geral, que determina o desenvolvimento de uma aplicação que possa auxiliar na
adoção/doação de animais.
Após análise dos resultados pelos autores, pôde-se observar um alto nível de satisfação
dos usuários que testaram o aplicativo e responderam às perguntas. Isso ficou claro em um
relato de uma pessoa ligada a causa, que após algumas sugestões disse o seguinte: “Essas são
nossas considerações e que certamente recomendaríamos (até mesmo divulgando o mesmo)
caso esses campos, que devem fazer parte da divulgação para adoção, sejam inseridos, com o
fim de efetivar mais adoções responsáveis, contribuindo para que os índices de abandono caiam,
em função de pessoas mais conscientes e responsáveis - tanto as que divulgam, quanto as que
adotam. Queremos aproveitar para parabenizar a iniciativa brilhante de criar um app voltado
para a adoção de animais domésticos e sua divulgação de forma unificada”. Isso mostra que a
criação de uma aplicação voltada a essa causa, com as informações corretas do processo,
ajudará em muito a adoção/doação de animais.

6.2 TRABALHO FUTUROS

Desde o conceito inicial do projeto, passando por seu desenvolvimento até sua entrega,
surgiram funcionalidades para a evolução e requinte do aplicativo, no entanto eles não foram
priorizados por não serem essenciais para o funcionamento do aplicativo. Porém através de
trabalhos futuros essas funcionalidades poderão ter continuidade sendo definidas como:
• Ajuste no design do aplicativo para melhor experiência do usuário.
• Permitir cadastro no aplicativo por Gmail e Facebook.
• Desenvolvimento de versão web com todos os recursos do app mobile.
78

• Criação de um chat para contato entre usuários.


• Criação de filtro por espécie e localização.
• Criação de mapa para visualização dos pets disponíveis para adoção.
• Criação de espaço para divulgação de animais desaparecidos para ajudar na sua
localização.
• Criação de espaço para serviços relacionados a pet, como veterinários e Petshops.
• Possibilidade de compartilhamento da divulgação da adoção em mídias sociais
como WhatsApp, Instagram, Facebook.
• Remover o armazenamento de fotos de usuário e pet da pasta do projeto e utilizar
um armazenamento online, como por exemplo o Amazon S3.
Também é possível definir novas funcionalidades de acordo com as sugestões feitas
pelos usuários através do formulário de avaliação do aplicativo, entre elas:
• Adição de obrigatoriedade em alguns campos do cadastro do animal.
• Adição de novos campos específicos voltados para o quadro de saúde do animal,
descrevendo doenças ou síndromes.
• Criar um perfil voltado para ONG’s e protetores de animais, que possuam
funcionalidades vinculadas com as redes sociais.
79

REFERÊNCIAS

Abinpet.org.br | Informações gerais do setor. Abinpet.org.br. Disponível em: <http://abin-


pet.org.br/infos_gerais/>. Acesso em: 13 Nov. 2020.

BOOCH, Grady; RUMBAUGH, James; JACOBSON, Ivar. UML: guia do usuário. Elsevier,
2005.

BADIN, Andreia Bunn; KUHN, Priscila Dias, Desenvolvimento da ferramenta SICC: Sis-
tema Inteligente Condominial Colaborativo. 2015. Monografia (Curso de Sistemas de infor-
mação) - Universidade do Sul de Santa Catarina, Palhoça, 2015

CAMPOS, Diego P. G.; PEREIRA, Kaique E.; CARVALHO, Samuel A.; et al. APLICA-
ÇÃO DE ARMAZENAMENTO EM NUVEM UTILIZANDO A PLATAFORMA
NODE.JS. RE3C - Revista Eletrônica Científica de Ciência da Computação, v. 11, n. 1,
2016. Disponível em: <http://revistas.unifenas.br/index.php/RE3C/article/view/160>. Acesso
em: 12 Nov. 2020.

CAPA. Brasil, segundo país onde o mercado de aplicativos mais cresce. Terra. Disponível
em: <https://www.terra.com.br/noticias/dino/brasil-segundo-pais-onde-o-mercado-de-
aplicativos-mais-cresce,1fd9d38aa995ad8ca1243f6c58080f79u2ee8tfj.html>. Acesso em: 16
Dec. 2020.

CARVALHO, Vitor Manuel. HTML Curso de Introdução. [s.l.: s.n., s.d.]. Disponível em:
<https://repositorio-aberto.up.pt/bitstream/10216/617/2/41058.pdf>. Acesso em:
12 Nov. 2020.

CHECONI, Mariana. Redes sociais são ferramentas eficientes na adoção de animais. Bt


News. Disponível em: <https://www.jj.com.br/jundiai/redes-sociais-sao-ferramentas-
eficientes-na-adocao-de-animais/index.html>. Acesso em: 16 Dec. 2020.

Conheça o Android Studio | Desenvolvedores Android. Disponível em:


<https://developer.android.com/studio/intro?hl=pt-br>. Acesso em: 20 maio. 2021.

CONTA, Gabriel Sebastian von. Identificação e visualização de rastros entre artefatos no


GitHub. 2018. Monografia (Curso Ciência da Computação) – Universidade Federal do Rio
Grande do Norte. Disponível em: <https://monografias.ufrn.br/jspui/han-
dle/123456789/8604>. Acesso em: 09 Nov. 2020.
80

CRM. Animais de rua: um problema que demanda participação coletiva. 2019. Disponí-
vel em: <https://www.crmvsp.gov.br/arquivo_release/01.02.19_Perigo_Animais_de_rua.pdf>.
Acesso em: 28 Abr. 2021

DAPPER, Almir. Aplicativo mobile para localização de farmácias, 2018. Monografia


(Curso de Sistemas de informação) - Universidade do Sul de Santa Catarina. Disponível em:
< https://www.riuni.unisul.br/handle/12345/5250>. Acesso em: 15 Nov. 2020.

DIONISIO, E. J. Introdução ao Visual Studio Code. Disponível em: <https://www.devme-


dia.com.br/introducao-ao-visual-studio-code/34418>. Acesso em: 20 maio. 2021.

FLANAGAN, David. JavaScript : o guia definitivo. 6. Porto Alegre Bookman 2014. Dispo-
nível em: https://integrada.minhabiblioteca.com.br/#/books/9788565837484/pageid/17.
Acesso em: 09 09 Nov. 2020

FERREIRA, Daniela Carvalho Monteiro. Website Aural: aplicações sonoras com CSS
2. Sonora, v. 2, n. 4, 2016. Disponível em: <https://www.publionline.iar.unicamp.br/in-
dex.php/sonora/article/view/637>. Acesso em: 13 Nov. 2020.

FOWLER, Martin. UML essencial: um breve guia para linguagem padrão. 3. Porto Alegre
Bookman 2011

GALVÃO, Pedro Sereno. Comprehensive Repository Analysis of Mobile Projects Built


with React Native. 2018. Monografia (Curso de Ciências da Computação) - Universidade Fe-
deral de Pernambuco. Disponível em: < https://www.cin.ufpe.br/~tg/2018-
2/TG_CC/tg_psg2.pdf >. Acesso em: 12 Nov. 2020.

GAMA, A. O que é JSON: Do Básico ao Avançado com JSON - Leia agora! Disponível
em: <https://www.devmedia.com.br/o-que-e-json/23166>. Acesso em: 20 maio. 2021.

GCF GLOBAL. Informática Básica: O que é um sistema operacional? Disponível em:


<https://edu.gcfglobal.org/pt/informatica-basica/o-que-e-um-sistema-operacional/1/>. Acesso
em: 16 dez. 2020.

INSTITUTO PET BRASIL. País tem 3,9 milhões de animais em condição de


vulnerabilidade. Disponível em: http://institutopetbrasil.com/imprensa/pais-tem-39-milhoes-
de-animais-em-condicao-de-vulnerabilidade/. Acesso em: 29 set. 2020.
81

LOURENÇO, Beatriz. Adoção de pets é uma tendência no Brasil, aponta pesquisa. Revista
Galileu. Disponível em: <https://revistagalileu.globo.com/Sociedade/noticia/2020/09/adocao-
de-pets-e-uma-tendencia-em-territorio-brasi-
leiro.html?GLBID=17bd20bed0f5b79db2d0192cf656797857a36445f57726b6c304b50775144
377946644d4d3933647335436a462d6571494756717a37327a72374b7375453363335151547
5384b47535847305f4670373961655157666a73676944392d783579494d65314977513d3d3a3
03a706564726f616c656e63617232365f726f636861>. Acesso em: 13 Nov. 2020.

KAMADA, Aqueo. EXECUÇÃO DE SERVIÇOS BASEADA EM REGRAS DE NEGÓ-


CIO., 2006. Tese (Doutorado em Engenharia Elétrica) – Universidade Estadual de Campinas.
Disponível em: <http://repositorio.unicamp.br/bitstream/REPOSIP/260976/1/Ka-
mada_Aqueo_D.pdf>.

MAIA, José Anízio. Construindo Softwares com Qualidade e Rapidez Usando ICONIX.
GUJ, JUGManaus, 2005. Disponível em: < https://docplayer.com.br/1630968-Construindo-
softwares-com-qualidade-e-rapidez-usando-iconix.html>. Acesso em 20 mai. 2021.

MANZANO, José Augusto N.G. MySQL 5.5 Interativo: Guia Essencial de Orientação e
Desenvolvimento. Editora Saraiva, 2011.Disponível em: https://integrada.minhabiblio-
teca.com.br/#/books/9788536519449/. Acesso em: 24 Nov 2020

MARQUES, Gerson V.; MEDEIROS, Claudio R; PEREIRA, Jeferson Q. Análise compara-


tiva de desempenho de aplicação Java com persistência em Banco de Dados MySQL e
MongoDB. n. 2, 2018. Disponível em: <https://periodicos.ufersa.edu.br/index.php/ecop/arti-
cle/view/7886>. Acesso em: 12 Nov. 2020.

MARQUES, J. O que significa iOS? Conheça cinco fatos sobre o sistema do iPhone. Dis-
ponível em: <https://www.techtudo.com.br/listas/2019/07/o-que-significa-ios-conheca-cinco-
fatos-sobre-o-sistema-do-iphone.ghtml>. Acesso em: 16 dez. 2020.

MARRA, Livia. Busca por adoção de animal dispara no Google, mas ONGs sentem efeitos da
pandemia. Folha de Pernambuco. Disponível em: <https://www.folhape.com.br/noti-
cias/busca-por-adocao-de-animal-dispara-no-google-mas-ongs-sentem-efeitos/144686/>.
Acesso em: 13 Nov. 2020.

MELO, D. O que é TypeScript? [Guia para iniciantes] | Aplicativos e Software | Tecnoblog.


Disponível em: <https://tecnoblog.net/426754/o-que-e-typescript-guia-para-iniciantes/>.
Acesso em: 20 maio. 2021.
82

MENDONÇA, Vinícius Lobo De; BITTAR, Thiago Jabur; DE, Márcio; et al. Um estudo dos
Sistemas Operacionais Android e iOS para o desenvolvimento de aplicativos. [s.l.: s.n.,
s.d.]. Disponível em: <https://www.enacomp.com.br/2011/anais/trabalhos-aprovados/pdf/ena-
comp2011_submission_54.pdf>.

Mercado Pet RESULTADOS | 2018. [s.l.: s.n., s.d.]. Disponível em:


<https://www.gov.br/agricultura/pt-br/assuntos/camaras-setoriais-tematicas/documentos/ca-
maras-setoriais/animais-e-estimacao/2019/26deg-ro-1/14-10-ipb_mercado_pet_resulta-
dos_2018_draft2.pdf>. Acesso em: 13 Nov. 2020.

MOLL, VINICIUS. Docker na Prática: o que é e como construir uma aplicação? Disponível
em: <https://blog.geekhunter.com.br/docker-na-pratica-como-construir-uma-aplicacao/>.
Acesso em: 20 maio. 2021.

MONTAN, Jardel dos Santos; SANTOS, Marcelo Costa Pinto. AVALIAÇÃO DE PLATA-
FORMAS HÍBRIDAS PARA DESENVOLVIMENTO DE APLICAÇÕES PARA O AN-
DROID - EVALUATION OF HYBRID ANDROID DEVELOPMENT PLATFORMS. Mul-
tiverso: Revista Eletrônica do Campus Juiz de Fora - IF Sudeste MG, v. 2, n. 2, p. 116–
125, 2017. Disponível em: <http://periodicos.jf.ifsudestemg.edu.br/multiverso/arti-
cle/view/178>. Acesso em: 12 Nov. 2020.

MUNZLINGER, E. Introdução à Tecnologia Web. 2011. Disponível em: <http://www.eli-


zabete.com.br/site/Outros/Entradas/2011/2/20_Tecnologia_Web_files/18-CSS-Sintaxe.pdf>.
Acesso em: 25 nov. 2020.

NOLETO, C. HTML: tudo que você precisa saber sobre o assunto! Disponível em:
<https://blog.betrybe.com/desenvolvimento-web/tudo-que-voce-precisa-saber-sobre-html/>.
Acesso em: 16 dez. 2020.

NUNES, S.; DAVID, G. Uma Arquitectura Web para Serviços Web. Repositorio-
aberto.up.pt. FEUP Faculdade Engenharia, Universidade de Porto - Artigo em Livro de Atas
de Conferência Nacional, 2019. Disponivel em: <https://repositorio-aberto.up.pt/han-
dle/10216/281>. Acesso em: 22 Nov. 2020.

PORTUGAL, R. L. Q.; LEITE, J. C. S. P. A Transparência do GitHub para uso de Artefa-


tos como fontes de informação na Engenharia de Requisitos. [s.l: s.n.]. Disponível em:
<http://wtrans.inf.puc-rio.br/WTRANSartigos/artigos/artigos_WTRANS15/paper3_15.pdf>.
Acesso em: 22 Nov. 2020.
83

POSTGRESQL GLOBAL DEVELOPMENT GROUP. PostgreSQL. Disponível em:


<https://www.postgresql.org/>. Acesso em: 20 maio. 2021.

Quais as diferenças entre aplicações nativas, web e híbridas? - Opensoft. Disponível em:
<https://www.opensoft.pt/diferencas-aplicacoes-nativas-web-hibridas/>. Acesso em: 31 maio.
2021.

Radar Pet 2020 – COMAC. Disponível em: <https://www.comacvet.org.br/mercado/>.


Acesso em: 06 abr. 2021.

REDAÇÃO VINDI. O que é REST API? Entenda mais sobre integração de sistemas. Dis-
ponível em: <https://blog.vindi.com.br/o-que-e-rest/>. Acesso em: 31 maio. 2021.

REINEHR, Sheila. Engenharia de requisitos. Porto Alegre SAGAH, 2020.

REIS, Antonio Carlos Serafim. UM ESTUDO COMPARATIVO ENTRE MODELOS DE


DESENVOLVIMENTO DE APLICAÇÕES MÓVEIS. 2019. Monografia (Curso Enge-
nharia de Software) – Universidade Federal do Ceará. Disponível em: < http://reposito-
rio.ufc.br/bitstream/riufc/49707/1/2019_tcc_acsdosreis.pdf >. Acesso em: 12 Nov. 2020.

ROMERO, Bruno A.; SAAD, Eduardo F.; BASTOS, Guilherme B. REACT-NATIVE, AVA-
LIAÇÃO DE PERFORMANCE COMPARANDO COM CÓDIGO JAVA NATIVO COM
LISTVIEW. JORNAL DE ENGENHARIA, TECNOLOGIA E MEIO AMBIENTE -
JETMA, v. 2, n. 2, p. 23, 2017. Disponível em: <http://publicacoes.facthus.edu.br/in-
dex.php/geral/article/view/19>. Acesso em: 12 Nov. 2020.

SANTOS, G. O que significa Android? Conheça dez fatos sobre o sistema do Google.
Disponível em: <https://www.techtudo.com.br/listas/2019/07/o-que-significa-android-co-
nheca-dez-fatos-sobre-o-sistema-do-google.ghtml>. Acesso em: 16 dez. 2020.

SAUDATE, Alexandre. REST: Construa API's inteligentes de maneira simples. [S.


l.: s. n.], 2014.

SILVA, George, et al.. Utilizando Iconix no desenvolvimento de aplicações Delphi, 2007.


Disponível em: < http://docplayer.com.br/1667978-Utilizando-iconix-no-desenvolvimentode-
aplicacoes-delphi.html >. Acesso em 20 mai. 2021.

SILVA, Leandro L. B.; PIRES, Daniel F.; NETO, Silvio C. Desenvolvimento de Aplicações
para Dispositivos Móveis: Tipos e Exemplo de Aplicação na plataforma iOS. [s.l.: s.n.],
84

2015. Disponível em: <http://pos.estacio.webaula.com.br/Biblioteca/Acervo/Ba-


sico/PG0233/Biblioteca_46460/Biblioteca_46460.pdf>. Acesso em: 12 Nov. 2020.

SILVA, Marcelo Moro; SANTOS, Marilde Terezinha Prado. Os Paradigmas de Desenvolvi-


mento de Aplicativos para Aparelhos Celulares. Revista T.I.S., v. 3, n. 2, 2014. Disponível
em: <http://revistatis.dc.ufscar.br/index.php/revista/article/view/86>. Acesso em:
13 Nov. 2020.

SILVA, T. A. S. 02. Modelo de domínio | T A S S. Disponível em: <http://tas-


sinfo.com.br/orientacao-a-objeto/modelo-de-dominio/>. Acesso em: 20 maio. 2021.

SILVEIRA, Denise Tolfo; CÓRDOVA, Fernanda Peixoto. Pesquisa Científica. In: GE-
RHARDT, Tatiana Engel; SILVEIRA, Denise Tolfo (Orgs.). Métodos de Pesquisa. Porto
Alegre: UFRGS, 2009.

SIMAS, Victor Luiz et al. Desenvolvimento para dispositivos móveis. Volume 2: Série uni-
versitária. Grupo A, E-book. Disponível em: https://integrada.minhabiblioteca.com.br/#/bo-
oks/9788595029774/. Acesso em: 22 Set. 2020.

SOMMERVILLE, Ian. Engenharia de software, 10ª ed. Editora Pearson, 2018.

SOUZA, E. C.; OLIVEIRA, M. R. de. COMPARATIVO ENTRE OS BANCOS DE DADOS


MYSQL E MONGODB: quando o MongoDB é indicado para o desenvolvimento de uma
aplicação. Revista Interface Tecnológica, [S. l.], v. 16, n. 2, p. 38-48, 2019. DOI:
10.31510/infa.v16i2.664. Disponível em: https://revista.fatectq.edu.br/index.php/interfacetec-
nologica/article/view/664. Acesso em: 24 nov. 2020.

SOUZA, I. JavaScript: o que é, como funciona e por que usá-lo no seu site. Disponível
em: <https://rockcontent.com/br/blog/javascript/>. Acesso em: 25 nov. 2020.

TRÍSCELE WEB E MUSEOLOGIA. Desenvolvimento de Aplicativos. Disponível em:


<https://www.triscele.com.br/desenvolvimento-web/desenvolvimento-de-aplicativos>.
Acesso em: 16 dez. 2020.

VIEIRA, João P. N.; VERAS, Tainá da S.; MACEDO, Júlio C. C.; MELO, Ramasio F.;
SOUSA, Rogério P. UTILIZAÇÃO DE FERRAMENTAS COMPUTACIONAIS PARA
EXEMPLIFICAR O FUNCIONAMENTO DE UM GERENCIADOR DE MEMÓRIA
DE UM SISTEMA OPERACIONAL. 2018. Disponível em: <https://cointer.institu-
toidv.org/inscricao/pdvl/uploadsAnais/UTILIZA%C3%87%C3%83O-DE-FERRAMENTAS-
85

COMPUTACIONAIS-PARA-EXEMPLIFICAR-O-FUNCIONAMENTO-DE-UM-GEREN-
CIADOR-DE-MEM%C3%93RIA-DE-UM-SISTEMA-OPERACIONAL.pdf >.
86

APÊNDICE A – CRONOGRAMA

Atividades Out Nov Dez-Fev Mar Abr Mai Jun Jul


Semanas 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2
Revisão bibliográfica e X
pesquisa
Escolha das tecnologias X
Estudo das tecnologias X
escolhidas
Levantamento de X
requisitos
Preparar ambiente de X
desenvolvimento
Modelagem da aplicação X
Desenvolvimento do X
backend
Desenvolvimento do app X
Testes do aplicativo MVP X
Entrega do trabalho X
completo
Defesa do TCC X
Correções X
Entrega do trabalho final X
87

APÊNDICE B – PERGUNTAS FORMULÁRIO

Questionário de Avaliação do Aplicativo MiAuDote


Nº Pergunta Tipo de Pergunta
1 A interface do aplicativo é fácil de ser entendida e
utilizada?
2 O botão de SOS traz uma facilidade maior para reportar
maus tratos contra animais?
3 As informações exibidas sobre os pets são uteis para a
adoção?
4 O cadastro de pets é fácil de ser realizado?
5 Você acha q esse aplicativo seria útil para realizar a Fechada
adoção de um pet?
6 Este aplicativo é recomendável para pessoas
interessadas em adotar um pet ou colocar um pet para
adoção?
7 Você acha que a participação das ONG's dentro do
aplicativo seria uma ferramenta útil para acelerar o
processo de adoção?
8 Você conhece ou já utilizou, algum aplicativo
semelhante com foco em adoção de pets? Se sim, qual?
Aberta
9 Você teria alguma recomendação ou comentário a fazer
sobre o aplicativo apresentado?

Você também pode gostar