63
UnicenP Curso de Engenharia da Computação SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM PDA'S 2002

SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

1

UnicenP

Curso de Engenharia da Computação

SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL

BASEADO EM PDA'S

2002

Page 2: SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

2

UNICENP – CENTRO UNIVERSITÁRIO POSITIVO

NÚCLEO DE CIÊNCIAS EXATAS E DE TECNOLOGIA

CURSO DE ENGENHARIA DA COMPUTAÇÃO

PROJETO FINAL – ESPECIFICAÇÃO E PROEJTO

SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL

BASEADO EM PDA’S

Autor: Tatiana Alves Lessnau

Prof. Orientador: Emerson Paraiso

CURITIBA

29/11/02

Page 3: SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

ii

SUMÁRIO

LISTA DE FIGURAS............................................................................................................................... iii LISTA DE TABELAS.............................................................................................................................. iv LISTA DE ABREVIATURAS E SIGLAS................................................................................................ v RESUMO.................................................................................................................................................. vi ABSTRACT ............................................................................................................................................ vii 1. INTRODUÇÃO................................................................................................................................ 1 2. ESPECIFICAÇÃO ........................................................................................................................... 2

2.1. DESCRIÇÃO ................................................................................................................................. 2 2.1.1. DESCRIÇÃO GERAL DO SISTEMA E ASPECTOS FUNCIONAIS ................................. 2 2.1.2. DESCRIÇÃO DOS MÓDULOS COMPONENTES DO SISTEMA..................................... 3 2.1.2.1. Banco de Dados ................................................................................................................... 4 2.1.2.2. Servidor Web ....................................................................................................................... 4 2.1.2.3. Aplicação Local - Cliente .................................................................................................... 4 2.1.2.4. Protocolos de Comunicação................................................................................................. 5

2.2. ESTUDO TEÓRICO...................................................................................................................... 5 2.2.1. ESTUDO TEÓRICO SOBRE O SGBD................................................................................. 5 2.2.2. ESTUDO TEÓRICO SOBRE O SERVIDOR WEB............................................................... 8 2.2.3. ESTUDO TEÓRICO SOBRE A APLICAÇÃO LOCAL - CLIENTE................................... 9 2.2.4. ESTUDO TEÓRICO SOBRE A COMUNICAÇÃO............................................................ 10

2.3. ESPECIFICAÇÕES DE HARDWARE....................................................................................... 11 2.3.1. DIAGRAMA EM BLOCOS................................................................................................. 11 2.3.2. FUNÇÕES DO SISTEMA ................................................................................................... 11 2.3.3. REQUISITOS DE HARDWARE......................................................................................... 12 2.3.4.AMBIENTE DE DESENVOLVIMENTO............................................................................ 12

2.4. ESPECIFICAÇÃO DO SOFTWARE.......................................................................................... 12 2.4.1. AMBIENTE DE DESENVOLVIMENTO........................................................................... 13 2.4.2. LINGUAGENS E FERRAMENTAS DE SOFTWARE ...................................................... 13 2.4.3. INTERFACE COM O USUÁRIO........................................................................................ 14 2.4.4. DIAGRAMA EM BLOCOS................................................................................................. 14 2.4.5. FUNÇÕES A SEREM PROVIDAS..................................................................................... 15 2.4.5.1. Aplicação Local - Cliente .................................................................................................. 15 2.4.5.2. Módulo Web - Servidor...................................................................................................... 15

2.5. EXEMPLO DE APLICAÇÃO..................................................................................................... 17 2.6. ESPECIFICAÇÃO DA VALIDAÇÃO DO PROJETO............................................................... 18

3. PROJETO ....................................................................................................................................... 19 3.1. DIAGRAMA DE FLUXOS DE DADOS .................................................................................... 19 3.2. DIAGRAMA DE ENTIDADES E RELACIONAMENTOS ...................................................... 28

3.2.1. ESPECIFICAÇÃO DAS TABELAS.................................................................................... 30 3.3. DIAGRAMA DE CLASSES ....................................................................................................... 34 3.4 PROJETO DE INTERFACES ...................................................................................................... 36 3.5. CONSIDERAÇÕES SOBRE O PROJETO ................................................................................. 42

3.5.1. BANCO DE DADOS ........................................................................................................... 42 3.5.2. CLIENTE.............................................................................................................................. 42 3.5.3. SERVIDOR .......................................................................................................................... 43

3.6. FERRAMENTAS UTILIZADAS................................................................................................ 44 5. ANEXO A – ANÁLISE DE CONCORRÊNCIA........................................................................... 48 6. ANEXO B – ANÁLISE DE PDA’S............................................................................................... 48 7. ANEXO C - CRONOGRAMA ...................................................................................................... 50 8. ANEXO D – ESTIMATIVA DE CUSTOS ................................................................................... 51 9. ANEXO E – SCRIPT DO BANCO DE DADOS........................................................................... 52 10. REFERÊNCIAS BIBLIOGRÁFICAS....................................................................................... 55

Page 4: SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

iii

LISTA DE FIGURAS

Figura 01 - Diagrama Lógico do Sistema 03

Figura 02 - Diagrama com Módulos de Hardware Principais 11

Figura 03 - Módulos da Plataforma Java 2 13

Figura 04 - Diagrama com Módulos de Software Principais 14

Figura 05 - DFD-0, Diagrama de Contexto 20

Figura 06 - DFD-1 21

Figura 07 - DFD-2, Processo 1 22

Figura 08 - DFD-3, Processo 1.2 23

Figura 09 - DFD-2, Processo 2 24

Figura 10 - DFD-2, Processo 3 25

Figura 11 - DFD-2, Processo 4 26

Figura 12 - DFD-2, Processo 5 27

Figura 13 - Diagrama de Entidades e Relacionamentos 29

Figura 14 - Representação Física das Tabelas – Ger. de Sistemas e Usuários 30

Figura 15 - Representação Física das Tabelas - Gerenciamento de Entidades 32

Figura 16 - Diagrama de Classes 35

Figura 17 - Cadastro de Sistemas 36

Figura 18 - Cadastro de Entidades 37

Figura 19 - Cadastro de Usuários 38

Figura 20 - Acesso de Usuário com Perfil PDA 39

Figura 21 - Interface do Sistema do PDA 40

Figura 22 - Emissão de Relatórios 41

Figura 23 - Distribuição das Atividades no Tempo 50

Figura 24 - Distribuição de Custos 51

Page 5: SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

iv

LISTA DE TABELAS

Tabela I – Comparação de PDA’s 48

Tabela II – Cronograma 50

Tabela III – Estimativa de Custos 51

Page 6: SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

v

LISTA DE ABREVIATURAS E SIGLAS

PDA – Personal Digital Assistant (Assistente Digital Pessoal)

PC – Personal Computer (Computador Pessoal)

SGBD – Sistema de Gerenciamento de Banco de Dados

IIS – Internet Information Server

PWS – Personal Web Server

RMI – Remote Method Invocation (Invocação Remota de Métodos)

ASP – Active Server Pages (Páginas com Servidor Ativo)

FTP – File Transfer Protocol (Protocolo de Transmissão de Arquivos)

XML – Extensible Markup Language

RAM – Random Access Memory (Memória de Acesso Randômico)

ROM – Read Only Memory (Memória de Somente Leitura)

J2EE – Java 2 Enterprise Edition

J2SE – Java 2 Standard Edition

J2ME – Java 2 Micro Edition

Page 7: SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

vi

RESUMO

O objetivo deste projeto é o desenvolvimento de um sistema de gerenciamento

baseado em PDA's com a característica da customização. Este sistema, com base na

arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a

aplicações Java, independentemente do hardware ou do sistema operacional. O módulo

servidor é totalmente implementado em um servidor web, em conjunto com um sistema de

gerenciamento de banco de dados. As aplicações atendidas são sistemas que necessitem de

coleta móvel de dados, como controles de venda, sistemas de pesquisa de opinião, sistemas

de requisição de produtos, entre outros. A característica marcante deste projeto em relação

às demais soluções disponíveis no mercado é justamente a customização, o que permite

que uma maior fatia do mercado de software para aplicações móveis seja atendida. Para a

implementação foi utilizada tecnologia ASP no servidor, com gerenciamento de dados no

MSDE. A opção do desenvolvimento da aplicação cliente e do módulo de comunicação em

linguagem Java foi feita para tornar o sistema independente da plataforma, gerando uma

maior diversidade de opções de PDA's para a instalação dos clientes móveis, permitindo

inclusive que, no futuro, o sistema seja executado também em telefones móveis com

suporte a Java.

Page 8: SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

vii

ABSTRACT

The objective of this project is the development of a management system based on

PDA's with the characteristic of the customization. This system, based in client-server

architecture will use as customers PDA's that support Java applications, independently of

the hardware or the operational system of the PDA. The server module is tottaly

implemented in a web server, using a data base management system. The applications this

system can handle are systems that need mobile collection of data, as selling controls,

systems of opinion research, systems of products solicitation, among others. The main

characteristic of this project in relation to another solutions available in market is exactly

the customization, wich allows that a bigger slice of the market of software for mobile

applications is attended. For the implementation, technology ASP in the server was used,

with management of data in MSDE database system. The option of the development of the

customer application and the module of communication in Java language was made to

