Você está na página 1de 7

SGF - Sistema de Gerenciamento de Filas em Academias

Autores: Cicero Erasmo de Andrade1; Douglas Gonalves Santos1; Flavio Cesar Santos Amorim1; Leandro da Luz Estevo1; Renan Passos do Nascimento1
1

Graduandos do Curso Cincia da Computao, turma de 2013, da Faculdade de

Tecnologia e Cincia Exatas (FTCE). Universidade So Judas Tadeu (USJT). So Paulo - SP [Brasil]

Orientador: Prof. Dr. Pier Marco Ricchetti

Resumo: Neste artigo apresentado um sistema de gerenciamento de filas em academias, denominado SGF. Atravs da utilizao de sistema de semforos, escalonamento das atividades de um usurio e priorizao, ele capaz de distribuir uniformemente os usurios da academia pelos equipamentos, gerenciando assim as filas de espera para que sejam as menores possveis ou mesmo que deixem de existir. O uso do SGF em academias traz vantagens no apenas na diminuio das filas de espera para utilizao dos equipamentos, mas tambm h vantagens na qualidade do servio oferecido e com base de conhecimento gerado possvel saber onde esto os gargalos, o que possibilita o direcionamento de novos investimentos.

Palavras chave: Gerenciamento de Filas; Filas; Agendamento de Atividades; Academias; Agenda; Escalonamento.

Introduo A busca pela qualidade de vida,

frequentadores de academias e centros de treinamentos (NOVAES, 1991). Segundo a ACAD (Associao Brasileira de Academias) e IHRSA &

esttica e prtica de atividade fsica nos grandes centros urbanos tem como

consequncia o aumento do nmero de

(International Health, Racquet

Sportsclub

Association),

houve

um

tenham sido agendadas). Para efetuar esta tarefa o sistema busca filas vazias, intervalos entre agendamentos, verifica a prioridade necessrio, das atividades, e quando para

acrscimo de alunos matriculados de 29,85% entre os anos de 2010 e 2012 (IHRSA, 2012)e que entre dezembro e maro, durante o vero, h um aumento em torno de 30% no nmero de alunos matriculados nas academias (PEREIRA, 2012), estes valores aliados ao fato das academias matricularem mais alunos do que a capacidade de atendimento geram overbooking e filas. Um grande volume de usurios somado a falta de investimentos em melhorias de uma academia, tem como resultado as filas para a utilizao dos equipamentos, comprometendo a qualidade do servio prestado (MONTEIRO, 2011). Segundo Hillier e Lieberman,

realiza

permutao

reorden-las, buscando uma ordem que minimize a espera, ou mesmo elimin-la.

Metodologia A metodologia utilizada para o

desenvolvimento do projeto foi o modelo RUP para pequenos projetos. O modelo geral de documento de software

disponibilizado pela Universidade So Judas Tadeu, foi utilizado como orientao para escrever o documento de software e a UML (Unified Modeling Language) para modelagem e elaborao de todos os diagramas (BOOCH, 2008). Algumas

mesmo as filas fazendo parte de nosso dia a dia, o tempo que uma populao perde em filas um fator importante no s na qualidade de vida dessa nao, mas tambm, na eficcia de sua economia (Hillier, 2006), o que justifica o

ferramentas de apoio foram utilizadas para gerenciamento do projeto e arquitetura do sistema, como o MS Project 2010 e Enterprise Architect. Toda a estrutura do projeto foi desenvolvida em linguagem de

investimento em pesquisas e a construo de sistemas de software com foco neste problema. O sistema SGF foi desenvolvido para efetuar o agendamento de atividades (exerccios fsicos) nos equipamentos de uma academia. Ele utiliza como

programao Java atravs do paradigma de Orientao a Objetos, que foi adotada por proporcionar uma grande gama de recursos dentro da prpria linguagem que

minimizam o tempo de desenvolvimento, no impactando no desempenho do cdigo quando bem utilizados. O IDE utilizado para a construo do cdigo foi o

informaes o horrio de entrada do aluno, seu treino e a disponibilidade atividades dos j

equipamentos

