TCC TIAGO 2011

download TCC TIAGO 2011

of 65

description

Trabalho de Conclusão de Curso do Aluno Tiago Dalagnol em 2001/1, Sistema Web para Transportadora feito em Ruby on Rails.

Transcript of TCC TIAGO 2011

UNIVERSIDADE DO OESTE DE SANTA CATARINA UNOESC UNIDADE CHAPEC

TIAGO LUIS DALAGNOL

SISTEMA WEB VOLTADO PARA TRANSPORTADORAS

CHAPEC, SC 2011

TIAGO LUIS DALAGNOL

SISTEMA WEB VOLTADO PARA TRANSPORTADORAS

Trabalho de Concluso de Curso apresentado ao Curso de Sistemas de Informao, rea das Cincias Exatas e da Terra, da Universidade do Oeste de Santa Catarina UNOESC Unidade de Chapec, como requisito parcial obteno do grau de Bacharel em Sistemas de Informao.

Orientador: Prof. Cristiano Agosti

Chapec, SC 2011

RESUMO

Tendo em vista a necessidade da empresa Ferrari Transportes em dispor de controles e informaes gerenciais para a adequada gesto do negcio, elaborou-se este estudo para anlise das tecnologias Ruby (Linguagem de Programao) e Ruby on Rails (Framework), a fim de desenvolver um sistema web voltado para o controle de viagens e manutenes de transportadoras, disponibilizando informaes gerencias atravs de relatrios e grficos, acessveis de forma remota por meio da web. A realizao de anlise local e de reunies com o Administrador permitiu um melhor entendimento das reais necessidades da empresa, sendo esta a base para a formatao do software. Desta forma, a realizao do presente estudo trouxe como concluso a implantao do sistema de informaes, atendendo a demanda inicialmente apontada pelo gestor da empresa. Palavras-chave: Web. Software. RubyOnRails. Transportadora.

3

LISTA DE ILUSTRAES

Ilustrao 1: Exemplo do cadastro de uma viagem no sistema atual ........................... 14 Ilustrao 2: Etapa do cadastramento de viagens............................................................ 15 Ilustrao 3: Exemplo de planilha utilizada para controle de despesas........................ 16 Ilustrao 4: Estrutura da aplicao .................................................................................... 27 Ilustrao 5: Codificao de interface grfica.................................................................... 28 Ilustrao 6: Cdigo fonte exibio de registros ............................................................ 31 Ilustrao 7: Cdigo fonte insero/atualizao de registros ...................................... 32 Ilustrao 8: Cdigo fonte - excluso de registros............................................................ 32 Ilustrao 9: Cdigo fonte - controle especfico ................................................................ 33 Ilustrao 10: Cdigo fonte - regras de negcios e validaes ...................................... 34 Ilustrao 11: Cdigo fonte - gerao de relatrio............................................................ 35 Ilustrao 12: Cdigo fonte busca dados do relatrio .................................................. 35 Ilustrao 13: Cdigo fonte - gerao de xml para relatrio ........................................... 36 Ilustrao 14: Cdigo fonte - Layout do relatrio no iReport .......................................... 36 Ilustrao 15: Menu e cadastros bsicos ........................................................................... 43 Ilustrao 16: lanamento de contas a pagar/receber ..................................................... 43 Ilustrao 17: Filtros do relatrio de contas ....................................................................... 44 Ilustrao 18: Relatrio de contas ....................................................................................... 44 Ilustrao 19: Lanamento de viagens ............................................................................... 45 Ilustrao 20: Mapa ............................................................................................................... 46 Ilustrao 21: Pagamento de viagens ................................................................................ 47 Ilustrao 22: Grfico de desempenho de veculos ......................................................... 48 Ilustrao 23: Grfico de viagens por empresas .............................................................. 49 Ilustrao 24: Grfico de valores a receber por empresa ............................................... 50 Ilustrao 25: Filtros de relatrio de viagem ...................................................................... 50 Ilustrao 26: Relatrio de viagem ...................................................................................... 51 Ilustrao 27: Adiantamentos/descontos dos motoristas ................................................ 52 Ilustrao 28: Pagamento de motoristas ............................................................................ 53 Ilustrao 29: Descontos ...................................................................................................... 53 Ilustrao 30: Viagens ........................................................................................................... 54 Ilustrao 31: Grfico de rendimento de motorista ........................................................... 54 Ilustrao 32: Clculo de salrio.......................................................................................... 55 Ilustrao 33: Lanamento de leos ................................................................................... 56 Ilustrao 34: Filtros de relatrio de leos ......................................................................... 56 Ilustrao 35: Relatrio de leos ......................................................................................... 57 Ilustrao 36: Agendamento e lanamento de servios .................................................. 57 Ilustrao 37: Manuteno de peas .................................................................................. 58 Ilustrao 38: Manuteno de pneus .................................................................................. 59 Ilustrao 39: Lista de pneus por veculo ........................................................................... 59 Ilustrao 40: Grfico de valor de manuteno de veculos ........................................... 60 Ilustrao 41: Grfico de valor de manuteno de pneus por marcas .......................... 61 Ilustrao 42: Tela de avisos................................................................................................ 62 Ilustrao 43: Encerramento de servios ........................................................................... 62

4

LISTA DE ESQUEMAS

Esquema 1: Fluxo de entrada de dados referentes s despesas .............................. 16 Esquema 2: Processo de pagamento do motorista ................................................... 18 Esquema 3: Estrutura de controladores .................................................................... 30 Esquema 4: Diagrama de caso de uso 1/3 ............................................................. 37 Esquema 5: Diagrama de caso de uso 2/3 ............................................................. 38 Esquema 6: Diagrama de caso de uso 3/3 ............................................................. 39 Esquema 7: Diagrama de classe ............................................................................... 40 Esquema 8: Diagrama entidade relacionamento ....................................................... 41

5

LISTA DE ABREVIATURAS E SIGLAS

API Interface de Programao de Aplicaes CoC Conveno sobre Configurao CSS Folhas de Estilo em Cascata DRY No se Repita HTML Linguagem de Marcao de Hipertexto IDE Ambiente Integrado de Desenvolvimento MVC Modelo Visualizao Controle PDF Formato de Documento Portvel XML Linguagem de Marcao

6

SUMRIO