become the system independent of the platform, being able a bigger diversity of options of

PDA's for the installation of the mobile customers, also allowing that, in the future, the

system may be also executed in mobile telephones wich support Java.

Page 9: SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

1

1. INTRODUÇÃO

Os PDA’s (Personal Digital Assistants) tornaram-se populares a partir dos anos 90,

inicialmente vistos como aparelhos capazes de controlar informações pessoais, como

tarefas, compromissos e contatos mais eficientemente que uma agenda eletrônica.

Gradativamente, estes aparelhos começam a fazer parte do mercado corporativo, sendo

esta uma área em constante expansão: a computação móvel. Diversas soluções usam o

potencial dos handhelds como ferramenta indispensável ao trabalho do dia-a-dia,

principalmente pela praticidade e mobilidade que estes aparelhos oferecem. A aplicação

destes dispositivos móveis vai desde a automação de forças de vendas até o monitoramento

de pacientes em hospitais.

A proposta do desenvolvimento deste projeto é aliar a flexibilidade e o dinamismo

oferecido pela computação móvel dos PDA’s e a confiabilidade de uma base de

gerenciamento de dados centralizada, fazendo esta integração por meio de comunicação

remota (utilizando Internet ou uma Intranet) e disponibilizando informações colhidas em

uma interface web, acessível de qualquer computador equipado com um browser.

Atualmente estão disponíveis no mercado diversos sistemas que utilizam PDA’s.

São aplicações providas por empresas especializadas (software houses) e que são, em sua

grande maioria, específicos para uma determinada aplicação. O sistema que é objeto deste

projeto final tem por meta ser customizável (não em sua totalidade, mas em alguns

aspectos, como tipo de informações que será gerenciada e formas de comunicação),

permitindo que, para determinadas aplicações sejam feitas configurações e customizações

ao sistema, atingindo assim uma fatia maior do mercado. Essa característica é também um

diferencial deste sistema em relação aos sistemas disponíveis no mercado. Isso porque, por

estar sendo utilizado um sistema básico comum e configurável, a possibilidade de atender

demandas em diferentes áreas com o mesmo sistema é sensivelmente maior, ainda que seja

necessário a implementação de pequenas alterações posteriores (específicas).

Neste documento, que corresponde à primeira fase do desenvolvimento do projeto

final, será apresentada a especificação do sistema. O objetivo é de apresentar um estudo

preliminar sobre a literatura existente, além de informações e subsídios que serão

necessários nas próximas fases do desenvolvimento do projeto.

Page 10: SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

2

2. ESPECIFICAÇÃO

Na especificação do projeto é apresentado um estudo inicial do contexto onde está

inserido este projeto, bem como a descrição das funcionalidades a serem desenvolvidas no

Sistema de Gerenciamento Customizável Baseado em PDA’s

2.1. DESCRIÇÃO

Serão apresentados nesta descrição as características gerais e os módulos do

Sistema de Gerenciamento Customizável Baseado em PDA’s, assim como uma breve

descrição de cada um destes componentes.

2.1.1. DESCRIÇÃO GERAL DO SISTEMA E ASPECTOS FUNCIONAIS

O sistema especificado neste documento pode ser entendido como um sistema

móvel de aquisição de dados, com processamento local e armazenamento central, e que

permite a distribuição dos dados armazenados através da web.

Existirá uma interface de customização e set up que será responsável pela definição

dos aspectos configuráveis do sistema. Esse módulo será utilizado somente uma vez,

quando da instalação e customização (set up) inicial do sistema. Definidos estes requisitos,

o software de gerenciamento local poderá ser instalado no PDA, que será o responsável

pela aquisição dos dados.

No PDA, através da interface do software local, será feita a entrada de dados. Esta

informação deverá ser transmitida para o servidor, que possui a base de dados central, por

meio de uma Intranet ou da Internet, podendo ser utilizada para isso uma conexão física

com um PC (conectado à Internet ou Intranet Corporativa) ou comunicação diretamente do

dispositivo (PDA) que, neste caso, deve possuir periféricos ou módulos embutidos que

permitam essa comunicação.

Page 11: SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

3

A partir do momento que a informação está armazenada em uma base de dados

central é possível disponibilizá-la através da web. Para isso, será utilizado um servidor

web, acessando estes dados diretamente da base de dados. A interface de disponibilizarão

de dados é um tanto quanto genérica, pois atende a mais de uma aplicação (conforme a

configuração no set up do sistema). Isso não impede que sejam desenvolvidas,

posteriormente interfaces de visualização mais elaboradas, com o foco na aplicação

atendida e utilizando a mesma base de dados já disponível.

2.1.2. DESCRIÇÃO DOS MÓDULOS COMPONENTES DO SISTEMA

Um sistema é composto de diversos módulos que se inter-relacionam. A seguir

serão apresentados e descritos brevemente cada um dos módulos componentes do Sistema

de Gerenciamento Customizável Baseado em PDA’s.

Na figura 01 é apresentado o diagrama lógico do sistema, com a identificação dos

módulos básicos em que o sistema é dividido, destacando-se: banco de dados, servidor

web, aplicação cliente (interface para o PDA) e protocolos de comunicação. No diagrama,

são representadas as duas possibilidades de comunicação entre os módulos do sistema

(PDA – Servidor e PDA – PC – Servidor), além da distribuição dos dados armazenados

através da web.

Figura 01 – Diagrama Lógico do Sistema

Page 12: SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

4

2.1.2.1. Banco de Dados

No banco de dados serão armazenadas de forma centralizada todas as informações

sobre a configuração dos sistemas (customização) e os dados colhidos pela aplicação.

Será utilizado um SGBD (Sistema de Gerenciamento de Banco de Dados),

conforme será apresentado no estudo teórico. As informações armazenadas no banco de

dados serão atualizadas constantemente com os dados colhidos pelos dispositivos móveis

(PDA’s) e estarão disponíveis através do servidor web.

2.1.2.2. Servidor Web

O servidor web permite que informações sobre o sistema sejam consultadas através

de uma Intranet ou da Internet. Serão construídas páginas dinâmicas, que mesclam códigos

HTML e codificação de script para consultas no banco de dados e validações de

informações. Além disso, neste mesmo servidor será implementada a interface de recepção

dos dados colhidos pelos PDA’s. Mais informações sobre o servidor web serão

apresentadas no estudo teórico.

2.1.2.3. Aplicação Local - Cliente

A aplicação local consiste em um sistema que será instalado no PDA e permitirá

tanto a entrada de informações e armazenamento local, quanto a sincronização com a base

de dados central. Esse módulo será programado em linguagem específica para dispositivos

de processamento limitado.

Page 13: SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

5

2.1.2.4. Protocolos de Comunicação

Os protocolos de comunicação são a forma através da qual as informações são

enviadas e recebidas pelos módulos do sistema (clientes, servidor, gerenciador de banco de

dados). É necessário definir o formato de troca de informações e o meio em que estarão

trafegando. No estudo teórico, são apresentadas mais informações sobre os protocolos de

comunicação, bem como sobre a forma de interligação entre os módulos do sistema.

2.2. ESTUDO TEÓRICO

A seguir serão apresentadas informações sobre técnicas e aspectos teóricos

associados aos módulos do Sistema de Gerenciamento Customizável Baseado em PDA’s.

2.2.1. ESTUDO TEÓRICO SOBRE O SGBD

O projeto final a ser desenvolvido utiliza uma base de dados, onde são armazenadas

as informações colhidas através dos PDA's para serem distribuídas posteriormente através

de uma interface na web, além das informações sobre a customização do sistema. Para

isso, será necessária a utilização de um SGBD.

Um SGBD é um conjunto de aplicações desenvolvidas especialmente para o

tratamento de um banco de dados, fornecendo ao usuário (desenvolvedor) uma

representação conceitual dos dados, sem fornecer muitos detalhes sobre como as

informações são armazenadas. As vantagens da utilização de um SGBD incluem: controle

de redundância, compartilhamento de dados, restrições de acesso, representação de

relacionamentos complexos de dados, e tolerância a falhas.

Existem diversos SGBD's disponíveis no mercado, entre os quais pode-se destacar

os sistemas: Oracle, MySQL e SQL Server e também alguns sistemas específicos para

PDA’s, como o Oracle Lite, ThinkDB e DB2 Everyplace.

Page 14: SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

6

Líder de mercado, o sistema de gerenciamento de banco de dados Oracle é uma

excelente opção para projetos grandes e também onde exista disponibilidade de recursos

para investimento. A desvantagem deste sistema é o alto custo, e também a necessidade de

utilização de uma boa máquina para a sua execução, pois o sistema exige bastante do

hardware.

Por outro lado, o MySQL é um sistema de gerenciamento de banco de dados

gratuito, bastante difundido entre os desenvolvedores de software. Existe bastante

documentação disponível na Internet e novas versões do sistema estão sendo lançadas.

Atualmente, a última versão estável do sistema é a 3.23. Está em desenvolvimento a

versão 4.0 Alfa. Foram realizados alguns testes com o sistema, para verificação das

possibilidades oferecidas pelo sistema. O gerenciamento de tabelas e relacionamentos

funciona bem, assim como funções básicas (INSERT, UPDATE, DELETE, SELECT). O

