Você está na página 1de 34

Universidade Estadual de Santa Cruz

PEDRO DOS SANTOS BORGES

DESENVOLVIMENTO E IMPLANTAO DO SISTEMA DE GERENCIAMENTO COMERCIAL SISCOM

ILHUS BAHIA 2008

PEDRO DOS SANTOS BORGES

DESENVOLVIMENTO E IMPLANTAO DO SISTEMA DE GERENCIAMENTO COMERCIAL SISCOM

Relatrio apresentado, para obteno da aprovao na disciplina Estgio Supervisionado, Universidade Estadual de Santa Cruz.

Orientador do Projeto: Dany Sanchez Dominguez

Durao: 4 meses

Ilhus BAHIA 2008

PEDRO DOS SANTOS BORGES

DESENVOLVIMENTO E IMPLANTAO DO SISTEMA DE GERENCIAMENTO COMERCIAL SISCOM

Ilhus-BA, 04/07/2008.

__________________________________________________________________________ Dany Sanchez Dominguez MSc. UESC Professor Orientador

__________________________________________________________________________ Tiago Motta. UESC Professor Convidado

__________________________________________________________________________ Flavio Shigeo Yamamoto MSc. UESC Professor da Disciplina Estgio Supervisionado

ii

AGRADECIMENTOS

Ao Prof. Dany Sanchez Dominguez, pela orientao, pela compreenso e pelo


apoio.

Aos amigos Fabrcio, Thadeu, Reyges, Ranniery e Afonso, pelo incentivo e pelo apoio constantes. Aos professores e funcionrios do Departamento de Cincias Exatas e Tecnolgicas, pelos ensinamentos e pela convivncia durante todo o perodo de graduao. Aos funcionrios da LEOMAC Materias para Construo, pela oportuna colaborao para a realizao deste trabalho.

iii

RESUMO

Toda e qualquer empresa que almeje crescer, se manter copetitiva no mercado e prestar servios de qualidade a seus clientes deve ter um sistema informatizado de gerencia comercial. Pensando nisso foi desenvolvido o SISCOM (Sistema de Gerncia Comercial), para que os processos de venda, compra e administrao financeira que so controlados manualmente possam ser

automatizados. A metodologia utilizada teve como objetivo tornar o sistema fcil de aprender e manusear, no ponto de vista dos usurios, escalvel e de fcil manuteno na perspectiva do desenvolvedor. Espera-se que o SISCOM possa facilitar a rotina de trabalho da LEOMAC, para que a empresa continue crescendo.

iv

SUMRIO
RESUMO ............................................................................................................................................................. IV 1. 1.1 1.2 1.3 2. 2.1 2.2 3. 3.1 3.2 4. 5. 5.1 5.2 5.3 5.4 6. 7. INTRODUO ............................................................................................................................................ 1 PROBLEMA ............................................................................................................................................. 1 OBJETIVOS DO TRABALHO ................................................................................................................ 2 FERRAMENTAS E MTODOS .............................................................................................................. 3 JUSTIFICATIVA DAS FERRAMENTAS E MTODOS UTILIZADOS ............................................... 4 FERRAMENTAS ..................................................................................................................................... 4 METODOLOGIA ..................................................................................................................................... 6 LEVANTAMENTO DE REQUISITOS ...................................................................................................... 9 REQUISITOS FUNCIONAIS .................................................................................................................. 9 REQUISITOS NO FUNCIONAIS ......................................................................................................... 9 BANCO DE DADOS ................................................................................................................................. 10 PROTOTIPAO DOS MDULOS ...................................................................................................... 12 CADASTROS ......................................................................................................................................... 13 ESTOQUE .............................................................................................................................................. 15 RELATRIOS ........................................................................................................................................ 16 FINANAS ............................................................................................................................................. 17 IMPLANTAO ........................................................................................................................................ 19 RESULTADOS E CONCLUSES ......................................................................................................... 21

REFERNCIA BIBLIOGRFICA .................................................................................................................... 22 APNDICE A CDIGO FONTE DO SISCOM ........................................................................................... 23

1. INTRODUO

A LEOMAC Materiais Para Construo uma pequena empresa do varejo de Itabuna. Esta empresa est inserida no ramo de comrcio de materiais de construo, iniciou suas atividades h mais de quatro anos e emprega oito funcionrios. A empresa busca uma ferramenta que possa facilitar suas rotinas de controle que esto divididas em duas esferas: a primeira o controle do estoque, que engloba a gerncia dos procedimentos de compra e venda; a segunda controle das finanas, na qual esto inseridos os pagamentos e recebimentos. Inicialmente, foi feita uma pesquisa visando encontrar no mercado um sistema que atendesse s necessidades da empresa e foram encontrados alguns programas que atendiam, em parte, s necessidades do cliente. Diante desta situao, surgiu a idia de se desenvolver um sistema que contemplasse uma soluo simples e eficiente na gesto comercial.

1.1 PROBLEMA

Atualmente, a LEOMAC no possui nenhum sistema informatizado de controle de estoque e finanas. O mecanismo utilizado para fazer esses controles totalmente manual, ineficiente e est vulnervel a vrios erros e deslizes dos funcionrios encarregados em manuse-lo. Alguns dos programas existentes no mercado do suporte apenas ao controle do estoque. So eles: CEST Free Controle de Estoque 3.0, MTG Estoque Fcil 5.8.2, Sistema de Vendas 6.0.0, REPTecno Estoque Plus 2.0.0.335.9. Outros

