• Nenhum resultado encontrado

Durante a pesquisa bibliográfica, verificou-se que a padronização estabelecida na edição J2ME garante que as aplicações possam ser desenvolvidas sem se preocupar em qual dispositivo específico elas irão rodar, desde que ele tenha implementada a configuração escolhida. Entretanto, na prática, utilizando recursos diversos da programação Java para J2ME, pôde ser observado, que, pelo menos, para CDC / Personal Profile, essa teoria ainda não é válida. Isso pôde ser comprovado por meio dos testes realizados com três máquinas virtuais diferentes: a Jeode, a J9 e a CrEme. A Sun, até o presente momento, ainda não disponibilizou nenhuma JVM para configuração CDC e perfil Personal Profile.

Inicialmente foi adotada a J9 da IBM, por ter um ambiente de desenvolvimento que trabalha em cima das suas características (o WSDD). Porém, no momento em que foi necessária a instalação de pacotes externos, para acesso ao banco de dados, por exemplo, ela apresentou algumas incompatibilidades. Esses erros só puderem ser detectados quando a aplicação estava rodando no dispositivo físico, pois no ambiente de desenvolvimento ela funcionava corretamente.

Optou-se então pela Jeode, uma máquina virtual Java oferecida pelo fabricante de um dos modelos de equipamentos utilizados nos testes. Essa máquina virtual apresentou problemas de interpretação de código. Alguns trechos de código que foram escritos no WSDD, originalmente para a J9, dentro dos padrões das especificações do Java (J2ME / CDC / Personal Profile), não foram reconhecidos pela Jeode. Essa incompatibilidade foi identificada, por exemplo, nos comandos de leitura e de gravação de arquivos. Como a Jeode também não oferece nenhuma ferramenta de desenvolvimento própria, tornou-se inviável a sua utilização, pois programar em um ambiente que não ofereça suporte para a JVM, apenas consultando a sua documentação, tornaria o processo de desenvolvimento muito lento.

A terceira JVM testada foi a CrEme, que apesar de não ter uma IDE própria, não apresentou nenhuma incompatibilidade com os códigos escritos no WSDD e ainda reconheceu os comandos para adicionar os pacotes externos.

O teste unitário é uma das fases do processo de teste cujo objetivo é encontrar falhas de funcionamento dentro de uma pequena parte do sistema. O teste de integração objetiva encontrar falhas provenientes da integração interna dos componentes do sistema. Esses testes foram aplicados pelo próprio desenvolvedor, avaliando cada classe do sistema isoladamente, seus métodos e a troca de mensagens entre elas.

O teste de sistema tem por objetivo a execução do sistema sob ponto de vista de seu usuário final, varrendo as funcionalidades em busca de falhas. Eles deveriam ser realizados em condições similares àquelas que um usuário utilizaria no seu dia-a-dia de manipulação do sistema, porém, devido à natureza deste projeto, ele também foi aplicado pelo desenvolvedor. Já o teste de aceitação foi realizado por um grupo de usuários finais do sistema, simulando operações de rotina do sistema de modo a verificar se seu comportamento estava de acordo com os requisitos levantados na elaboração do projeto.

Um dos testes realizados no dispositivo móvel pode ser observado na seqüência de figuras demonstradas a seguir.

A Figura 28 apresenta a tela de Login do sistema. Nesse teste utilizou-se o usuário gerente, que possui perfil de administrador.

Figura 29. Tela de Opções (Menu) – Dispositivo Móvel

Na Figura 29, pode ser observado o menu do sistema. Como o usuário que logou no sistema possui o perfil de administrador, todas as opções do menu estão disponíveis.

Figura 30. Tela de Expedição (Nota Fiscal) – Dispositivo Móvel

Na tela de preenchimento dos dados referentes a nota fiscal (Figura 30), utilizou-se uma nota fiscal cadastrada na base de dados de testes. O usuário informou os campos número da nota fiscal e série. O campo com o nome da empresa, neste exemplo preenchido como Empresa Teste, foi preenchido pelo sistema, consultando no banco de dados o cliente da nota fiscal informada. Com todos os dados preenchidos, o usuário selecionou a opção confirmar, sendo exibida a tela de leitura de números de série, apresentada na Figura 31.

Figura 31. Tela de Expedição (Número de Série) – Dispositivo Móvel

A nota fiscal selecionada possuía apenas um tipo de produto com cinco unidades. Foram efetuadas as leituras dos códigos de barras contendo os números de série de cada equipamento. Na Figura 31, não pode ser visualizado o botão de confirmação, devido as dimensões da tela. No momento dos testes utilizou-se a barra de rolagens para selecionar a opção “Encerrar” que dispara os métodos internos de validação dos dados. Neste exemplo, a validação foi efetuada com sucesso.

