51
UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO RAFAEL MOIA VARGAS Controle de estoque a distância por dispositivo móvel Trabalho de Conclusão de Curso Prof. Alessandro Brawerman Orientador Curitiba, setembro de 2011

UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E … · 2015-06-18 · Com o aumento do uso de smartphones, suas tecnologias e utilidades foram aumentando e também a qualidade

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E … · 2015-06-18 · Com o aumento do uso de smartphones, suas tecnologias e utilidades foram aumentando e também a qualidade

UNIVERSIDADE POSITIVO

NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS

CURSO DE ENGENHARIA DA COMPUTAÇÃO

RAFAEL MOIA VARGAS

Controle de estoque a distância por dispositivo móvel

Trabalho de Conclusão de Curso

Prof. Alessandro Brawerman

Orientador

Curitiba, setembro de 2011

Page 2: UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E … · 2015-06-18 · Com o aumento do uso de smartphones, suas tecnologias e utilidades foram aumentando e também a qualidade

2

UNIVERSIDADE POSITIVO

Reitor: Prof. José Pio Martins

Pró-Reitor de Graduação: Prof. Márcia Sebastiani

Coordenador do Curso de Engenharia da Computação: Prof. Leandro Henrique de Souza

Page 3: UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E … · 2015-06-18 · Com o aumento do uso de smartphones, suas tecnologias e utilidades foram aumentando e também a qualidade

3

Agradecimentos

Aos meus pais, por todo carinho e apoio nesta importante etapa da

vida.

Ao professor Maurício Perretto, por todo auxílio na realização

deste projeto.

A meu professor orientador Alessandro Brawerman, pelo auxílio

durante a realização do projeto e também na realização desta monografia,

e pela sugestão deste projeto.

A todos os professores do curso de Engenharia da Computação,

que foram de fundamental importância para que houvesse o

conhecimento necessário para a realização deste projeto.

Aos amigos, pelo incentivo, compreenção e apoio.

Page 4: UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E … · 2015-06-18 · Com o aumento do uso de smartphones, suas tecnologias e utilidades foram aumentando e também a qualidade

4

SUMARIO

LISTA DE ABREVIATURAS.............................................................................................................. 6

LISTA DE FIGURAS ............................................................................................................................ 7

RESUMO ............................................................................................................................................... 8

ABSTRACT ........................................................................................................................................... 9

1. INTRODUÇÃO ...............................................................................................................................10

2. FUNDAMENTAÇÃO TEÓRICA ..................................................................................................12 2.1. MODELO CLIENTE-SERVIDOR ............................................................................................................. 12

2.1.1. Web Service ......................................................................................................................................... 12 2.2. SOFTWARE ............................................................................................................................................. 13

2.2.1. Cliente .................................................................................................................................................... 13 2.2.2. Servidor ................................................................................................................................................. 14

2.2. HARDWARE ............................................................................................................................................ 14 2.2.1. Cliente .................................................................................................................................................... 14

2.2.1.1. Modem 3G .................................................................................................................................................................... 14 2.2.1.2. Placa Wi-fi .................................................................................................................................................................... 14 2.2.1.3. Tela Touch Screen .................................................................................................................................................... 15

2.2.2. RFID ........................................................................................................................................................ 15

3. ESPECIFICAÇÃO ...........................................................................................................................16 3.1. HARDWARE ............................................................................................................................................ 17

3.1.1. RFID ........................................................................................................................................................ 17 3.1.2. Servidor ................................................................................................................................................. 19 3.1.3. Cliente .................................................................................................................................................... 19

3.1.3.1. Modem 3G .................................................................................................................................................................... 19 3.1.3.2. Placa Wi-fi .................................................................................................................................................................... 19 3.1.3.3. Tela Touch Screen .................................................................................................................................................... 20

3.2. SOFTWARE ............................................................................................................................................. 20 3.2.1. Ambiente de Desenvolvimento ................................................................................................... 20 3.2.2. Diagrama de Casos de Uso ........................................................................................................... 20

3.2.2.1. Descrição dos Casos de Uso ................................................................................................................................. 21 3.2.3. Diagrama de Classes ....................................................................................................................... 24

3.2.3.1. Diagrama de Classes do software Cliente no iPhone ............................................................................... 24 3.2.4. Diagrama de Sequência ................................................................................................................ 25

3.2.4.1. Diagrama de Sequência do cenário Adição/Remoção Produtos ....................................................... 25 3.2.4.2. Diagrama de Sequência do cenário Consulta de Estoque ..................................................................... 26 3.2.4.3. Diagrama de Sequência do cenário Consulta de Receita ....................................................................... 27 3.2.4.4. Diagrama de Sequência do cenário Consulta de Lista de Compras .................................................. 28

3.2.5. Prototipação de Telas .................................................................................................................... 29 3.2.5.1. Tela Principal .............................................................................................................................................................. 29 3.2.5.2. Tela Visualização de Estoque .............................................................................................................................. 30 3.2.5.3. Tela Visualização de Lista de Compras .......................................................................................................... 31 3.2.5.4. Tela Criação de nova Lista de Compras ......................................................................................................... 32 3.2.5.5. Tela Visualização detalhada de Lista de Compras .................................................................................... 33 3.2.5.6. Tela Visualização das Receitas cadastradas ................................................................................................ 34 3.2.5.7. Tela Criação de nova Receita .............................................................................................................................. 35 3.2.5.8. Tela Visualização detalhada de Receita ......................................................................................................... 36 3.2.5.9. Tela de Configuração .............................................................................................................................................. 37

4. VALIDAÇÃO E RESULTADOS ...................................................................................................38 4.1. TESTE DE ESCALABILIDADE ................................................................................................................ 38

5. CONCLUSÃO ..................................................................................................................................40

Page 5: UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E … · 2015-06-18 · Com o aumento do uso de smartphones, suas tecnologias e utilidades foram aumentando e também a qualidade

5

6. REFERENCIAS BIBLIOGRÁFICAS ...........................................................................................41

APÊNDICE A - RESUMO ESTENDIDO .........................................................................................42

APÊNDICE B - ARTIGO CIENTÍFICO ...........................................................................................44

Page 6: UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E … · 2015-06-18 · Com o aumento do uso de smartphones, suas tecnologias e utilidades foram aumentando e também a qualidade

6

LISTA DE ABREVIATURAS

RFID Radio-Frequency Identification

API Application Programming Interface

UML Unified Modeling Language

Page 7: UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E … · 2015-06-18 · Com o aumento do uso de smartphones, suas tecnologias e utilidades foram aumentando e também a qualidade

7

LISTA DE FIGURAS FIGURA 1: REPRESENTAÇÃO DO PROJETO. ......................................................................................................................... 16 FIGURA 2: TAGS RFID SLK01. ............................................................................................................................................ 17 FIGURA 3: LEITOR RFID SL102. ........................................................................................................................................ 18 FIGURA 4: DIAGRAMA DE CASOS DE USO DO CENÁRIO DO SOFTWARE CLIENTE NO IPHONE. ................................... 21 FIGURA 5: DIAGRAMA DE CLASSES DO SOFTWARE CLIENTE NO IPHONE. ..................................................................... 24 FIGURA 6: DIAGRAMA DE SEQUÊNCIA DO CENÁRIO ADIÇÃO/REMOÇÃO PRODUTOS. ................................................. 25 FIGURA 7: DIAGRAMA DE SEQUÊNCIA DO CENÁRIO CONSULTA DE ESTOQUE. ............................................................. 26 FIGURA 8: DIAGRAMA DE SEQUÊNCIA DO CENÁRIO CONSULTA DE RECEITA. ............................................................... 27 FIGURA 9: DIAGRAMA DE SEQUÊNCIA DO CENÁRIO CONSULTA DE LISTA DE COMPRAS. ............................................ 28 FIGURA 10: TELA PRINCIPAL. .............................................................................................................................................. 29 FIGURA 11: VISUALIZAÇÃO DO ESTOQUE. .......................................................................................................................... 30 FIGURA 12: VISUALIZAÇÃO DA LISTA DE COMPRAS. ........................................................................................................ 31 FIGURA 13: CRIAÇÃO DE NOVA LISTA DE COMPRAS. ........................................................................................................ 32 FIGURA 14: VISUALIZAÇÃO DETALHADA DE NOVA LISTA DE COMPRAS. ....................................................................... 33 FIGURA 15: VISUALIZAÇÃO DAS RECEITAS CADASTRADAS. ............................................................................................. 34 FIGURA 16: CRIAÇÃO DE NOVA RECEITA. ........................................................................................................................... 35 FIGURA 17: VISUALIZAÇÃO DETALHADA DE RECEITA. ..................................................................................................... 36 FIGURA 18: VISUALIZAÇÃO DA TELA DE CONFIGURAÇÃO................................................................................................. 37 FIGURA 19: TESTE DE ESCALABILIDADE THREADS X TEMPO ......................................................................................... 38