possuem apenas o controle de finanas: MTG Oramento Fcil 9.5, Automatiza Meudinheiro 2.0.1, FinanceiroWeb. Dos programas pesquisados, apenas o Hbil Empresarial gerencia estoque e finanas, porm tal soluo possui um custo que alto para a empresa, pois sua assinatura mensal varia em torno de R$259,00 a R$439,00.

Diante desta situao, os scios-gerentes acharam mais vivel investir no desenvolvimento de um software de controle de processos que seja simples, esteja de acordo com a realidade financeira da empresa e que possa proporcionar um rpido retorno desse investimento, j que a LEOMAC poder negociar o sistema com outras empresas.

1.2 OBJETIVOS DO TRABALHO

1.2.1 Objetivos Gerais

O objetivo desse projeto desenvolver um sistema de gerenciamento comercial capaz de automatizar os processos de controle de estoque e finanas. O produto final dever ser, no ponto de vista dos usurios, fcil de aprender e manusear. Tambm dever ser escalvel e de fcil manuteno na perspectiva do desenvolvedor. Outro objetivo participar de todas as etapas no desenvolvimento de um software, desde a negociao at a implantao do mesmo na loja do cliente. Para isso, o desenvolvedor ter de usar, simultaneamente, conhecimentos de vrias reas da computao, tais como: banco de dados, interface, programao e redes.

1.1.1 Objetivos Especficos

A expectativa em relao ao desenvolvimento do sistema que ele no seja apenas desenvolvido para funcionar na LEOMAC, mas que ele seja um software genrico capaz de funcionar em empresas que comercializem produtos ou servios,

onde novos mdulos podem ser desenvolvidos e adicionados sem que haja grandes impactos no sistema como um todo. Gerenciar a movimentao no estoque dos produtos comercializados pela empresa. Esse controle ser feito em um mdulo, o qual ser subdividido em duas sub-rotinas: compras e vendas. O sistema emitir relatrios referentes a todas as operaes dessas sub-rotinas. Gerenciar as finanas. Essa gerencia ser feita em um outro mdulo que tambm ter duas sub-rotinas: contas a pagar e contas a receber. Ambas tero emisso de relatrios. Controlar o acesso dos usurios, na qual cada usurio ter seu login, senha e nvel de permisso de acesso aos mdulos do sistema. Tal controle ser desenvolvido usando uma lgica em que seja permitido adicionar ou remover mdulos extras. Outro objetivo refere-se implantao do sistema, que ser feita em duas etapas: na primeira, sero feitas a configuraes na rede interna da empresa e a instalao da aplicao e na segunda ser ministrado um treinamento aos funcionrios.

1.3 FERRAMENTAS E MTODOS

A linguagem de desenvolvimento do sistema ser a W-Language, que uma linguagem visual orientada a objetos que possui uma grande quantidade de recursos no seu ambiente de desenvolvimento. A plataforma ser o WinDev, que abrange a totalidade do ciclo de desenvolvimento de software. O banco de dados ser o Hyper File, que um produto nativo da plataforma WinDev e apresenta boa performance como sistema gerenciador de bancos de dados. A metodologia no desenvolvimento ser uma das metodologias geis de desenvolvimento de software, a XP (Extreme Programming ou Programao Extrema).

2. JUSTIFICATIVA DAS FERRAMENTAS E MTODOS UTILIZADOS

2.1 FERRAMENTAS

Atualmente, existem diversas plataformas e linguagens de desenvolvimento de software no mercado, cada qual com suas vantagens e desvantagens. Dentre elas esto: a plataforma .Net, a plataforma Java e a plataforma Delphi.

2.1.1 Plataforma .Net

A plataforma .Net o produto Microsoft para competir com o Java. Uma das linguagens dessa plataforma o Visual Basic.NET (VB.Net), uma linguagem de programao totalmente orientada a objetos e com suporte total a UML (Unified Modeling Language Linguagem de Modelagem Universal). VB.Net foi criada pela Microsoft e distribuda com o Visual Studio .NET, uma interface proprietria para desenvolvimento de software. Existem inmeras vantagens em utilizar VB.NET: ela trabalha com biblioteca de classes, d suporte a tecnologia 64 bits e web services. Mas sem dvida a maior vantagem no est na linguagem e sim na plataforma. O .Net Framework fornece um ambiente de execuo completamente seguro. Como o cdigo no compilado, mas sim interpretado, o Framework tem controle total sobre a execuo, desde preveno de aes maliciosas at o controle de erros que poderiam travar o sistema (MICROSOFT, 2008).

2.1.2 Delphi

