artigo goldsan v2

Upload: geovani

Post on 06-Jul-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/16/2019 Artigo Goldsan v2

    1/7

    Goldsan: Aplicativo Móvel Orçamentário para Obras de

    Saneamento e Esgoto

    Geovani Lopes Silva¹ João Carlos de Moraes Morselli Junior²

    ¹Bacharelado em Ciência da Computação

    ²Departamento de Ciência da Computação

    Pontifícia Universidade Católica de Minas Gerais (PUCMINAS)37.701-355 –  Poços de Caldas –  MG –  Brasil

    [email protected], [email protected]

    Abstract . The Civil Engineering area is still lacking in mobile technologyresources to assist the work of its professionals. The civil engineer needs tosketch your design in any computing machine in order to obtain the structural

     budget or desired results, yet with limited mobility. With the Android platform,you can develop applications that transfer entries and processing data to yoursmartphone. The mobile application Goldsan presents a solution in thisarchitecture so you can get a sanitation and sewer budget by technology for data

     persistence and remote update, showing the characteristics of this area ofimplementation.

    Resumo . A área de Engenharia Civil ainda é carente de recursos tecnológicosmóveis que auxiliem o trabalho de seus profissionais. O engenheiro civil precisaesboçar seu projeto em alguma máquina computacional, a fim de obter osresultados estruturais ou orçamentários desejados, mesmo assim com limitaçãode mobilidade. Com a plataforma Android é possível desenvolver aplicaçõesque transfiram as entradas e processamento de dados para o smartphone. Oaplicativo móvel Goldsan apresenta uma solução nessa arquitetura para que se

     possa obter um orçamento de saneamento e esgoto, através de tecnologias para persistência de dados e atualização remota, evidenciando as características dessa

    área de implementação. Palavras-chave: Goldsan, Aplicativo Android, Engenharia Civil, Saneamento eEsgoto, Orçamento de Obras.

    1.Introdução

    As aplicações móveis vem ganhando espaço e credibilidade no mercado de TI. Talsucesso só foi possível graças ao leque de possibilidades que os aparelhos móveis e seusaplicativos fornecem. Junto com o crescimento dos dispositivos móveis, surgiramtambém os diferentes sistemas operacionais que comportam soluções para os mesmos. Osistema operacional que possui mais usuários ativos é o Android [3], e é nele que está a

    maior fatia de mercado que se pode alcançar ao desenvolver um aplicativo.

  • 8/16/2019 Artigo Goldsan v2

    2/7

      O kernel do Linux foi utilizado pelo sistema operacional Android para controlar astarefas básicas do aparelho, como gerenciamento de memória, processos e permissões deacesso a arquivos [1]. A programação para a plataforma é feita na linguagem Java, porém

    não há uma máquina virtual Java, e sim uma máquina virtual propriamente projetada paraser executada em dispositivos móveis chamada Dalvik [2].

    A característica marcante da plataforma Android é proporcionar um código aberto(open-source) [1], isto é, tem-se acesso ao código fonte do mesmo. Esta característica

     permite aos desenvolvedores utilizar recursos do dispositivo móvel da mesma forma queo próprio sistema ou aplicações nativas usam [1]. Esse é o atrativo para quedesenvolvedores pequenos possam acessar e utilizar recursos da mesma forma quesoluções corporativas. Além do mais, a qualquer momento é possível requisitaraplicações nativas e fazê-las retornar valores úteis a aplicação que está sendodesenvolvida.

    Apesar de ter alcançado sucesso de mercado e de ter milhões de aplicações emsua loja [3], ainda tem-se muito o que desenvolver em Android para atingir áreas quedemandam soluções facilitadoras de seus processos. Uma dessas áreas está no setor deEngenharia Civil. Existem poucos mas poderosos e caros softwares para computadoresconvencionais que auxiliam no projeto e acompanhamento de uma obra. Para as outrasnecessidades que ainda não se tem soluções, as empresas ou empreiteiras contratamdesenvolvedores que façam programas específicos para atendê-las.

     No setor civil é indispensável que o profissional, projetista ou de campo, façavisitas para acompanhar de perto o progresso ou análise da construção que lhe cabe. Seeste profissional precisa se locomover, também precisa que seu dispositivo móvel o

    auxilie na tomada de decisão e no fornecimento de dados. Uma das dificuldadesencontradas pelo engenheiro está no momento de passar custos ao seu cliente, já que omesmo precisa estar em campo para se ter uma projeção do trabalho a ser feito, e deinsumos gastos. Se o mesmo tivesse uma solução móvel em seu dispositivo poderiafornecer o orçamento de forma quase instantânea para o interessado, agilizando assim o

     processo.

    Este trabalho fornece um aplicativo que supre essa demanda do engenheiro civil,trazendo para o dispositivo Android a tarefa de receber entradas de dados, processá-los e

     principalmente fornecer um orçamento sintético final e real. Além do mais é possível persistir os dados para que possam ser consultados, alterados ou excluídos posteriormente.

    A tarefa de manutenção dos dados fica por conta do SQLite, que é um banco dedados SQL destinado a pequenas aplicações e que possuem poucos acessos simultâneos.Alguns comandos e funcionalidades estão ausentes nesse banco de dados, porém a suafinalidade é atender requisições de aplicações simples, sendo portanto o banco de dadosnativo do Android [1].

    O aplicativo faz uso de um serviço web para atualização de preços de seu bancode dados interno. Através de páginas XML que tornam-se a linguagem universal paratroca de informações, o serviço web fornece os preços atualizados, que são previamente

     pesquisados e comparados periodicamente conforme a disponibilidade da tabelafornecida pelo Sistema Nacional de Pesquisa de Custos e Índices da Construção Civil(SINAP). Esta tabela é a base para preços de mão de obra e insumos de construção emtodo o Brasil, sendo o que fará o orçamento ter uma validade real e atualizada. Este

  • 8/16/2019 Artigo Goldsan v2

    3/7

    documento irá alimentar o banco de dados do Servidor Web e pode ser requisitado pelaaplicação automaticamente ou pelo desejo do usuário, fazendo a descarga dos dados noBanco de Dados do aplicativo no dispositivo.

    2.IDE e Implementação

    A IDE utilizada na implementação é o Android Studio, que é o ambiente oficial paradesenvolvimento disponibilizado pelo próprio Google, fornecedor do sistema Android.Integrado com este ambiente está o próprio emulador do sistema, sendo que o aplicativofoi testado e compilado na versão 5.1 do Sistema Operacional, porém as predefinições do

     projeto o fazem ser compatível com as versões 2.2 em diante.

    Para obter as entradas de dados, efetuar os cálculos de volume e de orçamentoforam utilizadas cinco telas principais mais uma de apresentação totalizando seis. Atravésdessas telas o usuário adiciona, altera ou exclui pontos de instalação de estruturas ou

    linhas de escavação planejados para a obra. Cada linha ou ponto de escavação estávinculada respectivamente à um tubo ou estrutura que será fixada dentro dele, sendonecessária a marcação do usuário a precisão de taludamento (inclinar a escavação devidoa algum solo parcialmente arenoso) ou escoramento (adição de escoras em solo arenosos).As entradas de dados serão os modificadores do orçamento, portanto dependendo do itemselecionado, dimensão, quantidade e valor corrente do insumo, o custo final pode ter seuvalor alterado.

    Figura 1 –

     Tela de Orçamento da Aplicação Goldsan.

    Fonte: Autor

  • 8/16/2019 Artigo Goldsan v2

    4/7

     No desenvolvimento feito no Android Studio, as telas podem ser modelas separadamenteda implementação, em arquivos XML. Isso facilita na hora de configurar telas e alterá-las, sem alterar o escopo do projeto. Cada tela tem um arquivo java que a controla e define

    o que acontece no seu ciclo de vida. Todos componentes da tela que aparecerão quandouma tela for chamada estão nos métodos “onCreate()” e “onResume” do arquivo java quea controla.

    Figura 2  – Ciclo de vida de uma Activity.

    Fonte: http://www.devmedia.com.br/imagens/articles/263421/Activity.png

     No que se refere as entradas de dimensões e estruturas, foram utilizados o objetoEdit Text para as escritas e o Spinner para caixas de seleção. As caixas de seleção sãoalimentadas com os dados que estão no Banco de Dados, cabendo ao engenheiro

    selecionar o que deseja e estipular a metragem necessária. As dimensões são muitoimportantes para o orçamento final de saneamento, pois esse se divide em duasramificações essenciais: a mão de obra para escavação e as estruturas utilizadas. Com ocomprimento ou dimensão das linhas ou estruturas pode-se calcular gradativamente emcada iteração, o volume de escavação. Esse volume parcial é apresentado como umsubtotal em um Text View na tela de entrada de dados correspondente. Esse valor é dado

     por uma fórmula de volume que ao final é multiplicado pelo valor do metro cúbico deescavação.

    Basicamente são utilizadas duas fórmulas para calcular o volume de escavação:volume tradicional e volume com taludamento. Deve haver essa distinção pois oengenheiro verifica se o solo é firme ou arenoso para escavação. Se ele for ruim énecessário uma escavação maior do solo, o que pede outra fórmula de volume que não atradicional, resultando em um preço final maior. Essa verificação é obtida pelo programa

  • 8/16/2019 Artigo Goldsan v2

    5/7

    através de um Checkbox que serve de asserção para um desvio condicional. Dependendoda seleção do usuário é utilizada uma fórmula ou outra. O Checkbox assim como os outroscampos, estão relacionadas com o banco de dados e toda alteração reflete no valor

    cadastrado no mesmo.Outro fator que também aumenta o custeio é a necessidade de escoramento. Ele é

    utilizado quando o solo é arenoso e somente o taludamento não é suficiente para assegurara escavação. Portanto foi utilizado outro Checkbox cuja seleção também é efetuada pelousuário. Mais uma vez, se estiver selecionada, uma fórmula de escoramento é calculada,que gera a quantidade de escoras necessárias e incrementa o custo total da obra.

    Tanto a tela de linhas quanto de pontos de escavação são dinâmicas com o bancode dados. Assim antes de avançar para a próxima etapa, o usuário já acompanha quaisinsumos foram cadastrados por ele e pode fazer a manutenção dessas informações,alterando e excluindo quando desejar. Após alguma dessas operações a tela é recarregada

    e mostra novamente os dados referentes ao orçamento que se está manipulando. O quetambém é atualizado é o volume parcial que aparece na parte inferior da tela. Assim queos insumos cadastrados pelo usuário são listados, é chamado um método“calculaVolume()” que se encarrega de calcular o volume dos itens contidos na lista e aquantidade de escoras se houver.

    Ao concluir as entradas de insumos, o usuário é encaminhado para uma tela finalque mostra o orçamento no formato de tabela, discriminando, por exemplo, o quantitativo,o preço por item, o volume final e o preço total. Nessa tela ainda é possível ajustar achamada taxa BDI (Benefícios e Despesas Indiretas) em cima do preço final, pois atéentão é calculado somente o valor de custo da obra, sem adição para o lucro. Com essas

    informações apresentadas e persistidas, a tela final dá ao usuário a possibilidade de enviaro orçamento por e-mail, utilizando o aplicativo nativo do Android para envio, porém jáinserindo no e-mail as mesmas informações visualizadas.

    3. SQLite e persistência de Dados

    Como dito anteriormente o Banco de Dados utilizado é o SQLite, que além de ser nativodo Android já é voltado para ser usado em pequenas aplicações. Para persistência dedados no dispositivo, foram modeladas seis tabelas que se relacionam entre si para acriação e manutenção de um orçamento. São elas: orçamento, tubos, linhas, pontos,estruturas e valores.

    A tabela orçamento possui uma identificação e o nome no orçamento paravisualização. As tabelas tubos e estruturas possuem as informações de preço e dimensãode cada insumo, que são as informações que podem aparecer nas caixas de seleção doaplicativo e serão atualizadas via serviço Web. Linhas e pontos são tabelas resultantes darelação “muito pra muitos” entre orçamento e tubos, ou orçamento e estruturas, mastambém comportam o comprimento da linha de escavação para posterior cálculo devolume, e a necessidade de escoramento ou taludamento se houver. A última tabela(valores) não se relaciona com nenhuma outra e somente guarda informações do preço demetro cúbico escavado e de escoras, também sendo mantida por dados enviados peloserviço Web.

    Uma classe Java chamada “nucleoBD” faz a conexão com o Banco de Dados e

     possui todos métodos de inserção, atualização, busca e remoção da aplicação. Lembrando

  • 8/16/2019 Artigo Goldsan v2

    6/7

    que o usuário só poderá dar manutenção nos dados que ele mesmo criou, relativos acriação do orçamento.

    Figura 3  – Modelo Relacional do Banco de Dados.

    Fonte: Autor

    Outro detalhe utilizado está em telas de listagem, onde foi utilizada novamente o

    ciclo de vida de uma tela (activity) para que esta esteja sempre com os dados atualizadas.A instanciação e métodos que requisitam os dados do Banco de Dados estão dentro dométodo “onResume()”, ou seja, após esta tela ser chamada, ocorre a listagem de dados

     persistidos. Ao se selecionar um dado para alteração ou exclusão, a operação é efetivadae a tela recarregada, passando pelo método “onResume()” que automaticamente atualizaa lista.

    4. Serviço Web

    Quando se faz software para cálculo de orçamento, depara-se com um problema nãocomputacional, que se refere a rotatividade do mercado. A atualização de preços é uma

    situação que não pode ser prevista, pois depende de muitas variáveis que os influenciam.Para este estudo utiliza-se a tabela disponibilizada pela Caixa em junção com o InstitutoBrasileiro de Geografia e Estatística (IBGE) que fornece uma normalização dos preçosmês a mês, a periodicidade do fornecimento [4].

    Porém a dificuldade de se atualizar os preços que estão disponíveis no site, e traze-los para dentro da aplicação ultrapassa as possibilidades que a plataforma Android

     permite. É necessário um serviço Web que realize o trabalho de manter os dados de preçosatualizados e enviá-los para o dispositivo com a aplicação Goldsan quando requisitado.

    Quem faz as entradas e atualizações de valores no Servidor Web precisa entenderde gerencia de obras e montagem de orçamento. O Web Service aqui proposto tem uma

     base de dados semelhante ao da aplicação mobile, mas somente faz o serviço de responderrequisições, consultar o banco e enviar os dados para atualização do aplicativo. Para que

  • 8/16/2019 Artigo Goldsan v2

    7/7

    o valor calculado pelo Goldsan seja válido, ainda é indispensável a presença de um profissional da área civil que faça a manutenção dos dados no Servidor, não somenteconsultando a tabela SINAPI.

    O Android não tem nenhuma biblioteca que faça uso de Serviços Web, porém é possível utilizar outra biblioteca de terceiros para realizar essa função. Foi utilizado a biblioteca KSoap2. O Servidor é implementado em Java importando a biblioteca KSoap2[1] e fazendo a conexão com o banco de dados e gerando em um de seus métodos, umaresposta que será utilizada pelo dispositivo móvel cliente. O cliente acessa o serviço porrequisição SOAP passando o nome do serviço e do método desejado.

    Após receber os dados o Goldsan no cliente atualiza seu Banco de Dados interno,fornecendo no final da aplicação um orçamento com valores reais vindos de um servidor.

    5. Conclusão

    A aplicação móvel, aqui denominada Goldsan, consegue trazer através de técnicasconhecidas da computação, como Banco de Dados e Serviço Web, uma solução querealmente ajudaria no processo de levantamento quantitativo orçamentário de saneamentoe esgoto, facilitando o trabalho de engenheiros civis e profissionais envolvidos no ramocom uma ferramenta que integraria setores e corporações. É uma contribuição que podechamar atenção de desenvolvedores para essa grande e lucrativa área pouco explorada

     principalmente, em aplicativos mobile.

    Quando se acha uma necessidade muitas vezes é possível supri-la com práticascomputacionais. O trabalho enfadonho de montagem de orçamento agora sai de desktopse notebooks para a palma da mão do usuário que nem sequer precisa consultar preços

     para que, em seu próprio dispositivo Android, obtenha um orçamento rápido e preciso.

    6. Referências

    [1] (Lecheta, 2013) Lecheta, Ricardo R.: Google Android: aprenda a criar aplicações paradispositivos móveis com o Android SDK –  3. Ed –  São Paulo: Novatec Editora, 2013.

    [2] (Ableson, 2012) Ableson, W. Frank, Charlie Collins, Robi Sem; tradução EduardoKrasczuk, Edson Furmankiewicz. –  Rio de Janeiro: Elsevier, 2012.

    [3] Renan Hamann, iOS, Android e Windows Phone: números dos gigantes comparados[infográfico]. Disponível em: . Acesso em: 5 de novembro de 2015.

    [4] Caixa Econômica Federal, SINAPI. Disponível em: . Acesso em: 5 de novembrode 2015.