Page 8: UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E … · 2015-06-18 · Com o aumento do uso de smartphones, suas tecnologias e utilidades foram aumentando e também a qualidade

8

RESUMO Este projeto propõe a criação de uma solução que possibilita o

controle de estoque a distância por dispositivo móvel. Com o aumento do

uso de smartphones, suas tecnologias e utilidades foram aumentando e

também a qualidade do acesso à Internet através de dispositivos móveis

foi se tornando mais próxima a de que temos em nossas casas, assim

como sua disponibilidade e custo tiveram uma melhora significativa.

Outra tecnologia que é relativamente recente e se popularizou nos

últimos anos, tornando seu uso mais acessível, é o RFID (Radio-

frequency identification). O RFID funciona com um leitor fixo, e com

tags (etiquetas) RFID, que contém informações a serem lidas pelo leitor,

que passa esta informação para um computador através de um cabo serial

ou USB, dependendo do leitor em questão.

Com isso, surge então a idéia de desenvolver um controle de

estoque a distância por dispositivo móvel, utilizando um leitor de RFID

para ler os dados de cada produto que estão gravados em sua tag, criar um

banco de dados no servidor com o estoque, listas de compras e receitas.

Com o dispositivo móvel, e através de serviços Web Service, se

comunicar com o servidor e poder saber, a distância, quais os produtos a

serem repostos, quais produtos faltam para determinada receita,

disponibilidade de determinado produto e quantidade, etc.

Desta forma é possível, utilizando-se da tecnologia dos

dispositivos móveis atuais, da Internet móvel e da tecnologia RFID, criar

uma solução para consulta de estoque a distância com uma grande

flexibilidade de acesso e funcionalidade.

Palavras-Chave: dispositivos móveis, RFID, controle de estoque, Web Service.

Page 9: UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E … · 2015-06-18 · Com o aumento do uso de smartphones, suas tecnologias e utilidades foram aumentando e também a qualidade

9

ABSTRACT

This project proposes the creation of a solution to allow the remote

inventory control through the usage of mobile devices. With the

increasing usage of smartphones, their technologies and functionalities

have improved greatly, among with it's Internet access capabilities, which

became much more similar to the Internet access people have in their

homes.

Another technology that is relatively new and has been used with

more frequency in the last few years, making it's usage more viable, is the

RFID (Radio-frequency identification). The RFID works with 2 separate

parts, the reader and the tag. The tag, contains information that are read

by the RFID reader, which passes the information to a computer through

a serial cable or through USB, depending on the RFID reader model.

Taking all this in consideration, arises the idea of developing a

remote inventory control, through the usage of a mobile device, in this

particular case the iPhone, using a RFID reader to read the information of

each product, and insert into a database on the server to create the

inventory, allowing the user to create a list with Recipes, a list with

Shopping Lists. With the mobile device, and Web Service, allow the user

to communicate with the server and be able to access, remotely, the

inventory, detailing the quantity of each product, what products need to

be repurchased, which products are missing to be able to make a chosen

recipe, among other functionalities.

In this matter, it is possible, using the technology provided by the

smartphones and platforms, mobile Internet and RFID, to create a

solution to remotely control and check your inventory with a great

flexibility of access and many possibilities of functionalities, with a very

user friendly interface, something that wasn't possible some years ago.

Palavras-Chave: mobile devices, RFID, inventory control, web service.

Page 10: UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E … · 2015-06-18 · Com o aumento do uso de smartphones, suas tecnologias e utilidades foram aumentando e também a qualidade

10

1. INTRODUÇÃO

Com o aumento do uso de smartphones, suas tecnologias e

utilidades foram aumentando e também a qualidade do acesso à Internet

através de dispositivos móveis foi se tornando mais próxima a de que

temos em nossas casas, assim como sua disponibilidade e custo tiveram

uma melhora significativa.

Um fato que mudou bastante as possibilidades de uso de um

smartphone, foi o surgimento de plataformas como o iOS, da Apple,

presente no iPhone, iPod e iPad, e Android, da Google, utilizado em

diversos dispositivos de diversas marcas.

Outra tecnologia que é relativamente recente e se popularizou nos

últimos anos, tornando seu uso mais acessível, é o RFID (Radio-

frequency identification). O RFID funciona com um leitor fixo, e com

tags (etiquetas) RFID, que contém informações a serem lidas pelo leitor,

que passa esta informação para um computador através de um cabo serial

ou USB, dependendo do leitor em uso.

Com isso, surgiu então a idéia de desenvolver um controle de

estoque a distância por dispositivo móvel, utilizando um leitor de RFID

para adicionar e remover produtos no estoque, criando um banco de

dados no servidor com o estoque, listas de compras e receitas.

Com o dispositivo móvel, e através de serviços Web Service, se

comunicar com o servidor e ter acesso a distância ao estoque e

quantidade de cada produto, quais produtos estão faltando para realizar

uma receita escolhida, lista de compras com produtos que não estão mais

em estoque e deseja-se comprar.

Para isto, cada produto deve ter uma tag RFID passiva contendo

um código único. O leitor RFID ficará em um lugar fixo, por onde

passará todos produtos comprados e sempre que algum for retirado para

ser utilizado. O servidor ficará no mesmo local que o leitor RFID,

conectado ao mesmo com um cabo USB, recebendo assim o código do

produto, atualizando o estoque no banco de dados do servidor.

O software do servidor e do iPhone, utilizando Web Service,

permite que o usuário, remotamente, consulte o servidor, para obter dados

como a disponibilidade de determinado produto, lista de compras com

Page 11: UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E … · 2015-06-18 · Com o aumento do uso de smartphones, suas tecnologias e utilidades foram aumentando e também a qualidade

11

produtos em falta, produtos necessários para determinada receita, criação

de novas receitas, criação de novas listas de compras, dentre outros.

O cliente, um software desenvolvido para o iPhone, tem como

função principal apresentar os dados para o usuário. O cliente obterá

dados como estoque, produtos que precisam ser comprados, dentre

outros, fazendo pedidos para o servidor, que faz consultas em seu banco

de dados e retorna os dados já filtrados para o mesmo. Restando assim,

menos processamento para o cliente realizar, fato importante, visto que o

servidor tem um poder computacional muito maior que o de um

dispositivo móvel, no caso o iPhone.

O restante desta monografia apresenta no Capitulo 2 a

Fundamentação Teórica, com detalhamento dos softwares utilizados no

desenvolvimento e dos hardwares utilizados nos projeto. Em seguida o

Capitulo 3, formado pela Especificação, onde é detalhado a fundo o

hardware utilizado, assim como os softwares desenvolvidos, de forma

técnica. A seguir, no Capitulo 4, tem-se a Validação de Testes e

Resultados, que mostra os métodos utilizados para medição e análise de

desempenho do projeto, assim como suas interpretações. Então por fim a

Conclusão no Capitulo 5, sintetizando todo o conteúdo de o que se refere

o trabalho até os resultados obtidos e no Capitulo 6 as Referências

Bibliográficas.

Page 12: UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E … · 2015-06-18 · Com o aumento do uso de smartphones, suas tecnologias e utilidades foram aumentando e também a qualidade

12

2. FUNDAMENTAÇÃO TEÓRICA

O capítulo de fundamentação teórica consiste em explicar a

importância da automação de estoque e do projeto proposto, em explicar

mais detalhadamente as tecnologias utilizadas, como o RFID, o iPhone,

Web Service, os softwares desenvolvidos e também os hardwares

utilizados no projeto.

A automação de estoque é uma questão muito abordada em

empresas, e começa também a ser algo viável de ser aplicado em

residências, com a redução de custo de tecnologias envolvidas.

2.1. Modelo Cliente-Servidor