O Delphi uma outra soluo para o desenvolvimento de software. Delphi um compilador e um ambiente de desenvolvimento integrado (proprietrio). Ele produzido pela Borland Software Corporation. A linguagem utilizada pelo Delphi, o Object Pascal (Pascal com extenses orientadas a objetos) que a partir da verso 7 passou a se chamar Delphi Language. O Delphi, originalmente direcionado para a plataforma Windows, chegou a ser usado para desenvolvimento de aplicaes nativas para Linux e MacOS. Atualmente h um projeto chamado Lazarus que possui uma interface muito semelhante ao Delphi e a caracterstica de ser multiplataforma, ou seja, pode ser executado tanto no windows como no linux (BORLAND, 2008). As vantagens da plataforma Delphi so: boa performance dos aplicativos desenvolvidos, facilidade no desenvolvimento de aplicaes que acessam dados e tem bom suporte para componentes customizados. Entretanto, apresenta algumas desvantagens: deficiente em ferramentas para relatrio e no gratuita.

2.1.3 Plataforma Java

Uma soluo gratuita para o desenvolvimento a utilizao da plataforma Java, nome dado ao ambiente computacional, ou plataforma, da empresa estadunidense Sun. A plataforma permite desenvolver aplicativos utilizando qualquer uma das linguagens criadas para a plataforma Java, sendo a linguagem padro a que leva seu prprio nome: Linguagem Java. Uma grande vantagem da plataforma a de no estar presa a um nico sistema operacional ou hardware, pois seus programas podem ser executados atravs de uma mquina virtual que pode ser emulada em qualquer sistema que suporte a linguagem C++ (JAVA, 2008). Java uma linguagem de programao orientada a objeto desenvolvida na dcada de 90 por uma equipe de programadores chefiada por James Gosling, na Sun Microsystems. Diferentemente das linguagens convencionais, que so compiladas para cdigo nativo, a linguagem Java compilada para um "bytecode" que executado por uma mquina virtual (JAVA, 2008).

Um programa escrito para a plataforma Java necessita de dois componentes para ser executado: a mquina virtual Java (JVM - Java Virtual Machine), e um conjunto de bibliotecas de classe que disponibilizam um srie de servios para esse programa. O pacote de software que contm a mquina virtual e esta biblioteca de classes conhecido como JRE (Java Runtime Environment).

2.1.4 Plataforma WinDev

Dentre as diversas opes, a linguagem escolhida para o desenvolvimento do SISCOM ser a W-Language, que permite construir aplicaes com grande produtividade. A plataforma ser o WinDev 9.0 (gratuito at esta verso), que orientada a objetos e possui uma grande quantidade de recursos em sua IDE (Integrated Development Environment Ambiente Integrado para Desenvolvimento) (PC SOFT, 2005). O banco de dados a ser utilizado ser o Hyper File que um sistema gerenciador de bancos de dados relacional. Suas tabelas e relacionamentos so todos criados na prpria IDE do WinDev, funciona em Linux e Windows, com redes de quaisquer tamanhos e tipos e gerencia automaticamente acessos concorrentes. Alm disso, o Hiper File pode ser livremente distribudo com os aplicativos desenvolvidos em Windev (PC SOFT, 2005).

2.2 METODOLOGIA

H anos, os mtodos de desenvolvimento de software vem passando por grandes transformaes e novos desafios, entre eles desenvolver softwares com qualidade, no menor tempo possvel e que atendam as necessidades dos clientes. A XP uma das opes para a metodologia de desenvolvimento gil de softwares para equipes pequenas e mdias, pois so realizados durante todo o

processo de construo do sistema os ajustes necessrios construo do mesmo. Ela aceita principalmente por desenvolvedores que desfrutam de um ambiente bem informal, documentao e controle reduzidos, na qual o foco est na atividade de programao e flexibilidade para dar prazos, etc (TELES, 2008). A XP concentra os esforos dos desenvolvedores em atividades que geram resultados rapidamente na forma de software. Por fim, reduz os riscos do projeto desenvolvendo software de forma iterativa, reavaliando permanentemente as prioridades dos usurios. Para um projeto ser realmente desenvolvido em XP, ele deve respeitar e utilizar valores (atitudes das equipes e as principais prioridades da metodologia) e prticas (conjunto de atividades que devero ser seguidas pelas equipes). A seguir sero listados apenas os valores e prticas adotados nesse projeto (TELES, 2008).

2.2.1 Valores:

Feedback semanal o cliente aprende com o sistema que utiliza e com este aprendizado consegue reavaliar o produto recebido; Comunicao 3 vezes por semana - para que o feedback entre cliente e desenvolvedor possa ser efetuado com sucesso necessrio ter uma boa comunicao entre eles; Simplicidade - para que o cliente possa aprender durante o projeto e consiga dar o feedback necessrio equipe, no basta apenas uma boa comunicao, necessrio que os desenvolvedores implementem da forma mais simples possvel o que o cliente deseja. A lei : faa a coisa mais simples que pode funcionar; Coragem para desenvolver o software de forma incremental, para manter o sistema simples, permitir que o cliente defina prioridades, investir tempo em testes automatizados, adotar ritmo sustentvel de desenvolvimento, modelar e documentar apenas quando for de extrema necessidade, implantar uma nova verso do sistema no cliente peridicamente;

2.2.2 Prticas:

Cliente disponvel semanalmente - o cliente deve fazer parte da rotina do projeto, acompanhando os passos dos desenvolvedores, onde a sua ausncia representa srios riscos ao projeto; Desenvolvimento guiado por testes - todo cdigo implementando deve coexistir com um teste automatizado, assim garantindo o pleno funcionamento da nova funcionalidade. Padres de desenvolvimento - manter um padro no projeto para que qualquer um possa rapidamente entender o cdigo lido. Ritmo sustentvel ao trabalhar um nmero fixo de horas semanais o desenvolvedor estar sempre concentrada e muito menos propenso a pequenas falhas na implementao.