grande problema na utilização deste banco de dados é o fato de ele ainda não gerenciar

stored procedures, que são scripts armazenados no próprio SGBD que podem ser

chamados diretamente da aplicação, tornando a aplicação mais modular, pois a lógica de

acesso ao banco de dados passa a ser armazenada do banco de dados, e não na aplicação.

Essa funcionalidade está prevista para ser implementada na versão 4.1 (ainda não

disponível).

O SQL Server é uma opção mais barata que o Oracle, mas ainda com custos

relativamente altos. O sistema é bastante eficiente, tem suporte a stored procedures,

triggers, replicação. A documentação é farta e o sistema é bastante utilizado em diversas

corporações (assim como o Oracle). Outra característica muito interessante do SQL Server

é a disponibilidade do MSDE (Microsoft Data Engine), que é um sistema gerenciador de

banco de dados compatível com o SQL Server, e que pode ser distribuído gratuitamente

com as aplicações para ele desenvolvidas. Para utilizar e distribuir o sistema é necessário

possuir uma licença de um dos softwares do pacote Microsoft Visual Studio 6.0. O sistema

MSDE torna-se portável, pois utiliza a mesma base do SQL Server. Outra vantagem é por

o sistema ser pequeno e não exigir muitos recursos de hardware (em comparação com os

sistemas maiores) e pode ser baixado na própria Internet.

Existem também SGBD’s específicos para PDA’s, como o Oracle Lite, o ThinkDB

e o DB2 Everyplace. O Oracle Lite (versão 9i) é a principal plataforma de

desenvolvimento e controle de aplicações de negócio em dispositivos móveis, com suporte

a Java em diversas plataformas e diversos dispositivos como telefones celulares, PDA’s e

laptops.

Page 15: SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

7

Já o ThinkDB é uma versão do software da Thinkingbytes para Palm OS. Algumas

características interessantes são o suporte a arquivos .MDB (do Access) e a possibilidade

de importação de arquivos do Access e do Excel, software de gerenciamento de dados e

planilha de cálculos da Microsoft, respectivamente. Esse sistema permite a sincronização

entre uma base no PC e o PDA (no caso, o Palm).

O DB2 Everyplace é um software da IBM projetado especificamente para PDA’s.

A solução consiste em um sistema relacional de banco de dados para o PDA, um servidor

bidirecional para sincronização da base no PDA com outro banco de dados externo e uma

ferramenta para o desenvolvimento de aplicações para PDA utilizando o DB2 Everyplace.

É um sistema bastante interessante em se tratando de armazenamento de dados no PDA

com sincronização externa. A desvantagem é o fato de o sistema ser pago, o que encarece

os custos do projeto.

Para o desenvolvimento deste projeto, as melhores opções são o MySQL e o

MSDE. O MySQL tem a vantagem de ser totalmente gratuito e rodar em diversas

plataformas. O MSDE tem a vantagem da portabilidade e facilidade de migração para uma

base de dados mais completa (SQL Server) e alguns recursos adicionais que não estão

presentes no MySQL. Para o PDA, o DB2 Everyplace seria uma solução bastante

interessante mas, por acarretar aumento de custos, a opção mais atrativa consiste em

gerenciar os dados no PDA como arquivos textos, produzidos com um comando

“serialize”, que transforma objetos na memória em arquivos texto, como será comentado

no tópico do estudo teórico da aplicação local. Isso é possível por estar-se utilizando uma

linguagem de programação para o cliente que permite este tipo de abordagem, por ser

orientada a objetos e dispor destes recursos, a linguagem Java. A escolha desta forma de

armazenamento no PDA não torna o sistema menos interessante do ponto de vista do

gerenciamento de dados porque o armazenamento no PDA é temporário, enquanto que na

base central, onde ficam os dados permanentes, será utilizado um sistema específico para o

gerenciamento da base de dados.

Page 16: SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

8

2.2.2. ESTUDO TEÓRICO SOBRE O SERVIDOR WEB

A proposta de implementar um sistema baseado em web segue a tendência atual, na

qual muitos sistemas antes rodando em aplicações convencionais passam a funcionar

através de uma Intranet e/ou da Internet. As vantagens de um sistema deste tipo são

diversas, indo desde a facilidade de manutenção à possibilidade de utilização de uma rede

de computadores mais heterogênea, sendo necessário apenas um browser para acessar o

sistema de controle da empresa. Com isso, todo o processamento pesado passa a ser feito

no servidor e não nos clientes.

Um sistema baseado em web necessita de um servidor capaz de disponibilizar as

informações que são acessadas pelos clientes, que estarão utilizando um browser para

visualizar dados transmitidos em hipertexto (forma como as informações transitam na web

para serem apresentadas nos browsers). Existem diversos servidores web disponíveis no

mercado, destacando-se o Apache - para Unix e Windows - e o IIS (Internet Information

Server) - para Windows.

Para este projeto, escolheu-se trabalhar com o IIS, que é compatível com a

tecnologia que será utilizada para a construção das páginas dinâmicas. Este software é

distribuído juntamente com o sistema operacional Microsoft Windows, com algumas

variações de acordo com a versão do sistema. Por exemplo, o Microsoft Windows 98 traz o

PWS (Personal Web Server), que é uma versão mais limitada do IIS. A versão NT 4.0 traz

o IIS 4.0, e as versões 2000 e Xp trazem as versões 5.0 e 5.1 do IIS, respectivamente.

As páginas armazenadas no servidor web deverão ser dinâmicas. Isso significa que

serão páginas com scrips de acesso a banco de dados, validação de informações, entre

outros. Páginas estáticas são escritas em código HTML simples. Diferentemente, as

páginas dinâmicas mesclam HTML e scrips. Estes scrips podem ser em ASP (Active

Server Pages), em PHP, ou em outra linguagem de scripts para web.

Para este sistema, a opção escolhida foi a utilização de páginas ASP, que podem ser

programadas em Visual Basic Script em conjunto com códigos Java Script e HTML. Estas

páginas têm os seus scripts executados no servidor, sendo enviado ao browser somente o

resultado da operação realizada. Podem também existir códigos executados no cliente,

como em validações. Para a disponibilização destas páginas (Active Server Pages) será

necessário utilização do IIS. Essa escolha se deu pela grande utilização desta tecnologia no

mercado corporativo e também por afinidade pessoal com a tecnologia.

Page 17: SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

9

Neste servidor será implementada, além da interface de disponibilização dos dados

e customização inicial do sistema, a interface de recebimento dos dados enviados pelo

cliente, que será comentado no estudo teórico sobre os protocolos de comunicação.

2.2.3. ESTUDO TEÓRICO SOBRE A APLICAÇÃO LOCAL - CLIENTE

Os PDA’s são dispositivos de processamento limitado que podem rodar aplicações

escritas especificamente para esse tipo de equipamento. Foram pesquisadas linguagens de

programação e ferramentas de desenvolvimento.

As principais linguagens para programação de aplicativos para PDA são C++ e

Java. Ambas as linguagens trabalham com orientação a objetos e possuem possibilidades

de implementação semelhantes.

No caso do sistema objeto deste trabalho, a utilização da linguagem Java é

extremamente interessante, pois torna a aplicação independente da plataforma do PDA.

Com isso, a variedade de PDA’s que podem utilizar o sistema é aumentada

significativamente, pois basta possuir suporte a Java (implementação de uma virtual

machine, ou “máquina virtual”) para que o PDA possa ser utilizador da aplicação local

deste sistema de gerenciamento. Além disso, existe uma grande tendência de os aparelhos

de telefonia celular incorporarem funções dos PDA’s, fazendo a fusão das duas

tecnologias. Por ser escrito em uma linguagem independente de plataforma, o sistema já

estará parcialmente preparado para funcionar nestes dispositivos.

Outra característica interessante da linguagem Java é a orientação a objetos e

comandos como o serialize, que permitem armazenar objetos em arquivos texto. Estes

arquivos, por sua vez, podem ser transmitidos para o servidor e armazenados (no formato

conveniente) em um banco de dados. É interessante notar que a linguagem Java é utilizada

em PC’s, PDA’s e diversos dispositivos, o que a torna bastante atrativa para este projeto.

A aplicação local, com base em uma configuração definida no set up do sistema

terá alguns de seus parâmetros modificados, para permitir a entrada das informações que

correspondem ao objetivo do controle do sistema.

Page 18: SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

10

2.2.4. ESTUDO TEÓRICO SOBRE A COMUNICAÇÃO

Para a comunicação entre o PDA e a base central, permitindo o intercâmbio de

informações entre os módulos será necessária a utilização de um protocolo de

comunicação. Este módulo inclui a forma como o PDA enviará os dados para a rede,

através de um microcomputador ou diretamente. Também inclui a forma como o servidor

recebe essa informação.

Está sendo estudada a possibilidade da implementação de um objeto DCOM no

servidor web, para a recepção dos dados enviados pela rede. Estes objetos são projetados

para sistemas distribuídos, com implementações de segurança, multithreading, etc.

Neste módulo também deve-se verificar a utilização de XML para torca de dados

entre o cliente, o servidor e o banco de dados. Esta tecnologia tem se desenvolvido muito

por ser simples e permitir o envio de dados pela web em formato texto.