O modelo de controle de estoque proposto pelo projeto, por ser

controlado remotamente, consiste em um modelo Cliente-Servidor.

Neste tipo de modelo, o Servidor é localizado junto ao estoque,

onde são feitas as retiradas e entradas de estoque. Nele, também fica o

banco de dados, onde é armazenado todo o estoque, a ser fornecido ao

Cliente, quando solicitado. O servidor, mantém um Web Service, que

fornece métodos pré definidos, com consultas ao estoque tratadas, que

enviam para o Cliente.

O Cliente, tem como objetivo ser um programa leve, que tem como

único objetivo fazer pedidos de informações ao servidor, obte-las e

mostrar ao usuário de forma amigável e compreensível. No projeto, o

cliente é um software para iOS, que funciona em iPhones e iPods. Com

isso, o usuário tem uma grande mobilidade de acesso ao estoque,

podendo fazer consultas em redes Wi-fi ou então com a rede 3G ou

EDGE da própria operadora.

2.1.1. Web Service

Web Service é uma forma de aplicativos diferentes, desenvolvidos

em linguagens e ambientes diferentes, se comunicarem. Isto é possível

pois o Web Service usa a linguagem XML para transmitir informações

entre um programa e outro.

O XML é uma linguagem universal, que pode ser interpretada por

diversas linguagens de programação.

Page 13: UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E … · 2015-06-18 · Com o aumento do uso de smartphones, suas tecnologias e utilidades foram aumentando e também a qualidade

13

O servidor fornece métodos com funcionalidades pré definidas

pelo desenvolvedor. O cliente, utiliza esses métodos para receber as

informações do servidor.

2.2. Software

Nesta seção, são apresentados os softwares desenvolvidos neste

projeto, que foram: o Cliente, utilizado no dispositivo móvel, e o

servidor, que gerencia o banco de dados, recebe os dados do leitor RFID

e roda o Web Service.

2.2.1. Cliente

O software desenvolvido para o cliente é um aplicativo para

dispositivos móveis que rodam o sistema iOS, da Apple. Atualmente,

estes dispositivos são: o iPhone, o iPod Touch e o iPad.

A programação de aplicativos para o iOS é feita em uma

linguagem relativamente nova, chamada Objective C, ou Cocoa Touch.

Esta linguagem possui bastante semelhanças com o C++, e é a linguagem

mais usada e recomendada para desenvolvimento de programas de

qualquer produto da Apple (computadores rodando o sistema operacional

OSX, dispositivos móveis rodando o iOS), por obter a melhor

performance dentro destes sistemas, visto que os mesmos foram

desenvolvidos em Objective C.

Para o desenvolvimento nesta linguagem, a única ferramenta

utilizada é o Xcode, que consiste em um ambiente de desenvolvimento de

código e interface gráfica do aplicativo, e também de um conjunto de

ferramentas de teste de software. O Xcode está disponível apenas para o

sistema operacional OSX, criando portanto uma restrição para alguns

desenvolvedores.

Apesar de ser uma linguagem relativamente nova, o Objective C

está bem documentado e disponível para todos desenvolvedores

cadastrados na Apple. Já há também bastante fóruns e websites de auxílio

nesta linguagem. Uma dificuldade porém, tem sido a grande frequência

com que a Apple atualiza API's e modifica partes de sua linguagem, pois

isto faz com que muitos websites, tutoriais, documentações se tornem

inúteis e desatualizados rapidamente.

Page 14: UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E … · 2015-06-18 · Com o aumento do uso de smartphones, suas tecnologias e utilidades foram aumentando e também a qualidade

14

2.2.2. Servidor

A programação do software que roda no Servidor, é feita em C#,

principalmente devido a facilidade que esta linguagem oferece para o uso

de Web Service.

Para o banco de dados do servidor, que é responsável por

armazenar Estoque, Receitas e Lista de Compras, é utilizado o Microsoft

SQL Server 2008.

O uso do Microsoft SQL Server em vez de outro banco de dados,

tem como um dos motivos principais o fácil acesso a ele pelo software do

servidor, desenvolvido no Microsoft Visual Studio. A escolha desta

versão deve-se, em parte, à melhor abrangência de, se comparado com a

2010 e versões mais antigas.

2.2. Hardware

Esta seção apresenta os hardwares utilizados neste projeto, tanto

para o Cliente quanto para o Servidor.

2.2.1. Cliente

O hardware utilizado para o Cliente, é o iPhone 4, destacando-se o

uso dos seguintes componentes:

2.2.1.1. Modem 3G

O modem 3G do iPhone é utilizado para a realização de conexão

com o servidor, para o uso do Web Service, quando a conexão Wi-fi é

inexistente.

2.2.1.2. Placa Wi-fi

A placa wi-fi interna do iPhone é utilizada para a realização de

conexão com o servidor, sempre que possível, para evitar o uso da rede

3G que normalmente tem limitações de uso e custo impostas pelas

operadoras de telefonia.

Page 15: UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E … · 2015-06-18 · Com o aumento do uso de smartphones, suas tecnologias e utilidades foram aumentando e também a qualidade

15

2.2.1.3. Tela Touch Screen

Com certeza um dos principais e mais importantes componentes do

iPhone, responsável por grande parte da interatividade com o usuário.

Fator que deve ser levado em conta no desenvolvimento do projeto, visto

que uma interface voltada para um equipamento sensível ao toque deve

ser bem diferente de uma normal.

2.2.2. RFID

O RFID é uma tecnologia de identificação por rádio frequência. O

sistema é composto por um leitor RFID e por diversas tags RFID, que

estão presentes em cada produto. O leitor transmite ao servidor os dados

de cada tag lida através de um cabo USB, que por sua vez atualiza seu

banco de dados, onde se tem o controle de cada produto disponível no

estoque.

Existem dois tipos de tags:

Ativas:

o Enviam seu próprio sinal;

o Mais caras;

Passivas:

o Respondem ao sinal enviado pela base transmissora;

o Mais baratas;

Existem diversos tipos de leitor RFID, com diferentes alcances,

diferentes frequências de funcionamento, diferentes formas de

comunicação com o servidor (Cabo Serial, USB). Deve-se analisar e

escolher um modelo de acordo com a necessidade do projeto em questão.

Page 16: UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E … · 2015-06-18 · Com o aumento do uso de smartphones, suas tecnologias e utilidades foram aumentando e também a qualidade

16

3. ESPECIFICAÇÃO

Como apresentado anteriormente, o projeto tem como idéia

desenvolver um controle de estoque automatizado, controlado

remotamente por um dispositivo móvel, utilizando um leitor RFID e tags

em cada produto para a formação do estoque.

Os Hardwares utilizados no projeto são: iPhone 4, servidor, leitor

RFID e tags RFID.

Conforme a Figura 1 mostra, a tag RFID é lida pelo leitor, que

envia a informação através de um cabo USB para o computador, que

atualiza o banco de dados. O iPhone, remotamente, através da Internet, se

conectando através de seu modem 3G ou Wi-Fi, acessa o servidor, com

um pedido ao Web Service implementado, obtendo os dados para

apresentar para o usuário.

Figura 1: Representação do Projeto.

Page 17: UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E … · 2015-06-18 · Com o aumento do uso de smartphones, suas tecnologias e utilidades foram aumentando e também a qualidade

17

O software do iPhone possui como funcionalidade, além de as

básicas, como consultar o estoque, consultar receitas e lista de compras, a

habilidade de remotamente editar ingredientes e instruções de receitas já

existentes, deletar receitas, criar novas receitas. Editar lista de compras,

deletar lista de compras e criar novas lista de compras.

3.1. Hardware

Nesta seção, é apresentado os hardwares utilizados

detalhadamente, com o modelo e características dos mesmos, assim como

configurações necessárias para uso do sistema.

3.1.1. RFID

Há diversos modelos de Tags e Leitores de RFID no mercado

mundial, com características e finalidades bem distintas.

Para este projeto, foram utilizadas 10 tags RFID do tipo chaveiro

modelo SLK01 da Strong Link, ilustrados na Figura 2, com as seguintes

características:

Frequência de 125 KHz e 13.56 MHz;

Chipset TK4100, Mifare 1k;

Temperatura de funcionamento de -10° a +50°.

Figura 2: Tags RFID SLK01.