3. LEVANTAMENTO DE REQUISITOS

3.1 REQUISITOS FUNCIONAIS

A seguir so listados os principais requisitos funcionais do SISCOM: Cadastrar usurios Cadastrar produtos Cadastrar fornecedores Cadastrar clientes Autenticao e validao de usurio e senha Fazer incluso e alterao de notas de compra e venda Fazer a incluso e alterao de pagamentos e recebimentos Visualizao em tela de notas de compra e venda Visualizao em tela de pagamentos e recebimentos, por perodo Emisso de relatrios

3.2 REQUISITOS NO FUNCIONAIS

Alguns requisitos esto fora do escopo do projeto, pois fazem parte das funes atribudas aos usurios do sistema. So eles:

Garantir a integridade do estoque e das finanas (lanamentos incorretos


deixaro a base de dados incorreta)

Garantir/bloquear o acesso dos usarios (algum da LEOMAC ficar responsvel


em dar as permisses de acesso dos usurios)

10

4. BANCO DE DADOS

Um mecanismo comum para representar um banco de dados o diagrama de entidades e relacionamentos. Para Barbieri (1994), o diagrama de entidades e relacionamentos uma ferramenta utilizada para representar graficamente a estrutura lgica global de uma base de dados. Este diagrama deve conter as entidades, os seus atributos e como eles se relacionam. As principais tabelas do banco de dados so: Tbl_Clientes: armazena os dados dos clientes, como o nome, o CPF, o RG, o endereo, o telefone, o e-mail, etc; Tbl_Fornecedores: armazena as informaes dos fornecedores, como nome, razo social, CNPJ, endereo, telefone, e-mail, etc; Tbl_Produtos: armazena as informaes sobre os produtos comercializados pela empresa, como descrio, quantidade, preo, etc; Tbl_Compras e Tbl_Vendas: armezenam informaes referentes as compras e vendas, respectivamente. Essas informaes (cdigo, data, valor) so utilizadas nas tabelas de pagametnos e recebimentos e tambm nas tabelas de notas de compra e venda. Tbl_NFC e Tbl_NFV: armazenam os dados das notas de compra e venda, respectivamente. Essas tabelas so usadas para vincular as compras e vendas aos produtos, pois uma nota de compra (ou venda) pode possuir vrios produtos e um produto pode estar presente em vrias notas. Tbl_Pagamentos e Tbl_Recebimentos: armazenam as informaes referentes s finanas, como descrio, valor, data, parcela, flag indicando se est quitado ou no, etc. O banco de dados do SISCOM foi desenvolvido na prpria IDE do WinDev. Por proporcionar a facilidade de desenvolvimento e manuteno da aplicao e do seu respectivo banco de dados, o WinDev se mostrou bastante eficiente durante o ato de desenvolvimento do sistema. A Figura 1 mostra o diagrama de entidades e relacionamentos do SISCOM.

11

Figura 1 Diagrama de entidades e relacionamentos

O relacionamento entre as tabelas Tbl_Compras e Tbl_Produtos n -> n. Por isso, foi necessria a criao de uma tabela-relacionamento chamada Tbl_NFC. O mesmo acontece com o relacionamento entre Tbl_Vendas e Tbl_Produtos. Os relacionamentos entre as tabelas e as regras de integridade referencial tambm foram todos criados na IDE do WinDev.

12

5. PROTOTIPAO DOS MDULOS

Aps a criao do banco de dados, iniciou-se a fase de criao das telas, as quais deveriam ter o layout e as funcionalidades aprovadas pelo orientador e pelo cliente. Foi definido, juntamente com o cliente, que o sistema seria desenvolvido para funcionar no padro de 800x600 pixels. Primeiramente foram desenvolvidas as telas de login e menu, que so mostradas nas figuras 2 e 3, respectivamente.

Figura 2 Tela de Login

na tela de login que so verificadas as permisses dos usurios do sistema, pois s so carregados na tela de menu os mdulos que o usurio tem autorizao. As permisses so dadas e retiradas na tela cadastro de usurios, que possui um FLAG para cada mdulo do sistema.

13

Figura 3 Tela de Menu

O SISCOM foi dividido em quatro mdulos: cadastros, estoque, finanas e relatrios. Cada item do menu, exceto Logoff, representa um dos mdulos, os quais sero explicados com maiores detalhes nos prximos captulos.

5.1 CADASTROS

Esse mdulo engloba todas as telas que servem apenas para cadastrar dados no banco, ou seja, apresentam basicamente consultas de insero, alterao e excluso no seu processamento. Foram desenvolvidas sete telas nesse mdulo: clientes, formas de pagamento, fornecedores, grupos de produtos, usurios e vendedores.

14

Figura 4 Menu do Mdulo de Cadastros

Todas as telas seguiram a mesma lgica de programao e acesso ao banco de dados e possuem o mesmo layout. Numa tela existem: campos para entrada dos dados, botes (Incluir, Alterar, Excluir, etc.) e uma tabela de exibio das informaes contidas no banco de dados. O cadastro de clientes (Figura 5) usado para exemplificar as telas do mdulo de cadastros.

