SOFTGEST SISTEMA DE GESTÃO DE ESTOQUE E VENDAS



Documentos relacionados
Registro e Acompanhamento de Chamados

Apresentação. E&L ERP Sistema Gerencial de Informações. PostgreSQL 8.2/ 8.3. Domingos Martins ES. v. 1.0

Noções de. Microsoft SQL Server. Microsoft SQL Server

CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS

Sumário. Apresentação O que é o Centro de Gerenciamento de Serviços (CGS) NTI? Terminologia Status do seu chamado Utilização do Portal Web

Engenharia de Software III

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

Manual do Visualizador NF e KEY BEST

Channel. Visão Geral e Navegação. Tutorial. Atualizado com a versão 3.9

Histórico da Revisão. Data Versão Descrição Autor

TOTVS Série 1 Varejo (Simples) - Módulo e-commerce

Microsoft Access XP Módulo Um

MANUAL ESCOLA FLEX. Revisado em 09/07/2008. Sistema Flex

Documento de Análise e Projeto VideoSystem

Manual do usuário - Service Desk SDM - COPASA. Service Desk

ÍNDICE. 1. Introdução O que é o Sistema Mo Porã Como acessar o Site Mo Porã Cadastro do Sistema Mo Porã...

Sistemas de Produtividade

O que é o Virto ERP? Onde sua empresa quer chegar? Apresentação. Modelo de funcionamento

DPAlmox - Windows MANUAL DO USUÁRIO

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial

MANUAL DE UTILIZAÇÃO

2 Diagrama de Caso de Uso

MANUAL COTAÇAO WEB MANUAL MANUAL AVANÇO INFORMÁTICA AVANÇO INFORMÁTICA. [Digite seu endereço] [Digite seu telefone] [Digite seu endereço de ]

Gestão de Relacionamento com o Cliente CRM

Sistemas Distribuídos

GUIA INTEGRA SERVICES E STATUS MONITOR

SuperStore Sistema para Automação de Óticas

1 Sumário O Easy Chat Conceitos Perfil Categoria Instalação O Aplicativo HTML...

DOCUMENTO DE REQUISITOS

Manual do Almoxarifado SIGA-ADM

MANUAL DE UTILIZAÇÃO - VISÃO DE EMPRESAS. Todos os direitos reservados à Softbox

Manual de Usuário. Gestion Libre de Parc Informatique (Gestão Livre de Parque de Informática) Versão 1.1 NRC

MANUAL DO ADMINISTRADOR LOCAL. Entidade Municipal

BH PARK Software de Estacionamento

TRANSMISSOR ECF. Sistema de transmissão de arquivos Nota Fiscal Paulista. Manual de Utilização

Processo de Controle das Reposições da loja

PORTAL DE COMPRAS SÃO JOSÉ DO RIO PRETO

Ferramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl

Manual do Aluno. O Moodle é um sistema que gerencia ambientes educacionais de aprendizagem que podem ser denominados como:

O Oficina Integrada é um sistema completo para o controle e gerenciamento de oficinas mecânicas. É o primeiro e único software que controla o fluxo

Manual Geral do OASIS

Engenharia de Requisitos Estudo de Caso

Módulo SAC Atendimento ao Cliente

Sistema de Controle de Solicitação de Desenvolvimento

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

Manual SAGe Versão 1.2 (a partir da versão )

Sistemas Integrados de Gestão Empresarial

MONTAGEM DE PROCESSO VIRTUAL

Universidade Federal do Vale do São Francisco Programa de Assistência Estudantil

Manual do Usuário Android Neocontrol

Manual de Instalação do Servidor Orion Phoenix Versão Novembro/2010

Sistema de de Bilhetagem Eletrônica MANUAL MÓDULO PDV

QUESTINAMENTOS AO EDITAL DE CONCORRÊNCIA 01/2013

Versão Liberada. Gerpos Sistemas Ltda. Av. Jones dos Santos Neves, nº 160/174

INDICE 1. INTRODUÇÃO CONFIGURAÇÃO MÍNIMA INSTALAÇÃO INTERLIGAÇÃO DO SISTEMA ALGUNS RECURSOS SERVIDOR BAM...

Lógica de Programação

Guia do Usuário. versão 1.2. GiuSoft Tecnologia -

Manual do Sistema "Vida Controle de Contatos" Editorial Brazil Informatica

INTRODUÇÃO 2 ACESSO AO SIGTECWEB 3 TEMPO DE CONEXÃO 5 NAVEGAÇÃO 7 BARRA DE AÇÕES 7 COMPORTAMENTO DOS BOTÕES 7 FILTROS PARA PESQUISA 8

Aplicação Prática de Lua para Web

Cobre Bem Tecnologia

Conheça a nova solução de servidor que ajuda pequenas empresas a fazer mais Com menos.


Manual de Instalação, Administração e Uso do Sistema Elétric

NetEye Guia de Instalação

SISTEMA DE CONTROLE INTERNO DE FLUXO DE CAIXA DO SETOR DE APOIO FINANCEIRO (ULBRA GUAÍBA)

Especialização em Engenharia de Software com Ênfase em Software Livre ESL2/2008. Projeto Agenda Saúde Requisitos e Modelagem UML

MANUAL DE UTILIZAÇÃO DO SISTEMA GLPI

MANUAL DO GERENCIADOR ESCOLAR WEB

