Trabalho de Conclusão de curso voltado na criação de um aplicativo Utilizando o Android studio. O aplicativo foca na economia colaborativa para doacao de artigos infantis. Voltado para escolas públicas municipais.
Integração de ferramentas de código aberto (java, pentaho e android) e mapas,...
Doação de artigos escolares
1. CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA
PAULA SOUZA
Faculdade de Tecnologia da Baixada Santista
Curso Superior de Tecnologia em Análise e
Desenvolvimento de Sistemas
GENIVALDO DOS SANTOS SANTANA
JOÃO VICTOR VERNIERI MENDES
APLICATIVO BASEADO EM ECONOMIA COLABORATIVA
PARA DOAÇÃO DE ARTIGOS ESCOLARES INFANTIS
Santos, SP
2018
2. GENIVALDO DOS SANTOS SANTANA
JOÃO VICTOR VERNIERI MENDES
APLICATIVO BASEADO EM ECONOMIA COLABORATIVA
PARA DOAÇÃO DE ARTIGOS ESCOLARES INFANTIS
Trabalho de Conclusão de Curso apresentada à
Faculdade de Tecnologia da Baixada Santista –
FATEC Rubens Lara, como exigência parcial para
a obtenção do Título de Tecnólogo em Análise e
Desenvolvimento de Sistemas.
Orientador: Profa Ma Rosemeire Cardozo Vidal
Santos, SP
2018
3. GENIVALDO DOS SANTOS SANTANA
JOÃO VICTOR VERNIERI MENDES
APLICATIVO BASEADO EM ECONOMIA
COLABORATIVA PARA DOAÇÃO DE ARTIGOS
ESCOLARES INFANTIS
Trabalho de Conclusão de Curso apresentada à
Faculdade de Tecnologia da Baixada Santista –
FATEC Rubens Lara, como exigência parcial para
a obtenção do Título de Tecnólogo em Análise e
Desenvolvimento de Sistemas.
Orientador: Profa Ma Rosemeire Cardozo Vidal
BANCA EXAMINADORA:
___________________________________________________________________
Nome do examinador:
Titulação:
___________________________________________________________________
Nome do examinador:
Titulação:
___________________________________________________________________
Nome do examinador:
Titulação:
Local: Faculdade de Tecnologia da Baixada Santista
4. DEDICATÓRIA
Dedicamos esse trabalho a todos os professores que ao longo desta jornada
acompanharam e nos indicaram a direção certa a ser tomada, às nossas mães,
pela coragem, simplicidade e honestidade em alcançarem suas metas, e com muito
carinho nos ensinaram o caminho da justiça, e a todos os nossos colegas de curso
que contribuíram para o nosso crescimento e aprendizagem.
5. AGRADECIMENTOS
Agradecemos a Deus, por ter nos dado força e coragem ao longo desta
jornada nos dando serenidade para sempre tomar a decisão correta nas horas
difíceis, tranquilidade e paz espiritual para atravessar os caminhos tortuosos. A
professora Rosemeire, nossa orientadora, e que consideramos uma amiga, por
quem guardamos carinho e gratidão por ter nos ajudado nessa tarefa de suma
importância para a finalização de mais um ciclo em nossas vidas. A todos os
membros da Fatec Rubens Lara que contribuiu de forma direta para que
chegássemos onde estamos. Agradeçemos a nossos colegas de classe, todos
verdadeiros companheiros.
Agradecemos especialmente aos professores, que nos incentivaram a lutar
com garra e coragem a cada semestre durante esses 3 anos.
6. EPÍGRAFE
“O sucesso nada mais é que ir
de fracasso em fracasso sem
que se perca o entusiasmo [...]”
(Winston Churchill)
7. RESUMO
SANTANA SANTOS, G; MENDES VERNIERI, J.V. Aplicativo para Economia
Colaborativa de Artigo para Crianças. 2018. Trabalho de Conclusão de Curso.
Centro Estadual de Educação Tecnológica Paula Souza, Curso Superior de
Tecnologia em Análise e Desenvolvimento de Sistemas. Faculdade de Tecnologia
da Baixada Santista, Santos.
Este projeto apresenta o desenvolvimento de um aplicativo para plataforma Android,
fundamentado no conceito de Economia Colaborativa, visando contribuir com a
economia familiar e também com os gastos que a Prefeitura de Santos tem com
artigos escolares. O aplicativo se destina a facilitar a doação desses artigos, para
crianças de zero a 6 anos, disponibilizando-os em forma de listas para que possam
ser visualizados e resgatados pelos interessados. A Unidade que tiver a posse do
produto ficará responsável por seu gerenciamento no aplicativo bem como pela
entrega do mesmo. Para o desenvolvimento do aplicativo foram utilizadas as
seguintes tecnologias: Processo de Software, Metodologias Ágeis, UML, Linguagem
de Programação Java e Banco de Dados SQLite.
.
Palavras-chaves: Economia Colaborativa, Doação, Plataforma Android.
8. ABSTRACT
This project presents the development of an application for Android platform, based
on the concept of Collaborative Economy, aiming to contribute with the family
economy and also with the expenses that the City of Santos has with school articles.
The application is intended to facilitate the donation of these articles, for children
from zero to 6 years, making them available in the form of lists so they can be viewed
and rescued by those interested. The Unit in possession of the product will be
responsible for its management in the application as well as the delivery of the same.
For the development of the application the following technologies were used:
Software Process, Agile Methodology, UML, Java Programming Language and
SQLite Database.
Keywords: Collaborative Economy, Donation. Android platform
9. LISTA DE ABREVIATURAS E SIGLAS
UME - Unidades Municipais de Santos...................................................................13
DEPLAN - Departamento de Planejamento ............................................................14
SEDUC - Secretaria de Educação ..........................................................................14
MVC - Modelo Visão Controle.................................................................................15
UML - Linguagem de Modelagem Unificada ...........................................................16
OHA - Open Handset Alliance.................................................................................18
API - Application Programming Interface ...............................................................19
IOS - Iphone Operating System ..............................................................................20
SDK - Software Development Kit ...........................................................................20
IDE - Integreted Development Environment...........................................................20
SQL - System Query Language ..............................................................................21
10. LISTA DE FIGURAS
Figura 01 – Arquitetura MVC...................................................................................15
Figura 02 – Diagrama de Classes...........................................................................17
Figura 03 – Diagrama de Casos de Uso .................................................................18
Figura 04 – Arquitetura Android ..............................................................................19
Figura 05 – Modelo Entidade Relacional.................................................................21
Figura 06 – Diagrama de Casos de Uso do Aplicativo............................................25
Figura 07 – Diagrama de Classes do Aplicativo......................................................26
Figura 08 – Tela Login ............................................................................................33
Figura 09 – Cadastro de Usuário ............................................................................34
Figura 10 – Lista......................................................................................................35
Figura 11 – Menu de opções...................................................................................36
Figura 12 – Cadastro de Produtos ..........................................................................37
11. LISTA DE QUADROS
Quadro 01 – Validar Usuário e Senha.....................................................................22
Quadro 02 – Solicitar Doação .................................................................................23
Quadro 03 – Consultar Produto ..............................................................................23
Quadro 04 – Gerenciar Produto ..............................................................................23
Quadro 05 – Visualizar Histórico.............................................................................24
Quadro 06 – Conexões a Internet ...........................................................................24
Quadro 07 – Acesso à Base de Dados ...................................................................24
Quadro 08 – Funcionamento do aplicativo..............................................................25
Quadro 09 – Aquisições de Produto........................................................................25
Quadro 10 – Identificação dos Casos de Uso.........................................................26
Quadro 11 – Identificação dos Autores ...................................................................27
12. SUMÁRIO
1.INTRODUÇÃO....................................................................................................13
1.1 CONTEXTUALIZAÇÃO .................................................................................13
1.2 OBJETIVO.....................................................................................................13
1.3 OBJETIVOS ESPECIFICOS .........................................................................13
1.4 JUSTIFICATIVA ............................................................................................14
1.5 ORGANIZAÇÕES DO TRABALHO ...............................................................14
2. REVISÃO BIBLIOGRÁFICA..............................................................................15
2.1 PROCESSO DE SOFTWARE.......................................................................15
2.2 METODOLOGIA DE DESENVOLVIMENTOS ÁGEIS...................................16
2.2 1 CRISTAL CLEAR.................................................................................... 16
2.3 UML...............................................................................................................16
2.3.1 DIAGRAMA DE CLASSE ........................................................................17
2.3.2 DIAGRAMA DE CASO DE USO..............................................................17
2.4 PLATAFORMAS ANDROID ..........................................................................18
2.5 ANDROID SDK..............................................................................................20
2.6 JAVA .............................................................................................................20
2.7 SQLITE..........................................................................................................20
3. ESPECIFICAÇÃO DO PROJETO.....................................................................22
3.1 ANÁLISES DE REQUISITO ..........................................................................22
3.2 REQUISITOS FUNCIONAIS .........................................................................22
3.3 REQUISITOS NÃO FUNCIONAIS.................................................................24
3.4 DIAGRAMAS DE CASOS DE USO DO APLICATIVO ..................................25
3.5 DIAGRAMAS DE CLASSE DO APLICATIVO................................................26
3.6 DEFINIÇÕES DE PAPÉIS.............................................................................26
3.6.1 IDENTIFICAÇÃO DE CASOS DE USO...................................................27
4. DESENVOLVIMENTO .......................................................................................33
5. CONSIDERAÇÕES FINAIS ...............................................................................39
REFERÊNCIA BIBLIOGRÁFICA......................................................................41
13. 13
1 INTRODUÇÃO
1.1 CONTEXTUALIZAÇÃO
O avanço das tecnologias móveis favoreceu o consumo de internet e
consequentemente o interesse por serviços online como redes sociais, banking line,
e-commerce. Diante disso novas formas de se fazer comercio surgiram com a
intenção de facilitar não somente a negociação entre as partes, mas também
promover um comércio sustentável.
Segundo Lemos et al. (2009, p.11), “O aumento de conexões
resultantes da tecnologia móvel tem proporcionado diferentes oportunidades aos
hábitos sociais e aos limites entre espaços públicos e privados”.
O consumo colaborativo teve início nos Estados Unidos por volta de
1990, e essa forma de consumo foi impulsionada não apenas pelo crescente
desenvolvimento da tecnologia, mas também pelas fortes crises econômicas e pela
necessidade de se contribuir com o meio ambiente, logo o consumo colaborativo
segundo Rogers (apud Silveira; Petrini; Santos, 2016, p.300) é uma forma de
acomodar necessidades e desejos de uma forma mais sustentável, atraente e com
pouco ônus para o indivíduo.
Considerando os benefícios econômicos que a economia colaborativa
pode trazer e com o intuito de oportunizar a doação de artigos infantis, entre a faixa
etária de recém-nascido até seis anos de idade, nas redes públicas de ensino, este
trabalho objetiva apresentar uma solução baseada em economia colaborativa, que
possibilite, através de aplicativo, a divulgação e a doação dos artigos infantis
disponibilizados nas unidades de ensino.
1.2 OBJETIVO
O objetivo deste trabalho é apresentar o desenvolvimento de um
aplicativo, baseado em economia colaborativa, que permita a disponibilização e
doação de artigos infantis pelas UME (Unidades de Educação Municipal de Santos).
1.3 OBJETIVOS ESPECÍFICOS
Os objetivos específicos deste trabalho são:
Realizar levantamento de requisitos do sistema;
Desenvolver projeto de banco de dados usando o SQLite;
14. 14
Aplicar os conceitos de engenharia de software desenvolvidos em
curso para melhor estruturar o projeto na fase de desenvolvimento.
1.4 JUSTIFICATIVA
Segundo dados oferecidos pelo Departamento de Planejamento da Secretaria
de Educação de Santos (Deplan / Seduc), a cidade possui em sua totalidade
48 Unidades da Rede Direta e 38 Unidades da Rede Subvencionada, atendendo a
14.378 crianças de 0 a 6 anos (data base fevereiro/2018). Sendo que, o número de
matrículas de crianças de até 3 anos na modalidade creche ( Berçários + Maternal I),
na Rede direta é de 2.309, e na Rede Subvencionada 2.812, já para crianças de 4 a
6 anos de idade, na Rede direta 5.724, e na Rede Subvencionada 3.533. A
prefeitura disponibiliza para as Unidades Municipais de Educação, além do material
escolar, uniforme completo que é composto por calçados e vestimentas.
Sendo assim a economia que, a solução proposta por este trabalho, pode
ofertar para a prefeitura bem como o número de famílias que podem ser
beneficiadas, justifica o desenvolvimento do aplicativo, que permite disponibilizar
para doação, material, roupa escolar e demais artigos infantis pela unidade de
ensino.
1.5 ORGANIZAÇÃO DO TRABALHO
O presente trabalho é apresentado em capítulos que tratam individualmente
da contextualização, desenvolvimento e aplicação do sistema no mercado
colaborativo.
O capítulo 2, intitulado “Revisão Bibliográfica”, trata das tecnologias e
conceitos aplicados no desenvolvimento deste projeto.
O capítulo 3 aborda a metodologia, ou seja, os procedimentos adotados no
desenvolvimento do aplicativo, além das tecnologias envolvidas.
O capítulo 4 apresenta as especificações do projeto tais como: levantamento
de requisitos, diagramas e telas do aplicativo.
O último capítulo apresenta as considerações finais e também as atividades
futuras para o projeto.
15. 15
2. REVISÃO BIBLIOGRÁFICA
Neste capítulo apresenta-se a revisão bibliográfica sobre as
metodologias e tecnologias utilizadas no desenvolvimento do aplicativo proposto,
divididos em: Conceito de Processo de Software, Metodologias Ágeis, Sistema
Operacional Android, UML, Linguagem Java, e Banco de Dados SQLite.
2.1. PROCESSO DE SOFTWARE
Segundo (Pressmann, 2011, p.22) “Processo não é uma prescrição rígida de
como desenvolver um software, é uma abordagem adaptável que possibilita realizar
um trabalho de selecionar e escolher um conjunto apropriado de ações e tarefas”. O
modelo de processo de sotware que faremos uso no desenvolvimento do aplicativo
é o Model-View-Controller (MVC), atualmente o mais utilizado no desenvolvimento
de aplicações, por separar classes de responsabilidade em 3 grande grupos: regra
de negócio, a lógica e a interface com o usuário, (figura 1).
Figura 1: Arquitetura MVC.
FONTE: Sommerville (2011).
16. 16
Model
Gerencia o sistema de dados e as operações associadas a esses dados.
Sommerville (2011, p.109).
View
Define e gerencia como os dados são apresentados ao usuário. Sommerville
(2011, p.109).
Control
Gerencia a interação do usuário (por exemplo, teclas, cliques do mouse etc.)
e passa essas interações para a Visão e o Modelo. Sommerville (2011, p.109).
2.2. METODOLOGIAS DE DESENVOLVIMENTO ÁGEIS
Segundo (Koscianski, 2007, p.190) “Uma metodologia de
desenvolvimento de software é um conjunto de atividades que auxiliam a produção
de software”.
2.2.1. CRISTAL CLEAR
A metodologia Cristal Clear foi utilizada para o desenvolvimento do
aplicativo por se tratar de um projeto considerado de baixa complexidade, com
necessidade de ser realizado em curto espaço de tempo e com apenas dois
integrantes envolvidos no projeto. Segundo (Torres, 2014. p.197) “O método Cristal
Clear é para projetos pequenos, com baixa complexidade, e é o metodo mais ágil
para gerenciamento e controle”.
2.3 UML
Segundo (Pressman, 2011, p.727) “A UML – (Linguagem de
Modelagem Unificada) é uma linguagem padrão para descrever e documentar
projetos de software.” A linguagem UML não é uma linguagem de programação, ela
pode ser usada para visualizar, especificar e construir os artefatos de um sistema de
software. Esta linguagem trata-se de um esquema gráfico utilizado para modelagem
de sistemas orientados a objetos. Este projeto fará uso de dois diagramas
pertencentes à UML: Diagrama de Classes e Diagrama de Casos de Uso, estes nos
darão uma melhor compreensão das atividades envolvidas do aplicativo.
17. 17
2.3.1 DIAGRAGAMA DE CLASSES
Segundo explana Guedes (2014, p.33), “Os Diagramas de classes são
usados no desenvolvimento de um modelo de sistema orientado a objetos”. Os
Diagramas de Classes mostram a estrutura das classes e como seus atributos e
seus métodos se relacionam. Na figura 2 é apresentado um exemplo de um
diagrama de classes.
Figura 2: Diagrama de Classes
FONTE: Guedes (2014).
2.3.2 DIAGRAMA DE CASOS DE USO
Através dos Diagramas de casos de uso são possíveis realizarem
cenários de como o usuário interage com o sistema ou o sistema interage com outro
sistema. Na figura 3 é apresentado um exemplo de diagrama de caso de uso. “O
diagrama de caso de uso mostra por meio de uma linguagem simples o
18. 18
comportamento externo do sistema por uma perspectiva do usuário” (Guedes,
2014).
Figura 3: Diagrama de Casos de Uso.
FONTE: Somerville (2011)
2.4. PLATAFORMA ANDROID
O Android é uma plataforma de código fonte aberto disponibilizado
gratuitamente para telefones celulares e smartphones.
Esta plataforma é um esforço da Google com a OHA (Open Handset
Alliance), que é uma aliança de dezenas de organizações comprometidas em trazer
para o mercado um telefone celular melhor e aberto. Segundo Deitel et al. (2017,
p.11), o Android é o “Sistema Operacional de maior crescimento para celulares e
smartphones é um sistema que se baseia no Kernel do Linux e usa Java.” O
Sistema Operacional Android, utilizado em Smartphones e Tablets, sem restrições
de hardware, disponibiliza um conjunto de gerenciadores com diversos serviços,
além de uma runtime que fornece dentre outras funcionalidades pacotes básicos
Java para um ambiente quase completo de programação.
Na figura 4 são representadas as camadas da arquitetura Android:
Applications, Aplication Framework, Libraries, Android Runtime e Linux Kernel.
19. 19
Figura 4: Arquitetura Android.
FONTE: Pereira; Silva (2009).
Camada Applications: Localizada acima de todas as camadas,
contém todos os aplicativos fundamentais, escritos em Java (Pereira;Silva, 2009,
p.06).
Camada Aplications Framework: contém todas as APIs, Application
Programming Interface e recursos utilizados pelos aplicativos, dentre os principais
elementos desta camada temos: Activity Manager, Package Manager, Window
Manager, ContentProviders e View System. Nesta camada também encontramos
outros elementos como o Location Service, Wi-Fi Service, USB Service e Sensor
Service (Pereira;Silva, 2009, p.06)
Camada de Libraries: nesta camada são disponibilizadas um conjunto
de bibliotecas de multimídia, visualização de camadas 2D e 3D, funções para
navegadores Web, funções para gráficos dentre outras (Pereira;Silva, 2009, p.07).
Camada Android Runtime: camada do ambiente de execução, ou
seja, uma instancia da máquina virtual conhecida como Dalvik. Esta máquina virtual
executa arquivos, (DEX), que são classes do Java convertidas para a máquina
virtual através da ferramenta DX (Pereira; Silva, 2009, p.08).
20. 20
Camada Linux Kernel: a camada Linux Kernel possui sistema próprio
de gerenciamento de energia, atua como uma camada de abstração entre o
hardware e o resto da pilha de software (Pereira;Silva, 2009, p.09).
O Android será utilizado também por incluir uma gama de recursos
para aplicativos móveis, pois nele temos todos os componentes de uma plataforma
computacional necessária para o desenvolvimento do aplicativo.
2.5 ANDROID SDK
O Android SDK é um kit para desenvolvimento que disponibiliza as
ferramentas e APIs necessárias para desenvolver aplicações para a plataforma
Android” (PEREIRA; SILVA, 2009, p.03). O Android SDK pode rodar em outras IDEs
além do Android Studio, ferramenta esta, que será utilizada para o desenvolvimento
deste projeto. O Android Studio foi escolhido por possuir um editor visual mais fluido
e com mais opções, sistema de build mais moderno, mais utilidades e facilidades ao
desenvolver para Android integradas ao SDK, templates de projetos para
smartphones e tablets, atualizações e melhorias frequentes (LECHETA, 2015 p.45).
2.6 JAVA
Java é uma linguagem de programação que começou a surgir por volta
de 1991, inicialmente era parte de outro projeto chamado de Green Project. Na
época a linguagem era chamada de OAK.
A linguagem Java é sem dúvida uma das mais ricas em recursos para
a realização das mais variadas tarefas. Programadores de nível básico e
intermediário se surpreendem com a facilidade com que funcionalidades mais
avançadas podem ser atingidas com o uso de classes poderosas, e ainda assim, de
fácil entendimento e uso. (Silva, 2004).
2.7. SQLITE
O SQLite foi utilizado para a elaboração do Banco de Dados, por ser uma
ferramenta criada na base da licença de software livre, ser interno da Plataforma
Android e ser um banco de dados relacional (figura 5). O acesso ao SQLite, se dá
por meio de ultilização de API, que já vem dentro do pacote SDK, além da sua
qualidade e segurança.
21. 21
O SQLite é uma biblioteca Open Source escrita em linguagem C,
que implementa um interpretador SQL, que provê funcionalidades de banco
de dados, usando arquivos, sem a necessidade de um processo servidor
separado ou de configuração manual. (Boges, 2009, p.37).
Figura 5: Modelo Entidade Relacional
FONTE: Os autores
22. 22
3. ESPECIFICAÇÃO DO PROJETO
Nesta seção serão apresentadas as etapas do processo de software
definidas na seção 2.1.
O aplicativo Colabora UME foi desenvolvido para ser implementado em
qualquer aparelho com o sistema operacional Android, e a sua primeira versão será
disponibilizada com algumas funcionalidades, tais como Incluir Item, Cadastrar
Usuário, Cadastrar Item e Listar Item
3.1 ANALISE DE REQUISITOS
Após estudo e análise das necessidades levantadas junto ao público alvo
foram elaborados requisitos funcionais e não funcionais do aplicativo, quadro 1 a 9.
Segundo Rezende (2005) ”Analise de Requisitos são as funções ou as atividades
elaboradas visando o pleno atendimento das necessidades do cliente”.
3.2 REQUISITOS FUNCIONAIS E REGRA DE NEGÓCIOS
QUADRO 1 - RF 001 – Validar usuário e senha
RF01 - Permitir a autenticação por meio de Login.
Descrição:
O aplicativo deve permitir o acesso do usuário após validar o e-mail e
a senha de acesso.
O aplicativo não deve permitir a realização de pedido por parte do
usuário, caso as credenciais sejam inválidas.
Caso, sejam inválidos o e-mail e /ou a senha, o aplicativo deverá
enviar uma mensagem do erro.
23. 23
QUADRO 2 - RF 002 – Solicitar Doação
RF02 - Solicitar Produto Doado
Descrição:
Todo usuário, com login válido, tem permissão para solicitar um
produto ofertado pelo aplicativo.
O usuário terá prazo de 24 horas para retirar o produto solicitado.
O aplicativo deverá informar o usuário do prazo para retirada do
produto solicitado.
O produto volta para o status de disponível caso o usuário não faça a
retirada no prazo estabelecido pelo sistema.
QUADRO 3 - RF 003 – Consultar Produtos
RF03 - Consultar Produtos Cadastrados
Descrição:
O sistema deve permitir que o usuário faça consultas de produtos
ofertados por outras Unidades.
Todo usuário, com login válido, tem permissão para consultar
produtos cadastrados por outros usuários.
O sistema deve informar ao usuário caso o produto não esteja na
base de dados do aplicativo.
QUADRO 4- RF 004 – Gerenciar Produtos
RF04 - Permitir que o Gerente da Unidade adicione ou exclua produtos
Descrição:
Somente poderão adicionar ou excluir produtos usuários de nivel 2 e
3
O sistema não deverá permitir o acesso de usuário de nivel inferior ao
modulo de exclusão e cadastro de produtos.
24. 24
QUADRO 5- RF 005 – Visualizar Histórico
RF05 – Permitir que o usuário visualize produtos cadastrados.
Descrição:
O aplicativo deve permitir que o usuáro possa visualizar todos os
produtos cadastrados no aplicativo.
O aplicativo deve permitir a realização de filtros nas informações
presentes.
O aplicativo deve apresentar uma mensagem de erro, informando
qual foi a ação ocasionadora.
3.3 REQUISITOS NÃO FUNCIONAIS
QUADRO 6- RNF 001 – Conexões à Internet
RNF01 – Permitir Conexões à Internet.
Descrição:
O aplicativo deve fazer o mínimo necessário de conexões à internet e
banco de dados.
QUADRO 7- RNF 002 – Acesso a Base de Dados
RNF02 – Acessar a Base de Dados
Descrição:
O aplicativo deve impedir acesso à base de dados por parte dos
usuários.
Os módulos do aplicativo deverão ser restritos a tipos específicos de
usuários, usuários do tipo nivel 1 por exemplo, não poderão acessar
o módulo do usuário nível 2, e usuário nível 2 não pode acessar
modulo de usuário nível 3.
O aplicativo deverá informar que o usuário não tem permissão de
acesso ao modulo.
25. 25
QUADRO 8 - RNF 003 – Funcionar em todas as versões do Android
RNF03 – Funcionar nas versões do Android
Descrição:
O aplicativo deverá funcionar em todas as versões do Android, sem
mudanças de recursos ou ações.
QUADRO 09 - RNF 004 – Aquisições de produtos
RNF04 - Requisitar produtos
Descrição:
O sistema impedirá que usuários façam mais de 5 solicitações de
aquisições de produtos ofertados no prazo de 24 horas.
O aplicativo deve informar ao usuário o prazo para voltar a fazer
solicitações de produtos ofertados.
3.4 DIAGRAMA DE CASOS DE USO DO APLICATIVO.
Na modelagem do aplicativo utilizamos diagramas UML para
visualização e compreensão das atividades envolvidas. Na figura 6 é apresentada o
Diagrama de Caso de Uso do aplicativo.
Figura 6: Diagrama de Casos de Uso do Aplicativo.
FONTE Os autores
26. 26
3.5.DIAGRAMA DE CLASSES DO APLICATIVO
Na figura 7 é apresentado o Diagrama de classe do aplicativo.
Figura 7: Diagrama de Classe
FONTE: os autores (2018)
3.6. DEFINIÇÃO DE PAPÉIS
Quadro 10: Identificação dos Atores
ID Nome Descrição
GU1 Usuário Comum Permissão nivel 3
GU2 Gerente da Unidade Permissão nivel 2
GU3 Administrador do Sistema Permissão nivel 1
27. 27
3.6.1 IDENTIFICAÇÃO DE CASOS DE USO
Quadro 11: Identificação dos casos de uso
ID Nome Descrição
UC01 Fazer Login Este caso de uso permite que os usuários acessem o
sistema.
UC02 Cadastrar
Usuário
Este caso de uso permite que o usuário cadastre os
dados solicitados pelo Sistema.
UC03 Gerenciar Contas Este caso de uso permite o gerenciamento das
contas cadastradas no Aplicativo.
UC04 Gerenciar
Produtos
Este caso de uso permite o gerenciamento dos
produtos cadastrados no Aplicativo.
UC05 Excluir Produto Este caso de uso permite que o usuário possa excluir
um produto cadastrado no aplicativo.
UC06 Consultar
Histórico
Este caso de uso permite a consulta dos produtos
cadastrados no perfil.
UC07 Realizar
Transação
Este caso de uso permite que o usuário adquira um
produto doado por outro usuário.
UC01 – EFETUAR LOGIN
Descrição:
Este caso de uso permite que todos os usuários, devidamente cadastrados,
acessem o sistema.
Ator:
Gerente da Unidade, Usuário Comum.
Pré-Condição:
Este caso de uso pode iniciar somente se:
1 – Os atores efetuarem cadastro no aplicativo
Pós-Condição:
Após a execução deste caso de uso, o aplicativo deve:
1 – Apresentar a interface “Lista de Produtos”.
Fluxo de eventos Fluxo principal:
1. O caso de uso é iniciado após o usuário acessar o aplicativo.
2. O Sistema apresenta a tela de login.
3. O usuário insere e-mail e a senha cadastrada.
28. 28
4. O Sistema autentica o login.
5. Fim do caso de uso.
Fluxo alternativo:
1. O usuário sai da aplicação
UC02 – CADASTRAR USUÁRIO
Descrição:
Este caso de uso permite que o usuário cadastre os dados solicitados pelo
Sistema.
Ator:
Gerente da Unidade, Usuário Comum.
Pré-Condição:
Este caso de uso pode iniciar somente se:
1 – O usuário, ao baixar o aplicativo e clicar no botão “Cadastre-se”, será
direcionado para a tela “Cadastro de Usuário”.
Pós-Condição:
Após a execução deste caso de uso, o Sistema deve:
1 – Apresentar a interface Cadastro de Usuário.
Fluxo de eventos Fluxo principal:
1.O caso de uso é iniciado após o usuário clicar no botão “Cadastre-se”.
2. O usuário insere os dados solicitados pelo Sistema.
3.O usuário clica no botão “Salvar”.
4.O Sistema mostra a mensagem “Dados cadastrados com sucesso”
5.O usuário volta para a tela Efetuar Login.
6.Fim do caso de uso.
Fluxo alternativo:
1.O usuário sai da aplicação.
UC03 – GERENCIAR CONTAS
Descrição:
Este caso de uso permite que o usuário, com permissão de administrador,
gerencie todas as contas cadastradas no sistema.
29. 29
Ator:
Administrador do Sistema.
Pré-Condição:
Este caso de uso pode iniciar somente se:
1 - O usuário estiver logado no Sistema.
2 - O usuário clicar na opção “Gerenciar Contas” no “Menu de Opções”.
Pós-Condição:
Após a execução deste caso de uso, o Sistema deve:
1 - Apresentar a interface ”Gerenciar Contas”.
Fluxo de eventos Fluxo principal:
1.O caso de uso é iniciado após o usuário clicar na opção “Gerenciar Contas”
no “Menu de Opções”.
2.O Sistema apresenta uma lista com as últimas contas cadastradas no
sistema.
3.O Gerente seleciona se deseja, alterar, pesquisar, excluir ou consultar
contas.
4.O sistema direciona o usuário para a opção desejada.
5.O usuário executa a opção desejada”
6.O Sistema volta a interface “Menu de Opções”.
Fluxo alternativo
1. O usuário sai da aplicação
UC04 – GERENCIAR PRODUTO
Descrição:
Este caso de uso permite que o usuário, com permissão, gerencie no Sistema
os produtos disponibilizados para a Unidade: cadastre, pesquise, exclua e consulte
histórico dos seus produtos cadastrado.
Ator:
Gerente da Unidade.
Pré-Condição:
Este caso de uso pode iniciar somente se:
1 - O usuário estiver logado no Sistema.
2 - O usuário clicar na opção “Gerenciar Produtos” no “Menu de Opções”.
Pós-Condição:
Após a execução deste caso de uso, o Sistema deve:
30. 30
1 - Apresentar a interface ”Menu de opções”.
Fluxo de eventos Fluxo principal:
1. O caso de uso é iniciado após o usuário clicar na opção “Gerenciar
Produto” no “Menu de Opções”.
2. O Sistema apresenta a tela de gerenciamento de produtos.
3. O Gerente seleciona se deseja, cadastrar, pesquisar, excluir ou consultar
histórico de produtos.
4.O sistema direciona o usuário para a opção desejada.
5.O usuário executa a opção desejada.
6.O Sistema volta à interface “Menu de Opções”.
Fluxo alternativo:
1. O usuário sai da aplicação.
UC05 – EXCLUIR PRODUTO
Descrição:
Este caso de uso permite que o usuário, com permissão, possa excluir um
produto cadastrado no sistema.
Ator:
Gerente da Unidade, Administrador do Sistema.
Pré-Condição:
Este caso de uso pode iniciar somente se:
1 - O usuário estiver logado no Sistema.
Pós-Condição:
Após a execução deste caso de uso, o Sistema deve:
1 – Apresentar mensagem confirmando a exclusão do produto.
Fluxo de eventos Fluxo principal:
1.O caso de uso é iniciado após o usuário clicar na opção “Excluir Produto” no
“Menu de Opções”.
2.O Sistema apresenta uma lista com todos os produtos cadastrados no
Sistema.
3. O usuário seleciona o item que deseja excluir da base de dados.
6. O usuário clica no botão excluir item.
7. O sistema exclui o item informado pelo usuário
Fluxo alternativo:
31. 31
1. O Sistema volta a interface “Menu de Opções”.
UC06 – CONSULTAR HISTÓRICO
Descrição:
Este caso de uso permite que o usuário, consulte todos os produtos
cadastrados no seu perfil.
Ator:
Gerente da Unidade.
Pré-Condição:
Este caso de uso pode iniciar somente se:
1 - O usuário estiver logado no Sistema.
Pós-Condição:
Após a execução deste caso de uso, o Sistema deve:
1 – Apresentar uma lista com todos os produtos cadastrados no seu perfil
informado.
Fluxo de eventos Fluxo principal:
1.O caso de uso é iniciado após o usuário clicar na opção “Consultar
Histórico” no “Menu de Opções”.
2.O Sistema apresenta uma lista com todos os itens cadastrados no banco de
dados para o perfil informado.
Fluxo alternativo:
1.O Sistema volta à interface “Menu de Opções”.
UC07 – REALIZAR TRANSAÇÃO
Descrição:
Este caso de uso permite que o usuário adquira um produto disponibilizado no
Sistema.
Ator:
Usuário Comum.
Pré-Condição:
Este caso de uso pode iniciar somente se:
1 - O usuário estiver logado no Sistema.
Pós-Condição:
Após a execução deste caso de uso, o aplicativo deve:
1 – Apresentar uma lista de produtos cadastrados no aplicativo.
32. 32
Fluxo de eventos Fluxo principal:
1) O Sistema retorna uma lista dos itens disponibilizado pelas
Unidades.
2) O usuário seleciona o item desejado.
3) O usuário clica no botão aceitar doação.
4) O Sistema informa o usuário o tempo disponível para retirada.
5) Transação confirmada:
a) O item sai do perfil da Unidade.
6) Transação não confirmada:
a) O item permanece no perfil da Unidade.
Fluxo alternativo
1. O Sistema volta a lista de produtos cadastrados.
33. 33
4 DESENVOLVIMENTO
Neste capitulo são apresentados os resultados do desenvolvimento do
aplicativo elaborado com a finalidade proposta. O usuário poderá acessar o sistema
quando baixar o aplicativo gratuitamente, que ficará disponibilizado no Google Play,
e após fazer o cadastro, com as informações solicitadas pelo sistema, preencher os
campos solicitados e clicar no botão entrar.
A figura 8 apresenta a tela inicial do aplicativo onde são disponibilizados os
campos de acesso para logon e cadastro. Essa tela inicial será igualmente
disponibilizada independente do nível do usuário.
Figura 8: Tela Login
FONTE: Os Autores (2018)
34. 34
Ao clicar em cadastre-se, será apresentada a opção para que o usuário possa
escolher sob qual o perfil deseja realizar cadastramento (figura 9), usuário comum
ou gerente de escola.
Selecionada a opção “Gerente de Escola”,a priori o usuário receberá uma
mensagem para que possa solicitar permissão de gerente de escola aos
administradores do sistema, no término do cadastro, ao clicar no botão cadastrar,
porém, numa próxima versão do aplicativo essa funcionalidade tende a ser
automatizada para uma maior comodidade.
Uma vez finalizado o cadastro o sistema redirecionará o usuário ao seu perfil.
Para o caso de usuários nível 2, gerentes de escola, será necessária a concessão
da permissão pelo administrador.
Figura 9: Cadastro de Usuário
FONTE: Os Autores
35. 35
O usuário comum, ao acessar o sistema, visualizará os itens
cadastrados, conforme figura 10. Ao clicar no item de sua escolha, o sistema informa
que o item foi reservado com sucesso e estará disponível para retirada no prazo de
24 horas, obedecendo ao horário de funcionamento do estabelecimento de ensino,
conforme definida na seção 3.2 Quadro 02 regra de negócio. Caso o item já tenha
sido reservado por um outro usuário, o produto ficará indisponível até vencer o prazo
estabelecido, voltando a disponibilidade caso não seja retirado.
,
Figura 10: Lista
FONTE: Os Autores (2018)
O usuário de nível 2, uma vez logado, terá acesso ao Menu de
Opções, onde poderá, tanto incluir itens como checar listas de produtos
cadastrados no aplicativo, conforme demonstrado na figura 11.
36. 36
Figura 11: Menu de opções
FONTE: Os Autores (2018)
A tela Cadastro de Produtos, demonstrada na figura 12, será acessada
somente por usuário de nível 2, através do Menu de Opções. O Gerente da Unidade
poderá cadastrar os produtos disponibilizados pelos responsáveis.
Nessa tela o usuário terá que informar o nome do produto, o tipo, seu
estado de conservação, tamanho e o nome da Unidade onde o produto estará
disponível para retirada.
38. 38
5. CONSIDERAÇÕES FINAIS
O aplicativo desenvolvido e apresentado neste trabalho, fundamentado no
conceito de economia colaborativa, foi idealizado com a intenção de servir como
ferramenta de apoio à diminuição dos gastos que a Prefeitura de Santos tem com
artigos escolares infantis, bem como oferecer um destino sustentável a estes
produtos que podem não mais servir para alguns e ser necessário a outros.
A economia colaborativa pode ser empregada no projeto, devido a
possibilidade que a aplicação oferece de disponibilizar, os artigos doados pelos
responsáveis diretamente na escola e permitir que os necessitados pelos mesmos
possam resgatá-los na unidade de ensino, fechando o ciclo de reaproveitamento e
economia.
Por se tratar de um aplicativo que oferece artigos que estarão disponíveis nas
unidades de ensino, e que poderá ter um número elevado de interessados, devido a
quantidade de alunos matriculados, algumas regras foram atribuídas na aplicação
tais como: o horário de entrega dos produtos determinado pela escola, restrição a
quantidade de resgates por usuários, período de 24 horas para coleta do produto na
unidade de ensino.
Entende-se que o objetivo proposto deste projeto foi concluído, pois a
aplicação foi desenvolvida e testada, considerando as regras de negócio definidas
no projeto e as tarefas desenhadas no levantamento de requisitos.
Como trabalho futuro pretende-se disponibilizar a funcionalidade de busca
com refinamento para que o usuário possa ter a comodidade de localizar o produto
desejado de forma mais eficiente, será implementado também notificação de aviso
ao usuário, quando houver inclusão de item cadastrado pelos administradores.
39. 39
REFERÊNCIAS BIBLIOGRÁFICAS
BORGES, Luiz E. Python para Desenvolvedores 1º. ed Rio de Janeiro: Editora
Novatec, 2009.
DA SILVEIRA, Lisilene Mello; PETRINI, Maira; DOS SANTOS, Ana Clarissa Matte
Zanardo. Economia compartilhada e consumo colaborativo: o que estamos
pesquisando? REGE-Revista de Gestão, v. 23, n. 4, p. 298-305, 2016.
DEITEL, P; DEITEL, H.Java Como Programar. 4°. ed. Porto Alegre: Editora
Bookman, 2003.
GUEDES, T.A.G. UML 2: Uma Abordagem Pratica 2°. ed.São Paulo: Editora
Novatec, 2014.
KOSCIANSKI, A. Qualidade de Software. Aprenda as metodologias e técnicas mais
modernas para o desenvolvimento de software. 2°. ed.São Paulo: Editora Novatec,
2007.
LECHETA, Ricardo R. Google Android: aprenda a criar aplicações para dispositivos
móveis com o Android SDK. 5 ed. São Paulo: Novatec Editora, 2015.
LEMOS, A; JOSGRILBERG, F. Comunicação e Mobilidade. Aspectos
Socioculturais das Tecnologias Móveis de Comunicação no Brasil. Salvador: Editora
Edufba, 2009
PEREIRA, L.C. M; DA SILVA, M.L. Android para Desenvolvedores Rio de Janeiro:
Editora Blasport 2009.
PRESSMAN, S.R. Engenharia de Software: Uma Abordagem Profissional. 7°. ed.
Porto Alegre: Editora Amgh2011.
REZENDE, D.A. Engenharia de Software e Sistemas de Informação. . 3°. ed. Rio
de Janeiro: Editora Brasport 2005.
SILVA, O.J. Programando em Java 2. 1°. ed. São Paulo: Editora Ética 2004.
SOMERVILLE, Ian. Engenharia de Software. 9° ed. São Paulo: Editora Pearson
2011.
TEIXEIRA, Renner Carolina: Tecnologia Móvel e sem Fios Pessoais na
produtividade dos funcionários. 2013.21f. Trabalho de Conclusão de Curso
(Bacharelado em Ciências Administrativas) Universidade Federal do Rio Grande do
Sul, Rio Grande do Sul, 2013 [Orientador: Prof. Dr.Antonio Carlos Gastaud Maçada].