Figura 5 Tela de Cadastro de Clientes

15

Ao trmino do desenvolvimento do mdulo de cadastro, foi instalada uma primeira verso do SISCOM no cliente, a pedido do mesmo. O cliente desejava povoar a tabela de produtos enquanto os outros mdulos do sistema estavam sendo desenvolvidos, visto que esse processo de balano dos produtos em estoque bastante trabalhoso e demorado.

5.2 ESTOQUE

Nesse mdulo se encontram as telas que processam as rotinas de compras e vendas. Apenas quatro telas foram desenvolvidas: comprar essa a tela em que sero processadas as compras feitas pela empresa (aqui o estoque ser incrementado); notas de compra apenas um visualizador das notas de compra j processadas; vender ser nessa tela que as vendas sero efetuadas (aqui o estoque ser decrementado); notas de venda tambm apenas para visualizar as vendas efetuadas.

Figura 6 Tela de Vendas

16

importante destacar a tela de vendas, pois ela pode servir de base para que possa ser desenvolvida uma aplicao que funcione como PDV (Ponto De Venda), no balco da empresa. Porm, o sistema ter de dar suporte a essa opo mesmo que o PDV no seja implantado. Para isso, os vendedores da loja s podero ter acesso tela de vendas. Todas as telas seguem o mesmo padro, no qual a maior parte do processamento se concentra em um boto (Finaliza Compra/Venda). Todas elas emitem um relatrio que serve como nota ou oramento. A figura a seguir demonstra como ficaro os relatrios desse mdulo.

Figura 7 Relatrio da Tela de Vendas

5.3 RELATRIOS

No levantamento de requisitos foi definido que quatro relatrios seriam necessrios no gerenciamento da empresa. Este o mais simples dos mdulos, pois foram desenvolvidas pequenas telas que funcionam como filtros de parmetros para a impresso desses relatrios. So relatrios desenvolvidos so:

17

Estoque: imprime uma listagem, geral ou por grupo, dos produtos com suas respectivas quantidades. Tabela de Preos: imprime uma listagem, geral ou por grupo, dos produtos com seus respectivos preos de venda. Resumo de Vendas: imprime uma listagem de todas as vendas efetuadas num determinado perodo. No fim exibido um somatrio, tambm referente ao perodo. Resumo de Compras: imprime uma listagem de todas as compras efetuadas num determinado perodo. identico ao resumo de vendas. A figura a seguir demonstra como o padro da interface das telas desse mdulo.

Figura 8 Tela Relatrio Resumo das Vendas

5.4 FINANAS

Neste mdulo sero controlados os pagamentos e recebimentos. Foram desenvolvidas quatro telas, nas quais duas sero para efetuar lanamentos e as outras duas sero para visualizar os lanamentos. Nas telas Lanar Pagamentos e Lanar Recebimentos sero feitas as incluses e alteraes dos dados no banco. Cada pagamento e/ou recebimento ter um cdigo e poder ser dividido em parcelas, onde cada parcela ser processada como um registro nico.

18

Figura 9 Tela Lanar Pagamentos

Todos os pagamentos e/ou recebimentos so divididos em: quitados e noquitados. Nas telas Contas a Pagar e Contas a Receber poder ser feito um processo de quitao dos registros, na qual apenas esse flag modificado. Nessas telas, os registros tambm podero ser alterados (datas, valores, condies de pagamento, etc.) e nelas que sero visualizadas e impressas informaes sobre os pagamentos e os recebimentos.

Figura 10 Tela Contas a Pagar

19

6. IMPLANTAO

Finalizado o processo de desenvolvimento, ter inicio a etapa de implantao e configurao da rede interna da empresa (prevista para julho de 2008). Nessa fase ser montado o ambiente necessrio para a utilizao do SISCOM. O sistema ser instalado num servidor situado no escritrio da LEOMAC, no diretrio c:\Program Files\SISCOM. Esse diretrio dever ser compartilhado com as outras mquinas da rede e ser feito um backup dirio do mesmo. A configurao inicial da rede ser bem simples, visto que na empresa apenas o servidor ter acesso a internet. A figura seguinte ilustra a estrutura da rede da LEOMAC.

Figura 11 Estrutura Inicial da Rede Interna da LEOMAC

20

Esse servidor ser uma mquina com Microsoft Windows XP Service Pack 2 instalado. Os requisitos mnimos de hardware para o servidor so: Processador AMD Athlon MP 1GHz; 512MB de memria RAM; HD 80GB. Os funcionrios da LEOMAC usaro terminais para acessar o SISCOM. Nos terminais no ser necessria a instalao do sistema, basta apenas que cada mquina tenha um atalho que aponte para o aplicativo instalado no servidor. A configurao mnima de hardware e software dos terminais : Processador AMD Athlon MP 1GHz; 256MB de memria RAM; HD 20GB; Windows 98 Second Edition. Por ltimo, ser ministrado um treinamento sobre o SISCOM para todos os funcionrios da empresa. Esse treinamento ter carga horria de 24 horas (2 finais de semana).

21

7. RESULTADOS E CONCLUSES