Outra possibilidade é o desenvolvimento da recepção dos dados em Java, já que o

cliente (PDA) estará enviando um objeto Java para o servidor. A linguagem oferece

diversas possibilidades como a construção de uma aplicação, de um applet (para rodar em

um browser) ou mesmo dos objetos distribuídos Enterprise Java Beans.

A linguagem Java oferece um recurso bastante atrativo, que é a utilização de RMI

(Remote Method Invocation), que permite que a comunicação entre dispositivos seja feita

em um nível mais alto que o TCP-IP propriamente dito, e é uma tendência que está sendo

seguida pelo mercado. Neste caso, métodos podem ser invocados remotamente, e obejetos

serializáveis podem ser enviados como parâmetos.

Existem diversos outros modelos que podem ser utilizados nessa comunicação,

como a implementação de um Web Service, que é um conceito relativamente novo, que

começou a ser difundido após o lançamento do Microsoft Visual Studio .Net, uma

ferramenta de desenvolvimento. Esta ferramenta é bastante recente no mercado e

promoveu muitas modificações na forma como são desenvolvidas as aplicações web,

inclusive com a tecnologia ASP, que será utilizada neste projeto.

A transmissão dos dados do PDA para o servidor passando pelo PC, a princípio,

poderá ser feita por FTP ou através da utilização de um applet Java. Será estudada a opção

mais interessante.

Page 19: SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

11

2.3. ESPECIFICAÇÕES DE HARDWARE

Este projeto está focado no desenvolvimento de software, o que não implica que

não serão necessários conhecimentos sobre o hardware que está sendo utilizado. A seguir

serão apresentadas informações sobre o tipo de hardware que será utilizado para o

desenvolvimento e implementação do projeto.

2.3.1. DIAGRAMA EM BLOCOS

Na figura 02 são apresentados os principais módulos de hardware do sistema.

Podem ser acrescentados mais módulos, como modems ou interfaces de comunicação ao

esquema básico, conforme a necessidade.

Figura 02 – Diagrama com Módulos de Hardware Principais

2.3.2. FUNÇÕES DO SISTEMA

As funções de hardware neste projeto consistem em dar suporte às soluções de

software desenvolvidas. Como já foi mencionado, não serão desenvolvidos dispositivos de

hardware adicionais, mas aplicações em software que acessam funções do hardware

disponível (PDA’s e PC’s). No caso do PDA, a função é de recepção e armazenamento

Page 20: SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

12

temporário de dados, bem como a sua transmissão posterior. No caso do servidor a função

é de recepção, armazenamento e disponibilização de informações.

2.3.3. REQUISITOS DE HARDWARE

Para o PDA, os requisitos de hardware são bastante flexíveis, sendo necessário

somente que o dispositivo seja projetado para rodar uma aplicação Java e que exista

alguma forma de comunicação com o meio externo (porta serial, infravermelho, USB

(Universal Serial Bus), modem ou comunicação wireless). Ainda assim, na fase de projeto

serão definidos alguns requisitos mínimos para o PDA, o que garantirá o melhor

funcionamento do sistema.

Para o servidor será necessário que suporte a instalação de um servidor web e um

SGBD, bem como a conexão e acesso aos recursos através de uma rede (uma Intranet ou a

Internet).

2.3.4.AMBIENTE DE DESENVOLVIMENTO

A escolha do PDA está sendo estudada, com base nas informações apresentadas no

Anexo B – Análise de PDA’s. Para o desenvolvimento do sistema (software do servidor e

do PDA) será utilizado um microcomputador Pentium com 266 MHz, 64 Mbytes de

memória RAM, e disco rígido de 04 Gbytes, equipado com modem em cartão de acesso a

rede (PCM-CIA).

2.4. ESPECIFICAÇÃO DO SOFTWARE

Para o desenvolvimento do Sistema de Gerenciamento Customizável Baseado em

PDA’s será necessário utilizar algumas ferramentas conforme será descrito a seguir. Serão

apresentados também alguns pré-requisitos para o software que será desenvolvido.

Page 21: SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

13

2.4.1. AMBIENTE DE DESENVOLVIMENTO

O ambiente de desenvolvimento será Microsoft Windows 98, com o servidor web

PWS (Personal Web Server).

Para o desenvolvimento das aplicações Java será utilizado o J2ME. O J2ME é uma

nova versão da plataforma de desenvolvimento Java 2 destinada a dispositivos de

processamento limitado, como os PDA’s, consistindo de uma máquina virtual (virtual

machine) e alguns API’s para oferecer funcionalidades e segurança para instalar e rodar as

classes Java no dispositivo. Caso escolhida a opção do desenvolvimento dos demais

módulos (como comunicação) utilizando Java nos PC’s, poderá ser utilizado o ambiente

J2EE ou J2SE. Estes ambientes (Java 2 Enterprise Edition e Java 2 Standard Edition)

também são parte da plataforma Java 2, como é mostrado na figura 03.

Figura 03 – Módulos da Plataforma Java 2

2.4.2. LINGUAGENS E FERRAMENTAS DE SOFTWARE

Para o desenvolvimento do banco de dados será utilizado um analisador de queries

(ambiente de desenvolvimento), compatível com o SGBD escolhido e a ferramenta

Microsoft Visual Interdev, que também dá suporte ao desenvolvimento de páginas web.

No desenvolvimento do módulo web será utilizado o Microsoft Visual Interdev do

pacote Microsoft Visual Studio 6.0 e possivelmente a ferramenta J2SE ou J2EE para

desenvolvimento de applets e aplicações Java.

Page 22: SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

14

O módulo de aplicação local será desenvolvido utilizado o J2ME (Java 2

Plataform, Micro Edition) e possivelmente o Code Warrior ou Forte para Java. Uma opção

é utilizar o Palm OS Emulator para testar a aplicação no próprio PC de desenvolvimento.

Para isso será necessário obter uma ROM de Palm e instalá-la juntamente com o emulador.

Além disso, a implementação do módulo de protocolo de comunicação exigirá a

utilização de um software compatível com a solução escolhida, como um ambiente Java ou

ainda o Microsoft Visual C++ ou Microsoft Visual Basic no caso de um componente

DCOM.

2.4.3. INTERFACE COM O USUÁRIO

Pretende-se disponibilizar uma interface amigável com o sistema em todos os

módulos do sistema (tanto no PDA quanto no acesso via web). Para isso será necessário

definir uma interface que permita que as customizações sejam utilizadas para a definição

de como algumas informações serão mostradas nesta interface.

Em princípio, toda a parte do sistema que não for acessada através do PDA será

baseada em web, ou seja, acessada através de um browser.

2.4.4. DIAGRAMA EM BLOCOS

Na figura 04 é a apresentado um diagrama em blocos do software que será

desenvolvido, apresentando como as partes interagem entre si.

Figura 04 – Diagrama com Módulos de Software Principais

Page 23: SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

15

2.4.5. FUNÇÕES A SEREM PROVIDAS

Nesta etapa do projeto não são definidas em detalhes todas as funções que o sistema

desenvolvido deve possuir. Entretanto, é possível fazer uma análise macro do que deve ser

oferecido por cada um dos módulos de software utilizados pelo usuário.

2.4.5.1. Aplicação Local - Cliente

A aplicação local, que será rodada no PDA deve oferecer as seguintes

funcionalidades:

- Interface de entrada de dados com gravação dos dados;

- Opção de comunicação com a base central. Em princípio a comunicação será

feita em blocos (comunicação batch). Como uma melhoria ao projeto, poderá

ser implementada, caso existam recursos de tempo disponíveis, comunicação on

line com o servidor central.

2.4.5.2. Módulo Web - Servidor

O módulo web compreende a customização inicial do sistema, a comunicação entre

PDA e servidor por meio da Web (utilizando um PC) e a consulta aos dados recebidos

pela comunicação com os PDA’s.

Para a customização, pretende-se oferecer as funcionalidades:

- Criação de um novo sistema, ou seja, o primeiro passo para a sua instalação;

- Definição de configurações e customizações em alguns parâmetros, as serem

definidos na etapa de projeto deste sistema;

- Disponibilização do software que será instalado no PDA.

Page 24: SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

16

Para a comunicação entre PDA, PC e Web serão oferecidas as funcionalidades:

- Diponibilização do sistema base em Java e template gerado através da

customização para instalação no PDA;

- Controle de PDA’s utilizados por usuário;

- Envio de dados ao servidor e sincronização da base local do PDA.

Para a consulta, é objetivo oferecer as funcionalidades:

- Identificação do sistema utilizado;

- Exibição da informação coletada com a utilização de filtos de dados;

- Caso existam recursos de tempo disponíveis, uma melhoria a ser implementada

ao projeto é a possibilidade de alteração dos dados disponíveis na web através

da própria web, ou seja, a complementação das informações já armazenadas.

Page 25: SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

17

2.5. EXEMPLO DE APLICAÇÃO

O sistema objeto deste trabalho será capaz de gerenciar diversos tipos de

aplicações, das quais será comentada, a título de exemplo, um controle de frigobar

(minibar) hoteleiro.

Esta aplicação será inicialmente cadastrada no sistema de gerenciamento através de

uma interface web. Nesta interface de customização serão definidos:

- Nome da Aplicação;

- Responsável pela Aplicação;