1 INTRODUO ......................................................................................................... 8 1.1 OBJETIVOS.......................................................................................................... 9 1.1.1 Objetivo geral .................................................................................................... 9 1.1.2 Objetivos especficos ..................................................................................... 10 1.2 JUSTIFICATIVA.................................................................................................. 10 2 FUNDAMENTAO TERICA ............................................................................. 12 2.1 CENRIO ATUAL DA EMPRESA ...................................................................... 12 2.1.1 Controle de viagens ....................................................................................... 12 2.1.2 Controle de gastos ......................................................................................... 15 2.1.3 Pagamento dos motoristas ............................................................................ 17 2.1.4 Manuteno dos veculos .............................................................................. 18 2.2 TECNOLOGIAS .................................................................................................. 19 2.2.1 RUBY ............................................................................................................... 19 2.2.2 RUBY ON RAILS ............................................................................................. 20 2.2.3 GOOGLE MAPS ............................................................................................... 21 2.2.4 IREPORT/JASPERREPORT............................................................................ 21 2.2.5 EXTJS .............................................................................................................. 21 3 FERRAMENTAS .................................................................................................... 22 4 METODOLOGIA..................................................................................................... 23 4.1 DELIMITAO DO ESTUDO ............................................................................. 23 4.2 CARACTERIZAO DO ESTUDO .................................................................... 24 4.3 TCNICA DE COLETA DE DADOS ................................................................... 24 4.4 LIMITAES DO ESTUDO ................................................................................ 25 5 DESENVOLVIMENTO ............................................................................................ 26 5.1 DESCRIO DAS TELAS DO SISTEMA ........................................................... 42

7

5.1.1 Menu e cadastros bsicos ............................................................................. 42 5.1.2 Lanamento de contas a pagar/receber ....................................................... 43 5.1.3 Relatrio de contas ........................................................................................ 44 5.1.4 Lanamento de viagens ................................................................................. 45 5.1.5 Pagamento de viagens ................................................................................... 46 5.1.6 Grficos de viagens ........................................................................................ 47 5.1.7 Relatrio de Viagem ....................................................................................... 50 5.1.8 Adiantamentos/descontos dos motoristas .................................................. 51 5.1.9 Pagamento de motoristas .............................................................................. 52 5.1.10 Lanamento de leos ................................................................................... 55 5.1.11 Relatrio de leos ......................................................................................... 56 5.1.12 Agendamento de servios ........................................................................... 57 5.1.13 Manutenes de peas ................................................................................ 57 5.1.14 Manutenes de Pneus ................................................................................ 58 5.1.15 Grficos de manutenes ............................................................................ 60 5.1.16 Informaes do sistema ............................................................................... 61 6 CONCLUSO......................................................................................................... 63 REFERNCIAS BIBLIOGRFICAS ......................................................................... 64

8

1 INTRODUO

Atualmente as empresas possuem uma grande necessidade de obter informaes de maneira gil, clara e principalmente confivel dos seus processos. Os administradores precisam de facilidade no acesso aos dados a qualquer momento e preferencialmente com mobilidade para acessar de diversos locais. com esse cenrio que se percebe a importncia dos sistemas de informaes dentro da organizao, auxiliando de maneira direta o seu gerenciamento. Informaes em tempo real podem ser decisivas para tomadas de decises estratgicas dos empreendimentos, pois em determinados momentos, o atraso na emisso de relatrios pode resultar em prejuzos organizao. Uma empresa competitiva constituda, entre outros quesitos, de autoconhecimento e de dados precisos sobre seu desempenho. Dentro desse contexto, uma grande ferramenta a ser explorada a internet, que se tornou um dos maiores meios de comunicao existentes. Utilizando seus recursos de maneira correta pode-se obter excelentes resultados para o negcio de qualquer empresa. Os sistemas voltados para a web atualmente esto em grande expanso, pois alm de proporcionar as funcionalidades existentes em sistemas desktops, possuem um grande diferencial que disponibilizar acesso s informaes nas mais diversas partes do planeta. Principalmente em pequenas empresas, o prprio empreendedor ou gerente acaba utilizando o software de gesto cotidianamente, sem o auxlio de profissionais da rea de tecnologia da informao. Neste sentido, imprescindvel que o sistema disponha de uma interface de fcil acesso e aplicabilidade, mesmo para usurios sem conhecimento tcnico. Foi abordada para propor uma soluo a empresa Ferrari Transportes, fundada no ano de 2006, localizada na Rua Heitor Villa Lobos, 954 D, Bairro Santa Maria. O ramo de atuao da empresa consiste no transporte de cargas secas, ou seja, milho, soja, areia, etc. A empresa de pequeno porte, mas est bem estabelecida na sua rea de atuao, conseguindo atingir um crescimento considervel nos ltimos tempos. Atualmente, conta com uma frota composta por seis veculos (carretas) e com projeo para adquirir mais veculos em breve.

9

O servio prestado atende a demanda de grandes empresas, como Apti Alimentos, Cooperalfa, Aurora, entre outras empresas que possuem um grande fluxo de produtos e matria-prima. A empresa conta com profissionais capacitados para trabalhar no transporte de cargas pesadas, fornecendo seus servios em vrios estados do Brasil. A empresa tem seus controles internos realizados por meio de planilhas eletrnicas e um pequeno sistema desktop para o controle de viagens, sendo assim, os dados no esto integrados, gerando grandes dificuldades em extrair informaes. Evidencia-se a necessidade de acessar as informaes de vrios locais, pois o administrador da empresa est constantemente em viagens, o que dificulta a alimentao e controle do sistema que existe atualmente. Uma das principais funcionalidades que o sistema deve atender o controle de viagens, gerando informaes operacionais e tambm gerenciais deste processo. Existe a necessidade em trajetos novos ou desconhecidos de um recurso que possibilite ao usurio visualizar um mapa com a rota desejada. Outro ponto que o sistema deve atender o processo de pagamento dos motoristas, j que atualmente est sendo realizado em planilhas eletrnicas. Para atender de forma simples a rea financeiro-administrativa, que hoje tambm est em planilhas, necessrio um controle das despesas da empresa, onde dados sobre os gastos devem ser tratados, alm de disponibilizar a opo de emisso de relatrios sobre as viagens, sobre os pagamentos dos motoristas e tambm dos gastos, utilizando filtros dinmicos para facilitar a visualizao dos dados e com suporte impresso. Considerando o problema apresentado anteriormente idealizou-se o desenvolvimento de um sistema que estar disponvel na web, com uma interface intuitiva e de fcil utilizao.