Page 18: UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E … · 2015-06-18 · Com o aumento do uso de smartphones, suas tecnologias e utilidades foram aumentando e também a qualidade

18

O leitor RFID utilizado foi o SL102 da Strong Link, conforme

Figura 3, com as seguintes características:

Frequência de 125 KHz;

Interface USB Plug and Play (simula teclado);

Temperatura de funcionamento de -10° a +70°;

Dimensões: 120 × 83 × 27 mm;

Peso: 160g;

Figura 3: Leitor RFID SL102.

O motivo para a escolha destas Tags e deste Leitor, deve-se dentre

outras coisas, ao bom custo/benefício dos produtos, atendendo as

necessidades básicas exigidas pelo projeto. A aquisição dos mesmos não

foi de grande dificuldade, apesar de ter sido importado de outro país.

Outra vantagem é a comunicação do leitor RFID com o computador, que

se da por um cabo USB. O leitor envia os 10 dígitos da Tag lida para o

computador, via USB, como se fosse a entrada de um teclado, facilitando

bastante a aquisição da leitura pelo software do servidor.

Algumas limitações importantes a destacar, entretanto, é a

distância de leitura curta (aproximadamente 5 centímetros), que para uma

aplicação prática do projeto é inferior à uma distância aceitável. Outra

limitação, é a impossibilidade de passar duas tags simultaneamente.

Para a limitação de distância, esta pode facilmente ser eliminada

com um investimento um pouco maior em um leitor com maior distância

de leitura e uma tag compatível. Isto só não foi feito pois para efeito de

projeto a distância alcançada com estes equipamentos já é suficiente.

Page 19: UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E … · 2015-06-18 · Com o aumento do uso de smartphones, suas tecnologias e utilidades foram aumentando e também a qualidade

19

3.1.2. Servidor

O servidor precisa ter uma configuração que suporte rodar o

Microsoft SQL Server 2008, para manejar o banco de dados do sistema e

o IIS 7.0. Precisa também estar conectado a internet. Uma configuração

base seria:

Processador 64 bits AMD Opteron, AMD Athlon 64 ou Intel Xeon

com suporte Intel EM64T;

Processador com clock de 2.0 GHz ou mais;

Memoria RAM de no mínimo 1GB, recomendado 4GB;

100GB HDD;

Windows 7;

3.1.3. Cliente

O hardware utilizado para o Cliente, é o iPhone 4, destacando-se o

uso dos seguintes componentes:

3.1.3.1. Modem 3G

O modem 3G do iPhone é utilizado para a realização de conexão

com o servidor, para o uso do Web Service, quando a conexão Wi-fi é

inexistente.

3.1.3.2. Placa Wi-fi

A placa wi-fi interna do iPhone é utilidada para a realização de

conexão com o servidor, sempre que possível, para evitar o uso da rede

3G que normalmente tem limitações de uso e custo impostas pelas

operadoras de telefonia.

Page 20: UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E … · 2015-06-18 · Com o aumento do uso de smartphones, suas tecnologias e utilidades foram aumentando e também a qualidade

20

3.1.3.3. Tela Touch Screen

Com certeza um dos principais e mais importantes componentes do

iPhone, responsável por grande parte da interatividade com o usuário.

Fator que deve ser levado em conta no desenvolvimento do projeto, visto

que uma interface voltada para um equipamento sensível ao toque deve

ser bem diferente de uma normal.

3.2. Software

Esta seção abordará detalhadamente o projeto dos softwares

desenvolvidos para o sistema proposto. Primeiramente, será descrito os

ambientes de desenvolvimento utilizados em cada software,

3.2.1. Ambiente de Desenvolvimento

A programação de aplicativos para o iOS é feita em Objective C,

ou Cocoa Touch. Esta linguagem tem bastante semelhanças com o C++,e

é a linguagem mais usada e recomendada para desenvolvimento de

programas de qualquer produto da Apple (computadores rodando o

sistema operacional OSX, dispositivos móveis rodando o iOS), por obter

a melhor performance dentro destes sistemas.

A programação do sistema que roda no Servidor, é feita em C#,

principalmente devido a facilidade que esta linguagem oferece para o uso

de Web Service.

Para o banco de dados do servidor, que é responsável por

armazenar Estoque, Receitas e Lista de Compras, é utilizado o Microsoft

SQL Server 2008.

3.2.2. Diagrama de Casos de Uso

O diagrama de Casos de Uso de um software separa cada interação

entre o usuário e o sistema. Com isso, é possível explicar de forma

detalhada cada funcionalidade do sistema, e como o mesmo à realiza.

Page 21: UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E … · 2015-06-18 · Com o aumento do uso de smartphones, suas tecnologias e utilidades foram aumentando e também a qualidade

21

Analisando as funcionalidades desejadas para o sistema proposto

têm-se o Diagrama de Casos de Uso do cenário do Cliente iPhone,

conforme a Figura 4:

Figura 4: Diagrama de Casos de Uso do Cenário do software Cliente no iPhone.

3.2.2.1. Descrição dos Casos de Uso

Caso de Uso -- Consultar Estoque:

o Este caso de uso é iniciado quando o usuário decide visualizar o

estoque.

1. Usuário navega até a seção "Estoque" do software.

2. O software requere através de Web Service a consulta de estoque

no banco de dados do servidor.

3. Servidor retorna para o cliente também utilizando Web Service os

produtos em estoque.

o Alternativas:

2a. O software falha ao tentar transmitir o pedido de consulta ao

servidor por falta de conexão com a Internet e exibe mensagem de erro,

disponibilizando para o usuário a última consulta realizada,

armazenada em um Bando de Dados SQLite local.

Page 22: UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E … · 2015-06-18 · Com o aumento do uso de smartphones, suas tecnologias e utilidades foram aumentando e também a qualidade

22

Caso de Uso -- Consultar Lista de Compras:

o Este caso de uso é iniciado quando o usuário decide visualizar a

lista de produtos em falta no estoque, que devem ser repostos.

1. Usuário navega até a seção "Lista de Compras" do software.

2. O software requere através de Web Service a consulta da lista de

compras.

3. O servidor busca no banco de dados todos os produtos requisitados

pela lista de compra escolhida, consulta o estoque para saber

quantas unidades há no estoque, subtrai da quantidade desejada

pela lista de compras.

4. Servidor retorna para o cliente também utilizando Web Service a

lista de produtos resultante e a quantidade necessaria.

o Alternativas:

2a. O software falha ao tentar transmitir o pedido de consulta ao

servidor por falta de conexão com a internet e exibe mensagem de erro,

mostrando as Listas de Compras da ultima consulta, disponíveis no

Banco de Dados SQLite local.

Caso de Uso -- Checar disponibilidade de ingredientes de Receita:

o Este caso de uso é iniciado quando o usuário decide visualizar os

produtos que faltam para a realização de determinada receita.

1. Usuário navega até a seção "Receitas" do software.

2. Usuário escolhe uma receita dentre as receitas cadastradas.

3. O software requere através de Web Service a consulta da receita

escolhida.

4. O Servidor busca no banco de dados pelos produtos contidos na

receita escolhida.

5. Servidor retorna para o cliente também utilizando web service os

produtos da receita que já foram usados e não estão mais no

estoque.

o Alternativas:

3a. O software falha ao tentar transmitir o pedido de consulta ao

servidor por falta de conexão com a internet e exibe mensagem de erro,

mostrando os dados da ultima consulta, disponíveis no Banco de Dados

SQLite local.

Page 23: UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E … · 2015-06-18 · Com o aumento do uso de smartphones, suas tecnologias e utilidades foram aumentando e também a qualidade

23

Caso de Uso -- Editar Lista de Compra:

o Este caso de uso é iniciado quando o usuário decide adicionar ou

remover algum produto da lista de compras.

1. Usuário navega até a seção "Lista de Compras" do software.

2. Escolhe uma Lista de Compras.

3. Usuário escolhe a opção editar lista".

4. Usuário adiciona ou remove um produto da lista.

5. O software requere através de Web Service a alteração da lista de

compras no servidor.

6. Banco de Dados é atualizado.

7. Servidor retorna para o cliente também utilizando Web Service a

nova lista de compras atualizada.

o Alternativas:

4a. O software falha ao tentar transmitir o pedido de consulta ao

servidor por falta de conexão com a internet e exibe mensagem de erro.