- Usuários da Aplicação;

- Tabelas de Armazenamento de Dados;

- Forma de Entrada dos Dados no Cliente (PDA).

Em seguida deverá ser gerada a configuração da aplicação cliente que será instalada

no PDA com a aplicação local. Assim que a aplicação estiver instalada poderá ser feita

uma sincronização inicial com a base central (para alimentação dos dados locais – por

exemplo uma tabela de produtos disponíveis). Feita esta sincronização o sistema estará

apto para a coleta de dados.

Feita a coleta de dados, poderá ser feita a transmissão desta informação para o

servidor. Neste caso, o PDA deverá estar conectado a rede diretamente ou a um PC

(conectado a rede) e os dados serão enviados ao servidor.

O servidor fará a recepção dos dados e o seu armazenamento em banco de dados.

Todas as informações cadastradas no banco de dados estão, a partir deste momento,

disponíveis para consulta por um dos usuários da aplicação (cadastrados na customização

do sistema).

Page 26: SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

18

2.6. ESPECIFICAÇÃO DA VALIDAÇÃO DO PROJETO

Uma das etapas bastante importantes do desenvolvimento de um projeto consiste na

sua validação. Para isso devem ser feitos testes e simulações.

Para o Sistema de Gerenciamento Customizável Baseado em PDA’s serão feitos

testes para a validação da comunicação entre os módulos componentes. Também serão

feitos testes no software da aplicação local e no módulo web.

Para finalizar a validação do projeto, será feita uma simulação de uma situação real,

com a criação e customização de um sistema e a realização de todas as operações providas

pelo sistema, para que seja, desta forma, validado o seu funcionamento.

Page 27: SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

19

3. PROJETO

A seguir serão apresentadas as informações referentes à segunda etapa do

desenvolvimento deste sistema, o projeto do sistema. Este estudo tem por objetivo mostrar

como serão implementados os módulos componentes do sistema e como será o

relacionamento entre eles.

3.1. DIAGRAMA DE FLUXO DE DADOS

O diagrama de fluxo de dados de um sistema permite observar quais os módulos

do sistema e as ações que poderão ser geradas por cada usuário através destes módulos. É

através deste mapeamento inicial que é desenvolvido o diagrama de entidades e

relacionamentos (banco de dados). Estes diagramas são formas de análise estruturada de

projetos, e foram empregados principalmente na parte web do projeto do Sistema de

Gerenciamento Customizável Baseado em PDA’s.

Na figura 05, a seguir, é apresentado o DFD de nível zero, ou “diagrama de

contexto”, que mostra todo o sistema como uma única “bolha”, ou processo, que recebe e

gera diversas ações (todas as ações que o sistema gerencia).

Com a explosão do DFD-0, que é apresentada na figura 06, obtém-se o DFD de

nível um, que neste caso é bastante interessante por mostrar de forma bem clara a divisão

do sistema nos seguintes módulos:

- Instanciação e customização de sistemas;

- Gerenciamento de Usuários;

- Gerenciamento de Relatórios;

- Comunicação Cliente-Servidor;

- Armazenamento de Dados no PDA.

As figuras 07, 08, 09, 10, 11 e 12 representam explosões destes módulos, a fim de

permitir uma visualização do sistema de forma abrangente, o que permite, com base nestes

diagramas gerados, o projeto do diagrama de entidades e relacionamentos.

Page 28: SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

20

Figura 05 – DFD-0, Diagrama de Contexto

Page 29: SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

21

Figura 06 – DFD-1

Page 30: SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

22

Figura 07 – DFD-2, Processo 1

Page 31: SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

23

Figura 08 – DFD-3, Processo 1.2

Page 32: SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

24

Figura 09 – DFD-2, Processo 2

Page 33: SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

25

Figura 10 – DFD-2, Processo 3

Page 34: SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

26

Figura 11 – DFD-2, Processo 4

Page 35: SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

27

Figura 12 – DFD-2, Processo 5

Page 36: SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

28

3.2. DIAGRAMA DE ENTIDADES E RELACIONAMENTOS

Com base nos diagramas de fluxo de dados e na especificação do Projeto foi

projetado o diagrama de entidades e relacionamentos, que é apresentado na figura 13 já no

nível de normalização que será utilizado na implementação.

Foram projetadas vinte tabelas, que representam a estrutura geral do sistema, que

fazem a administração e gerenciamento dos sistemas que são instanciados em tempo de

execução. As tabelas que serão criadas pelos usuários do sistema não são representadas

neste diagrama por serem dinâmicas, e criadas de acordo com cada sistema que é

instanciado.

Este diagrama representa a estrutura do banco de dados que será implementado. O

diagrama de entidades e relacionamentos tem muita importância dentro deste projeto, pois

uma grande parte deste sistema é baseado em implementações no banco de dados; o

próprio gerenciamento das aplicações customizáveis que são criadas através do sistema é

feito através do SGBD.

Page 37: SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

29

Figura 13 – Diagrama de Entidades e Relacionamentos

Page 38: SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

30

3.2.1. ESPECIFICAÇÃO DAS TABELAS

Nas figuras 14 e 15 são apresentadas as tabelas que gerenciam sistemas e usuários e

as tabelas de gerenciamento de entidades, respectivamente. A diferença em relação à figura

13 é que nestas é apresentada uma visão física do banco de dados, com a representação de

cada campo, tipo do campo e relacionamentos (chaves primárias e estrangeiras).

Todas as tabelas ficam armazenadas no servidor, no sistema de gerenciamento de

banco de dados MSDE. A seguir serão descritas cada uma das entidades que compõe o

sistema. Além desta descrição, o script do banco de dados, apresentado no anexo E,

permite uma melhor compreensão da estrutura de banco de dados que será criada.

Figura 14 – Representação Física das Tabelas – Ger. de Sistemas e Usuários

Page 39: SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

31

1. Entidade: tblgeSystems

Tem o propósito de armazenar os sistemas cadastrados e serve como ligação entre

as tabelas de gerenciamento de usuários e tabelas de gerenciamento de entidades. É

atualizada pelo módulo de customização e instanciação de sistemas.

2. Entidade: tblgeUsers

Armazena os usuários cadastrados no sistema, com informações como login e

senha. É atualizada pelo módulo de customização e instanciação de sistemas e acessada

pelo módulo de gerenciamento de usuários.

3. Entidades: tblgeProfiles e tblgeSystemUserProfiles

Armazenam os perfis disponíveis para os usuários dos sistemas e o relacionamento

de perfis com usuários (perfis que o usuário possui). Um usuário pode possuir vários perfis

distintos e em vários sistemas. São atualizadas pelo módulo de customização e

instanciação de sistemas e acessada pelo módulo de gerenciamento de usuários.

4. Entidades: tblgeStatus e tblgeSystemUserStatus

Armazenam os status de usuários nos sistemas e o relacionamento de usuários com

status. Um usuário pode possuir apenas um status por sistema, por isso existe uma cláusula

unique no script de criação deste tabela (conforme anexo E – Script do Banco de Dados).

São atualizadas pelo módulo de customização e instanciação de sistemas e acessada pelo

módulo de gerenciamento de usuários.

5. Entidades: tblgePDAs e tblgeUserPDAs

Armazenam os PDA’s disponíveis (cadastrados com número serial) e o status de

cada um, relacionando-o com o usuário que utiliza o aparelho. Utilizam a tabela status para

diferenciar registros de empréstimo e devolução e permitem o armazenamento de um

histórico de empréstimos de PDA’s a usuários. São atualizada no módulo de instanciação

de customização de sistemas.

Page 40: SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

32

Figura 15 – Representação Física das Tabelas - Gerenciamento de Entidades

6. Entidade: tblgeReportQuery

Armazena os scripts para geração de relatórios com as informações cadastradas.

Relaciona-se com sistemas porque os relatórios são partes do sistema, ou seja, devem ser

opções de consulta para os sistemas relacionados. É atualizada no módulo de instanciação

de customização de sistemas e utilizada no módulo de geração de relatórios.

7. Entidades: tblgeTables, tblgeTableTypes e tblgeSystemTables

A tabela tblgeTables armazena um registro para cada nova tabela criada para um

sistema que é instanciado. A tabela tblgeTableTypes armazena os tipos de tabelas,

indicando de tratam-se de depósitos fixos (que devem ser copiados para o PDA), se são

tabelas de armazenamento de coletas (que são alimentadas no PDA), etc. A tabela

tblgeSystemTables relaciona as tabelas com os sistemas. Uma tabela pode relacionar-se

com mais de um sistema. São atualizadas no módulo de instanciação de customização de

sistemas.

Page 41: SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

33

8. Entidades: tblgeFields e tblgeTableFields

Armazenam os campos criados em cada tabela e o relacionamento destes campos

com as tabelas (quais tabelas possuem quais campos). São atualizadas no módulo de

instanciação de customização de sistemas.

9. Entidades: tblgeFieldTypes e tblgeFieldTypeInterfaces

A tabela tblgeFieldTypes armazena os tipos de campos disponíveis, que podem ser

escolhidos na customização do sistema. A tabela FieldTypeInterfaces é uma tabela de

relacionamento auxiliar que relaciona tipos de campos com interfaces (representadas por

outra entidade), a fim de permitir que exista uma consistência entre os tipos de campos e as

