aplicativo aika: um software gerenciador de rotinas, tarefas e trajetos

Propaganda
Congresso de Inovação, Ciência e Tecnologia do IFSP - 2016
APLICATIVO AIKA: UM SOFTWARE GERENCIADOR DE ROTINAS, TAREFAS E
TRAJETOS
DANILO CHAVES S.R. DE SOUZA¹, VICTOR V. RUFINO SANTOS2, VINICIUS B.A. DOS
SANTOS3, GLAUBER DA ROCHA BALTHAZAR4
Cursando Técnico em Informática integrado ao Médio no IFSP – Campus São Paulo. Cursando Iniciação Científica na área
de informática no IFSP – Campus São Paulo. [email protected]
2 Cursando Técnico em Informática integrado ao Médio no IFSP – Campus São Paulo. Cursando Iniciação Científica na área
de informática no IFSP – Campus São Paulo. [email protected]
3 Cursando Técnico em Informática integrado ao Médio no IFSP – Campus São Paulo. Cursando Iniciação Científica na área
de informática no IFSP – Campus São Paulo. [email protected].
4 Professor Mestre em Engenharia de Software - IFSP – Campus São Paulo. [email protected].
Área de conhecimento (Tabela CNPq): Linguagens de Programação - 1.03.03.01-4
1
Apresentado no
7° Congresso de Iniciação Científica e Tecnológica do IFSP
29 de novembro a 02 de dezembro de 2016 - Matão-SP, Brasil
RESUMO: Esse projeto tem como objetivo oferecer uma ferramenta útil para que as pessoas possam
organizar as suas tarefas e rotinas diárias. Esta ferramenta, batizada de Aika, permite aos usuários
cadastrarem suas atividades, rotinas e locais a serem visitados nas suas tarefas diárias e estabelecer um
cronograma de tempo para execução. Para tanto, o Aika é responsável por traçar uma rota de execução
com uma divisão do tempo para cada atividade. Assim, é apresentada neste artigo a adoção da
metodologia Scrum para gerenciamento dos requisitos para o desenvolvimento do Aika assim como a
definição de sua arquitetura lógica e física. Atualmente o software encontra-se já desenvolvido e em
fase de testes finais.
PALAVRAS-CHAVE: tarefas; agendamento de rotinas; programação móvel.
AIKA APLLICATION: A MANAGER ROUTINES SOFTWARE, TASKS AND PATHS
ABSTRACT: This project aims to provide a useful tool for people to organize their tasks and daily
routines. This tool, named Aika, allows users to register their activities, routines and places to be
visited in their daily tasks and set up a schedule of time for execution. Therefore, the Aika is
responsible for drawing a route with time division for each activity. Thus, this article adopts the Scrum
methodology for requirements management for the development of Aika and the definition of its
logical and physical architecture. Currently the software is already developed and undergoing final
testing phase.
KEYWORDS: tasks; scheduling routines; mobile programming.
INTRODUÇÃO
Segundo MÉNARD (2008) uma má administração das atividades de rotina e tarefas do dia-a-dia
causa uma sensação de falta de tempo nas pessoas o que as leva a cometer equívocos tanto na vida
pessoal quanto profissional. Apesar de ser muito complexo construir uma boa e completa
administração do tempo, quando se segue padrões e métodos para gerenciar estas rotinas e tarefas,
torna-se possível dividir e organizar as atividades e assim diminuir a sensação de falta de tempo.
Este projeto nasceu da necessidade dos alunos do 3º ano do curso Técnico em Informática em
administrar suas atividades tanto da escola quanto dos afazeres diários. Para tanto foi proposto a
construção de um software (denominado Aplicativo Aika) que pudesse auxiliar na administração do
dia-a-dia dos alunos. Desta forma o aluno poderia informar suas tarefas com idas a locais que ele tenha
que obrigatoriamente visitar e o Aika irá apresentar um plano de trabalho para realizar estas tarefas
mediante um tempo pré estipulado.
Assim o aluno poderá cadastrar a tarefa e os possíveis locais que estarão envolvidos com esta
tarefa mediante um período de tempo disponível para isso. Com base nestas informações o Aika irá
verificar qual a rota mais adequada para que o aluno possa cumprir esta tarefa baseando-se no tempo
estipulado. Para tanto ele poderá incluir o meio de deslocamento como a pé, de ônibus, carro ou
bicicleta ou até mesmo com um misto destas formas de deslocamento.
O objetivo principal do aplicativo Aika é o gerenciamento de cronograma diário de seus
usuários auxiliando-os para que possam cumprir os requisitos estabelecidos por ele de forma a
possibilitá-lo obter uma maior facilidade em seus deslocamentos diários.
MATERIAL E MÉTODOS
A metodologia utilizada para o desenvolvimento do aplicativo Aika segue os princípios e
orientações da metodologia Scrum para construção e gerenciamento do processo de desenvolvimento
de software. De acordo com SUTHERLAND (2014) o Scrum é caracterizado como uma metodologia
para a gestão dinâmica de projetos de software na qual os projetos são divididos em ciclos chamados
de sprints. Os sprints são vistos como a unidade básica de desenvolvimento, pois representam um
conjunto de atividades que deve ser executado, ou seja, representa um ciclo de trabalho no Scrum que
pode ser de duas semanas, três ou quatro semanas.
Estas funcionalidades são agrupadas em uma lista denominada Product Backlog. O gerente do
projeto organiza estas funcionalidades em atividades que são agrupadas em diversos sprints de
backlog. Em seguida são definidos os períodos de tempo para cada sprint, geralmente de duas até
quatro semanas. A figura 1 apresenta a organização dos sprints.
FIGURA 1 - Definição dos sprints no Scrum. Fonte: Sutherland (2014).
Para este projeto foram definidos três sprints de desenvolvimento. Estes sprints estão descritos
e detalhados: 1º Sprint: encontrar a posição do usuário, traçar uma rota com os pontos pelos quais o
usuário selecionou para seu dia, mostrar na tela quanto tempo ele levará de um ponto ao outro, iniciar
um cronometro interno quando o usuário chegar a um local selecionado e mostrar periodicamente uma
notificação que avise ao usuário quanto tempo ele ainda tem no local; 2º Sprint: perguntar ao usuário
qual será seu meio de transporte para chegar a cada ponto, perguntar ao usuário quanto tempo ele
pretende ficar em cada ponto e soar um alarme quando o tempo limite em um local for atingido; 3º
Sprint: permitir ao usuário armazenar compromissos de sua rotina e ser avisado na hora que estas estão
a começar, permitir ao usuário armazenar compromissos em um determinado dia do mês e permitir ao
usuário armazenar suas tarefas e excluía-las quando o usuário marcar o checkbox de concluído.
Em relação à parte técnica de desenvolvimento foi adicionada à metodologia de
desenvolvimento do projeto a linguagem de programação Java e utilizou-se como plataforma para o
produto final o sistema operacional Android. Android é um sistema operacional para smartphones que
dá suporte para aplicações escritas na linguagem Java (LECHETA, 2015) e Java é uma linguagem que
permite trabalhar de forma Orientada a Objetos atendendo aos requisitos desta plataforma (DEITEL,
2015). Além disso, foi construída uma arquitetura para a estrutura que apresenta a definição dos
componentes de software e suas propriedades externas. Neste projeto é utilizado e adaptado o padrão
de projeto denominado Data Access Object (DAO) que é um design pattern para persistência de dados
que permite separar regras de negócio das regras de acesso a banco de dados e a linguagem de
programação Java. Neste padrão a arquitetura da codificação do Aika está organizada em três pacotes
distintos (mostrado na Figura 2), sendo cada um deles responsável por uma atribuição do software:
model: define toda arquitetura das entidades e classes de acesso e persistência do banco de dados;
controller: responsável e adaptado do original do design pattern DAO para acomodar todas as regras
de negócio que constituem a aplicação; view: camada responsável por armazenar e dar suporte para as
telas de interfaces de comunicação com o usuário.
FIGURA 2 - Abstração da arquitetura lógica do projeto. Fonte: autores do projeto.
Por fim, é mostrada na Figura 3 uma visão da aplicação desta arquitetura na linguagem de
programação Java com a utilização da IDE (Integrated Development Environment) Android Studio.
Nesta figura é possível ver a aplicação das camadas mostradas na Figura 3, porém agora aplicadas em
packages (pacotes) definidos na própria linguagem Java.
FIGURA 3 - Arquitetura aplicada na linguagem Java.
ARQUITETURA FÍSICA
Para este projeto uma estrutura física de componentes de servidores e serviços deverá estar
disponível para que o aplicativo Aika venha a ser implantado e executado de forma a dar suporte para
implantação em aparelhos móveis com Android. Para tanto a Figura 4 apresenta uma abstração destes
componentes. Nesta arquitetura faz-se necessário a presença de um servidor provedor de recursos da
Google que irá fornecer toda a API (Application Programming Interface) para localização geográfica
do usuário, exibição no mapa tanto da posição do usuário quanto dos pontos dos locais a serem
visitados e a realização da projeção do traço da rota. A conexão com este provedor será feita via HTTP
(Hypertext Transfer Protocol) através da internet e no Aika existirá um banco de dados para
armazenamento das informações do usuário e da rota.
FIGURA 4 - Abstração da arquitetura física do projeto. Fonte: autores do projeto.
RESULTADOS E DISCUSSÃO
O aplicativo Aika encontra-se atualmente no processo final da fase de desenvolvimento. De
acordo com o cronograma dos sprints, pretende-se concluir o desenvolvimento até novembro de 2016.
As últimas implementações a serem feitas envolvem o gerenciamento indoor proporcionado pelo
aplicativo – funcionalidades descritas no 3º sprint -, são elas: criação de um sistema de classificação
de atividades de acordo com níveis de importância, bem como a geração de estatísticas com base
nestas atividades; criação de um sistema que permita ao usuário a recuperação de atividades já
excluídas (tanto esporádicas quanto com repetição).
A figura 5 apresenta a parte do software responsável pelo registro de locais realizado pelo
usuário (através de uma Autocomplete View). Já a figura 6 apresenta a parte do software responsável
por mostrar um mapa ao usuário com os pontos selecionados por ele anteriormente (Figura 5), bem
como as informações referentes a cada um dos pontos. Ambas as telas se referem a partes integrantes
da ferramenta de mapa, que permite o gerenciamento de atividades outdoor.
FIGURA 5 – Cadastro de Lugares.
Fonte: autores do projeto.
FIGURA 6 – Exibição dos lugares no mapa.
Fonte: autores do projeto.
CONCLUSÕES
O aplicativo Aika encontra-se, atualmente, desenvolvido. Para a conclusão do mesmo,
diversos testes foram realizados, muitos destes através da população do sistema, a partir da qual se
pôde atestar a eficiência dos métodos de reconhecimento da posição do usuário, geração de rotas,
escolha dos meios de transporte, visualização do tempo entre dois pontos, entre outras funcionalidades
do aplicativo. Isso possibilitou aos alunos poderem colocar em prática os conhecimentos obtidos no
curso Técnico de Informática da linguagem de programação Java na construção de um software para
ambiente mobile (Android).
REFERÊNCIAS
DEITEL, Paul. DEITEL, Harvey. Java how to program. Pearson, USA, New Jersey, 2015.
LECHETA, Ricardo. Android: Aprenda a criar aplicações para dispositivos móveis com o Android
SDK. Novatec, São Paulo: São Paulo, 2015.
MÉNARD, Jean-Denis. Como Administrar Seu Tempo - Noções-Chave, Situações Reais, Soluções
Concretas. 1. ed. Rio de Janeiro: Vozes, 2008.
SUTHERLAND, Jeff. Scrum - A Arte de Fazer o Dobro de Trabalho na Metade do Tempo. 1. ed. São
Paulo: Leya Brasil, 2014.
Download