Caso de Uso -- Editar Receita:

o Este caso de uso é iniciado quando o usuário decide adicionar ou

remover algum produto necessário na receita selecionada.

1. Usuário navega até a seção "Receitas" do software.

2. Usuário escolhe uma receita dentre as receitas cadastradas.

3. Usuário escolhe a opção "editar receita".

4. Usuário adiciona ou remove um ou mais produtos da lista.

5. O software requere através de Web Service a alteração da receita

selecionada no servidor.

6. Banco de Dados é atualizado.

7. Servidor retorna para o cliente também utilizando Web Service a

receita atualizada.

o Alternativas:

5a. O software falha ao tentar transmitir o pedido de consulta ao

servidor por falta de conexão com a internet e exibe mensagem de erro.

Caso de Uso -- Criar Receita:

o Este caso de uso é iniciado quando o usuário decide criar uma nova

receita.

1. Usuário navega até a seção "Receitas" do software.

2. Usuário escolhe a opção "criar receita".

3. Usuário adiciona os produtos do estoque que consistem a receita.

4. Usuário da um nome à receita.

5. Usuário escolhe a quantidade necessária de cada produto.

6. O software requere através de Web Service a criação da receita.

7. Banco de Dados é atualizado.

8. Servidor retorna para o cliente também utilizando Web Service a

nova lista de receitas atualizada.

o Alternativas:

5a. O software falha ao tentar transmitir o pedido de consulta ao

servidor por falta de conexão com a internet e exibe mensagem de erro.

Page 24: UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E … · 2015-06-18 · Com o aumento do uso de smartphones, suas tecnologias e utilidades foram aumentando e também a qualidade

24

3.2.3. Diagrama de Classes

Diagrama de Classes é uma representação da estrutura e relações

das classes que servem de modelo para objetos. É uma modelagem muito

útil para o sistema, definindo todas as classes que o sistema necessita

possuir.

3.2.3.1. Diagrama de Classes do software Cliente no iPhone

Figura 5: Diagrama de Classes do software Cliente no iPhone.

A Figura 5 ilustra o Diagrama de Classes do Cliente. No cliente,

tudo parte de uma Tela Inicial, representada pela classe Controle de

Estoque. Esta, tem 3 ações. Consultar Estoque, Consultar Lista de

Compras e Consultar Receitas.

Consultar Estoque leva à classe Estoque, que possui apenas os

atributos Produto e Quantidade, obtidos do servidor para apresentar para

o usuário.

Consultar Receitas leva à classe Receitas, que possui o nome da

receita, produtos, e as quantidades do mesmo necessárias para a receita

em questão. A partir desta classe, tem-se 3 ações: Criar Receitas,

Remover Receitas e Editar Receitas.

Page 25: UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E … · 2015-06-18 · Com o aumento do uso de smartphones, suas tecnologias e utilidades foram aumentando e também a qualidade

25

Consultar Lista de Compras leva à classe Lista de Compras, que

possui o nome da lista de compras, produtos, e as quantidades do mesmo

desejadas para lista de compras em questão. A partir desta classe, tem-se

3 ações: Criar Lista de Compras, Remover Lista de Compras e Editar

Lista de Compras.

3.2.4. Diagrama de Sequência

Diagrama de Sequência (ou Diagrama de Sequência de

Mensagens) é um diagrama usado em UML (Unified Modeling

Language), representando a sequência de processos num programa de

computador. Como um projeto pode ter uma grande quantidade de

métodos em classes diferentes, pode ser difícil determinar a sequência

global do comportamento do mesmo. O diagrama de sequência representa

essa informação de uma forma simples e lógica.

3.2.4.1. Diagrama de Sequência do cenário Adição/Remoção Produtos

Figura 6: Diagrama de Sequência do cenário Adição/Remoção Produtos.

Conforme ilustra a Figura 6, toda vez em que um novo produto

entra no depósito onde ficaria o estoque, o mesmo passa pelo leitor RFID,

que lê a tag contida na embalagem do produto, e envia um código único e

Page 26: UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E … · 2015-06-18 · Com o aumento do uso de smartphones, suas tecnologias e utilidades foram aumentando e também a qualidade

26

o nome do produto para o servidor, através de um cabo USB, que então

adiciona o produto ao estoque, caso o código já não esteja cadastrado.

Desta mesma forma, quando um produto é utilizado, ao ser

removido do estoque, ele passa pelo leitor RFID, e quando o servidor

detecta que o código único já está cadastrado no banco de dados, ele sabe

que se trata de uma remoção, portanto marca o produto como esgotado ou

fora de estoque.

3.2.4.2. Diagrama de Sequência do cenário Consulta de Estoque

Figura 7: Diagrama de Sequência do cenário Consulta de Estoque.

Para o cliente fazer uma consulta de estoque, a sequência a ser

seguida, como mostra a Figura 7, é o cliente enviar um pedido de

consulta de estoque para o servidor.

Page 27: UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E … · 2015-06-18 · Com o aumento do uso de smartphones, suas tecnologias e utilidades foram aumentando e também a qualidade

27

Este por sua vez faz uma busca no banco de dados por todos

produtos marcados como disponível em estoque, o banco de dados

retorna o resultado da busca que é então enviado pelo servidor para o

cliente (iPhone) que mostra o resultado de forma amigável e clara para o

usuário.

3.2.4.3. Diagrama de Sequência do cenário Consulta de Receita

Figura 8: Diagrama de Sequência do cenário Consulta de Receita.

Neste cenário também, para o cliente fazer uma consulta de

determinada receita, a sequência a ser seguida, como mostra a figura 8, é

semelhante a consulta de estoque.

Porém desta vez o servidor faz a busca de disponibilidade de

produtos no banco de dados de apenas os produtos contidos na receita

informada pelo cliente para o servidor. O banco de dados retorna então os

Page 28: UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E … · 2015-06-18 · Com o aumento do uso de smartphones, suas tecnologias e utilidades foram aumentando e também a qualidade

28

produtos não disponíveis para o servidor, que são então enviados pelo

servidor para o cliente (iPhone), que mostra ao usuário quais ingredientes

necessitam ser comprados para realizar a receita desejada.

3.2.4.4. Diagrama de Sequência do cenário Consulta de Lista de Compras

Figura 9: Diagrama de Sequência do cenário Consulta de Lista de Compras.

Neste cenário também, para o cliente fazer uma consulta da lista de

produtos a serem comprados, a sequência a ser seguida, como mostra a

Figura 9, é semelhante a consulta de estoque e a consulta de determinada

receita.

Porém neste caso o servidor faz a busca por produtos marcados

como fora de estoque no banco de dados. O banco de dados retorna então

os produtos marcados como fora de estoque para o servidor, então envia

para o cliente (iPhone), que mostra ao usuário quais produtos necessitam

ser comprados.

Page 29: UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E … · 2015-06-18 · Com o aumento do uso de smartphones, suas tecnologias e utilidades foram aumentando e também a qualidade

29

3.2.5. Prototipação de Telas

Através da prototipação de telas, pode-se ter uma idéia de como o

sistema será quando desenvolvido, permitindo ver possíveis e importantes

melhoras na interface do programa ainda em etapa de desenvolvimento, o

que torna bem mais fácil uma eventual correção necessária.

3.2.5.1. Tela Principal

Figura 10: Tela Principal.

A partir desta tela que o usuário pode acessar todas as

funcionalidades do cliente desenvolvido para o iPhone. A tela consiste

em fornecer três opções ao usuário:

Ver Estoque;

Ver Lista de Receitas;

Ver Lista de Compras;

Ir para tela de Configurações;

Page 30: UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E … · 2015-06-18 · Com o aumento do uso de smartphones, suas tecnologias e utilidades foram aumentando e também a qualidade

30

3.2.5.2. Tela Visualização de Estoque

Figura 11: Visualização do Estoque.

Nesta tela, o usuário visualiza todos os produtos em estoque, dado

este fornecido pelo banco de dados do servidor. Produtos que foram

consumidos ou retirados do estoque não aparecem aqui. A partir desta

tela o usuário pode voltar para a tela principal.

Page 31: UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E … · 2015-06-18 · Com o aumento do uso de smartphones, suas tecnologias e utilidades foram aumentando e também a qualidade

31

3.2.5.3. Tela Visualização de Lista de Compras