1.1 OBJETIVOS

1.1.1 Objetivo geral

10

Desenvolver um sistema web voltado para transportadoras de pequeno e mdio porte.

1.1.2 Objetivos especficos

Os seguintes objetivos especficos foram levantados: a) Entender o funcionamento de uma transportadora; b) Fazer o levantamento de requisitos necessrios para o desenvolvimento; c) Desenvolver controle de gastos administrativos; d) Controlar a manuteno dos veculos; e) Construir um mdulo para realizar a manuteno de pneus; f) Criar rotinas para efetuar o pagamento de motoristas; g) Disponibilizar funcionalidades para gerenciamento de viagens; h) Traar rotas de viagens utilizando a aplicao Google Maps atravs da API (Interface de Programao de Aplicaes) disponvel na ferramenta da Google; i) Demonstrar em grficos e relatrios as informaes gerenciais relacionadas a transportes; j) Realizar um estudo das tecnologias Ruby (Linguagem de programao) e Ruby on Rails (Framework).

1.2 JUSTIFICATIVA

O sistema proposto ser desenvolvido com a inteno de automatizar alguns processos para empresa do ramo de transporte, focando no seu controle de viagens para proporcionar uma viso mais detalhada dos lucros e dos gastos da organizao.

11

A utilizao de um sistema web partiu da necessidade da empresa e tambm da possibilidade de estudar novas tecnologias, com o intuito de obter mais recursos para melhorar a produtividade, qualidade no desenvolvimento de sistemas e a melhor forma de apresentar uma interface amigvel para o usurio.

12

2 FUNDAMENTAO TERICA

2.1 CENRIO ATUAL DA EMPRESA

Visando atender aos objetivos deste estudo, ser realizada uma anlise na empresa Ferrari Transportes para identificar o cenrio atual da empresa. A seguir, so citados os processos que precisam ser gerenciados na empresa e como so realizados atualmente.

2.1.1 Controle de viagens

Os principais dados que devem ser gerenciados em relao ao controle das viagens no so atendidos de forma plena pelo atual sistema desktop disponvel na empresa, pois no est na web e principalmente por no sofrer mais customizaes. Deste modo, o software proposto dever atender aos seguintes requisitos de controle: a) Empresa que solicitou o servio; b) o nmero da nota fiscal da carga; c) o nmero do conhecimento da carga; d) o veculo utilizado para o transporte; e) o motorista responsvel para o transporte; f) a origem e o destino da carga; g) o preo por tonelada; h) a quantidade de tonelada; i) o valor lquido e bruto do frete; j) a data e a situao do pagamento; k) as despesas do motorista durante a viagem. Essas informaes so importantes para o administrador saber o quanto cada motorista/veculo est rendendo, qual o veculo que mais gera lucros, qual a

13

empresa que mais utiliza os seus servios, qual o valor das despesas nas viagens, saber se a viagem j foi paga ou est em aberto, entre outras informaes. Este o principal processo da empresa, pois est ligado diretamente ao seu ramo de negcio e a principal entrada de recursos. Tendo estas informaes de forma confivel e acessvel, possvel implementar controles por meio de indicadores de desempenho, que se acompanhados mensalmente podero permitir um melhor entendimento do desempenho da empresa ao longo dos meses. Este mtodo efetivo de monitoramento da empresa resulta na elaborao de estratgias voltadas s reais necessidades da mesma, seja na parte de controle de custos, na atuao focada em cargas que geram maior lucratividade ou outros fatores que so fundamentais para a melhoria do desempenho da organizao. A ilustrao 1 demonstra como realizado o cadastro de uma viagem no sistema atual, pode-se perceber os campos que devem ser informados, sendo estes os principais dados utilizados para realizar o controle das viagens.

14

Ilustrao 1: Exemplo do cadastro de uma viagem no sistema atualFonte: dados da pesquisa (2010)

A seguir, na ilustrao 2, est demonstrada outra etapa do cadastro, onde so informados alguns valores em relao ao pagamento e preciso definir se a viagem j est paga, se est paga parcialmente ou se continua com a situao em aberto:

15

Ilustrao 2: Etapa do cadastramento de viagensFonte: dados da pesquisa (2010)

2.1.2 Controle de gastos

O controle de gastos realizado por meio de planilhas do Microsoft Excel. Os dados mantidos por estas planilhas servem para o controle mensal da empresa, pois nenhum destes dados armazenado para consultas futuras. A dificuldade de obter alguma informao mais gerencial muito complicada nestas condies. Esta planilha preenchida com dados referentes aos gastos como abastecimento e manuteno dos veculos, pagamento de gua, energia eltrica, telefone, aluguel do escritrio, etc. Para cadastrar no sistema, geralmente o administrador recebe dos funcionrios as notas fiscais com as despesas. O esquema 1 abaixo mostra como realizada a entrada de dados no processo de cadastramento de despesas, onde o funcionrio entrega as notas fiscais para o administrador que avalia e preenche as planilhas:

16

Esquema 1: Fluxo de entrada de dados referentes s despesas

Na ilustrao 3 observa-se um exemplo dessa planilha que a empresa utiliza para manter a sua organizao. Por meio da ferramenta so controladas as despesas referentes a combustveis e leos em geral, onde informado a data, a placa do veculo, a nota fiscal do servio, a descrio do servio, a quantidade, o valor unitrio, o valor total do servio e o posto utilizado.

Ilustrao 3: Exemplo de planilha utilizada para controle de despesasFonte: Ferrari Transportes (2009)

17

Deste modo, observa-se que os dados registrados em planilhas tm poucas possibilidades de se transformarem em informao relevante para tomadas de decises, evidenciando a necessidade de um software para gerenciamento dos custos e das receitas do negcio.

2.1.3 Pagamento dos motoristas