interfaces utilizadas. São atualizadas no módulo de instanciação de customização de

sistemas.

10. Entidade: tblgeTableFieldRelationship

Esta tabela armazena os relacionamentos entre as tabelas, indicando chaves

primárias e estrangeiras. Existe uma clausula unique nesta entidade para que os

relacionamentos sejam armazenados sem redundâncias. É atualizada no módulo de

instanciação de customização de sistemas e utilizada no módulo de geração de relatórios.

11. Entidades: tblgeInterfaces e tblgeSystemFieldInterface

Armazenam respectivamente as interfaces com o usuário para cadastro em campos

disponíveis e o relacionamento dos campos com as interfaces dentro d um sistema. Uma

tabela pode possuir campos com interfaces diferentes em diferentes sistemas, conforme a

necessidade do usuário. São atualizadas no módulo de instanciação de customização de

sistemas e utilizada no módulo de geração de relatórios.

12. Entidade: tblgeFieldInterfaceKey

Esta tabela permite a criação de campos com valores pré-definidos vetoriais, ou

seja, para uma tabela de armazenamento, pode-se definir que um determinado campo tenha

em sua interface um vetor de opções vindos de um cadastro de uma outra tabela. É

atualizada no módulo de instanciação de customização de sistemas e utilizada no módulo

de geração de relatórios.

Page 42: SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

34

3.3. DIAGRAMA DE CLASSES

O projeto dos módulos cliente e servidor que serão implementados em linguagem

Java utilizam fortemente o conceito de.orientação a objetos. Por isso, apesar da análise de

grande parte do sistema ter sido feita de forma estruturada, para estes módulos foi feita

uma análise orientada a objetos, que permitiu a construção do diagrama de classes

apresentado na figura 16.

Estas classes devem ser utilizadas tanto no cliente (aplicação do PDA), quanto nos

applets de comunicação e na aplicação que roda no servidor, fazendo da comunicação com

os demais módulos do sistema. Esta é inclusive a grande vantagem da programação

orientada a objetos: além de permitir encapsulamento, permitir o reaproveitamento de

código.

Page 43: SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

35

Figura 16 – Diagrama de Classes

Page 44: SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

36

3.4 PROJETO DE INTERFACES

Nas figuras a seguir são representadas algumas das interfaces do sistema com o

usuário, em alguns dos módulos que compõe o sistema.

Estas interfaces podem sofrer alterações na etapa de implementação, pois

representam neste momento uma idéia do que será implementado no sistema.

Figura 17 – Cadastro de Sistemas

A figura 17 representa o cadastro de um sistema no Sistema de Gerenciamento

Customizável Basedo em PDA’s. É possível cadastrar entidades, usuários e relatórios.

Apenas o usuário administrador tem acesso ao cadastro de sistemas, entidades, usuários e

relatórios.

Page 45: SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

37

Figura 18 – Cadastro de Entidades

A figura 18 representa o cadastro de uma entidade. Pode-se criar uma tabela

definindo-se seu tipo, seus campos e, quando necessário, a interface dos campos. Podem

ser cadastrados dados fixos, para tabelas do tipo depósito fixo (tabelas que nunca tem seus

dados alterados no PDA, pois são pré-definidos no servidor).

Page 46: SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

38

Figura 19 – Cadastro de Usuários

Na figura 19 é apresentada uma representação do cadastro de um usuário de um

sistema instanciado.

Page 47: SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

39

Figura 20 – Acesso de Usuário com Perfil PDA

A figura 20 é um projeto da tela de acesso ao sistema web de um usuário com perfil

PDA, ou seja, um usuário que utiliza o PDA como coletor de dados. Neste caso o acesso é

feito via PC, mediante um login. Existe a possibilidade de receber uma instalação do

sistema para o PDA (que deve ser posteriormente transferida para o aparelho) ou de

comunicação (por um applet Java).

Page 48: SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

40

Figura 21 – Interface do Sistema do PDA

A figura 21 representa as duas funcionalidades básicas da aplicação que é

executada nos PDA’s: coleta de dados e comunicação.

A coleta de dados é construída com base nas entidades e interfaces definidas na

comunicação. A comunicação permite que o usuário escolha, no PDA, qual a forma de

comunicação entre o PDA e o Servidor, e qual a porta do aparelho utilizada (serial, USB

ou Infravermelho).

Page 49: SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

41

Figura 22 – Emissão de Relatórios

A figura 22 é o projeto da interface para o usuário com perfil consulta web, que

pode emitir relatórios dos dados que foram coletados pelos PDA’s e armazenados no

servidor. O acesso é feito mediante login e os relatórios são pré-definidos em uma lista,

onde o usuário pode selecionar quais as informações deseja acessar.

Page 50: SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

42

3.5. CONSIDERAÇÕES SOBRE O PROJETO

A seguir serão apresentadas algumas considerações sobre o projeto do sistema, para

cada um dos módulos (banco de dados, cliente e servidor).

3.5.1. BANCO DE DADOS

O banco de dados será implementado no MSDE (SQL Server), e será acessado via

ODBC, no caso das páginas ASP e via JDBC no caso da aplicação Java para comunicação

que estará sendo executada no servidor.

Além das tabelas, já especificadas neste documento, serão armazenadas no próprio

SGBD as procedures para acesso aos dados, tornando o sistema mais encapsulado, pois a

lógica de banco de dados ficará toda no banco de dados. Os comandos na base de dados

são executados mediante a chamadas de procedures no código.

As tabelas apresentadas (sistema geral), são as tabelas que administram o restante

do banco de dados e permitem que o sistema recupere as informações das demais tabelas

que serão criadas em tempo de execução. Por exemplo, a construção de um “SELECT” na

base de dados de um sistema que foi instanciado será feita com base em informações

coletadas das tabelas administrativas. Construída a query, o comando será passado ao

banco de dados para o retorno dos dados específicos.

3.5.2. CLIENTE

A aplicação do cliente será totalmente implementada em Java e não terá acesso

direto ao SGBD, mas sim a arquivos em formato texto que são armazenados no PDA.

Assim, coloca-se como requisito para este sistema que o PDA tenha pelo menos dois

megabytes de memória livre, para que o sistema possa ser instalado, juntamente com

tabelas e dados coletados.

Page 51: SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

43

A implementação será feita com base nas especificações J2ME e J2SE, além do

pacote RMI (Remote Method Invocation, ou Invocação Remota de Métodos) para a

comunicação. No cliente pretende-se utilizar o Personal Java, que faz parte da

especificação do J2ME, para a execução das aplicações Java.

Uma característica marcante do sistema do cliente é o fato de ele ser composto de

uma base comum, que contém o sistema que é executado no PDA, e um template, que é

criado especificamente para cada sistema.

3.5.3. SERVIDOR

O servidor será composto de um site, baseado em tecnologia ASP que permitirá a

administração dos sistemas, consulta de relatórios e comunicação do PDA com o servidor.

A comunicação com o cliente será feita por RMI e, para isso uma aplicação estará rodando

no servidor para receber e armazenar os dados que os clientes enviam no banco de dados

(acesso via JDBC).

No site, pretende-se disponibilizar um applet para envio de dados do PDA ao

servidor, como segunda opção de comunicação – indireta. Assim, um PDA que não possui

modem ou cartão de acesso à rede poderá enviar os dados via serial, porta USB ou

infravermelho para um PC, que esteja acessando o site e enviar os dados através do applet,

atualizando os dados coletados na base central.

Page 52: SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

44

3.6. FERRAMENTAS UTILIZADAS

Para o desenvolvimento deste sistema estão sendo utilizada as seguintes

ferramentas:

- Microsoft Visual Interdev: para o desenvolvimento do módulo web (baseado em

tecnologia ASP).

- Java Creator: para o desenvolvimento dos módulos implementados em

linguagem Java.

- J2ME, J2SE, Personal Java e Java RMI: para o desenvolvimento dos módulos

implementados em Java.

- MSDE, ODBC e JDBC: ODBC e JDBC são utilizados para acessar o banco de

dados, que é armazenado no sistema de gerenciamento de banco de dados

MSDE (engine do SQL Server).

- IIS (Internet Information Server): para executar as páginas ASP no servidor e

disponibiliza-las para acesso em uma intranet ou na internet.

Além destas ferramentas, está sendo utilizado para testes e simulações, um PDA do

tipo Pocket PC - HP Jornada 540, com dezesseis megabytes de memória.

Outras ferramentas como Microsoft Access para visualização e edição de dados em

tabelas e browser para acesso às páginas web também podem ser consideradas, auxiliando

no desenvolvimento do projeto.

Page 53: SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

45

4. CONCLUSÃO

A fase de especificação do projeto permitiu uma visualização do que seria

implementado como projeto final – um Sistema de Gerenciamento Customizável Baseado

em PDA’s. Já nesta segunda fase, de projeto, a idéia a mostrar algumas diretrizes de como

o projeto deverá ser implementado. A intenção é projetar o sistema antes da

implementação para que, nesta próxima fase, não existam erros conceituais no sistema.

Com a conclusão da etapa de projeto do sistema pode-se visualizar com mais

clareza os objetivos do sistema, bem como a forma como ele se relacionará com o meio

externo (usuários e dispositivos de hardware, neste caso os PDA’s).