Em 2012, a Prosoft planejou o lançamento da Versão 5 dos seus produtos.

Relatório Gerencial. Coordenação de Tecnologia da Informação e Comunicação FUNDEPAG 17/01/2013

MAGREGISTER 1.0: GERADOR DE INTERFACES DE COLETAS DE DADOS PARA PDA S. Acadêmico: Gilson Chequeto Orientador: Adilson Vahldick

Manual de utilização do sistema OTRS (Atendimento) Cliente Externo

Como obter Ajuda e Suporte

PORTAL DE RELACIONAMENTO GROUP

Simulador ITIL Exame de Certificação da EXIM

Manual Portal Ambipar

Solução Integrada para Gestão e Operação Empresarial - ERP

UNIVERSIDADE FEDERAL DO VALE DO SÃO FRANCISCO UNIVASF SECRETARIA DE TECNOLOGIA DA INFORMAÇÃO STI DEPARTAMENTO DE SISTEMAS DE INFORMAÇÕES

MANUAL DO ALUNO PARA NAVEGAR NO AMBIENTE VIRTUAL DE APRENDIZAGEM - AVA

PROCEDIMENTOS PARA A INSTALAÇÃO E UTILIZAÇÃO DO APLICATIVO DE LEILÃO ELETRÔNICO DA CONAB

Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL

Agora todas as Unimeds vão falar uma só língua. Unimed do Brasil Federação São Paulo Portal Unimed

Manual de Utilização


Sistema Gerenciador de Conteúdo OpenCms: um caso de sucesso no CEFET-MG

Instalação: permite baixar o pacote de instalação do agente de coleta do sistema.

Introdução a Informática - 1º semestre AULA 02 Prof. André Moraes

Manual do usuário. Softcall Java. versão 1.0.5

MANUAL DE UTILIZAÇÃO Aplicativo Controle de Estoque Desktop

Introdução a Banco de Dados Aula 03. Prof. Silvestri

Projeto Disciplinar de Infra-Estrutura de Software SISPA FACULDADE SENAC

Material de Apoio. Sistema de Informação Gerencial (SIG)

DESENVOLVIMENTO DE UM APLICATIVO DO TIPO SECRETÁRIO VIRTUAL PARA A PLATAFORMA ANDROID

Faculdade Integrada do Ceará FIC Graduação em Redes de Computadores

UNIVERSIDADE CÂNDIDO MENDES

FACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO <NOME DO TRABALHO> <Nome do Aluno> <Nome do Orientador>

Transcrição:

1 INSTITUTO DE ESTUDOS SUPERIORES DA AMAZÔNIA CURSO DE ENGENHARIA DA COMPUTAÇÃO CARLOS NATALINO DA SILVA EDSON AUGUSTO BRABO FERNANDES SOFTGEST SISTEMA DE GESTÃO DE ESTOQUE E VENDAS BELÉM 2008

2 INSTITUTO DE ESTUDOS SUPERIORES DA AMAZÔNIA CURSO DE ENGENHARIA DA COMPUTAÇÃO CARLOS NATALINO DA SILVA EDSON AUGUSTO BRABO FERNANDES SOFTGEST SISTEMA DE GESTÃO DE ESTOQUE E VENDAS Monografia apresentada ao curso de Engenharia da Computação para a demonstração do aprendizado e aplicação da interdisciplinaridade no curso. Orientado por: Prof. Kleiber T. de Sousa BELÉM 2008 INSTITUTO DE ESTUDOS SUPERIORES DA AMAZÔNIA

3 CURSO DE ENGENHARIA DA COMPUTAÇÃO CARLOS NATALINO DA SILVA EDSON AUGUSTO BRABO FERNANDES SOFTGEST SISTEMA DE GESTÃO DE ESTOQUE E VENDAS Esta Monografia foi julgada adequada para o projeto interdisciplinar, e aprovada na sua forma final pelo Instituto de Estudos Superiores da Amazônia DATA: / / CONCEITO:, Orientador Prof. Kleiber Tenório de Sousa Instituto de Estudos Superiores da Amazônia IESAM Profª. Silvana Rossy Brito IESAM - Avaliador BELÉM 2008

4 Dedicamos este trabalho a todos àqueles que acreditam que a ousadia e o erro são caminhos para as grandes realizações. AGRADECIMENTOS

5 Aos professores colaboradores Edgar Modesto Amazonas Filho, por ter nos mostrado caminhos e soluções para diversas dúvidas durante a fase de criação da interface e estar sempre disponível a incentivar e a ajudar-nos no que mais foi preciso. Silvana Brito, pela grande contribuição no desenvolvimento da interface de comunicação RMI, nos relatórios, diagramas e ferramentas que simplificaram a criação da maior parte de nossa aplicação e do projeto como um todo. Ao nosso orientador Prof. Kleiber Tenório de Sousa, pela dedicação e ajuda no fornecimento de materiais e idéias, sempre nos mostrando a melhor forma possível de se fazer algo grande com coisas simples.

6 Sorte é a união da competência com a oportunidade, torne-se competente, novas oportunidades virão e você será uma pessoa com muita sorte (Autoria desconhecida).

