CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA SOUZA FACULDADE DE TECNOLOGIA DE LINS PROF. ANTONIO SEABRA CURSO SUPERIOR DE TECNOLOGIA EM BANCO DE DADOS MARCELO BARBOSA DA CONCEIÇÃO RAFAEL DIEGO SANCHES DE PAULO SISTEMA DE GERENCIAMENTO DE VENDAS E SERVIÇOS E CONTROLE DE ESTOQUE. LINS/SP 2° SEMESTRE /2013 CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA SOUZA FACULDADE DE TECNOLOGIA DE LINS PROF. ANTONIO SEABRA CURSO SUPERIOR DE TECNOLOGIA EM BANCO DE DADOS MARCELO BARBOSA DA CONCEIÇÃO RAFAEL DIEGO SANCHES DE PAULO SISTEMA DE GERENCIAMENTO DE VENDAS E SERVIÇOS E CONTROLE DE ESTOQUE. Trabalho de Conclusão de Curso apresentado à Faculdade de Tecnologia de Lins para obtenção do Titulo de Tecnólogo em Banco de Dados Orientador: Anderson Pazin. LINS/SP 2° SEMESTRE /2013 MARCELO BARBOSA DA CONCEIÇÃO RAFAEL DIEGO SANCHES DE PAULO SISTEMA DE GERENCIAMENTO DE VENDAS E SERVIÇOS E CONTROLE DE ESTOQUE. Trabalho de Conclusão de Curso apresentado à Faculdade de Tecnologia de Lins, como parte dos requisitos necessários para a obtenção do título de Tecnólogo em Banco de Dados sob a orientação do Prof. Anderson Pazin. Data de aprovação _______/________/________ ____________________________________________________ Orientador Anderson Pazin ____________________________________________________ Examinador ____________________________________________________ Examinador Dedico este trabalho à minha esposa Cristina, que me apoiou de todas as maneiras e me ofereceu um suporte que sem isso, não seria possível e aos meus filhos. Marcelo Barbosa da Conceição Dedico este trabalho à minha mãe Maria Sanches, minha irmã Jéssyka e aos meus amigos que sempre me apoiaram e nunca me deixaram desistir, especialmente meu amigo Marcelo Barbosa. Rafael Diego Sanches de Paulo AGRADECIMENTOS Agradeço a Deus em primeiro lugar por ser essencial em minha vida, e a todos que estiveram presentes em minha trajetória acadêmica, amigos como Oscar Beltrame, Ricardo Bastos e a todos os que contribuíram com sua força, conselhos e ajudas, jamais esquecerei. A todos os professores que sempre nos auxiliaram diante das dificuldades. Em especial ao professor Anderson Pazin, por aceitar nos ajudar como orientador. E por fim agradeço, a todos os funcionários de todos os setores da instituição, a todas as pessoas que participaram de alguma forma para ajudar a conquistar esse objetivo. . Marcelo Barbosa da Conceição AGRADECIMENTOS Primeiramente quero agradecer a Deus, por fazer parte de todas as minhas conquistas e estar sempre ao meu lado. Agradeço também aos meus professores que sempre me apoiaram nessa trajetória, pois cada momento junto foi muito especial. Agradeço a toda a minha família e aos meus amigos que iniciaram essa trajetória ao meu lado, o Maycon Mazoni, Fernando Spagnuolo, Nathan Souza, Bruno e ao meu amigo Gessé Almeida. E um agradecimento especial ao parceiro Marcelo Barbosa. Rafael Diego Sanches de Paula “Que os vossos esforços desafiem as impossibilidades, lembrai-vos de que as grandes coisas do homem foram conquistadas do que parecia impossível.” Charles Chaplin. RESUMO Controlar os negócios de uma revendedora de produtos de informática, com parcelamentos para clientes, para fornecedores, controle de horários de entrada de funcionário, controle de estoque, financeiro e tudo que envolve a administração de um negócio como este é penoso e demorado. A empresa Foco Sun 7 realiza esse serviço e controla esses dados manualmente. O projeto proposto foi o de desenvolver um sistema de gerenciamento de vendas e serviços para gerenciar essa empresa. Para a elaboração do projeto foi realizada análise de requisitos junto ao proprietário e administrador da empresa, onde se pode levantar as necessidades gerais no que se refere aos detalhes para o gerenciamento dos negócios, como por exemplo: controle de estoque, particularidades em relação a contas de clientes, executar validações de compras mediante a esses detalhes e atualizações, estabelecer as necessidades da empresa em relação à maneira de apresentação das informações em telas e menus, realização de vendas a vista e parceladas, registro das execuções de serviços. Como ferramentas tecnológicas foram utilizadas: a plataforma Java SE, ambiente de desenvolvimento Netbeans, sistema de banco de dados Oracle. O sistema foi modelado em UML e o banco implementado com o SGBD Oracle XE. Foram realizados alguns testes práticos, gerando informações úteis durante a implantação do sistema. Com o aplicativo em execução, além de todas as tarefas administrativas, existe também uma base de dados, registrando todos os negócios, informações importantes, que poderão apoiar as tomadas de decisões futuras. Palavras chave: Aplicação Desktop, Java, Banco de dados, Oracle, Controle de Estoque. ABSTRACT Manage the business of a retailer of computer products, with installments for customers, to suppliers, to control the entry of employee schedules, inventory control, finance and everything that involves the administration of a business like this is painful and time consuming. The company Focus Sun 7 performs this service and controls this data manually. The proposed project was to develop a sales management system and services to manage the company. For the elaboration of project requirements analysis was carried out by the owner and administrator of the company, where you can raise the General needs regarding details for the management of business, as for example: inventory control, particularities in relation to customer accounts, perform validations of purchases through these details and updates, to establish the needs of the company in relation to the way of presentation of information on screens and menus, Director of sales and record of service executions. As technological tools were used: the Java SE platform, Netbeans development environment, Oracle database system. The system was modeled in UML and the Bank implemented with the DBMS Oracle XE. Some practical tests were conducted, generating useful information during deployment of the system. With the application running, and all administrative tasks, there is also a database registering all businesses, important information, which could support the future decision-making. Keywords: Desktop application, Java, database, Oracle, inventory control. LISTA DE ILUSTRAÇÕES Figura 2.1 – Plataforma Java .................................................................................... 26 Figura 2.2 – JVM ....................................................................................................... 26 Figura 3.1 – Diagrama de Classes ............................................................................ 30 Figura 3.2 – Modelo Relacional ................................................................................. 31 Figura 3.3 – Modelo Lógico ....................................................................................... 32 Figura 3.4 – Diagrama de Caso de Uso .................................................................... 33 Figura 3.5 – Diagrama de Atividades Login............................................................... 34 Figura 3.6 – Diagrama de sequência Login ............................................................... 35 Figura 3.7 – Diagrama de Sequência Recados. ........................................................ 36 Figura 3.8 – Diagrama de Atividades Cadastro de Clientes ...................................... 37 Figura 3.9 – Diagrama de sequência Cadastro de Clientes ...................................... 37 Figura 3.10 – Diagrama de Atividades Cadastro de Produtos e Serviços ................. 38 Figura 3.11 – Diagrama de Sequência Cadastro de Produtos e Serviços................. 38 Figura 3.12 – Diagrama de Sequência Vendas Vista ................................................ 39 Figura 3.13 – Diagrama de Atividades Vendas ......................................................... 40 Figura 3.14 – Diagrama de Sequência Vendas Prazo um......................................... 41 Figura 3.15 – Diagrama de Sequência Vendas Prazo II............................................ 41 Figura 3.16 – Diagrama de Sequência Vendas Prazo Completo .............................. 42 Figura 3.17 – Diagrama de Atividades realiza Serviços ............................................ 42 Figura 3.18 – Diagrama de Sequência Realiza Serviços .......................................... 43 Figura 3.19 – Diagrama de Sequência Realiza Serviços Clube da Cópia ................. 44 Figura 3.20 – Diagrama de Sequência Consultas ..................................................... 44 Figura 3.21 – Diagrama de Atividades Consultas ..................................................... 45 Figura 3.22 – Diagrama de Atividades Controle Clube da Cópia .............................. 46 Figura 3.23 – Diagrama de Sequência Depósito Clube da Cópia ............................. 47 Figura 3.24 – Diagrama de Sequência Saque Clube da Cópia ................................ 47 Figura 3.25 – Diagrama de sequência histórico Clube da Cópia ............................... 48 Figura 3.26 – Diagrama de Atividades Recebe Parcelas Vendas a Prazo................ 48 Figura 3.27 – Diagrama de sequência Recebe Parcelas Vendas a Prazo ................ 49 Figura 3.28 – Diagrama de Atividades para Vendas e Serviços do Dia .................... 50 Figura 3.29 – Diagrama de Sequência para Vendas e Serviços do Dia .................... 51 Figura 3.30 – Diagrama de Atividades Devedores .................................................... 52 Figura 3.31 – Diagrama de Atividades Administrador ............................................... 53 Figura 3.32 – Diagrama de Sequência Administrador ............................................... 54 Figura 3.33 – Diagrama de Atividades Cadastro de Novas Senhas.......................... 55 Figura 3.34 – Diagrama de Sequência Cadastro de Novas Senhas ......................... 55 Figura 3.35 – Diagrama de Atividades Atualização de Senhas ................................. 56 Figura 3.36 – Diagrama de Sequência Atualização de Senhas atendente ............... 56 Figura 3.37 – Diagrama de Sequência Atualização de Senhas Administrador ......... 57 Figura 3.38 – Diagrama de Atividades Atualização de Atributos ............................... 58 Figura 3.39 – Diagrama de Sequência Atualização de Atributos .............................. 59 Figura 3.40 – Diagrama de Atividades Relatórios ..................................................... 59 Figura 3.41 – Diagrama de Sequência Relatórios ..................................................... 60 Figura 3.42 – Diagrama de Atividades Lista de Acessos ao Sistema ....................... 60 Figura 3.43 – Diagrama de Sequência Lista de Acessos ao Sistema.......................60 Figura 3.44 – Diagrama de Atividades Apresentação de Parcelas Pagas ................ 61 Figura 3.45 – Diagrama de Sequência Apresentação de Parcelas Pagas ................ 62 Figura 3.46 – Diagrama de Atividades Exibir Registros de Vendas e Serviços......... 63 Figura 3.47 – Diagrama de Sequência Exibir Registros de Vendas e Serviços ........ 63 Figura 4.1 – Tela de Login......................................................................................... 64 Figura 4.2 – Tela de Menu Central ............................................................................ 65 Figura 4.3 – Menu AWT ............................................................................................ 66 Figura 4.4 – Tela de Cadastro ................................................................................... 67 Figura 4.5 – Tela de Consulta ................................................................................... 68 Figura 4.6 – Tela de Vendas ..................................................................................... 69 Figura 4.7 – Tela de Mensagem................................................................................ 69 Figura 4.8 – Tela de Finalização da Venda ............................................................... 70 Figura 4.9 – Menu AWT Seleção de Venda vista Com Desconto ............................. 71 Figura 4.10 – Tela valor Final Venda a Vista Com Desconto .................................... 71 Figura 4.11 – Menu AWT Vendas a Prazo ................................................................ 72 Figura 4.12 – Classe JOptionPane Seleção de Forma de Pagamento ..................... 72 Figura 4.13 – Tela de Parcelamento ......................................................................... 73 Figura 4.14 – Tela Recebe Cliente da Venda a Prazo .............................................. 73 Figura 4.15 – Tela de Finalização da Venda a Prazo................................................ 74 Figura 4.16 – Tela de Realização de Serviços .......................................................... 75 LISTA DE ABREVIATURAS E SIGLAS SGBD – Sistema de Gerenciamento de Banco de Dados JDBC – Java Database Connectivity UML – Unified Modeling Language SQL – Structured Query Language RAM – Random Access Memory SGA – System Global Area SUMÁRIO INTRODUÇÃO .........................................................................................17 1 ANÁLISE DE REQUISITOS .................................................................19 1.1 ATORES ENVOLVIDOS NO PROCESSO .......................................................... 19 1.2 REQUISITS FUNCIONAIS .................................................................................. 20 1.3 REQUISITOS NÃO FUNCIONAIS....................................................................... 22 2 TECNOLOGIAS E FERRAMENTAS ............................................................ 24 2.1 MODELAGEM UML............................................................................................. 24 2.1.1 Diagramas UML................................................................................................ 25 2.2 ASTAH COMMUNITY ......................................................................................... 25 2.3 LINGUAGEM JAVA ............................................................................................. 25 2.4 ORACLE SQL DEVELOPER DATAMODELER .................................................. 27 2.5 DRIVER JDBC .................................................................................................... 27 2.6 IDE NETBEANS .................................................................................................. 27 2.7 ARQUITETURA ORACLE ................................................................................... 28 3 ANÁLISE ORIENTADO A OBJETO ............................................................. 29 3.1 INSTRUÇÃO DO PROBLEMA ............................................................................ 29 3.2 DIAGRAMAS ....................................................................................................... 29 3.2.1 Diagrama de Classe ......................................................................................... 29 3.2.2 Diagrama de Estrutura de Dados Modelagem Relacional ................................ 31 3.2.3 Diagrama de Estrutura de Dados Modelagem Lógico ...................................... 31 3.2.4 Diagrama de Casos de Uso ............................................................................. 32 3.2.5 Diagrama de Sequência ................................................................................... 34 3.2.6 Diagrama de Atividades ................................................................................... 34 3.3 CASOS DE USO REPRESENTADOS EM DIAGRAMAS DA UML ..................... 34 3.3.1 Validação Usuário/Senha ................................................................................. 34 3.3.2 Controle de Recados Administrativos............................................................... 35 3.3.3 Cadastros ......................................................................................................... 36 3.3.4 Vendas e Serviços............................................................................................ 39 3.3.5 Vendas e Serviços Clube da Cópia .................................................................. 43 3.3.6 Consultas ......................................................................................................... 44 3.3.7 Controle Clube da Cópia .................................................................................. 45 3.3.8 Recebimentos de Parcelamentos de Vendas a Prazo ..................................... 48 3.3.9 Mostrar Vendas e Serviços Realizados ............................................................ 50 3.3.10 Devedores ...................................................................................................... 51 3.3.11 Controles Administrativos ............................................................................... 52 3.3.12 Rotinas de Atualizações Administrativas ........................................................ 54 4 LAYOUT DE TELAS ......................................................................................... 64 4.1 TELA DE LOGIN ................................................................................................. 64 4.2 TELA INICIAL ...................................................................................................... 64 4.3 TELA DE CADASTRO......................................................................................... 65 4.4 TELAS DE CONSULTA....................................................................................... 67 4.5 TELAS DE VENDAS ........................................................................................... 68 4.6 TELAS DE FINALIZAÇÃO DA VENDA ............................................................... 70 4.6.1 Venda a vista .................................................................................................... 70 4.6.2 Venda a Prazo .................................................................................................. 71 4.6.3 Realização de Serviços .................................................................................... 74 CONCLUSÃO ........................................................................................................ 76 17 INTRODUÇÃO A necessidade de controlar as vendas de produtos e a realização de serviços em geral é básica para estabelecimentos comerciais. Quanto mais eficiente for esse controle, melhor pode ser o resultado efetivo de seus negócios. Conseguir economizar tempo nos atendimentos, prever a necessidade de renovação de estoque com certa antecipação, propiciando uma renovação de peças de estoque precisa, por exemplo, para as rotinas administrativas de qualquer empresa é necessidade crucial para alcançar o sucesso nos resultados, beneficiando todos os envolvidos podendo – se prever prazos de entregas, pagamentos e entrada de capital, gerando recursos importantes e aumentando a potencialidade da empresa no mercado e melhorando o desempenho com relação ao atendimento ao cliente. Para realizar com perfeição esses trabalhos, existem as ferramentas de tecnologia, associando segurança, rapidez nas respostas de acessos e controles de dados e registros e tornando possível toda a associação e organização das rotinas administrativas de um negócio com essas características, em um único sistema aplicativo de controle de vendas e serviços. Portanto, é necessário que informações relevantes estejam disponíveis de maneira clara e precisa, onde a tomada de decisões para os controles e gerenciamentos do negócio sejam realizada de maneira simples e funcional. O objetivo deste trabalho é desenvolver uma solução que satisfaça a todos os requisitos relacionados pelo gestor administrativo e representante da empresa Foco Sun 7, situada na instituição da Faculdade de Tecnologia de Lins-SP, que atua no ramo de vendas de produtos de informática e a realização de serviços de cópias, impressões, digitalizações e pequenos reparos em computadores, com a implementação de um sistema aplicativo de gerenciamento de negócios e serviços utilizando a linguagem de programação Java em sua versão J2ME, sistema de banco de dados Oracle 10g. Descrever sobre a utilização das tecnologias e ferramentas de desenvolvimento que serão utilizadas para a realização deste projeto. Desta maneira, o trabalho está organizado em quatro capítulos além da introdução. O primeiro capítulo dispõe sobre uma análise de requisitos que precedeu toda parte de realização prática do projeto fisicamente e definiu as necessidades do 18 negócio que deveriam ser resolvidas através do sistema. O segundo descreve sobre as tecnologias e ferramentas necessárias para o desenvolvimento da aplicação. O terceiro aborda o sistema de maneira geral, diagramas e gráficos UML, figuras com representações de casos de uso, diagrama de classes, Modelo relacional, modelo lógico, representando os relacionamentos e cardinalidade do banco de dados. O quarto irá demonstrar com imagens e pequenas descrições em texto, como os links de acesso estão dispostos, dispositivos Java de entrada e saída de dados, implementação da aplicação em detalhes importantes referenciados, e os layout das telas, e por fim são apresentado a conclusão e os resultados alcançados. 19 1 ANÁLISE DE REQUISITOS Este capítulo tem como objetivo descrever todas as etapas do processo de análise de requisitos realizada através de entrevistas diretamente com o cliente, onde puderam ser listados detalhadamente os requisitos funcionais e não funcionais. Pode-se avaliar nas entrevistas citadas, que além das necessidades básicas de um sistema para controle de negócios envolvendo vendas de produtos e a realização de serviços, que existiam alguns aspectos que davam margem à de personalização do sistema, tornando o produto final único. O objetivo deste sistema é atender aos requisitos propostos com um sistema aplicativo desktop, fazendo a apresentação dos produtos e serviços de um jeito prático onde a integração com o usuário e a manipulação do sistema acontece facilmente, utilizando a linguagem de programação Java, os dispositivos Java swing, com o Banco de Dados Oracle 10g integrado, o conector JDBC (Java database connectivity), o compromisso com as necessidades propostas deverá ser atendido. 1.1 ATORES ENVOLVIDOS NO PROCESSO Os atores envolvidos no processo são: usuário atendente, usuário gerente, o usuário administrador, e o cliente, que não acessará o sistema diretamente em nenhum momento. O usuário atendente será responsável por todo o atendimento dos clientes, aos registros no sistema das vendas realizadas, os detalhes sobre as vendas a prazo e os registros sobre os detalhamentos a respeito da realização dos serviços. O usuário gerente terá permissão para as mesmas tarefas, como também para atualizações de preços de serviços e produtos, terá acesso aos detalhes financeiros completos, aos detalhes sobre os registros de acessos ao sistema e poderá inserir novos usuários atendentes. O Usuário administrador terá todas as permissões e concessões dos outros usuários do sistema e também poderá inserir no sistema novos usuários de qualquer nível, inclusive administrador. O cliente, como registrado acima, só acessa ao sistema através do atendimento do usuário atendente, portanto não acessa diretamente o sistema. 20 1.2 REQUISITOS FUNCIONAIS O sistema deve registrar os acessos de usuários, com os seguintes atributos: código identificador do acesso, nome de usuário, data e hora, associando assim o login ao registro exato da hora de entrada; O sistema deve permitir a inclusão, alteração e remoção de produtos com os seguintes atributos: código de identificação, nome, apelido, número, número do Fabricante, grupo, atalho utilizado, marca, quantidade em estoque, fabricante, grupo, subgrupo, preço de compra, preço de venda, data da última compra, data da última venda; O sistema deve permitir a inclusão, alteração e remoção de serviços, com os seguintes atributos: código de identificação, tipo, preço e data do cadastro de um novo serviço no sistema; O sistema deverá permitir a inclusão, alteração de clientes, com os seguintes atributos: código de identificação, nome, endereço, telefone, email, face, data de nascimento, rg, cic, data de ingresso, variável de identificação de devedor ou não devedor, fazendo referência a atrasos com relação aos pagamentos de parcelamentos, variável de identificação de cliente pré pago (CC), que poderá realizar depósitos que serão registrados pelo sistema e poderão ser utilizados na realização de serviços; O sistema deverá permitir a inclusão, alteração e remoção de recados administrativos, com os seguintes atributos: código de identificação, lembrete e data de gravação; O sistema deverá permitir o acesso à listagem de produtos cadastrados e detalhes, como preço características especiais, quantidade em estoque; O sistema deverá realizar uma atualização de estoque dinamicamente, onde durante a venda, se houver desistência, o estoque deverá sofrer uma reestruturação, retornando os valores da venda cancelada para os produtos relacionados na mesma venda. O sistema deverá permitir o acesso à listagem de serviços cadastrados e detalhes; O sistema deverá permitir o acesso à listagem de recados que servirão como ata de ocorrências sobre detalhes importantes envolvendo as 21 rotinas administrativas, recados estes que deverão ser apagados assim que o destinatário do recado for informado da ocorrência; O sistema deverá permitir a composição e exibição de listas de clientes cadastrados, detalhando o tipo de cliente, se está ou não inserido na categoria pré-pago (CC) e se está habilitado para compras a prazo; O sistema deverá exibir telas para registrar a realização de serviços, com os seguintes atributos: código de identificação da ocorrência, preço individual, preço total, quantidade, data e hora da ocorrência, o tipo de serviço realizado, e se for cliente pré-pago, registrar o código de identificação deste cliente; O sistema deverá exibir telas para registrar a realização de vendas de produtos com pagamento imediato, que sempre serão realizados pelo usuário atendente, com os seguintes atributos: código de identificação da ocorrência, preço final, data e hora da ocorrência, produtos comprados; O sistema deverá exibir telas para registrar a realização de vendas de produtos com pagamento parcelado, com os seguintes atributos: código de identificação da ocorrência, forma de pagamento, podendo ser cheque, boleto ou cartão de crédito, preço final, entrada, se houver, quantidade de parcelas, seis datas para vencimentos futuros, e seis valores para pagamentos com essas referidas datas, código do cliente que responderá pela compra, data e hora da ocorrência, produtos comprados; O sistema deverá permitir o acesso à listagem de serviços realizados naquele dia para composição de verificação de entrada de caixa e detalhes, e também permitir o acesso à listagem com todos os serviços realizados registrados no sistema; O sistema deverá permitir o acesso à listagem de vendas à vista realizadas naquele dia e de todas as vendas à vista realizada e registrada no sistema, podendo estender a verificação aos produtos vendidos para cada uma das vendas individualmente; O sistema deverá permitir o acesso à listagem de vendas a prazo realizadas naquele dia e de todas as vendas à prazo realizadas e registradas no sistema, compondo os detalhes sobre o cliente titular responsável por aquela venda, podendo estender a verificação aos 22 produtos vendidos para cada uma das vendas individualmente; O sistema deverá permitir a quitação de parcelas de vendas à prazo; O sistema deverá exibir listagem de clientes devedores, ou seja, com pagamento de parcelamento de compras atrasados; O sistema deverá permitir, a critério do usuário, a emissão, de relatórios de serviços realizados, de vendas à vista realizadas e de vendas a prazo realizadas; O sistema deverá permitir o acesso à listagem de parcelas de compras a prazo já pagas; O sistema deverá permitir a inserção de novos usuários, habilitando senhas de acesso e criando permissões e privilégios para usuários; 1.3 REQUISITOS NÃO FUNCIONAIS. O sistema deverá administrar uma espécie de conta corrente, denominado clube da cópia, criando relatórios de extratos, e controlando saldo, criando descontos e condições específicas para a utilização desses créditos por esses clientes; O sistema deverá restringir o acesso por nível de usuário, às listagens completas de dados financeiros sobre lucros, reavaliação de preços de serviços e produtos, inserção de novo usuário, que atuará como atendente, atribuição de senhas de acesso total, que só o administrador da empresa poderá acessar e gerar relatórios simples em arquivos de texto, com operações de vendas a vista, vendas a prazo e serviços realizados; O sistema deverá conter uma tela para realização e registro de serviços que habilite três menus, aos olhos do usuário, que serão trocados em horários específicos, pré-determinados, onde alguns descontos são aplicados, e quando os menus se alternam, as tabelas de preços de serviços acessadas são diferentes, e o menu que estava aberto fica desabilitado, criando, enquanto aquele período durar, uma tabela de preços com desconto que irá ser apresentada nesse novo menu; O sistema deverá restringir o acesso por nível de usuário, às listagens 23 completas de dados financeiros sobre lucros, reavaliação de preços de serviços e produtos, inserção de novo usuário, que atuará como atendente, atribuição de senhas de acesso total, que só o administrador da empresa poderá acessar e gerar relatórios simples em arquivos de texto, com operações de vendas a vista, vendas a prazo e serviços realizados; 24 2 TECNOLOGIAS E FERRAMENTAS Neste capítulo serão abordadas as tecnologias e ferramentas que irão ser associadas para a obtenção de êxito com respeito aos objetivos funcionais e não funcionais que este projeto se propõe a responder com resoluções visando qualidade, segurança e baixo custo para o usuário final. Portanto, todas as tecnologias abordadas serão de código livre e muito bem conceituadas no mercado. 2.1 MODELAGEM UML De acordo com Bezerra (2006), no Início da década de 1990, surge o novo paradigma da modelagem, onde a simplicidade das técnicas de desenvolvimento de software suficiente até então, mas com a evolução dos computadores, surge a necessidade de interfaces mais complexas e softwares mais complexos. No fim dessa mesma década esse paradigma encerra seu ciclo inicial, gerando a necessidade das mudanças, e os conceitos de padrões de projeto começam a ganhar espaço. Surge então a Linguagem de Modelagem Unificada (UML). Para projetar um sistema é necessária uma ferramenta que visualize os desenhos e a comunicação entre os objetos de uma forma padronizada e com semântica. (MUCIN, 2010). Os objetivos da UML são: especificação, documentação, estruturação para sub-visualização e maior visualização lógica do desenvolvimento completo um sistema de informação. A UML é um modo de padronizar as formas de modelagem. (MUCIN, 2010). De acordo com Martinez (2010), a linguagem que representa todos esses aspectos e possui todas as características necessárias é a UML, pois é uma linguagem padrão para modelagem orientada a objetos. Esta linguagem de modelagem não proprietária de terceira geração, não é um método de desenvolvimento, tem como papel auxiliar a visualização do desenho e da comunicação entre objetos. Ela permite que desenvolvedores visualizem os produtos de seu trabalho em diagramas padronizados, criando modelos de sistemas de software. 25 2.1.1 Diagramas UML São divididos em dois tipos, os estruturais, e os comportamentais. Estruturais: são compostos pelos diagramas de classe, objetos, componentes, implantação, pacotes e estrutura. Comportamentais: são compostos pelos diagramas caso de uso, máquina de estados, atividades e interação. 2.2 ASTAH COMMUNITY AstahCommunity é uma ferramenta de modelagem UML gratuita, tem sua operação apresentada de maneira simples, eficaz e intuitiva, possui, em sua versão gratuita, recursos suficientes para uma modelagem completa, atendendo as necessidades do desenvolvedor para a criação dos diagramas UML. O Astah completo, com várias outras ferramentas é perfeito para os desenvolvedores de aplicações que necessitam de praticidade e padrões de desenvolvimento definidos em uma única ferramenta. Para criar esses diagramas necessitamos de ferramentas específicas para substituir o papel e a caneta. Um dos softwares mais conceituados para a criação de diagramas de UML é o AstahCommunity. (MUCIN, 2010). Por esses fatores acumulados, e por ser uma ferramenta bastante completa, mesmo esta versão não paga, será utilizado o AstahCommunity, fazendo com que a implementação seja atrelada à qualidade do software, ou seja, a qualidade do produto final. O Astah traz a facilidade de adequação e manutenção posteriores à instalação, podendo assim caminhar junto com inovações e alterações de negócio traduzidas no sistema, mesmo depois de sua implantação. 2.3 LINGUAGEM JAVA Java é uma linguagem de programação criada na década de 1990 por uma equipe de programadores chefiada por James Gosling na Sun Microsystems. A Sun apresentou o Java formalmente através de uma conferência, em maio de 1995. A linguagem chamou a atenção da comunidade de negócios, pelo enorme interesse que a web despertava na época. (GONÇALVES, 2007). 26 Java é a base de praticamente todos os tipos de aplicativos em rede, e é o padrão global para desenvolvimento e fornecimento de aplicativos para celular, jogos, conteúdo on-line e software corporativo. Com mais de 9 milhões de desenvolvedores em todo o mundo, o Java permite desenvolver e implantar aplicativos e serviços incríveis de maneira eficiente. Com ferramentas abrangentes, um ecossistema sólido e um desempenho eficiente, o Java oferece a portabilidade de aplicativos mesmo entre os ambientes computacionais mais diferentes. (ORACLE, 2012b). Além de abranger várias plataformas, também pode ser usado em desenvolvimento para desktop, com a plataforma JAVA Standard Edition (JSE), a API SWING, que será utilizada neste projeto. O Swing trouxe para o Java uma biblioteca gráfica completa, com um enorme conjunto de componentes, tornando as aplicações mais ricas e interativas. Permite criar sistemas multiplataforma, com aparência nativa ou customizada, extensível ao ponto de permitir a criação de novos componentes e integrá-los à sua aplicação sem dificuldades, totalmente orientado a objetos, e que utiliza padrões de projeto em seu código-fonte. Java, como tecnologia verdadeiramente independente de plataforma, permite com que a evolução do hardware ocorra de forma independente das aplicações, o que facilita a integração entre empresas, possibilita o melhor aproveitamento de servidores, e a preservação de investimentos a longo prazo.(SOUZA, 2013). As figuras 2.1 e 2.2 ilustram essa abrangência do Java. Figura 2.1 – Plataforma Java FonteSun Microsystems. 2013 Figura 2.2 – JVM Fonte:Sun Microsystems. 2013. 27 2.4 ORACLE SQL DEVELOPER DATAMODELER De acordo com Murray (2012), Oracle SQL Developer Data Modeler é uma ferramenta que simplifica e aumenta a produtividade do desenvolvedor nas tarefas com banco de dados. É uma ferramenta distribuída gratuitamente da Oracle, que pode conectar tanto com o banco de dados Oracle quanto com outros bancos de dados, proporcionando uma ampla utilização das aplicações desenvolvidas com essa tecnologia, podem ser executados comandos de script SQL, manipular e exportar dados, edições de PL/SQL, criar diagramas de entidade relacionamento relacional e lógico, além de várias outras funcionalidades. 2.5 DRIVER JDBC O driver JDBC é um conjunto de classes e interfaces (API) escritas em Java que fazem o envio de instruções SQL para qualquer banco de dados relacional. De início, para que possa ser feita a primeira etapa na conexão a uma fonte de dados, deve-se carregar o driver JDBC correspondente. Isso é realizado usandose o mecanismo Java para carregar classes dinamicamente. O método estático forName da classe Class retorna a classe Java, e ele se auto-registra na classe DriverManager. Portanto, utilizando essa tecnologia, através do Java, pode-se manipular o sistema atendendo às necessidades de persistência de dados dentro do próprio aplicativo, exercendo pleno controle das duas tecnologias como se fossem uma só, e torna os requisitos do sistema, com a escolha dessa ferramenta, atendidos de uma maneira simples. 2.6 IDE NETBEANS O ambiente utilizado para o desenvolvimento da aplicação é o NetBeans em sua versão 7.4. A Sun Microsystems fundou o projeto Open Source NetBeans em junho de 2000 e continua sendo seu principal patrocinador. De acordo com o Netbeans, o projeto é um IntegratorDevelopmentEnvironment(IDE) de código aberto, apoiado por uma comunidade de desenvolvedores que, permite criar aplicações desktop, web móveis, 28 utilizando a plataforma Java com ambiente de desenvolvimento integrado, escrito em Java, mas suporta várias linguagens de programação e de marcação. Netbeans é independente de plataforma e compatível para ser executado em vários sistemas operacionais. O NetBeans IDE é um premiado ambiente de desenvolvimento integrado disponível para Windows, Mac, Linux e Solaris. O projeto NetBeans consiste em um IDE de código aberto e uma plataforma de aplicativos que permite aos desenvolvedores criar rapidamente aplicativos web, empresariais, móveis e de área de trabalho utilizando a plataforma Java, bem como PHP, JavaScript e Ajax, Groovy e Grails, e C/C++.(NETBEANS, 2013) 2.7 ARQUITETURA ORACLE Em qualquer ambiente onde existem dados para serem armazenados, e acessados posteriormente, há necessidade de um banco de dados bem estruturado e organizado para armazenar e gerar informações com segurança e confiabilidade. O Oracle é um sistema de banco de dados relacional rápido, confiável e fácil de usar, gerencia base de dados relacionais, suporta SQL, é gratuito até uma base de dados de quatro gigabytes. A instância Oracle é composta de estruturas de memória e processos, sendo que sua existência é temporária, na memória RAM e nas CPU’s, e quando a instância em execução é desligada, os seus vestígios são perdidos. Os processos que compõem esta instância são conhecidos como processos de segundo plano ou processos de background, já que estão presentes e em execução durante o tempo em que a instância estiver ativa. As estruturas de memória, implementadas em segmentos de memória compartilhados fornecidos pelo sistema operacional, são conhecidos como a área de sistema global ou System Global Área (SGA), essa área é alocada na inicialização da instância e liberada no desligamento. As sessões de usuário compõem-se de processos de usuários que estão sendo executados localmente na máquina do usuário, conectados a um processo de servidor executando localmente na máquina do servidor. O banco de dados é composto por arquivos físicos no disco. Esteja em execução ou parado, seus arquivos permanecem. Tais arquivos são os arquivos de dados, os arquivos de redo log e os arquivos de controle. (Carvalho, 2011). Para a proposta, o Oracle 10g, com essas características, servirá com tranquilidade para atingir os objetivos funcionais do projeto. 29 3 ANÁLISE ORIENTADO A OBJETO Neste capítulo serão abordados textos e diagramas que irão compor uma análise para documentar a fase de construção e implementação. 3.1 INSTRUÇÃO DO PROBLEMA O método de controle de vendas e serviços, atualmente utilizado na empresa Foco Sun 7, que, como já mencionado anteriormente aqui neste documento, atua no ramo de vendas de produtos de informática e a realização de serviços, consiste em anotações e disposições manuais das informações pertinentes em arquivos de texto, e em planilhas, não é capaz de direcionar os negócios e não pode ser prático, principalmente julgando –se que para poder encontrar uma venda especificamente por exemplo, deve-se examinar todos esses referidos arquivos manualmente, impossibilitando completamente a realização de um trabalho preciso e rápido. Através de parâmetros como esse referenciado no parágrafo anterior, podese facilmente listar uma quase infinidade de vantagens e recursos adicionais advindos de um controle computacional realizado por um software como o que este trabalho se propõe a realizar. 3.2 DIAGRAMAS Este item corresponde a um detalhamento através dos diagramas do projeto, onde se faz a apresentação do diagrama de classes e os modelos relacional e lógico em diagramas únicos, especificação de cada caso de uso e estará representado também por um gráfico representando um diagrama de sequência e um diagrama de atividades, fazendo breves descrições sobre o que estiver sendo apresentado naquela seção do documento. 3.2.1 Diagrama de classe O diagrama de classe permite visualizar como as classes se relacionam e como que seus métodos estão dispostos, servindo como base para a construção 30 dos outros diagramas. A figura 3.1 representa o diagrama de classes do projeto. Figura 3.1 Diagrama de Classes Fonte: elaborado pelo autor. 31 3.2.2 Diagrama de Estrutura de dados Modelagem Relacional A figura 3.2 representa o Modelo Relacional de Entidade e Relacionamento entre as tabelas e entidades do banco de dados relacional. Figura 3.2 Modelo relacional Fonte: elaborado pelo autor. 3.2.3 Diagrama de Estrutura de dados Modelagem Lógico A figura 3.3 representa o Modelo Lógico de Entidade e Relacionamento, que destaca os relacionamentos e principalmente as cardinalidades entre as entidades 32 do banco de dados. Figura 3.3 Modelo lógico Fonte: elaborado pelo autor. 3.2.4 Diagrama de casos de uso Representa todos os casos de acesso e utilização do sistema, onde são mapeados os processos para o qual o sistema foi projetado, trazendo em uma só imagem os detalhes sobre como essas funcionalidades estão dispostas no sistema. A figura 3.4 representa o diagrama de casos de uso de todo o sistema. 33 Figura 3.4 Diagrama de caso de uso Fonte: elaborado pelo autor 34 3.2.5 Diagrama de sequência Diagramas de sequência são usados para mostrar como os objetos trocam suas mensagens, desenhando uma ordem descritiva das ações que o sistema irá realizar interagindo com o ator. 3.2.6 Diagrama de atividades Mostra o mapa de links que o sistema tem como opções em cada tela, podendo descrever com imagens e pequenos textos inseridos os caminhos, ou nós, que o sistema possui, facilitando a construção e divisão de funções em menus mais complexos, com várias formas de saída. Providencia previsões relacionadas a redundância de funcionalidades, onde duas funções distintas podem ser resumidas em uma só, gerando simplicidade na utilização e agilizando o desenvolvimento. 3.3 CASOS DE USO REPRESENTADOS EM DIAGRAMAS DA UML 3.3.1 Validação Usuário/Senha Figura 3.5 Diagrama de Atividades login Fonte: elaborado pelo autor. 35 São registrados todos os acessos ao sistema com detalhes de data hora e usuário, para fins de controle e rotinas administrativas de horários de entrada e saída de funcionários. A figura 3.5 representa o diagrama de atividades que realiza o login no sistema. A figura 3.6 representa o diagrama de atividades que realiza o login no sistema. Figura 3.6 Diagrama de sequência login Fonte: elaborado pelo autor. 3.3.2 Controle de Recados Administrativos Esta parte do sistema irá controlar os detalhes sobre as rotinas administrativas, de modo que essas informações sejam passadas para o conhecimento do usuário que estiver entrando no sistema em qualquer momento Recados que podem se referir a máquinas com problema, a falta de equipamento ou de matéria prima para os serviços, detalhes de vencimentos de duplicatas e outros que podem ser repassados de um funcionário para outro através do sistema. São registrados no sistema, para serem apagados assim que forem lidos, ou o problema tiver sido sanado. A figura 3.7 representa o diagrama de atividades de acesso e de controle de recados, utilizados nas rotinas administrativas 36 Figura 3.7 Diagrama de sequência recados Fonte: elaborado pelo autor. 3.3.3 Cadastros Existem dois tipos de clientes, o cliente comum e o cliente que está contido no Clube da Cópia (CC), sendo que, o cliente do Clube da Cópia (CC) será aquele que terá uma conta para administração de créditos e algumas condições especiais para consumo na empresa, esta administração de conta será representada neste documento posteriormente a este comentário, neste mesmo capítulo. O outro tipo de cliente que será representado no sistema será o cliente comum, este estará habilitado, por possuir um cadastro, a comprar a prazo e obter linhas de crédito para consumo dos serviços e parcelamentos de compras de produtos na empresa. Nos dois casos, tanto clientes comuns, quanto os do clube da cópia, que tem condições especiais, para fins de cadastramento, as etapas serão as mesmas, portanto faremos a representação do cadastramento de clientes em um único diagrama de atividades e um único diagrama de seqüência para os dois casos. A figura 3.8 representa o diagrama de atividades para o caso de uso de cadastro de clientes 37 Figura 3.8 Diagrama de atividades cadastro de cliente Fonte: elaborado pelo autor. A figura 3.9 representa o diagrama de sequência para o cadastro de cliente. Figura 3.9 Diagrama de sequência cadastro de cliente Fonte: elaborado pelo autor. A figura 3.10 representa o diagrama de atividades para o cadastro de produtos e de serviços, visto que ambos têm os mesmos passos e descrições, serão 38 representados em um único diagrama. Figura 3.10 Diagrama de atividades cadastro de produtos e serviços Fonte: elaborado pelo autor. Figura 3.11 Diagrama de sequência cadastro de produtos e serviços Fonte: elaborado pelo autor. A figura 3.11 representa o diagrama de sequência para o cadastro de 39 produtos e serviços, que serão representados em um diagrama somente, por terem as mesmas características e obedecerem às mesmas sequências de ações. 3.3.4 Vendas e Serviços A figura 3.12 representa o diagrama de sequência para a venda a vista de produtos. Figura 3.12 Diagrama de sequência venda vista Fonte: elaborado pelo autor A figura 3.13 representa o diagrama de atividades para venda de produtos a vista e a prazo, de acordo com a opção feita durante a venda, separando os processos. A figura 3.14 representa o diagrama de sequência para a venda a prazo de produtos, que para facilitar sua visualização, foi dividido em duas figuras, esta é a primeira. A figura 3.15 representa o diagrama de sequência para a venda a prazo de produtos, esta é a segunda parte. 40 Figura 3.13 Diagrama de atividades vendas Fonte: elaborado pelo autor 41 Figura 3.14 Diagrama de sequência venda prazo um Fonte: elaborado pelo autor Figura 3.15 Diagrama de sequência venda prazo dois Fonte: elaborado pelo autor A figura 3.16 representa o diagrama de sequência para a venda a prazo de produtos completo, com as duas partes informando todo o processo de venda a prazo. 42 Figura 3.16 Diagrama de sequência venda prazo Fonte: elaborado pelo autor A figura 3.17 representa o diagrama de atividades para os registros de realização de serviços. Figura 3.17 Diagrama de atividades realiza serviços Fonte: elaborado pelo autor 43 A figura 3.18 representa o diagrama de sequência para a realização de serviços para clientes comuns. Figura 3.18 Diagrama de sequência realiza serviços Fonte: elaborado pelo autor 3.3.5 Vendas e Serviços Clube da Cópia (CC) A realização de serviços para os clientes do clube da cópia tem os passos semelhantes aos de cliente comum, a não ser pela identificação que será gravada no banco de dados, juntamente com os outros detalhes relacionados a realização de serviços, e a tela de administração dos créditos se abrirá, permitindo acesso aos créditos, que poderão ser usados no pagamento dos serviços prestados. A figura 3.19 representa o diagrama de sequência para a realização de serviços para clientes clube da cópia 44 Figura 3.19 Diagrama de sequência realiza serviços Clube da cópia Fonte: elaborado pelo autor 3.3.6 Consultas As consultas de produtos, serviços e de clientes serão apresentadas ao usuário em telas que exibirão as tableModel Java, com detalhes e valores importantes para as rotinas de vendas e serviços. Como todas as consultas seguem o mesmo script de ações, iremos representar em um único diagrama de atividades e também em um único diagrama de sequencia. A figura 3.20 representa o diagrama de sequência para as consultas de produtos, serviços e de cliente. Figura 3.20 Diagrama de sequência consultas Fonte: elaborado pelo autor 45 A figura 3.21 representa o diagrama de atividades para os acessos para consultas a tabelas de preços e listagens de clientes, de produtos e de serviços, com também sobre detalhes importantes a respeito destes itens. Figura 3.21 Diagrama de atividades consultas Fonte: elaborado pelo autor 3.3.7 Controle Clube da Cópia (CC) Aqui se representa o controle de uma espécie de conta corrente, que irá administrar créditos pré-depositados pelo cliente, para utilização principalmente na realização de serviços, onde os preços que serão praticados serão menores do que os normalmente inseridos e já estarão previstos no banco de dados e no aplicativo, que habilita menus específicos, exibindo para o usuário as informações filtradas específicas para clientes desse tipo assim que solicitado e realizada a entrada do código referente ao cliente. A figura 3.22 representa o diagrama de atividades para o acesso à tela de controle de histórico, de créditos e de saques realizados pelos clientes do Clube da Cópia (CC). 46 Figura 3.22 Diagrama de atividades controle clube da cópia Fonte: elaborado pelo autor A figura 3.23 representa o diagrama de sequência para o acesso à tela de controle de créditos dos clientes do Clube da Cópia (CC) e realizando um depósito 47 Figura 3.23 Diagrama de sequência depósito clube da cópia Fonte: elaborado pelo autor A figura 3.24 representa o diagrama de sequência para o acesso à tela de controle de créditos dos clientes do Clube da Cópia (CC) e apresenta a realização um saque. Figura 3.24 Diagrama de sequência saque clube da cópia Fonte: elaborado pelo autor A figura 3.25 representa o diagrama de sequência para o acesso à tela de 48 controle de créditos dos clientes do Clube da Cópia (CC) e visualizando o histórico de créditos de um cliente. Figura 3.25 Diagrama de sequência histórico Clube da Cópia Fonte: elaborado pelo autor 3.3.8 Recebimento de Parcelamentos de Vendas a Prazo Aqui serão demonstrados os processos de vendas a prazo e parcelamentos em diagramas de atividades e de sequência. A figura 3.26 representa o diagrama de atividades para o acesso à tela de recebimento de parcelas a serem pagas, parcelas estas que foram contraídas em compras a prazo. 49 Figura 3.26 Diagrama de atividades recebe parcelas vendas a prazo Fonte: elaborado pelo autor A figura 3.27 representa o diagrama de representa o diagrama de sequência para o acesso à tela de recebimento de parcelas de compras a prazo Figura 3.27 Diagrama de sequência recebe parcelas vendas a prazo Fonte: elaborado pelo autor 50 3.3.9 Mostrar Vendas e Serviços Realizados Nesta seção estão representados os diagramas de atividades e de seqüência para o acesso às telas que irão exibir os detalhes de vendas e serviços realizados naquele dia, para fins de controle de caixa e conferência de valores recebidos no mesmo dia.O acesso a listas mais completas só é permitido a usuários com mais privilégios, como administrador por exemplo.Neste caso, serão mostrados os dados e detalhes de vendas e serviços realizados naquele mesmo dia. Para vendas a vista, vendas a prazo e serviços, os detalhes e o caminho para os links e acesso serão iguais, portanto resolvemos representar esses processos em um único diagrama. A figura 3.28 representa o diagrama de atividades para o acesso às telas que irão exibir os detalhes de vendas e serviços realizados naquele dia. Figura 3.28 Diagrama de atividades vendas e serviços do dia Fonte: elaborado pelo autor A figura 3.29 representa o diagrama de seqüencia para o acesso às telas que irão exibir os detalhes de vendas e serviços realizados naquele dia. Para vendas a vista, vendas a prazo e serviços, as mensagens trocadas e os detalhes do acesso serão iguais, portanto resolvemos representar esses processos em um único diagrama. 51 Figura 3.29 Diagrama de sequência vendas e serviços do dia Fonte: elaborado pelo autor 3.3.10 Devedores Aqui está representado o diagrama de atividades e de seqüência para o acesso aos registros de devedores no sistema, ou seja, o sistema irá analisar as dívidas ativas de clientes, procurando por datas de parcelas atrasadas, localizando assim os clientes devedores, irá criar uma tela que irá exibir uma tabela de devedores que apresentará uma linha para cada parcela não paga, contendo também o nome e o código do cliente devedor, mudando o valor de uma coluna em um registro (uma variável), atualizando o banco de dados, o que irá ser consultado no momento da venda parcelada, e este cliente será impedido pelo sistema de realizar novas compras a prazo. A figura 3.30 representa o diagrama de atividades para o acesso aos registros de devedores no sistema. 52 Figura 3.30 Diagrama de atividades devedores Fonte: elaborado pelo autor 3.3.11 Controles Administrativos Este sistema está assegurado por três níveis diferentes de segurança, o que já foi definido e detalhado neste documento. O nível de usuário atendente, que poderá ser ocupado por qualquer usuário, realizará todas as tarefas descritas até aqui, neste capítulo, definidas na análise de requisitos e demonstradas no diagrama de caso de uso, apresentado anteriormente neste trabalho. Agora se pode prosseguir com esta documentação identificando, definindo e detalhando os acessos de usuário controlador do sistema, ou seja, chamado aqui de administrador, que poderá ser atribuído pelo dono da empresa a um gerente, por exemplo, onde a única atribuição nível três, que este gerente não participará será o de delegar estes privilégios de acesso, de níveis dois e três para outros usuários, de resto, gerente e administrador total só serão diferentes com relação a este atributo referido. 53 Seguem os diagramas de atividade e de sequência para o acesso a tela que irá conter os links de acesso níveis dois e três, chamada aqui de tela de controles administrativos. A figura 3.31 representa o diagrama de atividades para o acesso a tela de controles administrativos. Figura 3.31 Diagrama de atividades administrador Fonte: elaborado pelo autor A figura 3.32 representa o diagrama de sequência para o acesso a tela que apresentará os links nível dois, para administradores do sistema. 54 Figura 3.32 Diagrama de sequência administrador Fonte: elaborado pelo autor 3.3.12 Rotinas de Atualizações Administrativas Serão apresentados aqui os acessos para atualização de atributos e detalhes no banco de dados sobre senhas de acesso para os três níveis detalhados aqui e para cadastramento de novos usuários com os mesmos três níveis de acesso, atualizações de atributos e detalhes nos registros do Banco de dados a respeito de produtos, serviços, clientes comuns e clientes do clube da cópia. Estarão representadas aqui em diagramas de atividades e de seqüência as atualizações de: arquivos de relatório em texto sobre vendas a vista, atualização de arquivos de relatório em texto sobre vendas a prazo ainda não pagas e atualização de arquivos de relatório em texto sobre serviços prestados. Em toda esta parte e em todos os diagramas que serão listados nesta seção, partiremos da tela de controles administrativos (administrador do sistema), e seguise para as demonstrações necessárias sobre cada item que será listado. A figura 3.33 representa o diagrama de atividades para o cadastramento de novas senhas referentes aos três níveis de privilégios para acesso ao sistema. 55 Figura 3.33 Diagrama de atividades cadastro de novas senhas Fonte: elaborado pelo autor A figura 3.34 representa o diagrama de sequência para o cadastramento de novas senhas referentes aos três níveis de privilégios para acesso ao sistema Figura 3.34 Diagrama de sequência cadastro de novas senhas Fonte: elaborado pelo autor 56 A figura 3.35 representa o diagrama de atividades para o acesso às atualizações referentes a usuários e senhas de acesso ao sistema, já cadastradas. Figura 3.35 Diagrama de atividades atualização de senhas Fonte: elaborado pelo autor A figura 3.36 representa o diagrama de sequência para atualização de senhas nível um: atendente. Figura 3.36 Diagrama de sequência atualização de senhas atendente Fonte: elaborado pelo autor 57 A figura 3.37 representa o diagrama de sequência para atualização de senhas nível dois: administrador do sistema ou gerente, onde a escolha de níveis é feita depois de testar usuário e senha e habilitar o acesso, gerando assim uma barreira hierárquica para acesso a essas edições e concessões. Figura 3.37 Diagrama de sequência atualização de senhas administrador Fonte: elaborado pelo autor A atualização de atributos sobre os serviços, produtos e clientes já cadastrados no banco de dados do sistema, pelo fato de seguirem a mesma seqüência de ações, serão demonstradas em diagramas únicos de atividades e de sequência. A figura 3.38 representa o diagrama de atividades para atualização de atributos sobre os serviços, produtos e clientes já cadastrados no banco de dados do sistema. 58 Figura 3.38 Diagrama de atividades atualização atributos Fonte: elaborado pelo autor A figura 3.39 representa o diagrama de sequência para atualização de atributos sobre os serviços, produtos e clientes já cadastrados no banco de dados do sistema. 59 Figura 3.39 Diagrama de sequência atualização atributos Fonte: elaborado pelo autor As rotinas de criação e edição de relatórios em texto que serão gravados no disco físico do usuário, pelo fato de seguirem a mesma sequência de ações, serão demonstradas em diagramas únicos de atividades e de sequência. A figura 3.40 representa o diagrama de atividades para o processo de criação de arquivos de relatório em texto. Figura 3.40 Diagrama de atividades relatórios Fonte: elaborado pelo autor 60 A figura 3.41 representa o diagrama de seqüencia para representação do processo de criação de arquivos de relatório em texto para listar as vendas a vista, as vendas a prazo e os serviços prestados. Figura 3.41 Diagrama de sequência relatórios Fonte: elaborado pelo autor A figura 3.42 representa o diagrama de atividades para apresentação de tela com registros de acessos ao sistema. Figura 3.42 Diagrama de atividades lsta de acessos ao sistema Fonte: elaborado pelo autor 61 A figura 3.43 representa o diagrama de sequência para apresentação de tela com registros de acessos ao sistema. Figura 3.43 Diagrama de sequência lista de acessos ao sistema Fonte: elaborado pelo autor A figura 3.44 representa o diagrama de atividades para apresentação de tela com registros de parcelas já pagas de parcelamentos para vendas a prazo. Figura 3.44 Diagrama de atividades apresentação de parcelas pagas Fonte: elaborado pelo autor A figura 3.45 representa o diagrama de sequencia para apresentação de tela 62 com registros de parcelas já pagas de parcelamentos para vendas a prazo. Figura 3.45 Diagrama de sequência apresentação de parcelas pagas Fonte: elaborado pelo autor As rotinas de apresentação de registros de vendas a vista, apresentação de registros de vendas a prazo e apresentação de registros de serviços prestados, pelo fato de seguirem a mesma sequência de ações, serão demonstradas em diagramas únicos de atividades e de sequência. A figura 3.46 representa o diagrama de atividades para apresentação de tela com registros de vendas a vista, vendas a prazo ainda não pagas e de serviços prestados. 63 Figura 3.46 Diagrama de atividades exibir registros de vendas e serviços Fonte: elaborado pelo autor A figura 3.47 representa o diagrama de sequência para apresentação de tela com registros de vendas a vista, vendas a prazo ainda não pagas e de serviços prestados. . Figura 3.47 Diagrama de sequência exibir registros de vendas e serviços Fonte: elaborado pelo autor 64 4 LAYOUT DE TELAS Este item apresenta as telas do projeto Aplicativo para Controle de vendas e serviços. 4.1 TELA DE LOGIN É responsável pelo controle de acesso ao sistema, receberá do usuário, ao entrar no sistema, o nome de usuário e a senha respectiva, previamente cadastrada no sistema, de modo que só possam acessar pessoas autorizadas. A figura 4.1 apresenta a tela de login. Figura 4.1 Tela de Login Fonte: Elaborado pelo autor. 4.2 TELA INICIAL É a primeira tela depois de o usuário entrar no sistema, chamada aqui de menu central, onde obtém os links para todo o sistema distribuídos em menus AWT já referenciados aqui neste documento. A figura 4.2 apresenta a tela do Menu Central. 65 Figura 4.2 – Tela de Menu Central Fonte: Elaborado pelo autor 4.3 TELAS DE CADASTRO São telas construídas com o mesmo padrão, por isso, pode-se expor somente uma das telas de cadastro, a de cadastro de clientes, para exemplificar a forma de recebimento dos dados para cadastramento no banco de dados e para serem usados pelo sistema quando forem solicitados. São acessadas através dos menus AWT, ou com atalhos do teclado, neste caso control+c. A figura 4.3 apresenta o Menu AWT. 66 Figura 4.3 – Menu AWT Fonte: Elaborado pelo autor A figura 4.4 apresenta a tela de Cadastro. 67 Figura 4.4 – Tela de Cadastro Fonte: Elaborado pelo autor 4.4 TELAS DE CONSULTA Serão usadas tabelas Java AWT tableModel, que recebem as consultas ou joins diretamente do banco e monta a tabela decorada da maneira que foi previamente organizada, filtrada e estilizada pelo desenvolvedor. A figura 4.5 apresenta a tela de Consulta Padrão. 68 Figura 4.5 – Tela de Consulta Fonte: Elaborado pelo autor 4.5 TELAS DE VENDAS São feitas aqui as primeiras etapas da venda, como a escolha dos produtos, que o usuário atendente simplesmente clica em cima do produto, na tabela exposta na tela, e aparece uma mensagem de confirmação para acrescentar o produto a um carrinho de compras, e se aceitar, o produto, algumas características, como preço e estoque serão mostradas ao usuário através de um campo de texto que se encontra na parte inferior da tela de compras. Depois de escolhidos, listados e somados os produtos, um clique em cima do botão com a inscrição “finalizar compra”, será levado à outra tela, que chamaremos de tela para finalização da compra, e podem-se detalhar melhor os atalhos e funções posteriormente neste mesmo trabalho. A figura 4. 6 apresenta a tela de Acesso aos Processos de Vendas de Produtos. 69 Figura 4.6 – Tela de Vendas Fonte: Elaborado pelo autor A figura 4.7 apresenta a tela de mensagem,que utiliza a classe Java JOptionPane e seus métodos, para acrescentar produtos ao carrinho de compras. Figura 4.7 – Tela de Mensagem Fonte: Elaborado pelo autor 70 4.6 TELAS DE FINALIZAÇÃO DA VENDA Depois de selecionar os produtos esta tela abrirá solicitando algumas informações que o usuário deverá fornecer, completando a venda, a primeira delas será se a venda será a vista, avista com desconto ou a prazo. 4.6.1 Venda a Vista Clicando em finalizar compra, na tela seguinte existirá um botão com a inscrição “FINALIZAR”, designado a finalizar em um clique a venda a vista com preço original dos produtos. A figura 4.8 apresenta a tela que é aberta após o usuário selecionar a finalização da venda. Figura 4.8 – Tela de Finalização da Venda Fonte: Elaborado pelo autor Mas se o atendente tiver algum desconto para aplicar por conta de ocasião especial, poderá finalizar a venda clicando no menu AWT com a inscrição “PAGTO”, escolhendo a opção “A VISTA (c desconto)”, então abrirá uma tela que irá receber o valor final praticado, e registrará o valor final no banco de dados. A figura 4.9 apresenta o Menu AWT na Finalização da Venda 71 Figura 4.9 – Menu AWT Seleção de Venda vista Com Desconto Fonte: Elaborado pelo autor A figura 4.10 apresenta a obtenção do valor final da venda à vista Com Desconto. Figura 4.10 – Tela valor Final Venda a Vista Com Desconto Fonte: Elaborado pelo autor 4.6.2 Venda a Prazo O usuário poderá escolher também a opção a prazo, por solicitação do cliente, se for este habilitado no sistema, se tiver cadastro de cliente, ou se já for cliente com compras anteriores a prazo e estiver em dia com as parcelas, poderá solicitar que o pagamento de suas compras seja parcelado, então o usuário atendente escolherá, nesta tela de finalização ainda, a opção “A PRAZO”. A figura 4.11 apresenta novamente a utilização de Menu AWT para acessos a outras funcionalidades do sistema. 72 Figura 4.11 – Menu AWT Vendas a Prazo Fonte: Elaborado pelo autor Em seguida é necessário saber os detalhes sobre a venda: será paga com cheque, no boleto ou no cartão de crédito, será com ou sem entrada, se com entrada precisa entrar com o valor da entrada, e o número de parcelas, lembrando que só pode ser no máximo em seis parcelas. Utilizando a classe Java JOptionPane para receber estas informações do usuário, abre-se uma tela onde o usuário dará entrada nos valores das parcelas, que já estarão divididos pelo número de parcelas e dispostos na tela, abertos para edição, para que em qualquer venda o usuário atendente possa aplicar descontos e condições especiais. A figura 4.12 apresenta novamente a utilização da Classe Java JOptionPane, neste caso funcionando como menu de opções para a escolha de forma de pagamento. Figura 4.12 – Classe JOptionPane Seleção de Forma de Pagamento Fonte: Elaborado pelo autor A figura 4.13 apresenta a tela que é aberta após o usuário selecionar a quantidade de parcelas. 73 Figura 4.13 – Tela de Parcelamento Fonte: Elaborado pelo autor A figura 4.14 apresenta a tela que é exibida para a escolha do cliente, sendo mostrado um algarismo um no final da tabela para clientes sem dívidas atrasadas registradas no sistema, e o algarismo zero para clientes devedores. Figura 4.14 – Tela Recebe Cliente da Venda a Prazo Fonte: Elaborado pelo autor A figura 4.15 apresenta a finalização do processo de venda a prazo. 74 Figura 4.15 – Tela de Finalização da Venda a Prazo Fonte: Elaborado pelo autor 4.6.3 Realização de serviços A seguir apresenta-se a tela de realização de serviços, onde de maneira bem simples, o usuário clica em uma opção de serviço desejada. Pressiona a tecla “enter”, ou clica em “somar” pra registrar a quantidade e clicar com o mouse em confirmar. Os acessos: “clube da cópia”, ” tab2” e ” tab3” que estão presentes nesta tela em menus AWT, que são habilitados em condições específicas. No caso do clube da cópia, quando o usuário inserir o código no campo de texto e clicar em “consultar cliente clube da cópia”, o sistema irá realizar uma consulta no banco de dados para verificar se existe este cliente e se ele dispõe de créditos depositados em data anterior à desta compra, estando de acordo com as condições pré estabelecidas, o sistema habilitará o menu “clube da cópia”. Para os menus “tab2” e ”tab3” haverá uma consulta ao sistema operacional sobre um horário específico, e habilitará os menus dentro deste período préestipulado. 75 A figura 4.16 apresenta a tela de realização de serviços. Figura 4.16 – Tela de Realização de Serviços Fonte: Elaborado pelo autor 76 CONCLUSÃO A velocidade com que a tecnologia evolui e desenvolve novas formas de participar ativamente da vida das pessoas, cativou o ser humano de uma maneira, que impossibilitou uma volta às origens e liberou as mentes dos empreendedores das tarefas mais básicas, apesar de muitas vezes difíceis de realizar, e aproximou a humanidade da criatividade verdadeira, podendo focar sua atenção e desenvolvimento muito mais diretamente para novos projetos e para a abertura de novos horizontes do que para a adequação e adaptação de técnicas antigas de administração e desenvolvimento de negócios. Com este trabalho conclui-se que, mais uma vez, a tecnologia se mostra eficiente, precisa e segura para apresentar estas soluções, pois o projeto atingiu todos os seus objetivos principais, satisfazendo todos os interesses do desenvolvedor e do usuário final, onde os resultados podem ser analisados com a utilização do próprio sistema, em listas de registros, relatórios, controles, principalmente do estoque, que, em todos os requisitos o sistema responde satisfatoriamente e se mostra operacionalmente simples, provando que a escolha destas ferramentas tecnológicas e de desenvolvimento, foi certa, e com certeza, estas ferramentas podem perfeitamente atender a projetos desktop semelhantes a este com simplicidade e capacidade de migração e extensão de uso por muito tempo. Como sugestão, ficará este trabalho com vários itens que podem ser melhorados. Como exemplo, podemos citar: a conexão com empresas de cartão de crédito, implementação de um serviço web que poderá estender as vendas e controlar estoque dentro do sistema desktop, instalação de leitor de código de barras e outros dispositivos. 77 REFERÊNCIAS BIBLIOGRÁFICAS BEZERRA, E. Princípios de análise de projeto de sistemas com UML: um guia prático para utilização da modelagem unificada. 2. Ed. São Paulo: Campus,2006. CARVALHO, P. F. Arquitetura Oracle. Disponivel em: http://www.pedrofcarvalho.com.br/PDF/AULA_2_ARQUITETURA_ORACLES.pdf Acesso em 15 de maio 2013. MARTINEZ, M. InfoEscola navegando e aprendendo UML. 2010. Disponível em http://www.infoescola.com/engenharia-de-software/uml/ Acessado em: 16 nov. 2013. MUCIN, P. S. Astah Comunnity, um software para trabalhar com UMLs. 2011 Disponível em: http://www.plantaonerd.com/blog/2011/04/18/astah-community-umsoftware-para-trabalha-com-umls/ Acesso em: 16 nov. 2013. MURRAY, C. Oracle Database Installation Guide. 2012. Disponível em: http://docs.oracle.com/cd/E12151_01/doc.150/e12153.pdf Acesso em: 16 nov. 2013. SOUZA, B. Sun Microsistems. 2013. Disponível em http://www.javaman.com.br/apres/java&jini/ Acesso em 16 nov 2013. NETBEANS. Netbeans IDE informações da versão 7.1. 2013. Disponível em: < https://netbeans.org/community/releases/71/index_pt_BR.html> Acesso em: 17 nov. 2013.