Com o desenvolvimento desse projeto pde ser observado que imprescindvel o uso de TI (tecnologia da informao) para facilitar e melhorar a rotina das pessoas que trabalham no comrcio. Os profissionais da rea de TI tm a obrigao de proporcionar solues que estejam alinhadas s necessidades de seus cliente. Para isso, necessrio antes de tudo fazer um bom levantamento de requisistos e manter contato constante com o cliente. Participar de todas as etapas de criao de um software uma experincia muito enriquecedora do ponto de vista acadmico, pois o discente tem a oportunidade de por em prtica os conhecimentos adquiridos em diversas disciplinas, simultaneamente. Porm, o principal resultado obtido com esse projeto foi a aprovao e a satisfao do cliente em relao ao produto gerado. Um software personalizado, robusto e estvel. Os objetivos esperados foram alcanados. O SISCOM est em fase de implantao no cliente e em breve estar em pleno funcionamento, podendo at ser utilizado por outras empresas sem que sejam feitas grandes mudanas no sistema atual, pois ele foi projetado e desenvolvido para ser escalvel e de fcil manuteno.

22

REFERNCIA BIBLIOGRFICA

BARBIERI, Carlos. Modelagem de Dados. Rio de Janeiro: IBPI Press, 1994. BORLAND. Disponvel em < www.borland.com/br/>. Acesso em 25 de junho de 2008. JAVA. Disponvel em < http://br.sun.com/>. Acesso em 25 de junho de 2008. LARMAN, Craig Utilizando UML e Padres, 2 Edio, Editora Bookman, Porto Alegre, 2004. PC SOFT. Disponvel em <www.pcsoft.fr/us/>. Acesso em 10 de abril de 2008. PCSOFT, Tutorial WinDev , 1 Edio, 2005. TELES, Vincius Manhes, Extreme Programming: Aprenda como encantar seus usurios desenvolvendo software com agilidade e alta qualidade, 1 edio, Editora Novatec, 2004. MICROSOFT. Disponvel em <http://microsoft.com/Brasil/>. Acesso em 25 de junho de 2008.

23

APNDICE A Cdigo fonte do SISCOM


Tela Login boto ok
HOpen(Tbl_Usuarios) HReadSeekFirst(Tbl_Usuarios,Usu_Login,Combo_Usuarios..DisplayedValue) IF HOut() = False THEN // info(Tbl_Usuarios.Usu_Senha) // info(EDT_Senha) IF Tbl_Usuarios.Usu_Senha = EDT_Senha THEN //abre janela inicial do sistema Win_Login..Visible = False acesso_usuario = Tbl_Usuarios.Usu_Acesso Open(Win_Menu) Win_Login..Visible = True EDT_Senha = "" ELSE Info("Senha incorreta!") EDT_Senha = "" END END HClose(Tbl_Usuarios)

Tela Comprar boto finalizar compra


//atualizar o estoque ds is Data Source codigo is int = 0 quantid is int = 0 precoCusto is real = 0 HOpen(Tbl_Produtos) WHILE num_linhas_tbl > 0 codigo = Table_NFC.NFC_Pro_ID[num_linhas_tbl] precoCusto = Table_NFC.NFC_Preco[num_linhas_tbl] HReadSeekFirst(Tbl_Produtos,Pro_ID,codigo) quantid = Tbl_Produtos.Pro_Quantidade + Table_NFC.NFC_Quant[num_linhas_tbl] HExecuteSQLQuery(ds,"UPDATE Tbl_Produtos SET Pro_Quantidade = " + quantid + ", Pro_Custo = " + precoCusto + " WHERE Tbl_Produtos.Pro_ID = " + codigo) num_linhas_tbl -= 1 END HClose(Tbl_Produtos) ScreenToFile() HModify(Tbl_Compras) Info("Estoque atualizado!") IF Confirm(1,"Deseja imprimir a nota?") THEN ExecuteProcess(BTN_Imprimir,trtClick) END Reset() GRP_Compra..State = Active GRP_Nota..State = Inactive EDT_Com_Data = Today()

Tela Vender boto finalizar venda


//atualizar o estoque ds is Data Source codigo is int = 0 quantid is int = 0 precoCusto is real = 0 HOpen(Tbl_Produtos) WHILE num_linhas_tbl > 0 codigo = Table_NFV.NFV_Pro_ID[num_linhas_tbl] precoCusto = Table_NFV.NFV_Preco[num_linhas_tbl] HReadSeekFirst(Tbl_Produtos,Pro_ID,codigo) quantid = Tbl_Produtos.Pro_Quantidade - Table_NFV.NFV_Quant[num_linhas_tbl] HExecuteSQLQuery(ds,"UPDATE Tbl_Produtos SET Pro_Quantidade = " + quantid + " WHERE Tbl_Produtos.Pro_ID = " + codigo)

24

num_linhas_tbl -= 1 END HClose(Tbl_Produtos) ExecuteProcess(Button_Desconto,trtClick) ScreenToFile() HModify(Tbl_Vendas) Info("Estoque atualizado!") IF Confirm(1,"Deseja imprimir a nota?") THEN ExecuteProcess(BTN_Imprimir,trtClick) END Reset() GRP_Venda..State = Active GRP_Nota..State = Inactive EDT_Ven_Data = Today()

Tela Clientes boto excluir