Este processo tambm tem seu controle em planilhas do Microsoft Excel, e como no controle de gastos encontra o problema de no obter dados gerencias, pois no mantido um histrico dos pagamentos. Para realizar os clculos necessrio saber para cada viagem efetuada no ms, informaes importantes como a comisso em porcentagem que o motorista tem direito, o valor das suas despesas durante o perodo, o valor recebido para ser utilizado durante cada viagem e tambm o valor do salrio fixo caso o motorista possua. No esquema 2 observa-se o fluxo dos dados, em que primeiramente o administrador analisa as suas planilhas para extrair os dados e aps calcula o salrio do funcionrio.

18

Esquema 2: Processo de pagamento do motorista O controle de despesas das viagens realizadas um fator muito importante que deve ser rigorosamente monitorado, pois pode determinar a rentabilidade ou no de uma carga transportada. Neste sentido, a remunerao dos motoristas poderia ser efetuada com base no desempenho do funcionrio em termos de equilbrio de despesas, desde que informaes histricas estivessem disponveis para a elaborao de parmetros. Tendo um software que auxilie neste controle, uma empresa pode conseguir maior colaborao dos funcionrios, visto que sua remunerao depende de desempenho. Desta forma, o software e o controle que ele proporciona tornam-se uma estratgia de impacto positivo na rentabilidade do negcio.

2.1.4 Manuteno dos veculos

Esta funcionalidade possui o objetivo de manter a organizao nas manutenes dos veculos, atividade que constante na empresa. Muitas vezes os veculos esto realizando troca de peas, lubrificantes, passando por revises,

19

recebendo alguns ajustes, ento necessrio ter um controle detalhado destas atividades, alimentando o sistema com cada servio realizado. Como praticamente todas as atividades envolvendo a manuteno dos veculos sero cadastradas, permite a realizao de um mapeamento com o intuito de obter informaes interessantes para o administrador e responder algumas perguntas, como por exemplo: qual veculo que mais passa por manuteno, qual pea gera mais problemas, qual a mecnica que mais presta servios para a empresa, qual o posto de combustvel mais utilizado, entre outras, dependendo da necessidade. Atualmente no existe na empresa nenhum controle sobre as manutenes, todos os problemas que ocorrem so resolvidos sem armazenar nenhuma informao sobre este processo, o que dificulta a tentativa de reduzir custos destes servios e de manter um histrico de problemas de cada veculo.

2.2 TECNOLOGIAS

A seguir esto apresentados os conceitos das tecnologias que sero utilizadas durante o desenvolvimento do sistema web, tais como: Ruby, Ruby on Rails, Google Maps, Ireport/Jasperreport e ExtJS.

2.2.1 RUBY

Ruby uma linguagem de programao de script interpretada, criada em 1994 por Yukihiro Matsumoto, com grande inspirao nas linguagens Python e Perl. A linguagem possui a caracterstica de ser totalmente orientada a objeto, cdigo aberto e com tipagem dinmica e forte. Existe uma filosofia por trs do Ruby, pois a linguagem foi desenvolvida com foco nas pessoas, buscando uma maior produtividade e fornecendo uma sintaxe muito limpa e elegante. Ruby foi projetada com o princpio da menor surpresa,

20

tentando diminuir a frustrao durante a programao. Seu criador tinha o objetivo de fazer uma linguagem que proporcionasse diverso ao programador, diminuindo as dificuldades no desenvolvimento (RUBY, 2010).

2.2.2 RUBY ON RAILS

Antes de descrever sobre o Ruby on Rails ser necessrio entender o conceito de framework. Segundo Oliveira (2005), framework uma soluo para um conjunto de problemas em comum com o uso de classes e interfaces que disponibilizam objetos com funcionalidades comuns a vrias aplicaes. A utilizao de framework pode trazer benefcios em relao agilidade de desenvolvimento, podendo reduzir seus custos. Ruby on Rails um framework para desenvolvimento web utilizando a linguagem Ruby, com cdigo aberto e gratuito, lanado ao pblico pela primeira vez em julho de 2004 por David Heinemeier Hansson. Este framework possui o objetivo de aumentar muito a produtividade sustentvel e a diverso do programador, possui uma linguagem simples e elegante a exemplo do Ruby (AKITA, 2006). Com o Ruby on Rails pode-se desenvolver sistemas para a web, utilizando a orientao a objeto e com a estrutura MVC (Modelo Visualizao - Controle) para construo em camadas. O framework possui alguns princpios baseados no desenvolvimento gil, com o conceito do Dont Repeat Yourself (DRY No se repita), ou seja, no repetir cdigo, e Convention over Conguration (CoC Conveno sobre Configurao), onde enfatiza que deve-se realizar configuraes somente em casos especficos, pois ele j segue diversos padres estabelecidos. Ruby on Rails chamado de meta-framework, pois ele formado com a juno de alguns frameworks, entre eles cita-se (AKITA, 2006): Active Record: Camada de mapeamento objeto-relacional. Action Pack: Possui o Action View, gerao de visualizao de usurio, como HTML (Linguagem de Marcao de Hipertexto), XML (Linguagem de Marcao), JavaScript, entre outros e o Action Controller, que controla de fluxo de negcio. Action Mailler: Responsvel por servios de e-mail.

21

Active Support: Coleo de vrias classes e extenses de bibliotecas padres,

consideradas teis para o Ruby on Rails.

2.2.3 GOOGLE MAPS

Conforme a empresa Google (2010) o Google Maps um servio que oferece a tecnologia de mapas, ferramenta amigvel e poderosa para localizao de endereos, informaes de contatos e com possibilidade de traar rotas entre os locais desejados.

2.2.4 IREPORT/JASPERREPORT

Segundo Gonalves (2008) JasperReport uma biblioteca escrita em Java , de cdigo fonte open source, projetada para ajudar o desenvolvedor com a tarefa de criar relatrios para aplicaes, tanto desktop como web, fornecendo uma API que facilita sua gerao. O iReport uma ferramenta visual para gerar os relatrios no formato XML, que o padro utilizado pelo JasperReport, sua utilizao facilita e agiliza o desenvolvimento dos relatrios.

2.2.5 EXTJS

ExtJS um framework javascript com cdigo aberto, cross-browser, ou seja, compatvel com os principais navegadores web. Sua utilizao facilita a criao de interface grfica para sistemas web, pois disponibiliza diversos componentes customizveis para criao de janelas, formulrios, botes, etc, e ainda possui uma grande documentao para auxiliar o desenvolvimento (BRITO JR., 2009).