(quando

NetBeans. Para a arquitetura do software, optou-se pela diviso em trs camadas: uma de interface com usurio, uma que contm a lgica de negcio e uma de persistncia de dados. A camada de interface com usurio foi desenvolvida com a API Swing do Java, isso porque a proposta para

(Figura 1), estas fases tm variaes que dependem do estado de ocupao dos equipamentos e seu fluxo iniciado a partir do pedido de agendamento de um treino.

Figura 1 Fases do algoritmo

A fase de anlise, consiste em verificar a disponibilidade dos

distribuio do sistema que seja instalado em totens de autoatendimento, sem a necessidade de conexo com a internet, ou mesmo de uma infraestrutura mais

equipamentos. So obtidas informaes de quais equipamentos podem ser utilizados para cada atividade do treino e o estado de ocupao de cada um. As atividades so agrupadas em listas separadas de acordo com suas prioridades. Uma anlise

complexa para sua instalao. Na camada de persistncia, o framework hibernate foi utilizado, tanto para gerao das classes de persistncia, por meio de engenharia reversa do banco de dados, quanto dita. do para a conexo o foram

combinatria realizada para cada lista de atividade, isso quando necessrio, pois caso todas atividades estejam priorizadas com grandezas diferentes, a anlise

propriamente desenvolvimento

Durante projeto

combinatria desnecessria, isso por que a prioridade define a ordem em que as atividades sero executadas. Uma

utilizados diversos servidores de bancos de dados, no entanto, o servidor escolhido para ser embarcado no sistema foi o Java DB (Derby), isso devido ao fato de j estar incluso na JDK do Java, o que melhora o tempo de resposta obtido durante a consulta e persistncia dos dados.

caracterstica importante desta fase que cada lista tratada como um objeto separado, ou seja, o resultado gerado por cada permutao passado para fase final (responsvel pelo pr-agendamento) e s depois de concluda iniciado o

Desenvolvimento

processamento da prxima lista. Na segunda fase so realizadas comparaes da durao das atividades do treino com o tempo de espera em cada

O algoritmo desenvolvido possui trs fases principais que consistem em analisar, comparar e retornar os resultados

provvel equipamento. Como parmetro utilizado para determinar o resultado timo, optou-se pelo tempo mnimo em que o aluno poder efetuar seu treino (somatria do tempo de todas as atividades). O primeiro passo do algoritmo, portanto, ordenar a lista de atividades do menor para o maior tempo, considerando as prioridades, para ento efetuar um pr-agendamento, caso o tempo de treino total seja um valor prximo do timo, o agendamento efetuado, o que descarta a necessidade de permutao. Esta abordagem assemelha-se, mas no

responsvel atividades

pelo nos

agendamento e

das pela

equipamentos

apresentao dos resultados/sequncia do treino a ser seguida pelo aluno. O Sistema foi dividido em dois mdulos inter-relacionados, um

administrativo, onde apenas usurios com perfil de administrador tem acesso, por onde se realiza a extrao do relatrio de uso dos equipamentos e os cadastros diversos, como, usurio, treinos, atividades e equipamentos. O outro mdulo responsvel pelos agendamentos em si, com uma interface mais simples, onde o usurio depois de identificado com perfil de aluno, pode agendar seu treino e imprimi-lo. Na Figura 3 apresenta-se os casos de uso do sistema e as interaes dos atores com estes.

totalmente, ao algoritmo de escalonamento de Sistemas Operacionais proposto por Tanembaum (TANENBAUM, 1997). Na Figura 2 exibe-se um fluxo bsico para ordenao das atividades de um treino.

Figura 2 Fluxo Ordenao Treino

fase

final

(resultado)

Figura 3 Diagrama de Casos de Usos

Figura 4 Diagrama de Sequncia

sistema. 1- Classe Scheduler A classe Scheduler faz parte tanto da fase de anlise, quanto da fase de resultados, uma classe esttica, que interage

O core do sistema est no caso de uso agendar treino,

diretamente com o escalonador e tambm responsvel pela impresso do treino, este caso de uso tem seu diagrama de sequncia apresentado na Figura 4. O sistema utiliza um escalonador (scheduler) no preemptivo particular. Um algoritmo de escalonamento dito no preemptivo quando

instanciada na inicializao do sistema. Possui mtodos responsveis por recuperar os horrios de agendamentos contidos nos objetos equipamentos, verificar os

semforos que indicam o estado de cada um destes objetos, receber da lista de atividade do treino do objeto usurio, analisar a necessidade e ou a no de

escolhe um processo para executar e, ento, o deixa executar at que seja bloqueado (a espera de E/S de um outro processo) ou at que voluntariamente libere a CPU. (TANENBAUM, 2010) Da mesma forma que ocorre com algoritmos no preemptivos em sistemas operacionais, no SGF no permitido que o aluno utilizando um equipamento seja interrompido. A seguir, uma breve descrio do

permutao

instanciar

classe

Permutador se necessrio, envio dos dados permutados para os mtodos do objeto comparador.

2- Classe Permutador O permutador, assim como o scheduler, faz parte da fase anlise. Esta uma classe especialista, seus mtodos no fazem nada alm de receber uma lista de atividades e retornar com listas permutadas

funcionamento das principais classes do

de todas as ordens possveis para o treino.

(parametrizveis por tela), isso fez com os agendamentos ocorressem em tempos

3- Classe Comparador A classe comparador pode ser considerada a prpria fase comparao, tem como objetivo identificar a melhor opo de treino, utilizando como mtrica a disponibilidade dos equipamentos e as possibilidades das atividades. Para realizar esta comparao de melhor tempo esta classe possui um mtodo recebe como parmetro dois equipamentos e o tempo de execuo da atividade pretendida e retorna o equipamento de menor tempo de espera.

inferiores a 0,9 s, no entanto no possvel afirmar que os tempos so os menores possveis, haja vista que no foram analisadas todas as combinaes possveis. Os resultados obtidos no relatrio de uso dos equipamentos, realizados com dados aleatrios por cerca de 10 horas consecutivas, mostraram-se precisos e satisfatrios e suprem a expectativa para o sistema em auxiliar na tomada de deciso para direcionamento de novos

investimentos.

Discusso e Concluses Em relao aos objetivos propostos,

Agradecimentos Agradecemos a todos os

conclui-se que o sistema de gerenciamento de filas em academias SGF capaz de efetuar de forma e em tempos aceitveis os agendamentos equipamentos, das sendo atividades que pode nos ser

professores envolvidos que de forma singular participaram deste projeto, em especial ao nosso Orientador, Prof. Dr. Pier Marco Ricchetti que nos auxiliou na elaborao e construo do projeto.

utilizado na maioria dos casos. Todavia, ficou claro durante os testes, que em situaes onde um determinado aluno tem um nmero maior que dez (10) atividades com mesma prioridade para agendamento em cerca de vinte equipamentos j ocupados, o sistema mostrou-se ineficiente devido ao grande nmero de comparaes e verificaes de intervalos, o que HILLIER F. S. (2006). Introduo Pesquisa Operacional . So Paulo: 6 Referncias G., RUMBAUGH J.,

BOOCH

JACOBSON I (2008). UML, Guia Prtico do Usurio 2 Ed. Rio de Janeiro: Campus.

McGraw-Hill. IHRSA (2012), The 2012 IHRSA Global Report: The State of the Health Club

acarretou na necessidade de diviso desta lista, em grupos com nmeros menores

Industry. Boston.

MONTEIRO . C. D. (2011), Qualidade no atendimento: percepo dos clientes da Academia Vizinhana-Asa Norte. 2011. 56 f. Monografia (Bacharelado em

Administrao) - Universidade de Braslia, Braslia.

NOVAES

J.

(1991).

Ginstica

em

academia no Rio de Janeiro: uma pesquisa histrico-descritiva. Rio de Janeiro: Sprit.

PEREIRA K. (2012 de fevereiro de 16). Vero impulsiona faturamento de R$ 2,2 bi do mercado fitness. (T. Economia,

Entrevistador) Fonte: Econimia Terra Notcias visitado em 01/11/2013 21:06hs: http://economia.terra.com.br/veraoimpulsiona-faturamento-de-r-22-bi-domercadofitness,be0850f7fd66b310VgnCLD200000 bbcceb0aRCRD.html, 20/10/2013 visitado em

TANENBAUM A. S. (2010). Sistemas Operacionais Modernos 3 Ed. So Paulo: Pearson Prentice Hall.

TANENBAUM A. S., WOOLDHULL A. S., (1997). Operating Systems: desing and implementation 2 Ed. So Paulo: Pearson Prentice Hall.

Você também pode gostar