IF EDT_ID <> "" THEN IF YesNo("Voc tem certeza de que deseja deletar esse cliente?") THEN ds is Data Source HExecuteSQLQuery(ds,"DELETE FROM Tbl_CLientes WHERE Tbl_Clientes.Cli_ID = " + EDT_ID) ExecuteProcess(Button_Table,trtClick) ExecuteProcess(Button_Limpar,trtClick) END ELSE Info("Selecione o cliente a ser excludo!") ReturnToCapture(EDT_Nome) END

Tela Clientes boto alterar


IF EDT_ID <> "" THEN IF Radio_Tipo = 1 THEN EDT_CNPJ = "" EDT_IE = "" ELSE EDT_CPF = "" EDT_RG = "" EDT_Data_Nasc = "" END ScreenToFile() HModify(Tbl_Clientes) Reset() ExecuteProcess(Button_Table,trtClick) ExecuteProcess(Button_Limpar,trtClick) ELSE Info("Selecione um cliente a ser alterado!") ReturnToCapture(EDT_Nome) END

Tela Clientes boto inserir


IF Radio_Tipo = 1 THEN EDT_CNPJ = "" EDT_IE = "" ELSE EDT_CPF = "" EDT_RG = "" EDT_Data_Nasc = "" END ScreenToFile() HAdd(Tbl_Clientes) ExecuteProcess(Button_Limpar,trtClick) ExecuteProcess(Button_Table,trtClick)

Tela Fornecedores boto alterar


IF EDT_ID <> "" THEN IF Radio_Tipo = 1 THEN

25

EDT_CNPJ = "" EDT_IE = "" EDT_Contato = "" EDT_Razao = "" ELSE EDT_CPF = "" EDT_RG = "" END ScreenToFile() HModify(Tbl_Fornecedores) Reset() ExecuteProcess(Button_Table,trtClick) ExecuteProcess(Button_Limpar,trtClick) ELSE Info("Selecione um fornecedor a ser alterado!") ReturnToCapture(EDT_Nome) END

Tela Fornecedores boto inserir


IF Radio_Tipo = 1 THEN EDT_CNPJ = "" EDT_IE = "" EDT_Contato = "" EDT_Razao = "" ELSE EDT_CPF = "" EDT_RG = "" END ScreenToFile() HAdd(Tbl_Fornecedores) ExecuteProcess(Button_Limpar,trtClick) ExecuteProcess(Button_Table,trtClick)

Tela Fornecedores boto excluir


IF EDT_ID <> "" THEN IF YesNo("Voc tem certeza de que deseja deletar esse fornecedor?") THEN ds is Data Source HExecuteSQLQuery(ds,"DELETE FROM Tbl_Fornecedores WHERE Tbl_Fornecedores.For_ID = " + EDT_ID) ExecuteProcess(Button_Table,trtClick) ExecuteProcess(Button_Limpar,trtClick) END ELSE Info("Selecione o fornecedor a ser excludo!") ReturnToCapture(EDT_Nome) END

Tela Contas a Pagar boto visualizar


total is real = 0 TableDeleteAll(Table_Pagamentos) HOpen(Tbl_Pagamentos) HReadFirst(Tbl_Pagamentos) WHILE HOut() = False IF Tbl_Pagamentos.Pag_Data >= EDT_De AND Tbl_Pagamentos.Pag_Data <= EDT_Ate THEN IF Radio_Opcao = 1 THEN IF Tbl_Pagamentos.Pag_Quitado = "S" THEN TableAddLine(Table_Pagamentos,Tbl_Pagamentos.Pag_ID,Tbl_Pagamentos.Pag_IDCompra,Tbl_Paga mentos.Pag_Descricao,Tbl_Pagamentos.Pag_Parcela,Tbl_Pagamentos.Pag_Valor,Tbl_Pagamentos.Pag_Data, Tbl_Pagamentos.Pag_Quitado,Tbl_Pagamentos.Pag_Num_Doc,Tbl_Pagamentos.Pag_FormaPgto) total += Tbl_Pagamentos.Pag_Valor END ELSE IF Tbl_Pagamentos.Pag_Quitado = "N" THEN TableAddLine(Table_Pagamentos,Tbl_Pagamentos.Pag_ID,Tbl_Pagamentos.Pag_IDCompra,Tbl_Paga

26

mentos.Pag_Descricao,Tbl_Pagamentos.Pag_Parcela,Tbl_Pagamentos.Pag_Valor,Tbl_Pagamentos.Pag_Data, Tbl_Pagamentos.Pag_Quitado,Tbl_Pagamentos.Pag_Num_Doc,Tbl_Pagamentos.Pag_FormaPgto) total += Tbl_Pagamentos.Pag_Valor END END END HReadNext(Tbl_Pagamentos) END HClose(Tbl_Pagamentos) EDT_Total = total

Tela Contas a Receber boto visualizar