22

3 FERRAMENTAS

Para o desenvolvimento do sistema web sero utilizadas as seguintes ferramentas: iReport: A ferramenta iReport ser utilizada para agilizar o processo de criao da interface grfica (layout) dos relatrios. Postgres: A escolha do postgres para banco de dados foi devido a sua popularidade, tornando-se fcil o esclarecimento de possveis dvidas e tambm por ser uma ferramenta grtis e confivel. PgAdmin Ferramenta para administrao de banco de dados postgres. Astah/Jude community: Software utilizado para realizar a modelagem do sistema, criando os diagramas necessrios. RubyMine IDE (Ambiente Integrado de Desenvolvimento) para desenvolvimento em Ruby on Rails. NGinx Servidor para aplicaes web, com caracterstica de consumir pouca memria e possuir grande poder de processamento.

23

4 METODOLOGIA

Os procedimentos metodolgicos servem para delimitar o estudo; caracterizlo; coletar os dados; e definir as limitaes do estudo, desta forma, delineando os meios utilizados para o desenvolvimento do trabalho.

4.1 DELIMITAO DO ESTUDO

O trabalho tem por objetivo o estudo e a anlise das tecnologias Ruby e do Framework Ruby on Rails, a fim de desenvolver um sistema web voltado para o controle de viagens de transportadoras, sendo aplicado na empresa Ferrari Transportes, localizada no municpio de Chapec SC, o qual ser desenvolvido no perodo de fevereiro a julho de 2011 pelo acadmico Tiago Luis Dalagnol. Buscando atender alguns requisitos j levantados do projeto, foi efetuada uma migrao de dados, para a manuteno das informaes contidas no sistema atual. Estes dados foram tratados e remodelados conforme a metodologia do novo sistema. Tambm foi desenvolvida a opo de localizar cidades em mapas, funcionalidade obtida com a integrao da ferramenta Google Maps. Citando algumas opes que precisam ser disponibilizadas pelo sistema, temse a necessidade de gerenciar manutenes futuras dos veculos, possibilitando o agendamento de servios, onde o administrador deve receber avisos conforme vai se aproximando o dia de realizar a atividade. Informaes referentes a abastecimentos tambm devem ser apresentadas ao usurio, obtendo dados do posto de combustvel utilizado, quantidade de litros, valor gasto, entre outras informaes de cada veculo. Todos os relatrios e informaes importantes sero disponibilizados atravs de relatrios e grficos, as principais informaes podero ser extradas com vises e filtros diferenciados para facilitar o entendimento do administrador da empresa. Todas esses dados sero extrados e manipulado atravs da ferramenta utilizada para criao de relatrios Ireport/JasperRerport.

24

4.2 CARACTERIZAO DO ESTUDO

Este estudo foi baseado em pesquisa bibliogrfica quanto aos seus meios e pesquisa exploratria quanto aos seus fins. Conforme Marconi e Lakatos (2006, p. 185), a pesquisa bibliogrfica abrange toda bibliografia j tornada pblica em relao ao tema de estudo [...]. Tem como finalidade [...] colocar o pesquisador em contato direto com tudo o que foi escrito, dito ou filmado sobre determinado assunto. (MARCONI; LAKATOS, 2006, p. 185). A pesquisa bibliogrfica serviu para aprofundar o conhecimento sobre o tema a ser pesquisado. Consiste em um meio rpido e econmico de pesquisa. Foram consultados livros, revistas especializadas, teses e dissertaes apresentadas em universidades, sites, entre outros. Para Beuren (2006, p. 80), pesquisa exploratria consiste no aprofundamento de conceitos preliminares sobre determinada temtica no contemplada de modo satisfatrio anteriormente. A pesquisa exploratria visou prover ao pesquisador maior conhecimento sobre as reais necessidades da empresa em questo, bem como a aplicao das tecnologias mais adequadas para atender esta demanda. Como uma proposta de soluo para atender o gerenciamento da organizao, foi desenvolvido um sistema que possa controlar os seus principais processos, gerando informaes gerenciais claras, confiveis e acessveis de diversos locais. Linguagens web e sem cobrana de licena sero utilizadas visando obter os recursos tecnolgicos necessrios e a diminuio de custos no desenvolvimento.

4.3 TCNICA DE COLETA DE DADOS

A etapa de definio dos mtodos e tcnicas de coleta de dados parte fundamental no desenvolvimento de um estudo e pode assegurar o cumprimento de seus objetivos de maneira mais adequada.

25

O rigoroso controle na aplicao dos instrumentos de pesquisa fator fundamental para evitar erros e defeitos resultantes de entrevistas inexperientes ou de informantes tendenciosos. So vrios os procedimentos para a realizao da coleta de dados, que variam de acordo com as circunstncias ou com o tipo de investigao. (MARCONI; LAKATOS, 2001, p. 166).

Com a inteno de atingir os objetivos do projeto a tcnica de coleta de dados adotada ser a realizao de pesquisas cientficas sobre os principais recursos tecnolgicos envolvidos no desenvolvimento, bem como foi necessrio entender a real necessidade da empresa, realizando reunies com o administrador para adquirir o mximo de informaes sobre o seu ambiente de trabalho.

4.4 LIMITAES DO ESTUDO

a) O estudo est limitado empresa Ferrari Transportes, localizada no municpio de Chapec SC; b) tambm, limita-se disponibilidade e qualidade das informaes prestadas pelos gestores da empresa; c) limita-se anlise das tecnologias Ruby e do Framework Ruby on Rails, a fim de desenvolver um sistema web voltado para o controle de viagens de transportadoras.

26

5 DESENVOLVIMENTO

O sistema foi desenvolvido seguindo algumas boas prticas de programao, uma delas o desenvolvimento em camadas com o modelo de arquitetura MVC, que composto por trs elementos arquiteturais, onde o modelo trata as regras de negcio, o controlador trata os eventos disparados pelo usurio e a viso representa a interface com o usurio (CARVALHO et al., s/a.). Pensando em continuidade, foram adotadas prticas de reutilizao de cdigos seguindo alguns princpios do Ruby on Rails e a utilizao de componentes de interface para facilitar a manuteno e a criao de novas funcionalidades. A interface grfica da pgina principal, do menu e janelas do sistema foi criada atravs do framework ExtJs, para facilitar o desenvolvimento e diminuir a incompatibilidade com os navegadores existentes. Para se compreender basicamente a estrutura da aplicao observa-se na ilustrao 4, no diretrio views esto todas as telas (interface grfica da aplicao), no diretrio controllers os controladores que realizam a transio dos dados da tela para os modelos, em models ficam os modelos quem contm as regras de negcio, e em public esto os arquivos javascripts e CSS (Folhas de Estilo em Cascata) utilizados para criar a interface grfica do sistema.