A próxima etapa, na qual será apresentada a implementação do sistema servirá

como validação desta etapa de projeto, pois poderão ser verificados quais os pontos que

foram atendidos e os que não foram previstos nesta fase – ainda que a preocupação de

atingir todo o sistema tenha sido bastante grande.

Este documento está em sua segunda revisão, de um total de pelo menos quatro.

Ainda existem pontos a acrescentar e a alterar para que seja constituída a documentação

formal completa deste projeto.

Page 54: SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

46

5. ANEXO A – ANÁLISE DE CONCORRÊNCIA

A área de desenvolvimento de aplicações baseada em dispositivos móveis está em

grande expansão. Existem diversas software houses provendo soluções para este mercado,

mas nota-se que nenhuma destas soluções possui a característica da customização. A seguir

serão listados os principais concorrentes, bem como algumas informações adicionais.

1. Airgate:

Empresa de São Paulo. Foco de trabalho: wireless, energia, telecom e integração.

2. Bergen Mobile:

Situada em São Paulo, a Bergen Móbile atende várias empresas de grande porte e

tem os seus produtos voltados para a área de logística, exportação e importação.

3. Compusol:

A empresa, de São Paulo, é provedora de diversas soluções para PDA’s, além de

possuir uma linha completa de impressoras portáteis para os produtos da linha Palm. Todas

as aplicações são específicas, faltando apenas uma aplicação mais genérica.

4. Criterium:

Esta empresa do Rio Grande do Sul tem como clientes várias empresas de grande

porte e possui vários softwares disponíveis, como controle de vendas por PDA.

5. Eccelera do Brasil Ltda:

Um pouco diferenciada das demais empresas, a Eccelera trata de investimentos em

desenvolvimento de tecnologias na América Latina.

6. Hands:

Empresa do Rio de Janeiro. Possui soluções de integração PDA/WAP.

Interessante. Possui soluções para Palm / WAP. Destaca-se entre as soluções um

sincronizador, que possui:

Page 55: SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

47

- Intercâmbio bidirecional, permitindo que servidores corporativos solicitem e

controlem o fluxo de informações de e para PDAs;

- Protocolo de comunicação HTTP;

- Padrão de intercâmbio de dados XML.

Esta empresa trabalha também no ramo de prover informações para dispositivos

portáteis.

7. HandSolutions:

Empresa de São Paulo. As aplicações são desenvolvidos em C com o Code

Warrior, o banco de dados é o Oracle, e soluções web são desenvolvidas em Linux e

Apache. O protocolo de comunicação utilizado é o TCP/IP. As páginas web são

desenvolvidas em PHP. Atua na área de força de vendas, logística, transporte,

gerenciamento de leads, coleta de dados, serviços financeiros, saúde, governo e Internet

wireless.

8. Logical Systems:

Sistuada no Rio de Janeiro, trabalha especificamente com computação móvel. Tem

soluções para automação de força de vendas, tomada de preços, fiscal de ponto, geração de

comandas eletrônicas, controle de frigobar, automação de diário de classe, simulador de

seguros previdenciários, vistoriador de seguros e pesquisa eletrônica.

10. Orbsystem:

Esta empresa de São Paulo alia computação móvel a sistemas de restreamento por

satélite (localização). Possui um sistema de restreamento pela web (Orb-soft web) bastante

interessante.

11. Palm Systeme:

Situada em Minas Gerais, a empresa desenvolve especificamente para PDA’s. Uma

aplicação interessante é um navegador UOL para Palm.

12. Portway:

Localizada em São Paulo, os produtos incluem soluções para: força de vendas,

visitação médica, gerência de bancos, seguros e previdência, logística, pesquisas e

manutenção em campo.

Page 56: SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

48

6. ANEXO B – ANÁLISE DE PDA’S

Existem diversos tipos de PDA’s disponíveis no mercado, com preços e

características variados. O objetivo para este sistema é permitir a utilização de todos estes

dispositivos, pois o software é baseado em uma solução Java, que é independente de

plataforma.

Na tabela I, a seguir, são apresentados alguns PDA’s pesquisados, com algumas

características básicas de cada solução.

Tabela I – Comparação de PDA’s

FABRICANTE DO PDA

MODELO DO PDA

PREÇO PARA A AQUISIÇÃO

SISTEMA OPERACIONAL

FUNCIONALIDADES / CARACTERÍSTICAS

HP Jornada 720 R$ 3799,00 MS Windows 2000 for

Haldheld PC

O PDA vem com teclado acoplado e é um dos

melhores da HP.

HP Jornada 568 R$ 2199,00 MS Windows para

Pocket PC

Não possui teclado acoplado, mas é um dos

top de linha da HP.

HP Jornada 548 R$ 1499,00 MS Windows para

Pocket PC

Handheld com tela colorida e recursos

multimídia.

HP Jornada 545 R$ 1499,00 MS Windows para

Pocket PC

Handheld com tela colorida e recursos

multimídia.

HP Jornada 525 R$ 999,00 MS Windows para

Pocket PC

Opção mais econoômica e com menos memória que os modelos 540.

Palm i705 (indisponível no Brasil) Palm OS 4.1 Possui acesso a Internet por wireless embutido.

Não disponível no Brasil.

Palm m515 R$ 1399,00 Palm OS 4.1 Colorido e com bastante memória em relação aos

demais da Palm.

Palm m505 R$ 1699,00 Palm OS 4.0 Colorido e com a metade

da memória do m515. Deixou de ser fabricado.

Palm m500 R$ 1299,00 Palm OS 4.0 Opção monocromática e com menos memória que

os superiores.

Palm m130 R$ 899,00 Palm OS 4.1 PDA mais simples, mas com o atrativo da tela

coloriada.

Palm m125 R$ 699,00 Palm OS 4.0 PDA mais simples, com tela monocromática e utilização de pilhas.

Palm m100 R$ 459,00 Palm OS 3.5 PDA mais simples,

monocromático, pilhas. Deixou de ser fabricado.

Palm Vx R$ 783,00 Palm OS 3.3 Opção intermediária entre m100 e m500.

Deixou de ser fabricado.

Sharp Zaurus – SL5000D US$ 299,00 na JavaOne -

Feira anual de desenvolvedores Java.

Linux 2.4 (Embedix) / Personal Java (Jeode)

Baseado em Java e Linux com especificações

abertas.

Page 57: SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

49

Além destes, existem diversas outras soluções para computação móvel, desde

PDA’s mais simples e baratos a PDA’s com integração a telefones móveis.

Especial atenção deve ser dada ao Sharp Zaurus, que tem a plataforma aberta e é

baseado em Linux e Java. Este PDA possui um site para desenvolvedores com toda a

especificação de hardware e software necessárias para desenvolvimento, e é desenvolvido

por pessoas por todo o mundo.

Durante a JavaOne, evento anual de encontro de desenvolvedores Java., o

equipamento estava sendo vendido a US$ 299,00. A JavaOne aconteceu em março de

2002, em São Francisco – CA.

Page 58: SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

50

7. ANEXO C - CRONOGRAMA

Na tabela II é apresentado o cronograma básico do desenvolvimento deste projeto

final, com as atividades que serão desenvolvidas.

Tabela II - Cronograma

Este cronograma é baseado nas atividades macro do desenvolvimento do projeto.

Para estimativa de horas, devem ser consideradas 2 horas de trabalho por dia (14 horas

semanais), e trabalho sendo realizado por apenas 01 recurso.

Na figura 23 é apresentado um diagrama simplificado da distribuição das atividades

no tempo, no qual cada célula representa aproximadamente 10 dias de trabalho.

Figura 23 – Distribuição das Atividades no Tempo

TAREFAS INÍCIO FINAL DIASDefinição da Proposta de Projeto Final 18/02/02 04/03/02 16Elaboração da Especificação de Projeto Final 11/03/02 15/04/02 34Projeto e Análise de Sistema 29/04/02 24/06/02 55Implementação do Sistema 17/06/02 23/09/02 96Validação e Documentação 16/09/02 25/11/02 69Reunião de Acompanhamento 18/02/02 25/11/02

Page 59: SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

51

8. ANEXO D – ESTIMATIVA DE CUSTOS

Para o desenvolvimento deste projetos estão sendo utilizados recursos que já não

estão disponíveis no mercado, como é o caso do PC Pentium 266 MHz. O próprio

Microsoft Visual Studio 6.0 já foi substituído pela nova versão .NET, que é

significativamente diferente.

Para efeitos de estimativa de custos, optou-se por considerar um computador atual,

com sistema operacional e ferramenta de desenvolvimento nas versões que estão sendo

comercializadas e um PDA intermediário.

Na tabela III são apresentadas as estimativas de custo do projeto.

Tabela III – Estimativa de Custos

RECURSO / INSUMO CUSTO PC Celeron 900MHz, 128MM RAM R$1799,00 PDA Palm M130 R$899,00 SGBD R$0,00 J2ME / J2EE R$0,00 Ms Windows Xp Professional R$859,00 Ms Visual Studio .NET Professional R$3075,00 400 Horas de Desenvolvimento R$10000,00 TOTAL R$16632,00

Na figura 24 é apresentada a distribuição de custos do projeto.

Figura 24 – Distribuição de Custos

Page 60: SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