total is real = 0 TableDeleteAll(Table_Recebimentos) HOpen(Tbl_Recebimentos) HReadFirst(Tbl_Recebimentos) WHILE HOut() = False IF Tbl_Recebimentos.Rec_Data >= EDT_De AND Tbl_Recebimentos.Rec_Data <= EDT_Ate THEN IF Radio_Opcao = 1 THEN IF Tbl_Recebimentos.Rec_Quitado = "S" THEN TableAddLine(Table_Recebimentos,Tbl_Recebimentos.Rec_ID,Tbl_Recebimentos.Rec_IDVenda,Tbl_R ecebimentos.Rec_Descricao,Tbl_Recebimentos.Rec_Parcela,Tbl_Recebimentos.Rec_Valor,Tbl_Recebimentos. Rec_Data,Tbl_Recebimentos.Rec_Quitado,Tbl_Recebimentos.Rec_Num_Doc,Tbl_Recebimentos.Rec_FormaPg to) total += Tbl_Recebimentos.Rec_Valor END ELSE IF Tbl_Recebimentos.Rec_Quitado = "N" THEN TableAddLine(Table_Recebimentos,Tbl_Recebimentos.Rec_ID,Tbl_Recebimentos.Rec_IDVenda,Tbl_R ecebimentos.Rec_Descricao,Tbl_Recebimentos.Rec_Parcela,Tbl_Recebimentos.Rec_Valor,Tbl_Recebimentos. Rec_Data,Tbl_Recebimentos.Rec_Quitado,Tbl_Recebimentos.Rec_Num_Doc,Tbl_Recebimentos.Rec_FormaPg to) total += Tbl_Recebimentos.Rec_Valor END END END HReadNext(Tbl_Recebimentos) END HClose(Tbl_Recebimentos) EDT_Total = total

Tela Lanar Pagamentos boto excluir


IF EDT_ID <> "" THEN IF YesNo("Voc tem certeza de que deseja deletar esse pagamento?") THEN ds is Data Source HExecuteSQLQuery(ds,"DELETE FROM Tbl_Pagamentos WHERE Tbl_Pagamentos.Pag_ID = " + EDT_ID) END ELSE Info("Selecione o pagamento a ser excludo!") ReturnToCapture(EDT_Descricao) END

Tela Lanar Pagamentos boto alterar


IF EDT_ID <> "" THEN ScreenToFile() HModify(Tbl_Pagamentos) TableModifyLine(Table_Pagamentos,linhaselect,EDT_ID,EDT_IDCompra,EDT_Descricao,EDT_Parcela, EDT_Valor,EDT_Data,EDT_Quitado,EDT_NumDoc,Combo_FormaPgto) ELSE Info("Selecione um pagamento a ser alterado!") ReturnToCapture(EDT_Descricao) END

27

Tela Lanar Pagamentos boto inserir


cont is int = 1 total is real = EDT_Valor data is Date = EDT_Data EDT_Valor = total / EDT_NumParcelas WHILE cont <= EDT_NumParcelas EDT_Parcela = cont EDT_Data = data ScreenToFile() HAdd(Tbl_Pagamentos) data..Month += 1 cont += 1 HOpen(Tbl_Pagamentos) HReadLast(Tbl_Pagamentos) EDT_ID = Tbl_Pagamentos.Pag_ID TableAddLine(Table_Pagamentos,EDT_ID,EDT_IDCompra,EDT_Descricao,EDT_Parcela,EDT_Valor,E DT_Data,EDT_Quitado,EDT_NumDoc,Combo_FormaPgto) END HClose(Tbl_Pagamentos) TableDisplay(Table_Pagamentos) Button_Incluir..State = Inactive Button_Novo..State = Active Info("Confira se todos os pagamentos foram lanados de maneira adequada!")

Tela Lanar Recebimentos boto excluir


IF EDT_ID <> "" THEN IF YesNo("Voc tem certeza de que deseja deletar esse recebimento?") THEN ds is Data Source HExecuteSQLQuery(ds,"DELETE FROM Tbl_Recebimentos WHERE Tbl_Recebimentos.Rec_ID = " + EDT_ID) END ELSE Info("Selecione o recebimento a ser excludo!") ReturnToCapture(EDT_Descricao) END

Tela Lanar Recebimentos boto alterar


IF EDT_ID <> "" THEN ScreenToFile() HModify(Tbl_Recebimentos) TableModifyLine(Table_Recebimentos,linhaselect,EDT_ID,EDT_IDVenda,EDT_Descricao,EDT_Parcela, EDT_Valor,EDT_Data,EDT_Quitado,EDT_NumDoc,Combo_FormaPgto) ELSE Info("Selecione um recebimento a ser alterado!") ReturnToCapture(EDT_Descricao) END

Tela Lanar Recebimentos boto inserir


cont is int = 1 total is real = EDT_Valor data is Date = EDT_Data EDT_Valor = total / EDT_NumParcelas WHILE cont <= EDT_NumParcelas EDT_Parcela = cont EDT_Data = data ScreenToFile() HAdd(Tbl_Recebimentos) data..Month += 1 cont += 1 HOpen(Tbl_Recebimentos) HReadLast(Tbl_Recebimentos) EDT_ID = Tbl_Recebimentos.Rec_ID TableAddLine(Table_Recebimentos,EDT_ID,EDT_IDVenda,EDT_Descricao,EDT_Parcela,EDT_Valor,E DT_Data,EDT_Quitado,EDT_NumDoc,Combo_FormaPgto) END

28

HClose(Tbl_Recebimentos) TableDisplay(Table_Recebimentos) Button_Incluir..State = Inactive Button_Novo..State = Active Info("Confira se todos os recebimentos foram lanados de maneira adequada!")