7 RESUMO Um estabelecimento comercial de pequeno ou médio porte tem inúmeras complicações no fechamento do balanço feito periodicamente, conforme determinado pela gerência. Sempre que é feito o balanço, as quantidades de produtos em estoque diferem das quantidades que deveriam de fato estar em estocadas. Além disso, todas as vendas são realizadas usando blocos de notas comerciais inválidos pela Receita Federal, os produtos não têm preço definido com margem nas últimas compras, os vendedores têm problemas no momento das vendas, por terem que ter os preços das mercadorias todos em mente, o tempo para preencher uma nota à mão é longo e desgastante, os erros nos totais e subtotais são comuns, faltando ou sobrando dinheiro no caixa, qualquer tipo de cadastro, documento, pedido, recibo e etc, são feitos em papel, o que os torna difíceis de armazenar. Em suma, a gerência não tem controle adequado sobre estoque, vendas, financeiro e cadastros da empresa. Para solucionar estes problemas, foi proposto um software escrito em linguagem Java, na plataforma de desenvolvimento IDE Netbeans 6.1, com banco de dados MySQL e comunicação RMI, que faz o controle do fluxo de caixa, cadastros, estoque e vendas em uma empresa. Conta com interfaces para retaguarda, venda assistida e frente de caixa. Auxilia os vendedores e administradores, gerenciando a parte financeira e fornecendo dados para a tomada de decisões importantes. Palavras-chave: Software, Interface, Java, Netbeans, MySQL, RMI. GLOSSÁRIO

8 PME s: Pequenas e médias empresas. Projetos open source: Projetos desenvolvidos utilizando tecnologias livres e que também são livres para utilização. Framework: Estrutura de software definida na qual outro projeto de software pode ser organizado e desenvolvido.

9 SUMÁRIO 1 INTRODUÇÃO... 8 2 ASPECTOS TEÓRICOS... 9 2.1 JAVA... 9 2.1.1 Um Pouco de História... 9 2.2 RMI... 10 2.3 HIBERNATE... 11 2.3 BANCO DE DADOS... 12 2.3.1 O SGBD MySQL... 12 3 METODOLOGIA... 13 3.1 VISÃO GERAL DO SISTEMA PROPOSTO... 13 3.2 ESTRUTURA ANALÍTICA DO PROJETO... 14 3.4 UML... 15 Estoque... 16 Venda assistida (Atendimento ao cliente)... 17 3.5 MÉTODO ADOTADO... 18 3.5.1 Projeto de Interface... 18 3.5.2 Análise do ambiente... 21 4 ANÁLISE DOS RESULTADOS... 25 4.1 TELAS DO SISTEMA... 25 4.2 AS TELAS DE CADASTRO DO SISTEMA... 27 4.3 A TELA DE VENDA ASSISTIDA DO SISTEMA... 29 5 TESTES DO SISTEMA INTEGRADO... 29 6 CONCLUSÃO... 30 REFERÊNCIAS... 31 ANEXOS... 32

8 1 INTRODUÇÃO O controle eficiente de todas as atividades das empresas sempre foi um grande problema para sues gestores. Diante desta demanda, os softwares de gestão vieram tentar suprir estas necessidades tão imediatas das empresas, como por exemplo, geração automática de relatórios e estatísticas sobre as atividades de um determinado setor da empresa. Assim, surgiram os softwares denominados de ERP (Enterprise Resource Planning, ou Sistemas Integrados de Gestão Empresarial). Estes sistemas integram todos os dados e processos de uma determinada empresa em um único sistema, onde é centralizado todo o controle da empresa, por exemplo: finanças, recursos humanos, contabilidade, etc. Como as rotinas internas das empresas são muito variadas e distintas, as empresas desenvolvedoras de softwares começaram criar soluções customizadas para atender a setores específicos das empresas. Assim, surgiram os softwares de CRM (Customer Relationship Management, ou Gestão de Relacionamento com o Cliente), que são voltados, como o próprio nome diz, em gerenciar todo o ciclo de relacionamento das empresas com seus clientes, proporcionando à empresa gerar o histórico de atendimentos com os clientes, por exemplo. Nesta mesma linha, alguns softwares se especializaram no controle de todo o processo de compra e venda da empresa, facilitando o trabalho dos administradores no âmbito da gerência, e dos vendedores, no âmbito da execução da venda. De modo geral, estes sistemas aceleram o processo de vendas e de compra, além de eliminar uma série de problemas que podem ocorrer durante o processo de venda, como o erro de preços, dentre outros. O sistema apresentado neste trabalho é uma solução voltada para a eficientização de vendas e controle de estoque voltado para uma loja de materiais de construção. Evidentemente, a solução apresentada pode ser utilizada em quaisquer estabelecimentos comerciais com características similares. O sistema impactará principalmente na área de estoque e vendas das empresas. Na área de vendas o sistema possibilitará o aumento das vendas, mesmo mantendo o quadro de funcionários atual, resultando no aumento da produtividade dos mesmos, reduzindo custos e possíveis erros. A capacidade de vendas poderá, ainda, ser maximizada devido a um controle mais eficiente do estoque, facilitando projeções de vendas e renovação programada de estoque.