52

9. ANEXO E – SCRIPT DO BANCO DE DADOS

O script a seguir é utilizado para a criação do banco de dados e das tabelas de

administração de sistemas. Ainda devem ser incluídos os códigos das stored procedures.

DROP DATABASE dbSyGePDA CREATE DATABASE dbSyGePDA CREATE TABLE tblgeUsers( usrID integer PRIMARY KEY NONCLUSTERED, usrLogin varchar(10) NOT NULL DEFAULT '', usrPassword varchar(10) NOT NULL DEFAULT '', usrName varchar(100) NOT NULL DEFAULT '', usrCompany varchar(100) NOT NULL DEFAULT '', usrPosition varchar(100) NOT NULL DEFAULT '', usrMail varchar(100) NOT NULL DEFAULT '', usrPhone varchar(20) NOT NULL DEFAULT '', usrInputDate datetime NOT NULL DEFAULT GETDATE() ) CREATE TABLE tblgeSystems( sysID integer PRIMARY KEY NONCLUSTERED, sysOwner integer FOREIGN KEY REFERENCES tblgeUsers(usrID), sysName varchar(100) NOT NULL DEFAULT '', sysDescription varchar(500) NOT NULL DEFAULT '', sysInputDate datetime NOT NULL DEFAULT GETDATE() ) CREATE TABLE tblgeStatus( staID integer PRIMARY KEY NONCLUSTERED, staName varchar(50) NOT NULL DEFAULT '', staInputDate datetime NOT NULL DEFAULT GETDATE() ) CREATE TABLE tblgeProfiles( prfID integer PRIMARY KEY NONCLUSTERED, prfName varchar(50) NOT NULL DEFAULT '', prfDescription varchar(100) NOT NULL DEFAULT '', prfInputDate datetime NOT NULL DEFAULT GETDATE() ) CREATE TABLE tblgeSystemUserStatus( susSystem integer FOREIGN KEY REFERENCES tblgeSystems(sysID), susUser integer FOREIGN KEY REFERENCES tblgeUsers(usrID), susStatus integer FOREIGN KEY REFERENCES tblgeStatus(staID) UNIQUE (susSystem, susUser) ) CREATE TABLE tblgeSystemUserProfile( supSystem integer FOREIGN KEY REFERENCES tblgeSystems(sysID), supUser integer FOREIGN KEY REFERENCES tblgeUsers(usrID), supProfile integer FOREIGN KEY REFERENCES tblgeProfiles(prfID), UNIQUE (supSystem, supUser, supProfile) ) CREATE TABLE tblgePDAs( pdaID integer PRIMARY KEY NONCLUSTERED, pdaName varchar(200) NOT NULL DEFAULT '', pdaSerial varchar(100) NOT NULL DEFAULT '', pdaSO varchar(50) NOT NULL DEFAULT '', pdaMemory integer NOT NULL DEFAULT 0, pdaInputDate datetime NOT NULL DEFAULT GETDATE() )

Page 61: SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

53

CREATE TABLE tblgeUserPDAs( updUser integer FOREIGN KEY REFERENCES tblgeUsers(usrID), updPDA integer FOREIGN KEY REFERENCES tblgePDAs(pdaID), updStatus integer FOREIGN KEY REFERENCES tblgeStatus(staID), updInputDate datetime NOT NULL DEFAULT GETDATE() UNIQUE(updUser, updPDA) ) CREATE TABLE tblgeTableTypes( ttyID integer PRIMARY KEY NONCLUSTERED, ttyName varchar(50) NOT NULL DEFAULT '', ttyDescription varchar(200) NOT NULL DEFAULT '', ttyInputDate datetime NOT NULL DEFAULT GETDATE() ) CREATE TABLE tblgeTables( tabID integer PRIMARY KEY NONCLUSTERED, tabTableType integer FOREIGN KEY REFERENCES tblgeTableTypes(ttyID), tabName varchar(50) NOT NULL DEFAULT '', tabDescription varchar(200) NOT NULL DEFAULT '', tabInputdate datetime NOT NULL DEFAULT GETDATE(), tabUpdateDate datetime NOT NULL DEFAULT GETDATE() ) CREATE TABLE tblgeSystemTables( sytSystem integer FOREIGN KEY REFERENCES tblgeSystems(sysID), sytTable integer FOREIGN KEY REFERENCES tblgeTables(tabID), UNIQUE (sytSystem, sytTable) ) CREATE TABLE tblgeInterfaces( intID integer PRIMARY KEY NONCLUSTERED, intName varchar(50) NOT NULL DEFAULT '', intDescription varchar(200) NOT NULL DEFAULT '', fltInputdate datetime NOT NULL DEFAULT GETDATE() ) CREATE TABLE tblgeFieldTypes( fltID integer PRIMARY KEY NONCLUSTERED, fltName varchar(50) NOT NULL DEFAULT '', fltDescription varchar(200) NOT NULL DEFAULT '', fltInputdate datetime NOT NULL DEFAULT GETDATE() ) CREATE TABLE tblgeFieldTypeInterface( ftiFieldType integer FOREIGN KEY REFERENCES tblgeFieldTypes(fltID), ftiInterface integer FOREIGN KEY REFERENCES tblgeInterfaces(intID), UNIQUE (ftiFieldType, ftiInterface) ) CREATE TABLE tblgeFields( fldID integer PRIMARY KEY NONCLUSTERED, fldFieldType integer FOREIGN KEY REFERENCES tblgeFieldTypes(fltID), fldName varchar(50) NOT NULL DEFAULT '', fldDefault varchar(200) NOT NULL DEFAULT '', fldNotNull bit NOT NULL DEFAULT 0, fldInputdate datetim NOT NULL DEFAULT GETDATE() ) CREATE TABLE tblgeSystemFieldInteface( sfiID integer PRIMARY KEY NONCLUSTERED, sfiSystem integer FOREIGN KEY REFERENCES tblgeSystems(sysID), sfiField integer FOREIGN KEY REFERENCES tblgeFields(fldID), sfiInterface integer FOREIGN KEY REFERENCES tblgeInterfaces(intID) UNIQUE(sfiSystem, sfiField, sfiInterface) ) CREATE TABLE tblgeTableFieldRelationship( tfrID integer PRIMARY KEY NONCLUSTERED, tfrParentTable integer FOREIGN KEY REFERENCES tblgeTables(tabID), tfrChildTable integer FOREIGN KEY REFERENCES tblgeTables(tabID), tfrParentField integer FOREIGN KEY REFERENCES tblgeFields(fldID), tfrChildField integer FOREIGN KEY REFERENCES tblgeFields(fldID) UNIQUE (tfrParentTable, tfrParentField, tfrChildTable, tfrChildField) )

Page 62: SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

54

CREATE TABLE tblgeFieldInterfaceKey( fikFieldInterface integer FOREIGN KEY REFERENCES tblgeSystemFieldInteface(sfiID), fikRelationship integer FOREIGN KEY REFERENCES tblgeTableFieldRelationship(tfrID), fikKey integer FOREIGN KEY REFERENCES tblgeFields(fldID), fikDisplayOrder integer NOT NULL DEFAULT 0, fikSortOrder integer NOT NULL DEFAULT 0, fikDescendent bit NOT NULL DEFAULT 0 UNIQUE(fikFieldInterface, fikRelationship, fikKey) ) CREATE TABLE tblgeTableFields( tflTable integer FOREIGN KEY REFERENCES tblgeTables(tabID), tflField integer FOREIGN KEY REFERENCES tblgeFields(fldID) UNIQUE (tflTable, tflField) ) CREATE TABLE tblgeReportQueries( rpqID integer PRIMARY KEY NONCLUSTERED, rpqSystem integer FOREIGN KEY REFERENCES tblgeSystems(sysID), rpqQuery varchar(5000) NOT NULL DEFAULT '', rpqInputDate datetime NOT NULL DEFAULT GETDATE() )

Page 63: SISTEMA DE GERENCIAMENTO CUSTOMIZÁVEL BASEADO EM … · arquitetura cliente-servidor utilizará como clientes PDA's que possuam suporte a aplicações Java, independentemente do

55

10. REFERÊNCIAS BIBLIOGRÁFICAS

DEITEL, H. M.; DEITEL, P. J. Java – Como Programar. 3.ed. Porto Alegre,

Bookman, 2001.

GRIMES, RICHARD. Professional DCOM Programming. Canadá, Wrox Press,

1997.

BATE BYTE – O ESTADO DA ARTE NA CELEPAR / Companhia de

Informática do Paraná. Curitiba, n. 118, Março 2002.

PALM, http://www.palm.com, Março/2002.

PALM OS EMULATOR,

http://webdev.apl.jhu.edu/~rbe/kvm/HowToInstallPOSE.html, Março/2002.

PALM OS, http://www.palmos.com/dev/tools/emulator/, Março/2002.

PALM DEVELOPERS, http://www.palm.com/br/developers/dev_index.html,

Março/2002

KVM, http://www.ajug.org/info/tech/KVM/kvm.html, Março/2002.

JAVA, http://www.javasoft.com, Março/2002.

MSDN, http://msdn.Microsoft.com/vstudio/downloads/addins/msde/default.asp,

Março/2002.

MYSQL, http://www.mysql.com, Março/2002.