Figura 12: Visualização da Lista de Compras.

Nesta tela, o usuário visualiza todas as listas de compras

cadastradas, podendo abrir cada uma delas para visualizar

detalhadamente cada item que consiste a lista, podendo adicionar ou

remover itens ou também pode ir para uma tela de criação de nova lista

de compras ou voltar para a tela principal.

Page 32: UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E … · 2015-06-18 · Com o aumento do uso de smartphones, suas tecnologias e utilidades foram aumentando e também a qualidade

32

3.2.5.4. Tela Criação de nova Lista de Compras

Figura 13: Criação de nova Lista de Compras.

Nesta tela, o usuário dá o nome à nova lista de compras, adiciona

itens a mesma, edita a quantidade necessária de cada item, e salva a nova

lista de compras no servidor.

Page 33: UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E … · 2015-06-18 · Com o aumento do uso de smartphones, suas tecnologias e utilidades foram aumentando e também a qualidade

33

3.2.5.5. Tela Visualização detalhada de Lista de Compras

Figura 14: Visualização detalhada de nova Lista de Compras.

Nesta tela, o usuário visualiza os itens contidos na lista de compras

escolhida e não disponíveis no estoque, assim como a quantidade a ser

comprada. A partir desta tela é possível editar a lista, adicionando,

removendo e modificando a quantidade de cada item desejada.

Page 34: UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E … · 2015-06-18 · Com o aumento do uso de smartphones, suas tecnologias e utilidades foram aumentando e também a qualidade

34

3.2.5.6. Tela Visualização das Receitas cadastradas

Figura 15: Visualização das Receitas cadastradas.

Nesta tela, o usuário visualiza todas as receitas cadastradas no

servidor, a partir desta tela o usuário pode ir para a tela de Visualização

detalhada de Receitas, para a tela de Criação de Receitas ou voltar para a

tela principal.

Page 35: UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E … · 2015-06-18 · Com o aumento do uso de smartphones, suas tecnologias e utilidades foram aumentando e também a qualidade

35

3.2.5.7. Tela Criação de nova Receita

Figura 16: Criação de nova Receita.

Nesta tela, o usuário da o nome à nova receita, adiciona itens a

mesma, edita a quantidade necessária de cada item, Edita a instrução para

a receita, e salva a nova receita no servidor.

Page 36: UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E … · 2015-06-18 · Com o aumento do uso de smartphones, suas tecnologias e utilidades foram aumentando e também a qualidade

36

3.2.5.8. Tela Visualização detalhada de Receita

Figura 17: Visualização detalhada de Receita.

Nesta tela, o usuário visualiza a receita escolhida, tendo acesso à

lista completa de ingredientes, assim como à lista de ingredientes não

disponíveis no estoque necessários para a receita escolhida, além de

poder consultar instruções de como realizar a receita.

A partir desta tela é possível editar a receita, adicionando,

removendo e modificando a quantidade de cada item desejada e a

instrução.

Page 37: UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E … · 2015-06-18 · Com o aumento do uso de smartphones, suas tecnologias e utilidades foram aumentando e também a qualidade

37

3.2.5.9. Tela de Configuração

Figura 18: Visualização da tela de configuração.

Esta tela permite que o usuário configure o IP do Servidor para que

seja possível estabelecer comunicação com o mesmo.

Page 38: UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E … · 2015-06-18 · Com o aumento do uso de smartphones, suas tecnologias e utilidades foram aumentando e também a qualidade

38

4. VALIDAÇÃO E RESULTADOS

O teste realizado, de Performance X Escalabilidade, consiste

basicamente, em analisar o desempenho do tempo de acesso, de acordo

com o número de clientes usando o serviço ao mesmo tempo, para poder

se ter uma idéia de quantos usuários o projeto poderia suportar em uma

condição extrema.

Como obter um grande número de iPhones para realizar estes testes

é inviável, o teste de escalabilidade baseia-se em um programa

desenvolvido em C# que, com múltiplas threads, realiza consultas

simultâneas ao Web Service, obtendo o tempo de resposta com diferentes

números de threads, simulando assim vários clientes.

4.1. Teste de Escalabilidade

Figura 19: Teste de Escalabilidade Threads x Tempo

Como pode se observar na Figura 19, o gráfico mostra o

desempenho do sistema analisando o número de threads e o tempo de

resposta do servidor. Neste gráfico, o número de Threads está

representado pelo eixo X e o tempo em milissegundos no eixo Y.

Page 39: UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E … · 2015-06-18 · Com o aumento do uso de smartphones, suas tecnologias e utilidades foram aumentando e também a qualidade

39

Para a formação do gráfico, foram realizadas 3 medições para cada

número de Threads, obtendo então a média entre estes três valores para

fazer o gráfico. O teste foi realizado com um Cliente Teste, desenvolvido

em C#, rodando no mesmo computador que o servidor, para que a

velocidade de conexão não fosse um fator de interferência.

A seguir, tem-se uma tabela com todos os resultados obtidos:

Número Threads Tempo (ms)

1 8.0005

1 8.0004

1 8.0005

5 32.0018

5 44.0025

5 28.0016

10 74.0042

10 85.0049

10 113.0065

25 227.0130

25 137.0079

25 166.0095

50 680.0389

50 375.0215

50 361.0207

100 763.0436

100 611.0350

100 721.0412

Page 40: UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E … · 2015-06-18 · Com o aumento do uso de smartphones, suas tecnologias e utilidades foram aumentando e também a qualidade

40

5. CONCLUSÃO

A idéia do projeto era de desenvolver um controle de estoque a

distância por dispositivo móvel, utilizando um leitor de RFID para

adicionar e remover produtos no estoque, criando um banco de dados no

servidor com o estoque, listas de compras e receitas.

Com o dispositivo móvel, e através de serviços Web Service, se

comunicar com o servidor e ter acesso a distância ao estoque e

quantidade de cada produto, quais produtos estão faltando para realizar

uma receita escolhida, lista de compras com produtos que não estão mais

em estoque e deseja-se comprar.

O objetivo inicial foi concluído em sua íntegra, com o

complemento do uso de um banco de dados SQLite local para o Cliente,

para que quando o mesmo estivesse sem conexão com a internet, o

usuário pudesse ter acesso as funcionalidades básicas, como acesso ao

estoque, receitas e listas de compras, mesmo que desatualizados.

Com os resultados apresentados no capítulo 4, pode-se também

observar que, quanto a escalabilidade do sistema, para uma demanda de

médio porte, com até 100 conexões simultâneas, o sistema ainda possui

um tempo de resposta aceitável. Para uma demanda muito maior, a

solução já demonstra problemas quanto ao acesso simultâneo, chegando a

demorar mais de 3 segundos para realizar uma consulta ao Web Service

com 500 Threads simultâneas, o que tornaria o uso inviável.

Como trabalhos futuros, pode-se sugerir a implementação de

criptografia na comunicação cliente/servidor do Web Service, para maior

segurança de dados, que pode vir a ser importante dependendo da

aplicação dada ao sistema. Também, a portabilidade do Cliente para o

iPad, com uma interface adaptada para este tipo de dispositivo, e para a

plataforma Android, podendo assim atingir um número muito maior de

dispositivos que possam usufruir do sistema.

Page 41: UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E … · 2015-06-18 · Com o aumento do uso de smartphones, suas tecnologias e utilidades foram aumentando e também a qualidade

41

6. Referencias Bibliográficas

[Wikipedia, 11] Wikipedia - Disponível em http://www.wikipedia.org .

Acessado em 23/10/2011.

[iOS, 11] iOS Dev Center - Apple Developer - Disponível em

http://developer.apple.com/devcenter/ios . Acessado em 23/10/2011.

[Mark, 09] MARK, D.; LAMARCHE, J. - Beginning iPhone

Development - Exploring the iPhone SDK

[Sadun, 08] SADUN, E. - The iPhone Developer's Cookbook - Building

Applications with the iPhone SDK

Page 42: UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E … · 2015-06-18 · Com o aumento do uso de smartphones, suas tecnologias e utilidades foram aumentando e também a qualidade

42

APÊNDICE A - RESUMO ESTENDIDO

Com o aumento do uso de smartphones, suas tecnologias e

utilidades foram aumentando e também o acesso à internet através de

dispositivos móveis foram ficando mais acessíveis e próximas a