9 No desenvolvimento do software foram empregadas tecnologias gratuitas (Java e MySQL), com eficiência e disponibilidade elevadas, para que possa funcionar bem com hardwares de baixo custo, visando a utilização em estabelecimentos comerciais de pequeno e médio porte, tornando mais acessível esta tecnologia para pequenas e médias empresas. O software é composto de duas camadas principais: cliente e servidor. Os dois módulos trabalham em conjunto para oferecer eficiência e disponibilidade elevadas, além de alta confiabilidade das informações, garantido através da implementação de alguns aspectos presentes em sistemas distribuídos. Para garantir tais características, também foi elaborado o projeto de redes necessário para a implantação do sistema. 2 ASPECTOS TEÓRICOS 2.1 JAVA Java é uma tecnologia. É um mundo tão grande que ninguém se arrisca a dizer Eu sei Java. Basicamente constitui-se de uma linguagem de programação e um programa para execução chamado de Máquina Virtual Java, ou Java Virtual Machine, ou simplesmente JVM. Quando programa-se em Java usa-se a linguagem de programação Java e um ambiente de desenvolvimento Java para gerar um software que será executado em um ambiente de distribuição Java. Tudo isso é a tecnologia Java (PAMPLONA, 2008). Java é uma linguagem que não se prende a nenhuma arquitetura e a nenhuma empresa, é rápida e estável. Pode construir sistemas críticos, sistemas que precisam de velocidade e até sistemas utilizados em pesquisas espaciais, como a sonda Spirit enviada pela Nasa para Marte. Java tem uma infinidade de projetos open source, que podem ser utilizados por qualquer desenvolvedor. Um destes projetos é o Hibernate, que é utilizado neste trabalho para auxiliar as operações com bancos de dados. Ele é responsável pelo mapeamento objeto relacional entre as classes Java e as tabelas do banco de dados relacional. 2.1.1 Um Pouco de História

10 Foi desenvolvida na 1a metade da década de 90 nos laboratórios da Sun Microsystems com o objetivo de ser mais simples e eficiente do que suas predecessoras. O alvo inicial era a produção de software para produtos eletrônicos de consumo (fornos de microondas, agendas eletrônicas, etc.). Um dos requisitos para esse tipo de software é ter código compacto e de arquitetura neutra (PAMPLONA, 2008). A tecnologia Java começou a ser criada em 1991 com o nome de Green Project. O projeto era esperado como a próxima geração de software embarcado. Nele trabalhavam James Grosling, Mike Sheridan e Patrik Naughton. Em 1992 surge a linguagem Oak : a primeira máquina virtual implementada. Várias tentativas de negócio foram feitas para vender o Oak mas nenhuma com sucesso. Em 1994 surge a internet, a Sun vê uma nova possibilidade para o Green Project e cria uma linguagem para construir aplicativos Web baseada na Oak, a Java. Em 23 de maio de 1995 a linguagem Java é oficialmente lançada na SunWorld Expo 95 com a versão JDK 1.0 alpha. A Netscape aposta na idéia e inicia a implementação de interpretadores Java em seu navegador, possibilitando a criação de Java applets. A partir desta etapa o Java começa a crescer muito. De 1998 até hoje a tecnologia evoluiu muito possuindo um dos maiores repositórios de projetos livres do mundo, o java.net. Em 1999 surgiu a plataforma para desenvolvimento e distribuição corporativa batizado de Java 2 Enterprise Edition (J2EE) e a plataforma Java 2 Mobile Edition (J2ME) para dispositivos móveis, celulares, PDAs e outros aparelhos limitados (PAMPLONA, 2008). Atualmente Java é uma das linguagens mais usadas e serve para qualquer tipo de aplicação, entre elas: web, desktop, servidores, mainframes, jogos, aplicações móveis, chips de identificação, etc. 2.2 RMI RMI (Remote Method Invocation) é uma das abordagens da tecnologia Java para prover as funcionalidades de uma plataforma de objetos distribuídos. Esse sistema de objetos distribuídos faz parte do núcleo básico de Java desde a versão JDK 1.1, com sua API sendo especificada através do pacote java.rmi e seus subpacotes (RICARTE, 2008).

11 Através da utilização da arquitetura RMI, é possível que um objeto ativo em uma máquina virtual Java possa interagir com objetos de outras máquinas virtuais, independentemente da localização dessas máquinas. No desenvolvimento de uma aplicação cliente-servidor, usando Java RMI, como para qualquer plataforma de objetos distribuídos, é essencial que seja definida a interface de serviços que serão oferecidos pelo objeto servidor. Os serviços especificados pela interface RMI deverão ser implementados através de uma classe Java. Nessa implementação dos serviços é preciso indicar que os objetos dessa classe poderão ser acessados remotamente. Com a interface estabelecida e o serviço implementado, é possível criar as aplicações cliente e servidor RMI. A execução da aplicação cliente-servidor em RMI requer, além da execução da aplicação cliente e da execução da aplicação servidor, a execução do serviço de registro de RMI junto ao sistema operacional. Além do princípio básico de execução de aplicações RMI, a arquitetura RMI oferece facilidades para operação com código disponibilizado de forma distribuída e ativação dinâmica, além de outros serviços distribuídos. É interessante observar como padrões de programação distribuída, como a fábrica de objetos remotos e o padrão de callback, são trabalhados em aplicações RMI. 2.3 HIBERNATE Hibernate é um framework para o mapeamento objeto relacional escrito na linguagem Java, mas também disponível para a linguagem.net com o nome de NHibernate. Esta ferramenta facilita o mapeamento de atributos de uma base de dados relacional com o modelo de programação orientado a objetos, que é utilizado no Java. Sua principal funcionalidade é portar classes escritas em linguagem Java para tabelas no banco de dados. Além disso, pode ser facilmente portado de forma transparente à aplicação para os principais SGBD s do mercado.