4 CONCLUSÕES

O desenvolvimento deste trabalho compreendeu algumas etapas como revisão bibliográfica, desenvolvimento do projeto do software, implementação e testes do sistema desenvolvido.

Na revisão bibliográfica destacam-se temas como computação móvel, dispositivos móveis, tecnologias de conexão sem fio e tecnologias de desenvolvimento para dispositivos móveis. Como o objetivo geral desse trabalho era desenvolver um aplicativo baseado em computação móvel, com a utilização da tecnologia J2ME, esse tema foi o que teve o maior destaque, sendo apresentados detalhes da arquitetura J2ME, o que permitiu a escolha da configuração e do perfil mais adequado para aplicação proposta.

Com a pesquisa realizada em busca de soluções similares, verificou-se a existência de algumas ferramentas já disponíveis no mercado. Porém, não foram encontradas ferramentas que atendessem às necessidades específicos das empresas do Grupo MEG, conforme proposto neste trabalho. Entretanto, o resultado dessa pesquisa foi bastante proveitoso, pois reforçou algumas idéias que eram previstas para o projeto.

O conhecimento adquirido através da revisão bibliográfica serviu de base para elaboração do projeto do sistema. Nesta etapa também foram absorvidos conhecimentos de consultores especializados em gestão de processos industriais.

A modelagem do sistema proposto foi elaborada seguindo os padrões da UML. No Capítulo 3 foram apresentados os diagramas considerados relevantes ao projeto do software, além da descrição textual do funcionamento pretendido para o sistema, com o auxílio dos protótipos de telas. No Apêndice A, é apresentado o projeto detalhado em UML.

A etapa de implementação foi realizada obedecendo rigorosamente os diagramas UML elaborados na fase de projeto. A aplicação dos padrões de projeto e da arquitetura em três camadas no momento da codificação do sistema foi importante, pois ajudou na organização e na manutenibilidade do sistema.