27

Ilustrao 4: Estrutura da aplicao Em relao ao desenvolvimento da interface grfica, como citado acima utiliza-se o conceito de componentes, ou seja, em vez de realizar a programao totalmente em HTML e Javascript em todas as telas, foi desenvolvida uma classe com a funo de criar dinamicamente os componentes necessrios. Para melhor entendimento observa-se a ilustrao 5, onde existem diversos mtodos que retornam cdigos, como por exemplo, o mtodo campo_data retorna cdigo HTML, Javascript e CSS que renderizado na tela criando um campo no formulrio que aceita somente datas (realizando a formatao correta). Os benefcios so enormes, pois diminui a codificao consideravelmente, mantm uma padronizao da interface, torna a manuteno muito mais prtica, j que alterando o componente alteram-se todas as telas.

28

Ilustrao 5: Codificao de interface grfica Para facilitar a criao dos cadastros do sistema foi implementado uma classe de controle geral, chamada de CrudController, que consegue realizar as operaes de insero, excluso, edio e visualizao dos dados. Ento todas as classes de controles dos cadastros herdam as funcionalidades do controle geral, como pode-se ver no esquema 3. Sendo assim, a lgica para as operaes citadas acima ficam concentradas em um local especfico, possuindo um maior reaproveitamento de

29

cdigo e deixando os controles mais limpos, somente com a programao de funcionalidades especficas.

30

Esquema 3: Estrutura de controladores

31

A seguir, esto apresentadas as descries dos mtodos existentes no controle geral: Na ilustrao 6 est o cdigo fonte do mtodo responsvel por exibir os dados na tela, ele recebe o cdigo do registro e realiza a busca, caso no encontre ou ocorra alguma exceo retorna uma mensagem para o usurio.

Ilustrao 6: Cdigo fonte exibio de registros O mtodo que salva ou atualiza consta na ilustrao 7, ele recebe os dados da tela e verifica se precisa criar ou atualizar um registro, para ento chamar o mtodo que persiste os dados no banco, porm se o registro no passou em todas as validaes do modelo retornada uma lista de erros para o usurio.

32

Ilustrao 7: Cdigo fonte insero/atualizao de registros Na ilustrao 8 est o mtodo responsvel por excluir um registro, antes de efetuar a excluso so validadas as regras e a integridade referencial. Caso no seja possvel excluir retornado uma mensagem ao usurio com o motivo. Ocorrendo tudo certo exibida uma mensagem de sucesso.

Ilustrao 8: Cdigo fonte - excluso de registros

33

Em todos os mtodos citados acima existe uma varivel chamada @modelo, ela possui a finalidade de instanciar dinamicamente os objetos (registros) para os modelos corretos, como por exemplo, um registro de cidade deve ser instanciado a partir do modelo cidade. Essa varivel definida em todos os controles, e a partir disso o controle geral consegue mandar a informao da tela para o seu modelo correto. Na ilustrao 9 pode-se analisar como realizada a definio dessa varivel em um controle especfico e tambm a grande reduo de cdigos.

Ilustrao 9: Cdigo fonte - controle especfico Nos itens anteriores pde-se observar como a interface criada e como os dados so direcionados pelo controle. J na ilustrao 10 est um modelo com regras de negcio e validaes. O fluxo de um cadastro possui os seguintes passos: os dados so enviados da tela para o controle, o controle direciona para o modelo, e no modelo so executadas todas as validaes antes de salvar, atualizar, excluir, etc.

34

Ilustrao 10: Cdigo fonte - regras de negcios e validaes Os relatrios foram desenvolvidos utilizando a biblioteca JasperReport. Na ilustrao 11 observa-se o mtodo do controle responsvel em realizar a gerao do relatrio, efetuando a integrao do ruby com a biblioteca. Abaixo est a descrio do processo realizado por este mtodo:

35

Ilustrao 11: Cdigo fonte - gerao de relatrio O mtodo de gerao acima recebe os parmetros da tela e chama o mtodo que vai buscar os dados respeitando estes parmetros, de acordo com a ilustrao 12.

Ilustrao 12: Cdigo fonte busca dados do relatrio Aps selecionar os dados, gerado um arquivo XML (ilustrao 13) com as informaes. Este arquivo ento enviado para biblioteca que executa a gerao do relatrio.

36

Ilustrao 13: Cdigo fonte - gerao de xml para relatrio Ao final desses processos a biblioteca do JasperReport cria um arquivo pdf (Formato de Documento Portvel), com base no layout criado atravs da ferramenta iReport (ilustrao 14). Este arquivo retornado ao ruby e direcionado ao navegador para ser exibido ao usurio.

Ilustrao 14: Cdigo fonte - Layout do relatrio no iReport Na sequncia, so apresentadas as funcionalidades do sistema atravs de diagramas de caso de uso:

37

Esquema 4: Diagrama de caso de uso 1/3

38

Esquema 5: Diagrama de caso de uso 2/3

39

Esquema 6: Diagrama de caso de uso 3/3 A seguir no esquema 7, demonstra-se a estrutura de classes do sistema e suas relaes utilizando o diagrama de classe.

40

Esquema 7: Diagrama de classe No esquema 8 consta o modelo de dados do sistema em alto nvel, representado pelo modelo de entidade relacionamento.

41

Esquema 8: Diagrama entidade relacionamento

42

5.1 DESCRIO DAS TELAS DO SISTEMA

Na sequncia, so apresentadas e detalhadas as telas que compem o sistema, visando demonstrar o esquema bsico de funcionalidades disponveis ao usurio.

5.1.1 Menu e cadastros bsicos