12 Para efetuar consultas no banco de dados, podemos optar por utilizar a HQL (Hibernate Query Language). Um poderoso dialeto, muito parecido com SQL, mas totalmente orientada a objetos. Sendo assim, podemos utilizar os paradigmas de herança, polimorfismo e encapsulamento. De forma geral, para aplicações onde a lógica de negócio pertence à aplicação e não ao banco de dados, o Hibernate é uma poderosa ferramenta que permite abstrair toda a camada de banco de dados. 2.3 BANCO DE DADOS 2.3.1 O SGBD MySQL É um sistema de gerenciamento de banco de dados extremamente rápido e versátil, que permite construir aplicações interativas e complexas, tornando-se extremamente amigável e fácil de usar (ALECRIM, 2006). Ele é um dos sistemas de gerenciamento de banco de dados mais populares que existe e, por ser otimizado para aplicações Web, é amplamente utilizado na internet. Outro fator que ajuda na popularidade do MySQL é sua disponibilidade para praticamente qualquer sistema operacional, como Linux, FreeBSD (e outros sistemas baseados em Unix), Windows e Mac OS X. Além disso, o MySQL é um software livre (sob licença GPL), o que significa que qualquer um pode estudá-lo ou alterá-lo conforme a necessidade. Entre as características técnicas do SGBD MySQL, estão: - Alta compatibilidade com linguagens como PHP, Java, Python, C#, Ruby e C/C++; - Baixa exigência de processamento (em comparação como outros SGBD); - Vários sistemas de armazenamento de dados (database engine), como MyISAM, MySQL Cluster, CSV, Merge, InnoDB, entre outros; - Recursos como transactions (transações), conectividade segura, indexação de campos de texto, replicação, etc;

13 2.3.1.1 Um pouco de história O MySQL surgiu na Suécia pelas mãos de três colegas: Allan Larsson, David Axmark e Michael Monty Widenius. Trabalhando com base de dados, eles sentiram a necessidade de fazer determinadas conexões entre tabelas e usaram o msql para isso. Porém, não demorou a perceberem que essa ferramenta não lhes atendia conforme o necessário e passaram a trabalhar em uma solução própria. Surgia então o MySQL, cuja primeira versão foi lançada no ano de 1996(ALECRIM, 2006). Um fato importante a ser destacado sobre o MySQL é que esse SGBD também possui uma licença comercial, isto é, paga. Neste caso, é possível obter suporte diferenciado dos desenvolvedores. 3 METODOLOGIA 3.1 VISÃO GERAL DO SISTEMA PROPOSTO Uma loja de Materiais de Construção de pequeno a médio porte, a Maurití Materiais de Construção, deseja um sistema de informação para melhorar o atendimento aos clientes. Em um primeiro instante, apenas os elementos envolvidos diretamente neste contexto serão alvo do sistema, como é possível notar pela descrição a seguir. A loja possui milhares de produtos, que estão subdivididos de acordo com suas categorias, subcategorias, fabricantes e fornecedores. Por exemplo, um tubo eletroduto pertence à subcategoria eletrodutos da categoria tubos, fabricados pela Tigre e distribuídos (fornecedores) pela São Paulo Ferragens LTDA. Os produtos são fornecidos por distribuidores, sendo que cada produto tem um distribuidor exclusivo, ou mais distribuidores. De um distribuidor deseja-se saber apenas a razão social, o nome de fantasia, endereço, CNPJ, inscrição estadual, telefone celular, principal ou outro, pessoa de contato e email da pessoa de contato. O gerente da loja deseja manter essas informações, para usos posteriores. Cada produto possui apenas um fabricante. De um fabricante deseja-se saber apenas o código e o nome de fantasia.

14 Todos os produtos estão inscritos em uma categoria e também em uma subcategoria. Sobre esses aspectos deseja-se saber apenas o código, gerado automaticamente pelo sistema, e a descrição (nome). No momento da venda, a loja deseja saber algumas informações sobre os clientes, para poder efetuar as entregas e entrar em contato com o cliente caso haja algum imprevisto como atraso no prazo de entrega, algum produto que não esteja disponível em estoque até o prazo final de entrega ou o endereço informado não tenha sido encontrado. Ou apenas para guardar um cadastro que poderia ser usado em outra compra. Essas informações são: nome, data de cadastro, telefones celular e residencial, endereço completo, informações pessoais como: CPF, naturalidade, RG, estado civil, sexo, data de nascimento contato e email. A devolução de produtos não é aceita, apenas a troca por outros em casos de defeitos de fabricação e insatisfação do cliente. O pagamento é realizado diretamente no caixa, no ato do pagamento o cliente deve informar a forma de pagamento desejada, o atendente informa o valor total, os descontos se existirem e finalizando a venda. 3.2 ESTRUTURA ANALÍTICA DO PROJETO Figura 1 EAP.