qualidade com que temos em nossas casas.

Um fato que mudou bastante as possibilidades de uso de um

smartphone, foi o surgimento de plataformas como o iOS, do iPhone, e

Android, utilizado em diversos dispositivos.

Outra tecnologia que é relativamente recente e se popularizou nos

últimos anos, tornando seu uso mais acessível, é o RFID (Radio-

frequency identification). O RFID funciona com um leitor fixo, e com

tags (etiquetas) RFID, que contém informações a serem lidas pelo leitor,

que passa esta informação para um computador através de um cabo serial

ou USB, dependendo do leitor em uso.

Com isso, surge então a idéia de desenvolver um controle de

estoque a distância por dispositivo móvel, utilizando um leitor de RFID

para ler os dados de cada produto que estão gravados em sua tag, criar um

banco de dados no servidor com o estoque, listas de compras e receitas.

Com o dispositivo móvel, e através de terminais Web Service, se

comunicar com o servidor e poder saber, a distância, quais os produtos a

serem repostos, quais produtos faltam para determinada receita,

disponibilidade de determinado produto e quantidade, etc.

Para isto, cada produto terá uma tag RFID passiva contendo

informações sobre o mesmo. O leitor RFID ficará em um lugar fixo, por

onde passará todos produtos comprados e sempre que algum for retirado

para ser utilizado. O servidor ficará no mesmo local que o leitor RFID,

conectado ao mesmo com um cabo serial, recebendo assim o código do

produto e suas informações, atualizando o estoque no banco de dados do

servidor.

Page 43: UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E … · 2015-06-18 · Com o aumento do uso de smartphones, suas tecnologias e utilidades foram aumentando e também a qualidade

43

O software do servidor e do iPhone, utilizando terminais Web

Service, permitirá que o usuário, através do iPhone, consulte o servidor,

para obter dados como a disponibilidade de determinado produto, lista de

compras com produtos em falta, produtos necessários para determinada

receita, criação de novas receitas, criação de novas listas de compras,

dentre outros.

O cliente, que será um software desenvolvido para o iPhone, tem

como função principal apresentar os dados para o usuário. O cliente

obterá dados como estoque, produtos que precisam ser comprados, dentre

outros, fazendo pedidos para o servidor, que faz consultas em seu banco

de dados e retorna os dados já filtrados para o cliente. Restando assim,

muito pouco processamento para o cliente realizar, o que é bom, visto

que o servidor tem um poder computacional muito mais que o de um

dispositivo móvel, no caso o iPhone.

Page 44: UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E … · 2015-06-18 · Com o aumento do uso de smartphones, suas tecnologias e utilidades foram aumentando e também a qualidade

44

APÊNDICE B - ARTIGO CIENTÍFICO

Controle de estoque a distância por dispositivo móvel Rafael Moia Vargas – [email protected]

Graduando em Engenharia da Computação, Universidade Positivo

Fone: (+55) 41 99552191

Alessandro Brawerman – [email protected]

Professor – Curso de Engenharia da Computação – Universidade Positivo

Fone: (+55) 41 3317-3000

Endereço para contato:

Universidade Positivo, Curso de Engenharia da Computação

Rua Prof. Pedro Viriato Parigot de Souza, 5300 – Campo Comprido

81280-330, Curitiba – PR

Tel.: (+55) 41 3317-3000

Resumo

Este projeto propõe a criação de uma solução que possibilita o controle de

estoque a distância por dispositivo móvel. Com o aumento do uso de smartphones, suas

tecnologias e utilidades foram aumentando e também a qualidade do acesso à Internet foi

se tornando mais próxima a de que temos em nossas casas, assim como sua

disponibilidade e custo tiveram uma melhora significativa. Outra tecnologia recente e

que se popularizou nos últimos anos, tornando seu uso mais acessível, é o RFID

(Radio-frequency identification).

Com isso, surge então a idéia de desenvolver um controle de estoque a

distância por dispositivo móvel, utilizando um leitor de RFID para ler os dados de

cada produto que estão gravados em sua tag, criar um banco de dados no servidor

com o estoque, listas de compras e receitas. Com o dispositivo móvel, e através de

serviços Web Service, se comunicar com o servidor e poder saber, a distância, quais

os produtos a serem repostos, quais produtos faltam para determinada receita,

disponibilidade de determinado produto e quantidade, etc.

Desta forma é possível, utilizando-se da tecnologia dos dispositivos móveis

atuais, da Internet móvel e da tecnologia RFID, criar uma solução para consulta de

estoque a distância com uma grande flexibilidade de acesso e funcionalidade.

Palavras-Chave: dispositivos móveis, RFID, controle de estoque, Web Service.

Page 45: UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E … · 2015-06-18 · Com o aumento do uso de smartphones, suas tecnologias e utilidades foram aumentando e também a qualidade

45

Abstract

This project proposes the creation of a solution to allow the remote inventory

control through the usage of mobile devices. With the increasing usage of

smartphones, their technologies and functionalities have improved greatly, among

with it's Internet access capabilities, which became much more similar to the Internet

access people have in their homes. Another technology that is relatively new and has

been used with more frequency in the last few years, making it's usage more viable, is

the RFID (Radio-frequency identification).

Taking all this in consideration, arises the idea of developing a remote

inventory control, through the usage of a mobile device, in this particular case the

iPhone, using a RFID reader to read the information of each product, and insert into a

database on the server to create the inventory, allowing the user to create a list with

Recipes, a list with Shopping Lists. With the mobile device, and Web Service, allow

the user to communicate with the server and be able to access, remotely, the

inventory, detailing the quantity of each product, what products need to be

repurchased, which products are missing to be able to make a chosen recipe, among

other functionalities.

In this matter, it is possible, using the technology provided by the smartphones

and platforms, mobile Internet and RFID, to create a solution to remotely control and

check your inventory with a great flexibility of access and many possibilities of

functionalities, with a very user friendly interface, something that wasn't possible

some years ago.

Keywords: mobile devices, RFID, inventory control, web service.

1. INTRODUÇÃO

Com o aumento do uso de smartphones, suas tecnologias e utilidades foram

aumentando e também a qualidade do acesso à Internet através de dispositivos móveis

foi se tornando mais próxima a de que temos em nossas casas, assim como sua

disponibilidade e custo tiveram uma melhora significativa.

Um fato que mudou bastante as possibilidades de uso de um smartphone, foi o

surgimento de plataformas como o iOS, da Apple, presente no iPhone, iPod e iPad, e

Android, da Google, utilizado em diversos dispositivos de diversas marcas.

Outra tecnologia que é relativamente recente e se popularizou nos últimos

anos, tornando seu uso mais acessível, é o RFID (Radio-frequency identification). O

RFID funciona com um leitor fixo, e com tags (etiquetas) RFID, que contém

informações a serem lidas pelo leitor, que passa esta informação para um computador

através de um cabo serial ou USB, dependendo do leitor em uso.

Com isso, surgiu então a idéia de desenvolver um controle de estoque a

distância por dispositivo móvel, utilizando um leitor de RFID para adicionar e

Page 46: UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E … · 2015-06-18 · Com o aumento do uso de smartphones, suas tecnologias e utilidades foram aumentando e também a qualidade

46

remover produtos no estoque, criando um banco de dados no servidor com o estoque,

listas de compras e receitas.

Com o dispositivo móvel, e através de serviços Web Service, se comunicar

com o servidor e ter acesso a distância ao estoque e quantidade de cada produto, quais

produtos estão faltando para realizar uma receita escolhida, lista de compras com

produtos que não estão mais em estoque e deseja-se comprar.

Para isto, cada produto deve ter uma tag RFID passiva contendo um código

único. O leitor RFID ficará em um lugar fixo, por onde passará todos produtos

comprados e sempre que algum for retirado para ser utilizado. O servidor ficará no

mesmo local que o leitor RFID, conectado ao mesmo com um cabo USB, recebendo

assim o código do produto, atualizando o estoque no banco de dados do servidor.

O software do servidor e do iPhone, utilizando Web Service, permite que o

usuário, remotamente, consulte o servidor, para obter dados como a disponibilidade

de determinado produto, lista de compras com produtos em falta, produtos necessários

para determinada receita, criação de novas receitas, criação de novas listas de

compras, dentre outros.

O cliente, um software desenvolvido para o iPhone, tem como função