O sistema conta com alguns cadastros bsicos, onde todos seguem o mesmo padro. Na parte superior est o boto de pesquisa que atravs de uma lista permite buscar os registros j cadastrados, o boto de edio e excluso, com o objetivo de excluir e editar um registro atravs de um cdigo informado, e tambm o boto novo para limpar o formulrio. Abaixo esto todos os campos e o boto para enviar o formulrio. Ao executar as operaes de insero, excluso ou edio os dados so enviados para o servidor onde passam por todas as validaes, caso estejam corretos retornado uma mensagem de sucesso, do contrrio exibido os erros ocorridos durante o processo, possibilitando o usurio ajustar e reenviar os dados. Na ilustrao 15, pode-se visualizar a lista com os cadastros bsicos que o sistema possui e uma tela de cadastro de exemplo. O menu est organizado por funcionalidades, na primeira opo esto todos os cadastros bsicos do sistema, nas demais opes esto os mdulos de gerenciamento administrativo, viagens, motoristas e de manutenes.

43

Ilustrao 15: Menu e cadastros bsicos 5.1.2 Lanamento de contas a pagar/receber

Todas as contas da empresa so lanadas neste formulrio, o lanamento deve possuir uma data de referncia, uma conta (conta de dbito ou crdito) e deve ser para alguma empresa especfica, como pode-se visualizar na ilustrao 16.

Ilustrao 16: lanamento de contas a pagar/receber

44

5.1.3 Relatrio de contas

O relatrio de contas permite verificar tudo que a empresa tem a pagar e a receber, informando dados das viagens das manutenes e das demais contas. Na ilustrao 17, constam os filtros possveis para o relatrio.

Ilustrao 17: Filtros do relatrio de contas Na ilustrao 18 esto alguns dados fictcios referentes s contas.

Ilustrao 18: Relatrio de contas

45

5.1.4 Lanamento de viagens

Neste formulrio so informadas as viagens de todos os veculos, dados extremamente importantes ao sistema, j que deste local so extradas as principais informaes, pois est diretamente ligado ao pagamento dos motoristas, a contas a receber e as manutenes (controle da quilometragem dos veculos).

Ilustrao 19: Lanamento de viagens Na ilustrao 19 pode-se observar os campos informados e tambm a possibilidade de gerar um mapa (cone de um mapa) com a rota da viagem selecionada, mapa esse que pode ser visualizado na ilustrao 20.

46