15 3.4 UML Modelo de Casos de Uso A figura 2 mostra o diagrama de pacotes do sistema, subdividindo-o em dois subsistemas, a saber: Estoque: envolve toda a funcionalidade relacionada com o controle de estoque da loja, abrangendo os cadastros de usuários (atendentes), produtos, fabricantes, fornecedores, categorias, subcategorias e formas de pagamento. Venda Assistida: envolve a funcionalidade relacionada ao atendimento aos clientes da loja, incluindo venda assistida, frente de caixa, pagamentos, recebimentos e cadastro de clientes. Figura 2 Diagrama de Pacotes. Caso de uso Geral A figura 3 mostra o diagrama de casos de uso geral do sistema.

16 Figura 3 Casos de uso Geral do Sistema. Estoque cadastros. A figura 4 mostra o diagrama de casos de uso referente ao controle estoque e

17 Figura 4 Diagrama de Casos de Uso Gerenciar Cadastros. Os atores a atuar nesse sistema são o Ator Atendente, que representa o papel desempenhado pelos funcionários da loja, responsáveis tanto pelo cadastro de clientes, quanto pelo atendimento aos clientes loja e o Ator Gerente, que representa o papel desempenhado pelo gerente da loja, responsável pelos demais cadastros inclusive o de usuários do sistema. Venda assistida (Atendimento ao cliente) A figura 5 mostra o diagrama de casos de uso referente ao atendimento a cliente.

18 Figura 5 Diagrama de Casos de Uso Gerenciar Vendas. 3.5 MÉTODO ADOTADO Inicialmente foi feita uma pesquisa sobre quando, onde, quem e em que situações seria usado o software, foi o que nos forneceu a base para o desenvolvimento da interface gráfica com o usuário a partir da Especificação de Requisitos de Software. 3.5.1 Projeto de Interface Para se construir um projeto de interfaces precisamos conhecer alguns conceitos básicos de Interface, interação e usabilidade. 1. Interface e Interação. O termo interface é aplicado normalmente àquilo que interliga dois sistemas. Tradicionalmente, considera-se que uma interface homem-máquina é a parte de um

19 artefato que permite a um usuário controlar e avaliar o funcionamento deste artefato através de dispositivos sensíveis às suas ações e capazes de estimular sua percepção. No processo de interação usuário-sistema a interface é o combinado de software e hardware necessário para viabilizar e facilitar os processos de comunicação entre o usuário e a aplicação. A interface entre usuários e sistemas computacionais diferencia-se das interfaces de máquinas convencionais por exigir dos usuários um maior esforço cognitivo em atividades de interpretação e expressão das informações que o sistema processa [Norman, 1986]. Moran (ANO) propôs uma das definições mais estáveis de interface, dizendo que a interface de usuário deve ser entendida como sendo a parte de um sistema computacional com a qual uma pessoa entra em contato físico, perceptivo e conceitualmente [Moran, 1981]. Esta definição de Moran caracteriza uma perspectiva para a interface de usuário como tendo um componente físico, que o usuário percebe e manipula, e outro conceitual, que o usuário interpreta, processa e raciocina. Moran e outros denominam este componente de modelo conceitual do usuário. Vemos, pois, que a interface é tanto um meio para a interação usuáriosistema, quanto uma ferramenta que oferece os instrumentos para este processo comunicativo. Desta forma a interface é um sistema de comunicação. A interface possui componentes de software e hardware. Os componentes de hardware compreendem os dispositivos com os quais os usuários realizam as atividades motoras e perceptivas. Entre eles estão a tela, o teclado, o mouse e vários outros. O software da interface é a parte do sistema que implementa os processos computacionais necessários (a) para controle dos dispositivos de hardware, (b) para a construção dos dispositivos virtuais (os widgets) com os quais o usuário também pode interagir, (c) para a geração dos diversos símbolos e mensagens que representam as informações do sistema, e finalmente (d) para a interpretação dos comandos dos usuários. Outra característica de uma interface é a revelação das affordances do sistema. Affordance é um termo que se refere às propriedades percebidas e reais de um artefato, em particular as propriedades fundamentais que determinam como este artefato pode ser utilizado [Norman, 1988]. Segundo Norman, as affordances fornecem fortes pistas ou indicações quanto à operação de artefatos; e quando se tira proveito delas, o usuário sabe exatamente o que fazer só olhando para o

20 artefato. Por exemplo, a affordance de um botão é que o pressionemos, de um interruptor, que o comutemos, e assim por diante. A interação é um processo que engloba as ações do usuário sobre a interface de um sistema, e suas interpretações sobre as respostas reveladas por esta interface. Usabilidade A usabilidade de um sistema é um conceito que se refere à qualidade da interação de sistemas com os usuários e depende de vários aspectos. Alguns destes fatores são: facilidade de aprendizado do sistema: tempo e esforço necessários para que os usuários atinjam um determinado nível de desempenho; facilidade de uso: avalia o esforço físico e cognitivo do usuário durante o processo de interação, medindo a velocidade de e o número de erros cometidos durante a execução de uma determinada tarefa; satisfação do usuário: avalia se o usuário gosta e sente prazer em trabalhar com este sistema; flexibilidade: avalia a possibilidade de o usuário acrescentar e modificar as funções e o ambiente iniciais do sistema. Assim, este fator mede também a capacidade do usuário utilizar o sistema de maneira inteligente e criativa, realizando novas tarefas que não estavam previstas pelos desenvolvedores; produtividade: se o uso do sistema permite ao usuário ser mais produtivo do que seria se não o utilizasse. Além disso, é preciso também conhecer o Usuário a. Quem é o usuário? Os usuários são estabelecimentos comerciais de diversos segmentos, micro, pequenas e médias empresas e distribuidoras. b. Quais as expectativas do usuário?