Essa etapa também apresentou grandes desafios, pois muitas facilidades descritas na documentação disponível não foram confirmadas na prática. Esperava-se que o J2ME (CDC /

codificação, pôde-se identificar uma limitação importante quanto a isso, já que algumas linhas de código apresentaram incompatibilidade quando executadas em máquinas virtuais diferentes.

Entretanto, isso não significa que o J2ME não seja portável. Nos exemplos que se perceberam essas discrepâncias, pôde-se notar, que na maioria dos casos, havia códigos equivalentes que poderiam ser utilizados.

O sistema foi validado pela execução de testes tanto durante como após a implementação, com a realização dos testes unitário, de integração, de sistema e de aceitação, os quais permitiram confirmar o atendimento dos requisitos estabelecidos.

Considerando os objetivos deste trabalho, pôde-se verificar que todos foram cumpridos, tendo em vista que foram realizadas pesquisas de conceitos e tecnologias para a utilização na implementação do sistema. A modelagem do sistema foi elaborada de forma que a fase de implementação pudesse transcorrer sem maiores problemas, o sistema foi implementado conforme o proposto, chegando-se ao produto final que pode ser avaliado por seus usuários.

Como idéia para trabalhos futuros, cita-se o estudo da utilização de etiquetas inteligentes (Padrão RFID - Radio Frequency Identification) junto à tecnologia J2ME.

REFERÊNCIAS BIBLIOGRÁFICAS

ALMEIDA, L. B. de. Introdução à J2ME e programação MIDP. Mundo Java, Curitiba, n. 5, p.

20-27, maio 2004.

AMORIM, Andrea Rodrigues de. Desenvolvimento de aplicações móveis com J2ME. Canoas, 2005. Trabalho de Conclusão de Curso em Computação, Universidade Luterana do Brasil, Canoas, 2005.

BARROS, Bruno A.; COSTA, Eduardo; PEREIRA, Guilherme B.; JÁCOMO JÚNIOR, José R. R.;

SILVA, Karen C. J2ME uma tecnologia “nova” e muito poderosa. 2003. (Artigo on-line publicado no site do Curso de Especialização em Tecnologia da Informação da Universidade Salgado de Oliveira). Disponível em: <http://br.geocities.com/pos_ti/artigos/J2ME.pdf>. Acesso em: 04 nov. 2006.

CALADAN SOFTWARE. Desenvolvimento de aplicativos para computadores portáteis. 2006.

Disponível em: <http://www.caladan.com.br/palm.asp>. Acesso em: 04 nov. 2006.

CAMPOS, André; BRANCO, Pedro. 3GM: relatório intercalar. 2003. Disponível em:

<http://immi.inesc.pt/~pjgb/3gm/pt/actividades/relatoriointercalar/relatoriointermedioanexos.pdf>.

Acesso em: 04 nov. 2006.

CRISPIM JUNIOR, Carlos Fernando. Análise de tecnologias para dispositivos móveis: um estudo de caso na área da saúde. Itajaí, 2006. 124 f. Trabalho de Conclusão de Curso (Graduação em Ciência da Computação)–Centro de Ciências Tecnológicas da Terra e do Mar, Universidade do Vale do Itajaí, Itajaí, 2006.

DEMÉTRIO, Rinaldo, Internet. São Paulo: Érica, 2001.

DORNAN, A. Wireless communications. O guia essencial de comunicação sem fio. São Paulo:

Campus, 2001.

FIGUEIREDO, Carlos Maurício Seródio; NAKAMURA, Eduardo. Computação móvel: novas oportunidades e novos desafios. T&C Amazônia, ano 1, no. 2, jun. 2003.

FIGUEIREDO, Thiago Henrique de Paula. MultiMAD: uma ferramenta multimodelo de desenvolvimento de aplicações para dispositivos móveis. 2005. 121 f. (Mestrado)–Programa de Pós-Graduação em Ciência da Computação, Universidade Federal de Minas Gerais, Belo Horizonte, 2005.

HADDAD, Renato. Entendendo aplicações móveis no .NET, 2006. Disponível em:

<http://www.microsoft.com/brasil/msdn/tecnologias/movel/mobilidade_entendendo.aspx>. Acesso em: 04 nov. 2006.

JAVAFREE. Tutorial Java: O que é Java. 2006. Disponível em:

<http://www.javafree.org/content/view.jf?idContent=84>. Acesso em: 04 nov. 2006.

LARMAN, Graig. Utilizando UML e padrões: uma introdução à análise e ao projeto orientados a

LAUDON, Kenneth C.; LAUDON, Jane Price. Sistemas de informação. Rio de Janeiro: LTC, 1999.

LEE, Valentino; SCHNEIDER, Heather; SCHELL, Robbie. Aplicações móveis: arquitetura, projeto e desenvolvimento. São Paulo: Makron Books, 2005.

MATEUS, Geraldo R.; LOUREIRO, Antonio A.F. Introdução à computação móvel. In: 11a Escola de Computação, Rio de Janeiro, 1998.

MELO, Ana Cristina. Desenvolvendo aplicações com UML 2.0: do conceitual à implementação.

Rio de Janeiro: Brasport, 2004.

MICROSOFT. Windows CE Home Page. 2006. Disponível em:

<http://msdn.microsoft.com/embedded/windowsce/default.aspx>. Acesso em: 04 nov. 2006.

MUCHOW, John W. Core J2ME: tecnologia e MIDP. São Paulo: Makron Books, 2004.

PALMSOURCE, Inc. PalmOS. 2006. Disponível em <http://www.palmsource.com/palmos/>.

Acesso em: 04 nov. 2006.

QUALCOMM Incorporated. Sobre o BREW. 2006. Disponível em <http://brew.qualcomm.com>.

Acesso em: 04 nov. 2006.

SALLEM, Márcio Augusto Sekeff. Java 2 Micro Edition: introdução à computação móvel. 2003.

(Pós-Graduação em Ciência da Computação)–Universidade Federal do Maranhão, São Luis, 2003.

SCHMITT JUNIOR, Arno José. Protótipo de front end de controle de acesso usando J2Me.

2004. 70 f. Trabalho de Conclusão de Curso (Graduação em Ciência da Computação)-Centro de Ciências Exatas e Naturais, Universidade Regional de Blumenau, Blumenau, 2004.

SUN MICROSYSTEMS. CdC: Java platform technology for connected devices. 2005. Disponível em: <http://java.sun.com/products/cdc/wp/cdcwhitepaper.pdf>. Acesso em: 04 nov. 2006.

SUN MICROSYSTEMS. Java ME APIs & Docs. 2006. Disponível em:

<http://java.sun.com/javame/reference/apis.jsp>. Acesso em: 04 nov. 2006.

SUPERWABA. Plataforma: resumo. 2006. Disponível em:

<http://www.superwaba.com.br/pt/overview.asp>. Acesso em: 04 nov. 2006.

SYMBIAN. Symbian OS: the mobile operating system. 2006. Disponível em

<http://www.symbian.com/symbianos/index.html>. Acesso em: 04 nov. 2006.

SYMBOL. Mobile computers. 2006. Disponível em <http://www. symbol.com/mc3000>. Acesso em: 04 nov. 2006.

TAURION, Cezar. Software embarcado: oportunidades e potencial de mercado. Rio de Janeiro:

Brasport, 2005.

WHITE, James, HEMPHILL, David. Java 2 Micro Edition: Java in small things. Greenwich:

Manning, 2002.

APÊNDICES

A MODELAGEM DO SISTEMA

Documentos relacionados