Ilustrao 20: Mapa A integrao entre o sistema e o Google Maps realizada da seguinte maneira: gera-se o link (http://maps.google.com/maps?f=d&source=s_d&h1=ptBR&geocode=&saddr=chapec-SC&daddr=sopaulo-SP) por meio das cidades de origem e destino informadas e este executado atravs de uma nova janela do navegador onde renderizado o mapa.

5.1.5 Pagamento de viagens

Toda a viagem possui uma empresa que solicitou o servio, ento ao cadastrar a viagem lanada uma conta a receber desta empresa. Esta conta pode ser paga vista ou em parcelas. Na ilustrao 21 verifica-se a tela utilizada para realizar uma baixa total ou parcial do valor a receber. So exibidos ao usurio alguns dados do frete e tambm um histrico com o valor e a data dos pagamentos j efetuados.

47

Ilustrao 21: Pagamento de viagens

5.1.6 Grficos de viagens

Os grficos so importantes para melhor visualizao e entendimento das informaes. Na ilustrao 22 est um grfico, com o intuito de demonstrar o faturamento de viagens por veculo no perodo; clicando sobre a fatia exibida a porcentagem em relao aos demais veculos e o valor total obtido. Por exemplo, pode-se analisar claramente qual veculo que realiza menos viagens e, com base nesta informao, tomar decises para melhorar seu ndice.

48

Ilustrao 22: Grfico de desempenho de veculos Nas Ilustraes 23 e 24 esto mais grficos que tambm pertencem a esta tela, o primeiro mostra o valor total de viagens realizadas por empresas e segundo o valor total de viagens que ainda no foram pagas tambm por empresa.

49

Ilustrao 23: Grfico de viagens por empresas

50

Ilustrao 24: Grfico de valores a receber por empresa

5.1.7 Relatrio de Viagem

Este relatrio visa o acompanhamento do andamento das viagens, podendo visualizar as informaes de diferentes maneiras conforme os filtros (Ilustrao 25), por veculo, empresa, situao de pagamento, etc.

Ilustrao 25: Filtros de relatrio de viagem

51

Na Ilustrao 26 observa-se um relatrio com alguns dados de exemplo.

Ilustrao 26: Relatrio de viagem

5.1.8 Adiantamentos/descontos dos motoristas

O motorista pode receber um adiantamento de salrio antes de encerrar o ms, sendo assim ser lanado no sistema um adiantamento, ou por algum motivo o motorista recebe alguma punio ento ser lanado como desconto. Um adiantamento ou desconto possui a opo de ser vinculado a uma viagem para obter maiores detalhes, mas no obrigatrio. Porm, necessrio informar uma data de referncia, pois estes dados so utilizados no clculo mensal de salrios. Na Ilustrao 27 observa-se a tela de lanamento.

52

Ilustrao 27: Adiantamentos/descontos dos motoristas

5.1.9 Pagamento de motoristas

Na ilustrao 28 pode-se analisar o formulrio com os dados utilizados para o clculo do salrio dos motoristas. Ao usurio sero exibidos todos os adiantamentos ou descontos do motorista no ms, e esse valor descontado do seu salrio. Tambm so listadas as viagens realizadas no ms, e com base no valor total das viagens aplicado o percentual de comisso. Somando os valores obtidos com o salrio fixo e algum valor adicional que o motorista possa receber, chega-se ao valor do salrio. Com o intuito de possibilitar uma anlise de rendimento do motorista, exibido um grfico com os pagamentos dos ltimos meses.

53

Ilustrao 28: Pagamento de motoristas

Ilustrao 29: Descontos

54

Ilustrao 30: Viagens

Ilustrao 31: Grfico de rendimento de motorista

55

Ilustrao 32: Clculo de salrio

5.1.10 Lanamento de leos

Todos os abastecimentos e trocas de leos devem ser registrados no sistema (Ilustrao 33). Com base nesses dados pode-se controlar o consumo dos veculos com combustveis e com leos em geral. Tambm auxilia na emisso de avisos quando a troca de leo do motor est se aproximando, pois essa troca extremamente importante e no deve ultrapassar a quilometragem mxima.

56

Ilustrao 33: Lanamento de leos

5.1.11 Relatrio de leos

De acordo com a ilustrao 34, o relatrio de leos serve para acompanhar os gastos de cada veculo com abastecimentos e trocas de leos, possibilitando algumas vises diferentes atravs dos filtros (ilustrao 35).

Ilustrao 34: Filtros de relatrio de leos

57

Ilustrao 35: Relatrio de leos

5.1.12 Agendamento de servios

Estes agendamentos servem para organizar as manutenes dos veculos. Quando houver algum servio importante e for agendado, o sistema emite um aviso ao se aproximar a data agendada e lana uma conta a pagar no sistema referente aos gastos do servio. Observa-se o formulrio na Ilustrao 36.

Ilustrao 36: Agendamento e lanamento de servios

5.1.13 Manutenes de peas

As peas julgadas importantes no veculo podem sofrer um controle diferenciado, ao cadastrar uma pea na manuteno (Ilustrao 37), ela passa a ter a quilometragem controlada. Toda a pea possui uma quilometragem limite, e

58

quando este limite estiver se aproximando o sistema emite um aviso que esta pea deve sofrer uma manuteno ou uma troca, e os gastos gerados deste servio so lanados no sistema como uma conta a pagar.

Ilustrao 37: Manuteno de peas

5.1.14 Manutenes de Pneus

Todos os pneus dos veculos devem possuir um controle de quilometragem e principalmente de localizao. A tela de manutenes de pneus (Ilustrao 38) o local onde se informam os dados para tal controle. Os pneus possuem uma quilometragem limite, onde o sistema controla e emite avisos quando a quilometragem est prxima do limite, alm de gerar contas a pagar dos gastos com manutenes e trocas. Em relao localizao, ela necessria para saber qual o pneu que est em cada posio do veculo e quantos quilmetros ele j percorreu na posio.

59

Ilustrao 38: Manuteno de pneus Na ilustrao 39 est uma tela de exemplo com as posies do veculo e seus respectivos pneus.

Ilustrao 39: Lista de pneus por veculo

60

5.1.15 Grficos de manutenes

Para uma melhor anlise do custo/beneficio, possvel gerar grficos com os valores de manutenes dos veculos em um determinado perodo (Ilustrao 40).

Ilustrao 40: Grfico de valor de manuteno de veculos Na ilustrao 41 pode-se observar um grfico de exemplo com o valor total das manutenes de pneus, separado por marcas.

61

Ilustrao 41: Grfico de valor de manuteno de pneus por marcas

5.1.16 Informaes do sistema

Todo o aviso que o sistema precisa repassar ao usurio fica localizado esquerda da pgina principal como observa-se na ilustrao 42.

62

Ilustrao 42: Tela de avisos Ao clicar sobre um aviso ser aberta uma nova tela com alguma operao relacionada, citando como exemplo, na ilustrao 43 est a tela referente ao aviso de um servio, onde o usurio pode reagendar, cancelar ou informar que o servio foi realizado.

Ilustrao 43: Encerramento de servios

63

6 CONCLUSO

Algumas empresas de pequeno porte tm dificuldade em organizar seus processos e geralmente no possuem uma ferramenta que auxilie no gerenciamento dos seus dados. Esse problema pode gerar muitos prejuzos empresa. A falta da informao atrapalha o rendimento no dia-a-dia e principalmente no momento de tomar decises gerenciais que podem influenciar de maneira direta no seu crescimento. As empresas de transportes de cargas precisam ter um controle no seu principal processo, que se trata do controle das viagens de cada veculo, pois neste processo que existem as informaes mais valiosas da empresa. Em relao a tecnologia, a utilizao do Framework Ruby on Rails permite-se uma programao mais clara e organizada, pois possui um padro de desenvolvimento orientado a objetos e distribudo em camadas. Aps a concluso do processo de desenvolvimento do sistema, levando-se em considerao que as funcionalidades propostas em termos de controle, qualidade e acessibilidade de informaes foram atendidas, houve a aprovao do cliente, neste caso a empresa Ferrari Transportes, o software foi implantado na empresa e receber todo o acompanhamento necessrio. Por fim, este estudo permitiu ao acadmico vivenciar o cotidiano e as necessidades de uma organizao, oportunizando a realizao de um diagnstico e desenvolvimento de soluo na rea de sistemas de informaes. Deste modo, conclui-se que, alm de atender a necessidade de um mercado especfico, o desenvolvimento do sistema propiciou um aperfeioamento profissional ao acadmico para atuar no mercado de trabalho.

64

REFERNCIAS BIBLIOGRFICAS

AKITA, Fabio. Repensando a web com Rails. Rio de Janeiro: Brasport, 2006. BEUREN, Ilse M. Como elaborar trabalhos monogrficos em contabilidade: teoria e prtica. 3.ed. So Paulo: Atlas, 2006. BRITO JR, Jailson A. de. Novo Aeon: um ambiente de programao para viso computacional. Monografia Universidade Federal da Bahia, Salvador, 2009. CARVALHO, Fernando et al. Archjava: reconhecimento de padres arquiteturais em sistemas Java. Artigo CEFET Campos (Centro Federal de Educao Tecnolgica de Campos), Campo dos Goytacazes, s/a. GOOGLE. Sobre o Google Maps. 2010. Disponvel em: . Acesso em: 12 abr. 2010. GONALVES, Edson. Dominando relatrios com JasperReport e iReport. Rio de Janeiro: Cincia Moderna, 2008. LUCKMANN, Luiz C.; ROVER, Ardinete; VARGAS, Marisa. Diretrizes para elaborao de trabalhos cientficos: apresentao, elaborao de citaes e referncias de trabalhos cientficos. 4.ed. Joaaba: Ed. Unoesc, 2010. MARCONI, Marina de A.; LAKATOS, Eva M. Fundamentos de metodologia cientfica. 4.ed. So Paulo: Atlas, 2001. _______. Fundamentos de metodologia cientfica. 6.ed. So Paulo: Atlas, 2006. OLIVEIRA, Eric C. M. O Universo dos Frameworks Java. 2005. Disponvel em: . Acesso em: 10 abr. 2010. RUBY, A Programmers Best Friends. Disponvel em: . Acesso em: 08 set. 2010.