21 O usuário deseja um aplicativo desktop com funções básicas de controle de estoque, financeiro, compras e vendas de sua empresa ou estabelecimento comercial de forma automatizada, com simples acesso e de fácil manuseio e manutenção. Esse aplicativo deve gerenciar de forma precisa todas as transações comerciais e financeiras de sua empresa, de forma prática e ágil, que o ajude a aumentar o faturamento, e o deixe sempre informado sobre as condições do estoque, dos pagamentos, das vendas e das demais atividades que sua empresa realize, sem tomar tempo, facilitando a interatividade entre clientes e funcionários. 2. Questões conhecidas O aplicativo deverá rodar (funcionar) em qualquer plataforma (Sistema Operacional), já que a linguagem usada no desenvolvimento é multiplataforma (Java). Necessidade de uma tela de login/senha com a finalidade de selecionar as permissões que cada usuário deverá ter. Necessidade de várias telas de cadastro que atenda todos os requisitos requeridos pelo usuário. Necessidade de telas que controlem a visualização e o gerenciamento do estoque, das vendas. 3.5.2 Análise do ambiente 3. Onde está localizada? Isso não tem influência direta na aplicação, pois tudo que precisamos para fazer funcionar o aplicativo pode ser instalado em qualquer local, salvo no caso de redes a longas distâncias, como interiores e cidades onde não haja infra-estrutura necessária à implantação dessa tecnologia. 4. O usuário está usando exclusivamente o sistema?

22 Mesmo sem implantar o sistema, podemos adiantar que nenhum sistema é totalmente independente e que realize todas as tarefas, então, certamente o usuário não utilizará exclusivamente o aplicativo. 5. Navegação e associação de controles com segurança de acesso. a. Inicialização: Nível 1(Gerente): Habilita todos os menus Nível 2(Atendente): Habilita os menus Venda, Arquivo, Ajuda e o submenu Clientes do menu Cadastros. Menu Arquivo : Navegação para Arquivo. Submenu Entrar como outro usuário : Navegação para Mudar de usuário. Submenu Sair : Navegação para Fazer logoff no sistema. Submenu Fechar : Navegação para Encerrar o sistema. Menu Cadastros : Navegação para Cadastros. Submenu Produtos : Navegação para Cadastro de produtos. Submenu Clientes : Navegação para Cadastro de clientes. Submenu Fabricantes : Navegação para Cadastro de fabricantes.

23 Submenu Fornecedores : Navegação para Cadastro de fornecedores. Submenu Categorias : Navegação para Cadastro de Categorias. Submenu SubCategorias : Navegação para Cadastro de subcategorias. Submenu Formas de Pagamento : Navegação para Cadastro de formas de pagamento. Submenu Funcionários : Menu Venda : Navegação para Cadastro de funcionários. Navegação para Vendas. Submenu Assistida : Navegação para Realizar venda assistida. Submenu Frente de Caixa : Navegação para Realizar venda frente de caixa. Menu Faturamento : Navegação para Faturamento. Submenu Fechar caixa : Navegação para Fechamento de caixa. Submenu Faturamento diário : Navegação para Faturamento diário. Submenu Faturamento periódico :

24 Navegação para Faturamento periódico. Submenu Faturamento mensal : Navegação para Faturamento Mensal. Menu Ferramentas : Navegação para Ferramentas. Submenu Consulta SQL : Navegação para Consulta SQL. Submenu Opções. Menu Ajuda : Navegação para Opções do sistema. Navegação para Ajuda do sistema. Submenu Sobre : Navegação para Informações sobre o sistema. Submenu Manual de uso. Navegação para Manual de uso do sistema. 6. Caso de uso Real. Caso de uso: Realizar Compra. O cliente chega ao balcão e solicita o produto que deseja adquirir. O cliente informa seus dados pessoais. O atendente abre a tela de Venda assistida clicando no submenu Assistida do menu Vendas.

25 O atendente verifica se o cliente já é cadastrado, se for, prossegue na venda, se não, pode ser feito um cadastro instantâneo, ou o atendente poderá usar o Cliente padrão. O atendente registra o(s) produto(s) que o cliente solicitou na tela de busca e armazenamento de produtos. O sistema informa o valor total da venda e o valor unitário de cada produto multiplicado pela quantidade. O atendente propõe as formas de pagamento. O atendente finaliza a venda. O sistema gera um n de operação, que será levado até o caixa. O cliente vai ao caixa, efetua o pagamento, recebe o produto e vai embora. 4 ANÁLISE DOS RESULTADOS Até o presente momento, temos acompanhado o desenvolvimento do projeto de acordo com as datas previstas no cronograma. As interfaces estão prontas, porém, inevitavelmente, faremos alguns ajustes ao decorrer das necessidades encontradas no desenvolvimento final, para que este se adéqüe a todos os requisitos dos nossos usuários. A comunicação RMI está em andamento, alguns testes já foram realizados e o mais breve possível estaremos fazendo testes juntamente com a interface e corrigindo possíveis erros. 4.1 TELAS DO SISTEMA A Figura apresenta a tela de Login e a interface Principal do sistema.

26 Figura 6 Tela de Login. As Figuras apresentam as telas da interface Principal com seus respectivos menus e submenus. Figura 7 Figura 8