principal apresentar os dados para o usuário. O cliente obterá dados como estoque,

produtos que precisam ser comprados, dentre outros, fazendo pedidos para o servidor,

que faz consultas em seu banco de dados e retorna os dados já filtrados para o mesmo.

Restando assim, menos processamento para o cliente realizar, fato importante, visto

que o servidor tem um poder computacional muito maior que o de um dispositivo

móvel, no caso o iPhone.

2. DESCRIÇÃO DO PROJETO

o projeto tem como idéia desenvolver um controle de estoque automatizado,

controlado remotamente por um dispositivo móvel, utilizando um leitor RFID e tags

em cada produto para a formação do estoque.

Os Hardwares utilizados no projeto são: iPhone 4, servidor, leitor RFID e tags

RFID.

Conforme a Figura 1 mostra, a tag RFID é lida pelo leitor, que envia a

informação através de um cabo USB para o computador, que atualiza o banco de

dados. O iPhone, remotamente, através da Internet, se conectando através de seu

modem 3G ou Wi-Fi, acessa o servidor, com um pedido ao Web Service

implementado, obtendo os dados para apresentar para o usuário.

Page 47: UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E … · 2015-06-18 · Com o aumento do uso de smartphones, suas tecnologias e utilidades foram aumentando e também a qualidade

47

Figura 1: Representação do Projeto.

O software do iPhone possui como funcionalidade, além de as básicas, como

consultar o estoque, consultar receitas e lista de compras, a habilidade de

remotamente editar ingredientes e instruções de receitas já existentes, deletar receitas,

criar novas receitas. Editar lista de compras, deletar lista de compras e criar novas

lista de compras.

Para este projeto, foram utilizadas 10 tags RFID do tipo chaveiro modelo

SLK01 da Strong Link, ilustrados na Figura 2, com as seguintes características:

• Frequência de 125 KHz e 13.56 MHz;

• Chipset TK4100, Mifare 1k;

• Temperatura de funcionamento de -10° a +50°.

Figura 2: Tags RFID SLK01.

Page 48: UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E … · 2015-06-18 · Com o aumento do uso de smartphones, suas tecnologias e utilidades foram aumentando e também a qualidade

48

O leitor RFID utilizado foi o SL102 da Strong Link, conforme Figura 3, com

as seguintes características:

• Frequência de 125 KHz;

• Interface USB Plug and Play (simula teclado);

• Temperatura de funcionamento de -10° a +70°;

• Dimensões: 120 × 83 × 27 mm;

• Peso: 160g;

Figura 3: Leitor RFID SL102.

O motivo para a escolha destas Tags e deste Leitor, deve-se dentre outras

coisas, ao bom custo/benefício dos produtos, atendendo as necessidades básicas

exigidas pelo projeto. A aquisição dos mesmos não foi de grande dificuldade, apesar

de ter sido importado de outro país. Outra vantagem é a comunicação do leitor RFID

com o computador, que se da por um cabo USB. O leitor envia os 10 dígitos da Tag

lida para o computador, via USB, como se fosse a entrada de um teclado, facilitando

bastante a aquisição da leitura pelo software do servidor.

Algumas limitações importantes a destacar, entretanto, é a distância de leitura

curta (aproximadamente 5 centímetros), que para uma aplicação prática do projeto é

inferior à uma distância aceitável. Outra limitação, é a impossibilidade de passar duas

tags simultaneamente.

Para a limitação de distância, esta pode facilmente ser eliminada com um

investimento um pouco maior em um leitor com maior distância de leitura e uma tag

compatível. Isto só não foi feito pois para efeito de projeto a distância alcançada com

estes equipamentos já é suficiente.

Page 49: UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E … · 2015-06-18 · Com o aumento do uso de smartphones, suas tecnologias e utilidades foram aumentando e também a qualidade

49

3. RESULTADOS

Para análise de resultados do projeto, foram realizados testes para se avaliar

seu desempenho.

O teste realizado, de Performance X Escalabilidade, consiste basicamente, em

analisar o desempenho do tempo de acesso, de acordo com o número de clientes

usando o serviço ao mesmo tempo, para poder se ter uma idéia de quantos usuários o

projeto poderia suportar em uma condição extrema.

Como obter um grande número de iPhones para realizar estes testes é inviável,

o teste de escalabilidade baseia-se em um programa desenvolvido em C# que, com

múltiplas threads, realiza consultas simultâneas ao Web Service, obtendo o tempo de

resposta com diferentes números de threads, simulando assim vários clientes.

Figura 4: Teste de Escalabilidade Threads x Tempo

Como pode se observar na Figura 19, o gráfico mostra o desempenho do

sistema analisando o número de threads e o tempo de resposta do servidor. Neste

gráfico, o número de Threads está representado pelo eixo X e o tempo em

milissegundos no eixo Y.

Para a formação do gráfico, foram realizadas 3 medições para cada número de

Threads, obtendo então a média entre estes três valores para fazer o gráfico. O teste

Page 50: UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E … · 2015-06-18 · Com o aumento do uso de smartphones, suas tecnologias e utilidades foram aumentando e também a qualidade

50

foi realizado com um Cliente Teste, desenvolvido em C#, rodando no mesmo

computador que o servidor, para que a velocidade de conexão não fosse um fator de

interferência.

A seguir, tem-se uma tabela com todos os resultados obtidos:

Número Threads Tempo (ms)

1 8.0005

1 8.0004

1 8.0005

5 32.0018

5 44.0025

5 28.0016

10 74.0042

10 85.0049

10 113.0065

25 227.0130

25 137.0079

25 166.0095

50 680.0389

50 375.0215

50 361.0207

100 763.0436

100 611.0350

100 721.0412

Com os resultados, pode-se dizer que a solução permite atender a uma

demanda de médio porte, com até 100 conexões simultâneas, sem grandes problemas.

Page 51: UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E … · 2015-06-18 · Com o aumento do uso de smartphones, suas tecnologias e utilidades foram aumentando e também a qualidade

51

4. CONCLUSÕES

A idéia do projeto era de desenvolver um controle de estoque a distância por

dispositivo móvel, utilizando um leitor de RFID para adicionar e remover produtos no

estoque, criando um banco de dados no servidor com o estoque, listas de compras e

receitas.

Com o dispositivo móvel, e através de serviços Web Service, se comunicar

com o servidor e ter acesso a distância ao estoque e quantidade de cada produto, quais

produtos estão faltando para realizar uma receita escolhida, lista de compras com

produtos que não estão mais em estoque e deseja-se comprar.

O objetivo inicial foi concluído em sua íntegra, com o complemento do uso de

um banco de dados SQLite local para o Cliente, para que quando o mesmo estivesse

sem conexão com a internet, o usuário pudesse ter acesso as funcionalidades básicas,

como acesso ao estoque, receitas e listas de compras, mesmo que desatualizados.

Com os resultados apresentados no capítulo 3, pode-se também observar que,

quanto a escalabilidade do sistema, para uma demanda de médio porte, com até 100

conexões simultâneas, o sistema ainda possui um tempo de resposta aceitável. Para

uma demanda muito maior, a solução já demonstra problemas quanto ao acesso

simultâneo, chegando a demorar mais de 3 segundos para realizar uma consulta ao

Web Service com 500 Threads simultâneas, o que tornaria o uso inviável.

Como trabalhos futuros, pode-se sugerir a implementação de criptografia na

comunicação cliente/servidor do Web Service, para maior segurança de dados, que

pode vir a ser importante dependendo da aplicação dada ao sistema. Também, a

portabilidade do Cliente para o iPad, com uma interface adaptada para este tipo de

dispositivo, e para a plataforma Android, podendo assim atingir um número muito

maior de dispositivos que possam usufruir do sistema.

5. REFERÊNCIAS BIBLIOGRÁFICAS

[Wikipedia, 11] Wikipedia - Disponível em http://www.wikipedia.org . Acessado em

23/10/2011.

[iOS, 11] iOS Dev Center - Apple Developer - Disponível em

http://developer.apple.com/devcenter/ios . Acessado em 23/10/2011.

[Mark, 09] MARK, D.; LAMARCHE, J. - Beginning iPhone Development -

Exploring the iPhone SDK

[Sadun, 08] SADUN, E. - The iPhone Developer's Cookbook - Building Applications

with the iPhone SDK