27 Figura 9 Figura 10 Figura 11 Figura 12 4.2 AS TELAS DE CADASTRO DO SISTEMA Exibiremos apenas algumas telas de cadastros referentes ao sistema, as demais estarão em anexo ao final do documento. Figura 13 Cadastro de Produtos.

28 Figura 14 Cadastro de Clientes. Figura 15 Cadastro de Funcionários.

29 4.3 A TELA DE VENDA ASSISTIDA DO SISTEMA Figura 16 Venda Assistida. 5 TESTES DO SISTEMA INTEGRADO Para testes do sistema integrado, faremos algumas seqüências que demonstram as atividades mais comuns entre os usuários do sistema. Serão realizados o login de um funcionário e de um administrador do sistema, um cadastro de fornecedor e exemplos das telas de venda. Todos os usuários do sistema terão que efetuar a identificação no sistema, para isto, é disponibilizada a tela de login (Figura 6). Nesta tela, o usuário poderá digitar seu login e sua senha. Caso o login não esteja correto, o sistema emitirá o aviso mostrado na figura a seguir. Caso o login esteja correto, mas a senha não, o sistema emitirá o aviso mostrado a seguir. Notemos que enquanto o login não é realizado, os menus do sistema são limitados, conforme podemos notar na figura a seguir. Quando login e senha estão corretos, o sistema emite um aviso e libera os menus correspondentes às permissões do usuário logado, conforme figuras a seguir. A partir de então, os usuários do sistema, de acordo com suas permissões, têm acesso às funcionalidades. A seguir, demonstraremos uma das funcionalidades de cadastro.

30 O cadastro de fornecedores é uma das atividades que será restrita a funcionários da administração, pois não há necessidade de vendedores cadastrarem fornecedores. Para cadastrar um fornecedor o usuário deve acessar o menu Cadastros e clicar em Fornecedores..., sendo que o mesmo também pode ser acessado através do atalho Ctrl+Shift+N. Após isto, o usuário terá acesso à tela mostrada a seguir. Desta forma, o usuário pode cadastrar um novo fornecedor preenchendo os dados e clicando em Salvar. É realizada uma checagem dos dados e se tudo estiver correto é feita uma requisição para salvar os dados. Quando recebemos a resposta, é exibida uma mensagem com os resultados do processo, conforme pode ser visto abaixo. Como podemos perceber, também informamos a ID que representa o cadastro no sistema. A partir deste número, o usuário pode acelerar alguns processos no sistema. 6 CONCLUSÃO Podemos dizer que no desenvolvimento desse projeto foram levadas em consideração as mudanças e as inovações tecnológicas que os softwares precisam sofrer parar que possam atender aos novos requisitos do mercado. Sendo assim, o uso de novas tecnologias nas áreas de desenvolvimento e modelagem foram cruciais para obtermos os resultados esperados e propostos no início das pesquisas, bem como a solução de problemas relacionados ao controle de estoque e vendas de setores comerciais, que foi o foco escolhido para ser trabalhado na nova arquitetura desenvolvida durante o projeto. Doravante, empresas de pequeno e médio porte têm mais uma alternativa, com tecnologia de ponta e bastante acessível, para a manipulação de suas atividades comerciais.

31 REFERÊNCIAS ALECRIM, Emerson, Banco de dados MySQL e PostgreSQL: O banco de dados MySQL. Disponível em: <http://www.infowester.com/postgremysql.php>. Acesso em: 12 abr. 2008. BORGES, Roberto Cabral de Mello. Histórico e filosofia das interfaces. UFRGS Notas de Aula. DEITEL, H M. DEITEL, P J. Java: como programar. 4.ed. Porto Alegre: BOOKMAN, 2002. LIMA, Paulo Sérgio R. Interfaces homem-máquina. 2004. Notas de Aula. Disponível em: < www2.uepa.br/paulolima >. Acesso em: 13 abr. 2008. LIMA, Paulo Sérgio R. Projeto de Interfaces para Aplicações Web. UEPA/UFPA. Notas de Aula. PAMPLONA, Vitor Fernando. JavaFree.org: Tutorial Java: O que é Java? Disponível em: <http://www.javafree.org/content/view.jf?idcontent=84>. Acesso em: 23 jun. 2008. RICARTE, Ivan Luiz Marques. Programação Orientada a Objetos: JavaRMI: Disponível em: <http://www.dca.fee.unicamp.br/cursos/poojava/objdist/javarmi.html>. Acesso em: 12 abr. 2008. ROCHA, Helder da. Aplicações Distribuídas usando Enterprise JavaBeans - RMI Home. Disponível em: <http://java.sun.com/javase/technologies/core/basic/rmi/index.jsp>. Acesso em: 12 abr. 2008. Hibernate. Disponível em: <http://pt.wikipedia.org/wiki/hibernate>. Acesso em: 23 set. 2008. ROCHA, Heloísa V. da; BARANAUSKAS, Maria Cecília C. Design e avaliação de interfaces humano-computador. NIED-UNICAMP, 2003.

32 ANEXOS INTERFACES Figura 17 Cadastro de Fabricantes. Figura 18 Cadastro de Fornecedores.

33 Figura 19 Cadastro de Categorias. Figura 20 Cadastro de Subcategorias. Figura 21 Cadastro de Formas de Pagamento.