UNIJUI – UNIVERSIDADE REGIONAL DO NOROESTE DO ESTADO DO RIO GRANDE DO SUL DETEC – DEPARTAMENTO DE TECNOLOGIA MAXSUEL OTTMAR TOEBE SISTEMA DE GESTÃO MÓDULO REPRESENTANTE Ijuí 2013 MAXSUEL OTTMAR TOEBE SISTEMA DE GESTÃO MÓDULO REPRESENTANTE Trabalho de Conclusão de Curso para a obtenção do título de Bacharel em Sistemas de Informação pela Universidade Regional do Noroeste do Estado do Rio Grande do Sul. Coordenador da disciplina: Marcos Ronaldo Melo Cavalheiro, Msc Orientador: Romário Lopes Alcântara, Msc Ijuí / RS 2013 MAXSUEL OTTMAR TOEBE SISTEMA DE GESTÃO MÓDULO REPRESENTANTE Trabalho de Conclusão de Curso para a obtenção do título de Bacharel em Sistemas de Informação pela Universidade Regional do Noroeste do Estado do Rio Grande do Sul. Banca Examinadora: ________________________________________________ Prof. MSc. Romário Lopes Alcântara ________________________________________________ Prof. MSc. Marcos R. M. Cavalheiro Ijuí RS, Dezembro de 2013. AGRADECIMENTOS Agradeço a Deus, por sempre estar ao meu lado nos bons e maus momentos, por me ajudar a alcançar meus objetivos e por ter me abençoado com um filho maravilhoso; Agradeço aos meus pais que sempre estão me apoiando em todos os momentos da minha vida; Agradeço a ajuda de meu orientador, Romário, pelo empenho, pela cobrança e principalmente pela paciência com que sempre me auxiliou; Agradeço a meus professores que sempre souberam sanar minhas dúvidas; Agradeço a meus colegas pelo apoio, estímulo e amizade. “Seja você quem for, seja qual for a posição social que você tenha na vida, a mais alta ou a mais baixa, tenha sempre como meta muita força, muita determinação e sempre faça tudo com muito amor e com muita fé em Deus, que um dia você chaga lá. De alguma maneira você chega lá.” Ayrton Senna da Silva. LISTA DE FIGURAS Figura 1: Estrutura de Pastas .................................................................................... 16 Figura 2: Tomcat Web Application Manager ............................................................. 17 Figura 3: Caso de Uso Importar dados ..................................................................... 37 Figura 4: Caso de Uso Parâmetros ........................................................................... 38 Figura 5: Caso de Uso Cadastrar Clientes ................................................................ 38 Figura 6: Caso de Uso Cadastrar Produtos .............................................................. 39 Figura 7: Caso de Uso Cadastrar Grupo e Subgrupo ............................................... 39 Figura 8: Caso de Uso Variação de Acabamento ..................................................... 40 Figura 9: Caso de Uso Cadastrar Locais de Entrega ................................................ 40 Figura 10: Caso de Uso Cadastrar Pedido de Venda ............................................... 41 Figura 11: Caso de Uso Cadastrar Assistências Técnicas ........................................ 42 Figura 12: Caso de Uso Relatório de Pedido de Venda ............................................ 43 Figura 13: Caso de Uso Relatório de Assistência Técnica ........................................ 43 Figura 14: Diagrama de Classe ................................................................................. 53 Figura 15: Diagrama de Sequência - Cadastrar Clientes .......................................... 54 Figura 16: Diagrama de Sequência - Cadastrar Produtos ......................................... 55 Figura 17: Diagrama de Sequência - Cadastrar Pedidos .......................................... 56 Figura 18: Diagrama de Sequência - Cadastrar Assistência ..................................... 57 Figura 19: Diagrama de Estado do Pedido de Venda ............................................... 59 Figura 20: Diagrama de Estado da Assistência Técnica ........................................... 60 Figura 21: Tela de Login do Sistema ......................................................................... 62 Figura 22: Tela de Cadastro de Clientes ................................................................... 62 Figura 23: Tela de Cadastro de Pedidos ................................................................... 63 Figura 24: Tela de Cadastro de Itens do Pedido ....................................................... 63 Figura 25: Tela de Lista de Pedidos .......................................................................... 64 Figura 26: Tela de Cadastro de Assistência Técnica ................................................ 64 Figura 27: Tela de Cadastro de Itens da Assistência Técnica .................................. 65 Figura 28: Tela de Lista de Assistência Técnica ....................................................... 65 Figura 29: Tela de Exportação .................................................................................. 66 Figura 30: Tela de Importação .................................................................................. 66 Figura 31: Tela de Parâmetros .................................................................................. 66 Figura 32: Relatório de Pedido .................................................................................. 67 Figura 33: Relatório de Assistência Técnica ............................................................. 68 LISTA DE TABELAS TABELA 1: Tabela de acabamentos ................................................................ 26 TABELA 2: Tabela de acabamentos por grupo e subgrupo ............................. 27 TABELA 3: Tabela de ações dos itens da assistência ..................................... 27 TABELA 4: Tabela de itens da assistência ...................................................... 27 TABELA 5: Tabela de itens da assistência ...................................................... 28 TABELA 6: Tabela de motivos dos itens da assistência técnica. ..................... 29 TABELA 7: Tabela de cidades. ........................................................................ 29 TABELA 8: Tabela de localidade...................................................................... 29 TABELA 9: Tabela de condição de pagamento................................................ 30 TABELA 10: Tabela de empresa (Clientes) ..................................................... 30 TABELA 11: Tabela de Local de Entrega. ........................................................ 31 TABELA 12: Tabela de Histórico de Venda ..................................................... 32 TABELA 13: Tabela de Histórico dos Itens das Vendas. ................................. 32 TABELA 14: Tabela de Modalidade de Cobrança ............................................ 32 TABELA 15: Tabela de Parâmetros. ................................................................ 33 TABELA 16: Tabela de Promoções. ................................................................. 33 TABELA 17: Tabela de Pedidos de Venda. ..................................................... 33 TABELA 18: Tabela de Itens dos Pedidos de Venda ....................................... 34 TABELA 19: Tabela de Produtos ..................................................................... 35 TABELA 20: Tabela de tabelas de preços dos itens ........................................ 35 TABELA 21: Tabela de tipo de pedidos. .......................................................... 36 TABELA 22: Tabela de tabela de preço. .......................................................... 36 TABELA 23: Tabela de Importação e Exportação. ........................................... 36 LISTA DE ABREVIATURAS JRE: Java Runtime Environment, ou Ambiente de Tempo de Execução Java SGBD: Sistema Gerenciador de Banco de Dados SQL: Structured Query Language, ou Linguagem de Consulta Estruturada UML: Unified Modeling Language, ou Linguagem Unificada de Modelagem SUMÁRIO RESUMO................................................................................................................... 12 ABSTRACT............................................................................................................... 13 INTRODUÇÃO .......................................................................................................... 14 1. ASPECTOS GERAIS DA MODELAGEM DE SISTEMAS OU SOFTWARE ........ 15 1.1. Ferramentas Utilizadas....................................................................................... 15 1.1.1. Astah Community ............................................................................................ 15 1.1.2. TomCat............................................................................................................ 15 1.1.2. JAVA Runtime Environment ............................................................................ 18 1.1.5. Banco de dados Postgres ............................................................................... 18 1.1.5. PgAdmin .......................................................................................................... 18 1.1.6. Genexus .......................................................................................................... 19 2. A MODELAGEM DO SISTEMA OU SOFTWARE ................................................ 22 2.1. Definições do Sistema ........................................................................................ 22 2.1.1. Domínio do Problema ...................................................................................... 22 2.1.2. Análise de Requisitos ...................................................................................... 22 2.1.3. Objetivos do Sistema....................................................................................... 24 2.1.4. Local do Sistema ............................................................................................. 24 2.1.5. Processo de Software ..................................................................................... 24 2.1.6. Tipos de Arquitetura do Sistema ..................................................................... 24 2.2. Cenários ............................................................................................................. 24 2.2.1. Cenários Primários .......................................................................................... 25 2.2.2. Cenários Secundários ..................................................................................... 25 2.2.3. Identificar os Casos de Uso............................................................................. 25 2.3. Projeto Lógico das Tabelas do Sistema ............................................................. 26 2.4. Criação dos diagramas de Casos de Usos ........................................................ 37 2.4.1. Criação dos Casos de Uso .............................................................................. 37 2.4.2. Descrição detalhada dos Casos de Usos ........................................................ 43 2.5. Diagrama de Classe ........................................................................................... 53 2.6. Diagramas de Sequência ................................................................................... 54 2.7. Diagrama de Estados ......................................................................................... 59 2.8. Relação dos Programas a serem desenvolvidos ............................................... 60 2.9. Projeto de Entradas (Telas) e Saídas (Relatórios) ............................................. 62 CONSIDERAÇÕES FINAIS ...................................................................................... 69 REFERÊNCIAS BIBLIOGRÁFICAS ......................................................................... 70 RESUMO Os representantes de uma empresa, sempre estão em viagens visitando seus clientes visando fazer vendas para a empresa. Com isso é necessário que os representantes tenham conhecimento e informações referentes aos seus produtos para que possam oferecer para seus clientes informações rápidas e corretas sobre os mesmos. Tendo em vista que ainda alguns representantes usam sistemas onde precisam cadastrar todas as informações (Clientes, produtos, preços, etc..), ou ainda utilizar listas de papel com estas informações, este trabalho visa disponibilizar um módulo para o vendedor / representante, que permita a inclusão de pedidos de venda e assistências técnicas para clientes de forma mais simplificada e rápida. Este módulo será criado para que o Vendedor / Representante possa incluir pedidos de venda e assistências técnicas sem estar acessando o sistema principal da empresa (Fábrica). Este módulo é pré-alimentado com informações vindas do sistema principal através de um arquivo. Com estas informações vindas da importação, o vendedor / representante poderá incluir pedidos de venda e ou assistências técnicas para seus clientes. Será utilizado no desenvolvimento deste trabalho para modelagem, a ferramenta Astah Community, no desenvolvimento prático para a programação a ferramenta Genexus e TomCat que é responsável pelo funcionamento da aplicação, e para o banco de dados Postgres e PgAdmin. Palavras-chave: Módulo Representante - Desenvolvimento. ABSTRACT The representatives of a company are always on trips visiting their clients and aiming to make sales for a company. So, it‟s necessary for the representatives to have knowledge and information about their products, so they can offer their clients fast and right information about the products. Considering that some representatives still use systems where they need to register all the information (Customer, products, prices, etc…) or still use paper lists with these information, this job aim to provide a module to the seller / representative, that permits the inclusion of sales orders and technical support to customers in a faster and simplified way. This module will be created so that the Seller / Representative can include sales orders and technical support without accessing the main system of the company (factory). This module is pre-stocked with information from the main system through a file. With this information from importation, the seller / representative will be able to include sales orders and/or technical support to their clients. It will be used in this job development, to modeling, the tool Astah Community, in the practical development for programming, the tool Genexus and TomCat that is responsible for running the application, and for Postgres and PgAdmin database. Keywords: Module, Representative – Development. INTRODUÇÃO O presente relatório tem por objetivo a conclusão do curso de Sistemas de Informações – Bacharelado, da Faculdade Universidade Regional do Nordeste do Estado do Rio Grande do Sul – Unijuí. Assim o tema deste relatório irá mostrar o desenvolvimento de um sistema “Módulo Representante”, onde os representantes possam utilizar um sistema que visa proporcionar uma maior agilidade onde permita a inclusão de pedidos de venda e assistências técnicas para clientes de forma mais simplificada e rápida. Serão apresentados os aspectos gerais da modelagem de sistemas ou software e um breve descritivo das ferramentas utilizadas para o desenvolvimento da modelagem e do desenvolvimento do sistema. Foi feito a análise das informações na empresa que desenvolve o sistema para a Fábrica dos clientes. Esta empresa não tem um sistema simples e prático para os representantes de seus clientes. O que obriga seus clientes buscarem alternativas com outras empresas que desenvolvem softwares. A modelagem das informações será orientada a objetos, o sistema será desenvolvido na ferramenta Genexus que é a ferramenta de desenvolvimento utilizada na empresa, compilado em Java e irá utilizar o banco de dados Postgres. 1. ASPECTOS GERAIS DA MODELAGEM DE SISTEMAS OU SOFTWARE Neste capítulo serão mostrados os aspectos gerais da modelagem de sistemas ou software, onde serão listadas as ferramentas utilizadas e um breve descritivo sobre cada uma delas. 1.1 - Ferramentas Utilizadas Neste trabalho foram utilizadas diversas ferramentas para desenvolvimento de sistemas como segue: 1.1.1 Astah Community “É uma ferramenta gratuita voltada para a modelagem de diagramas UML (Unified Modeling Language). Além do Astah Community, existem outras três versões: Astah UML, Astah Professional e Astah Share que disponibilizam outras funcionalidades além da modelagem UML, porém, sua licença é comercial. A ferramenta Astah Community é conhecida por sua praticidade e simplicidade em elaborar diagramas, como por exemplo: diagramas de classe, caso de uso, sequência, atividade, comunicação, máquina de estado, componentes, implantação, estrutura de composição, objetos e pacotes. (Astah, 2013 p. 13) 1.1.2 TomCat O TomCat é o programa que recebe as chamadas de seu Internet Explorer e as transforma em páginas. Este é o responsável pelo funcionamento da aplicação e é facilmente encontrado na Internet. Página oficial do TomCat: http://tomcat.apache.org. (Tomcat, 2013 p. 15) Após a instalação e inicialização do TomCat deve se criar um contexto para que o GeneXus consiga colocar os Servlets e assim funcione corretamente. 16 “Um contexto é como se fosse um site, será mantida a aplicação em um contexto dentro do Host padrão (localhost). Isso fará com que ao chamarmos o endereço http://localhost:8080/<contexto> a aplicação seja iniciada e exibida. Para cada modelo e para cada kbase, devemos ter um contexto definido e configurado. Não tente colocar dois ou mais kbases ou modelos no mesmo contexto. Isso irá causar a parada de sua aplicação.” (Tomcat, 2013 p. 16) Neste projeto será criado um Contexto para o projeto com nome de „repres‟. O Contexto iniciará com a criação de um diretório com o nome do próprio contexto e dentro uma estrutura de diretórios. Todos os contextos devem ser criados dentro seguinte diretório: C:\Arquivos de programas\Apache Software Foundation\Tomcat 5.5\webapps Dentro da pasta webapps, você deve criar os diretórios com o nome do contexto e com a seguinte estrutura de pastas: Figura 1: Estrutura de pastas Fonte: Apache (2011, p 16) Para o TomCat, existe diferença entre Site e site. Uma letra maiúscula pode fazer com que o diretório não seja encontrado e o mesmo não funcione. Informe sempre tudo minúsculo quando não especificado o contrário. O diretório imagens pode ter outro nome, como por exemplo, site, imgs, estático, etc e o diretório WEB-INF deve ser digitado todo maiúsculo. Em futuras instalações, quando você desejar criar um contexto novo, monte os diretórios com a mesma estrutura, alterando somente o contexto „repres‟ para o nome do seu novo contexto. Não use acentos, espaços ou maiúsculas quando não especificado diretamente. Para o TomCat o arquivo não existe se você digitar http://localhost:8080/Repres. Este deve ser todo minúsculo para evitar problemas Criar os diretórios do contexto não faz com que o mesmo seja criado dentro do TomCat. Você deve configurá-lo para que o mesmo entenda e funcione 17 corretamente. Para isso, você pode fazer via "TomCat Administration" ou criando um arquivo .xml. Pela facilidade de montar o arquivo, optamos por esta forma. Você deve acessar o seguinte diretório: C:\Arquivos de programas\Apache Software Foundation\Tomcat 5.5\conf\Catalina\localhost E dentro deste colocar um arquivo texto com o nome <contexto>.xml. Neste caso, o arquivo deve ter o seguinte nome: "repres.xml" O conteúdo deste deve ser: <?xml version="1.0" encoding="iso-8859-1"?> <Context path="/repres" docBase="C:\Arquivos de programas\Apache Software Foundation\Tomcat 5.5\webapps\gxteste" debug="0" reloadable="true" crossContext="true"> <Logger className="org.apache.catalina.logger.FileLogger" prefix="localhost_dev_log." suffix=".txt" timestamp="true" /> </Context> A propriedade 'reloadable=”true”' é uma opção do TomCat que indica que todas as alterações feitas nas suas aplicações vão ser aplicadas automaticamente, não sendo necessário reiniciar o TomCat cada vez que um objeto for especificado. Uma vez o contexto existindo, vamos ver se o Servlet está funcionando. Para isso acesse o seguinte link: http://localhost:8080/manager/html. Esta é a página Tomcat Manager do TomCat. Você também pode abrir pela página inicial e é exibida como abaixo: Figura 2: Tomcat Web Application Manager Fonte: Apache (2011, p 17) 18 2.1.3. JAVA Runtime Environment O Java Runtime Environment (JRE) significa Ambiente de Tempo de Execução Java, e é utilizado para executar as aplicações da plataforma Java. É composto por bibliotecas (APIs) e pela Máquina virtual Java (JVM). A plataforma Java é constituída de um grande número de tecnologias, cada uma provê uma porção distinta de todo o ambiente de desenvolvimento e execução de software. (Wikipédia, 2013, p.18). 2.1.4. Banco de dados Postgres O PostgreSQL é um SGBD (Sistema Gerenciador de Banco de Dados) objetorelacional de código aberto, com mais de 15 anos de desenvolvimento. É extremamente robusto e confiável, além de ser extremamente flexível e rico em recursos. Ele é considerado objeto-relacional por implementar, além das características de um SGBD relacional, algumas características de orientação a objetos, como herança e tipos personalizados. ( PostgreSQL Global Development Group, 2013, p.18) 2.1.5. PgAdmin É a administração mais popular e rico em recursos de código aberto e plataforma de desenvolvimento para PostgreSQL , o banco de dados de código aberto mais avançado do mundo. Pode ser usado em Linux, FreeBSD, Solaris, Mac OSX e Windows para gerenciar PostgreSQL 7.3 e acima, executado em qualquer plataforma, bem como versões comerciais e derivados do PostgreSQL como Postgres Além disso, Advanced Server e banco de dados Greenplum . Foi concebido para responder às necessidades de todos os usuários, desde escrever consultas SQL simples para o desenvolvimento de bases de dados complexos. A interface gráfica suporta todas as funcionalidades do PostgreSQL e facilita a administração. O aplicativo também inclui um destaque de sintaxe SQL 19 editor, um editor de código do lado do servidor, um agente de agendamento de trabalho SQL / batch / shell, o suporte para o Slony-I mecanismo de replicação e muito mais. Conexão com o servidor pode ser feita usando TCP / IP ou soquetes do domínio Unix (em * nix), e pode ser criptografado SSL para a segurança. Não há drivers adicionais são necessários para se comunicar com o servidor de banco de dados. É desenvolvido por uma comunidade de especialistas do PostgreSQL em todo o mundo e está disponível em mais de uma dúzia de idiomas. É um Software Livre liberado sob a licença PostgreSQL . (pgAdmin PostgresSQL, 2013, p 18) 2.1.6. Genexus O GeneXus Corporate é uma ferramenta case usada no desenvolvimento de sistemas. Ela possibilita a definição e criação de tabelas e seus relacionamentos, telas de atualização, telas de consulta, telas de Help, relatórios e procedimentos. Tudo o que criamos no GeneXus chamamos de objeto, assim temos alguns objetos usados freqüentemente, como: Transaction, Table, Work Panel, Web Panel, Procedure, Report etc. Ele também possibilita a geração da documentação do sistema, na qual está descrita toda a análise e projeto do sistema. (Genexus, 2013, p. 19). O GeneXus apresenta três fases de desenvolvimento: - Design: é a fase na qual definimos e criamos as tabelas, seus relacionamentos e índices. Nesta fase, o GeneXus cria, automaticamente, as telas que acessam as tabelas, os índices principais com a chave primária e os índices secundários com os campos que fazem relacionamento (chave estrangeira). Toda vez que precisarmos realizar uma alteração no Banco de Dados do sistema, ou seja, criar uma nova tabela, inserir um novo campo em uma tabela ou criar um novo índice para uma tabela, devemos estar na fase de Desing. - Prototype: é nesta fase que criamos as telas de consulta e Help, relatórios e os procedimentos necessários para o funcionamento do sistema. Também 20 geramos o executável do sistema para que possamos testar tudo o que foi criado. No Prototype podemos realizar qualquer alteração que não envolva mudança no Banco de Dados do sistema. - Production: é onde criamos o executável que será instalado em clientes, após tudo ter sido devidamente testado na fase de Prototype. É aconselhável não desenvolver telas ou procedimentos nesta fase. No desenvolvimento web não é usado esta opção. O módulo web é gerado automaticamente ao compilar os objetos no Prototype. Transações A partir da estrutura das transações que criamos a base de dados do sistema. A transação é a interface que vai existir entre o usuário e uma tabela do Banco de Dados. Uma mesma tabela poderá ter várias transações que irão possibilitar a inclusão, alteração ou exclusão de registros. Quando criamos à primeira transação de uma tabela X, automaticamente a tabela é criada no Banco de Dados. As demais transações criadas para esta tabela X simplesmente a complementam. - Struture: Representa a estrutura de dados que será utilizada pela transação. - Form: Local onde se desenha a tela, colocando variáveis, atributos e qualquer outro elemento gráfico. Representa a interface do usuário com o sistema em operações de inclusão, alteração e exclusão de registros em tabelas do Banco de Dados. - Web Form: Também é o local onde se desenha a tela, colocando variáveis, atributos e qualquer outro elemento gráfico. Representa a interface do usuário com o sistema em operações de inclusão, alteração e exclusão de registros em tabelas do Banco de Dados. Contudo, é utilizado somente para aplicações Web. - Rules: Local onde são indicados os parâmetros e as restrições ao funcionamento da transação. Os parâmetros representam as variáveis que a transação recebe e retorna durante o funcionamento do sistema. Há parâmetros que SEMPRE estarão presentes nas rules de uma transação. Exemplo: Parm(&Mode, &pcodigo, &ultcod); 21 Parm( ), função do GeneXus que indica a seqüência de parâmetros recebidos e retornados. &Mode, é uma variável global, ou seja, existente em todas as transações criadas no GeneXus. Indica qual a operação que será executada na tabela: inserção – INS, alteração – UPD ou exclusão – DLT. Outras variáveis globais: &Date, &Time. &pcodigo e &ultcod, variáveis criadas pelo programador. - Conditions: Para as transações esta característica está desabilitada. Veremos sua utilidade quando criarmos Work Panels de consulta interativa ou consulta rápida. - Events: Ações que podem ser disparadas por um botão ou num momento específico da execução do objeto. O GeneXus possui alguns eventos globais para os objetos, mas outros poderão ser criados pelo programador. O GeneXus não permite que atributos sejam alimentados por eventos, somente as variáveis podem ser alimentadas através de eventos. - Variables: Permite definir as variáveis do objeto. O mesmo que Menu INSERT VARIABLE... ou CTRL+W. - Properties: Propriedades do objeto, como por exemplo: nome, descrição e diretório (pasta) na qual está gravado; se tela (form) apresentará os botões para maximizar, minimizar, fechar; definição das teclas de atalho – <F1> (ajuda), <F4> (acesso a uma lista de consulta) e <F5> (atualiza uma lista de consulta ou refresh). Não iremos alterar! - Documentation: Documentação do sistema feita pelo analista/programador com o objetivo de detalhar o projeto como um todo. No momento, não foi editado. - Help: Local onde digitamos o Help (ajuda) do objeto. Sempre devemos digitar o Help para os nossos objetos, principalmente para transações, telas de consulta e outras telas no geral, pois esta será a ajuda que o usuário irá buscar ao clicar no Botão de Ajuda ou teclar <F1> no sistema. Configurações para o desenvolvimento para Web em Genexus, podem ser encontradas no site do GeneXus Community Wiki opção Configurando o GeneXus. 2. A MODELAGEM DO SISTEMA OU SOFTWARE Neste capítulo será apresentada a modelagem do sistema ou software, onde será explicado o objetivo e o funcionamento do sistema. 2.1. Definições do Sistema O Sistema Módulo Representante tem como objetivo principal proporcionar uma maior agilidade para o representante que permita a inclusão de pedidos de venda e assistências técnicas para clientes de forma mais simplificada e rápida. Este módulo será criado para que o Vendedor / Representante possa incluir pedidos de venda e assistências técnicas sem estar acessando o sistema principal da empresa (Fábrica). Este módulo é pré-alimentado com informações vindas do sistema principal através de um arquivo. Com estas informações vindas da importação, o vendedor / representante poderá incluir pedidos de venda e ou assistências técnicas para seus clientes. 2.1.1. Domínio do Problema Cadastro de Pedidos Cadastro de Assistências Técnicas Cadastro de Clientes Exportação de Pedidos, Assistências e Clientes Importação de Dados da Fábrica 2.1.2. Análise de Requisitos Os requisitos são os eventos que podem ocorrer durante a usabilidade do sistema, que são: 1º. Importação de Dados Tabelas de Preço com Itens Grupo e Subgrupo; 23 Descontos por Tabela de Preço Tipo de Acabamentos, por grupo e subgrupo de estoque; Variações de Acabamentos dos Produtos; Condições de Pagamento; Modalidade de Cobrança; Empresas; Locais de Entrega; Títulos dos Clientes (Para visualização) do representante; Cidades; Tipo de Pedidos; Tabela de Promoções; Motivos dos Itens da Assistência; Ações nos Itens da Assistência; 2º. Cadastro de Parâmetros 3º. Cadastro de Clientes 4º. Cadastro de Assistências Técnicas 5º. Cadastro de Pedidos de Venda 6º. Lista de Clientes. 7º. Lista de Assistências Técnicas. 8º. Lista de Pedidos de Vendas 9º. Lista de Tabelas de Preços com Itens 10°. Lista de Variações de Acabamentos dos Produtos 11°. Lista Condições de Pagamento 12°. Lista Modalidade de Cobrança 13°. Lista Locais de Entrega 14°. Lista de Títulos dos Clientes 15°. Lista de Cidades 16°. Lista de Tipos de Pedidos 17°. Lista de Promoções 18°. Lista de Motivos dos Itens da Assistência 19°. Lista de Ações dos Itens da Assistência 20°. Relatórios de Pedidos de Vendas 21°. Relatórios de Assistências Técnicas 24 2.1.3. Objetivos do Sistema O Objetivo desse sistema é que o representante faça seus pedidos de venda e assistências técnicas com mais eficiência e rapidez e exporte estas informações para o sistema principal (Fábrica). 2.1.4. Local do Sistema O sistema será desenvolvido na empresa Lógica Informática (fora de horário), situada na Av. Conrad Adenauer nº 1543 no Bairro Erica da cidade de Panambi – RS, Fone 3375-3702. 2.1.5. Processo de Software Os processos de softwares utilizados para nortear o sistema será o Ciclo ou Modelo Evolutivo que tem a finalidade de controlar versões, proporcionando rapidez no desenvolvimento. Também serão utilizados alguns aspectos de implantação do Modelo Cascata, enfatizando as vantagens e desvantagens do processo. 2.1.6. Tipos de Arquitetura do Sistema WEB, será utilizada para a arquitetura Web o Modelo Arquitetural 3 Camadas. Temos uma Camada de Persistência (Servidor de Banco de Dados), onde ficará o banco de dados da aplicação. A Camada de Lógica de Negócio (Servidor de Aplicação Tomcat), onde rodará a aplicação Web (linguagem Java) e uma camada de apresentação, que é representada pela máquina cliente que acessa a aplicação. 2.2. Cenários Serão exportadas as informações necessárias pelo sistema principal (Fábrica) através de um arquivo, para modulo representante. 25 O representante irá importar para o módulo representante as informações vidas através do arquivo. O representante irá incluir pedidos de vendas e assistências técnicas para os clientes. O representante poderá incluir novos clientes. O representante terá que exportar as informações cadastradas (Clientes, Pedidos de Vendas e Assistências Técnicas) para o sistema principal (Fábrica). 2.2.1. Cenários Primários O sistema principal gera o arquivo com as informações necessárias para o módulo representante. O representante importa o arquivo para o módulo representante. O representante visita seus clientes com as informações gravadas no módulo representante. O representante incluí no módulo clientes, pedidos e assistências técnicas. O representante gera o arquivo de exportação para a Fábrica. A Fábrica importa o arquivo do representante. 2.2.2. Cenários Secundários O arquivo importado no módulo representante não é válido / Tente com outro arquivo. O produto necessário para o cliente não está cadastrado / Cadastrar no sistema principal e importar novamente o arquivo. Banco de Dados Inacessível / Informar o DBA 2.2.3. Identificar os Casos de Uso 1. Importação de Dados. 2. Cadastro de Cliente. 3. Cadastro de Parâmetros. 26 4. Cadastro de Assistência Técnica. 5. Cadastro de Pedidos de Venda. 6. Lista de Clientes. 7. Lista de Assistências Técnicas. 8. Lista de Pedidos de Vendas. 9. Lista de Tabelas de Preços com Itens. 10. Lista de Variações de Acabamentos dos Produtos. 11. Lista Condições de Pagamento. 12. Lista Modalidade de Cobrança. 13. Lista Locais de Entrega. 14. Lista de Títulos dos Clientes. 15. Lista de Cidades. 16. Lista de Tipos de Pedidos. 17. Lista de Promoções. 18. Lista de Motivos dos Itens da Assistência. 19. Lista de Ações dos Itens da Assistência. 20. Relatórios de Pedidos de Vendas. 21. Relatórios de Assistências Técnicas. 2.3. Projeto Lógico das Tabelas do Sistema Será utilizado o banco de dados Postgres, que é relacional e de distribuição livre com finalidade de proporcionar ao cliente redução nos gastos. Dentro da Database do Módulo Representante terá as seguintes tabelas: TABELA 1: Tabela de acabamentos. Nome externo TBACABAME Chave Atributo Tipo de Dado Tamanho Observação @ ACABCOD Alfanumérico 06 Chave Primária ACABDES Alfanumérico 20 TPACODI Alfanumérico 02 TPADESC Alfanumérico 20 Fonte: (Toebe, 2013 p. 26). 27 TABELA 2: Tabela de acabamentos por grupo e subgrupo. Nome externo TBACASUBGR Chave Atributo Tipo de Dado Tamanho Observação @ ACSUGRUP Numérico 03 Chave Primária @ ACSUSUBG Numérico 03 Chave Secundária @ ACSUTIPO Alfanumérico 02 Chave Terceira ACSUTPNO Alfanumérico 20 Fonte: (Toebe, 2013 p. 27). TABELA 3: Tabela de ações dos itens da assistência. Nome externo TBACOESAS Chave Atributo Tipo de Dado Tamanho Observação @ ACOCOD Numérico 04 Chave Primária ACODESC Numérico 25 ACOPROG Alfanumérico 01 Fonte: (Toebe, 2013 p. 27). TABELA 4: Tabela de itens da assistência. Nome externo TBASSISTEIT Chave Atributo Tipo de Dado Tamanho Observação @ ASSISTEC Numérico 06 Chave Primária @ ASPSEQ Numérico 03 Chave Secundária # ASPPRODREF Alfanumérico 16 Chave Estrangeira # ASPPRODUTO Alfanumérico 16 Chave Estrangeira ASPLISTA Numérico 15.2 ASPQUANTI Numérico 15.4 ASPVALOR Numérico 15.4 ASPSOMA Numérico 15.2 ASPBASIPI Numérico 8.4 ASPALQIPI Numérico 6.2 ASPVLRIPI Numérico 15.2 ASPBASICMS Numérico 8.4 ASPALQICMS Numérico 6.2 ASPVLRICMS Numérico 15.2 ASPTOTAL Numérico 15.2 28 # # ASPMOTIVO Numérico 04 ASSDTATEND Data ASSQDTATEN Numérico 15.4 ASPDESTINO Alfanumérico 20 ASPSOLIC Alfanumérico 08 ASPPCONTAT Alfanumérico 20 ASSACAO Numérico 04 ASPVAR1 Alfanumérico 06 ASPVAR2 Alfanumérico 06 ASPVAR3 Alfanumérico 06 ASPVAR4 Alfanumérico 06 ASPVAR5 Alfanumérico 06 Chave Estrangeira 99/99/9999 Chave Estrangeira Fonte: (Toebe, 2013 p. 27). TABELA 5: Tabela de assistência técnica. Nome externo TBASSISTEC Chave Atributo Tipo de Dado Tamanho Observação @ ASSISTEC Numérico 06 Chave Primária ASSDATA Data 99/99/9999 ASSDTAENT Data 99/99/9999 ASSDTEPROD Data 99/99/9999 ASSCONTATO Alfanumérico 50 ASSENDENT Alfanumérico 60 ASSCEPENT Alfanumérico 09 ASSSTATUS Alfanumérico 02 ASSOBSP Alfanumérico 250 ASSFUNCCOD Numérico 05 ASSFUNCNOM Alfanumérico 40 ASSOBSF Alfanumérico 70 ASSHISTOR Alfanumérico 250 ASSFRETE Numérico 15.2 ASSTIPOFRE Alfanumérico 01 ASSNUREP Alfanumérico 08 ASSDTREP Data 99/99/9999 29 # ASSCNPJ Numérico 14 Chave Estrangeira # ASSTABPRE Alfanumérico 03 Chave Estrangeira # ASSMODCOB Alfanumérico 02 Chave Estrangeira # ASSCONPAG Alfanumérico 02 Chave Estrangeira # ASSCIDENT Numérico 05 Chave Estrangeira # ASSTRANSP Numérico 07 Chave Estrangeira ASSTRANOM Alfanumérico 40 ASSDTENV Data 99/99/9999 ASSDTRET Data 99/99/9999 ASSISTECF Numérico 06 ASSVLRTOT Numérico 15.2 ASSBAIENT Alfanumérico 20 ASSORDCMP Alfanumérico 08 Fonte: (Toebe, 2013 p. 28). TABELA 6: Tabela de motivos dos itens da assistência técnica. Nome externo TBASSMOTI Chave Atributo Tipo de Dado Tamanho Observação @ ASMTCOD Numérico 04 Chave Primária ASMTDESC Alfanumérico 40 ASMTCCCOD Alfanumérico 05 ASMTCCDES Alfanumérico 20 Fonte: (Toebe, 2013 p. 29). TABELA 7: Tabela de cidades. Nome externo TBCIDADE Chave Atributo Tipo de Dado Tamanho Observação @ CIDADE Numérico 05 Chave Primária CIDNOME Alfanumérico 30 ESTADO Alfanumérico 02 Fonte: (Toebe, 2013 p. 29). TABELA 8: Tabela de localidade. Nome externo TBLOCALIDADE Chave Atributo Tipo de Dado Tamanho Observação 30 @# CIDADE Numérico 05 Chave Primária @ CEP Alfanumérico 09 Chave Primária CEPLOCAL Alfanumérico 40 Fonte: (Toebe, 2013 p. 29). TABELA 9: Tabela de condição de pagamento. Nome externo TBCONDPAG Chave Atributo Tipo de Dado Tamanho Observação @ CONDICAO Numérico 02 Chave Primária CONNOME Alfanumérico 20 CONDDES1 Numérico 5.2 CONDDES2 Numérico 5.2 CONDDES3 Numérico 5.2 CONDDES4 Numérico 5.2 CONDDES5 Numérico 5.2 Fonte: (Toebe, 2013 p. 30). TABELA 10: Tabela empresa (Clientes). Nome externo TBEMPRESA Chave Atributo Tipo de Dado Tamanho Observação @ EMPCGCCPF Numérico 14 Chave Primária EMPNOME Alfanumérico 40 EMPFANTA Alfanumérico 20 EMPRESA Numérico 07 EMPRUA Alfanumérico 60 EMPBAIRRO Alfanumérico 20 EMPCEP Alfanumérico 09 EMPTELEF Alfanumérico 14 EMPFAX Alfanumérico 14 EMPPESS Alfanumérico 01 EMPCGC Alfanumérico 18 EMPINSEST Alfanumérico 20 EMPCPF Alfanumérico 14 EMPIDENTI Alfanumérico 10 EMPENDCOB Alfanumérico 60 31 EMPBAICOB Alfanumérico 20 EMPCEPCOB Alfanumérico 09 EMPTELCOB Alfanumérico 14 EMPCONTATO Alfanumérico 25 EMPDTINCL Data EMPCELULAR Alfanumérico 14 EMPCONTTEL Alfanumérico 14 EMPCONTFAX Alfanumérico 14 EMPENVIADO Data # EMPCIDCOD Numérico 05 Chave Estrangeira # EMPCIDCOCO Numérico 05 Chave Estrangeira EMPANIVER Data # # 99/99/9999 99/99/9999 99/99/9999 EMPMODCOBR Alfanumérico 02 EMPCONDPAG Alfanumérico 02 EMPEMAIL Alfanumérico 40 EMPTIPPED Alfanumérico 03 EMPDESC1 Numérico 5.2 EMPDESC2 Numérico 5.2 EMPDESC3 Numérico 5.2 EMPDESC4 Numérico 5.2 EMPDESC5 Numérico 5.2 EMPLIMCRE Numérico 15.2 EMPCONTCEL Alfanumérico 14 EMPDTALT Data EMPTIPO Numérico 01 EMPTPFRE Alfanumérico 01 EMPTRANSP Numérico 14 Chave Estrangeira Chave Estrangeira 99/99/9999 Fonte: (Toebe, 2013 p. 30). TABELA 11: Tabela de Local de Entrega. Nome externo TBEMPLOC Chave Atributo @ Tipo de Dado Tamanho Observação EMPCGCCPF Numérico 14 Chave Primária EMLCSEQ 04 Numérico 32 # EMLCCID Numérico 05 EMLCRUA Alfanumérico 60 EMLCCEP Alfanumérico 09 EMLCBAI Alfanumérico 20 Chave Estrangeira Fonte: (Toebe, 2013 p. 31). TABELA 12: Tabela de Histórico de Venda. Nome externo TBHISVEN Chave Atributo Tipo de Dado Tamanho Observação @ HISCONTR Numérico 10 Chave Primária HISNF Alfanumérico 08 HISCONDPA Alfanumérico 02 HISCONDDE Alfanumérico 20 HISTIPOPED Alfanumérico 03 HISEMP Numérico 07 HISEMPNO Alfanumérico 40 HISDTVEN Data HISVLRTOT Numérico 99/99/9999 15.2 Fonte: (Toebe, 2013 p. 32). TABELA 13: Tabela de Histórico dos Itens das Vendas. Nome externo TBHISVITEM Chave Atributo Tipo de Dado Tamanho Observação @ HISCONTR Numérico 10 Chave Primária @ HISSEQ Numérico 03 Chave Primária HISPROD Alfanumérico 16 HISPRON Alfanumérico 50 HISQTD Numérico 15.4 HISVLR Numérico 15.2 Fonte: (Toebe, 2013 p. 32). TABELA 14: Tabela de Modalidade de Cobrança. Nome externo TBMODCOBRA Chave Atributo Tipo de Dado Tamanho Observação @ MODCOBRA Alfanumérico 02 Chave Primária MODNOME Alfanumérico 30 Fonte: (Toebe, 2013 p. 32). 33 TABELA 15: Tabela de Parâmetros. Nome externo TBPARAM Chave Atributo Tipo de Dado Tamanho Observação @ PMCODI Numérico 01 Chave Primária PMNRREP Numérico 04 PMDIREXP Alfanumérico 60 PMDIRIMP Alfanumérico 60 PMPRXPED Numérico 08 PMCODPGT Alfanumérico 02 PMTABVEN Alfanumérico 03 PMREPNOM Alfanumérico 20 PMPEDPRO Alfanumérico 01 PMLIMCRE Alfanumérico 01 DADVERSAO Alfanumérico 12 PMPRXASS Numérico 06 PMTABVENA Alfanumérico 03 PMROTAUTI Alfanumérico 01 # Chave Estrangeira Fonte: (Toebe, 2013 p. 33). TABELA 16: Tabela de Promoções. Nome externo TBPMPROMO Chave Atributo Tipo de Dado Tamanho Observação @ PMCODI Numérico 01 Chave Primária @ PAMPROM Numérico 03 PAMPVLI Numérico 15.2 PAMPVLF Numérico 15.2 PAMPDES Numérico 5.2 PAMPDESAD Numérico 5.2 # PAMPCOND Alfanumérico 02 Chave Estrangeira # PAMPCONDA Alfanumérico 02 Chave Estrangeira Fonte: (Toebe, 2013 p. 33). TABELA 17: Tabela de Pedidos de Venda. Nome externo TBPEDIDO Chave Atributo Tipo de Dado Tamanho Observação @ Numérico 08 Chave Primária PEDCODI 34 # PEDCNPJ Numérico 14 Chave Estrangeira # PEDTAID Alfanumérico 03 Chave Estrangeira # PEDCOID Alfanumérico 02 Chave Estrangeira PEDDTEMI Data 99/99/9999 PEDDTPRE Data 99/99/9999 PEDDTENV Data 99/99/9999 PEDDTRET Data 99/99/9999 PEDIDO Numérico 06 PEDPER1 Numérico 5.2 PEDPER2 Numérico 5.2 PEDPER3 Numérico 5.2 PEDPER4 Numérico 5.2 PEDPER5 Numérico 5.2 PEDSITU Alfanumérico 01 PEDTOT Numérico 15.2 PEDMODCOB Alfanumérico 02 PEDOBSERVA Alfanumérico 180 # PEDCIDADE Numérico 05 Chave Estrangeira # PEDTIPPED Alfanumérico 03 Chave Estrangeira PEDORDCOMP Alfanumérico 08 PEDPROMO Numérico 03 PEDTIPTRA Alfanumérico 01 PEDTRANSP Numérico 14 # # # Chave Estrangeira Chave Estrangeira Chave Estrangeira Fonte: (Toebe, 2013 p. 33). TABELA 18: Tabela de Itens dos Pedidos de Venda. Nome externo TBPEDITEM Chave Atributo Tipo de Dado Tamanho Observação @ PEDCODI Numérico 08 Chave Primária @ ITESEQ Numérico 02 Chave Primária # ITEPROD Alfanumérico 16 Chave Estrangeira ITEUNIT Numérico 10.2 ITEQUAN Numérico 05 ITETOT Numérico 15.2 35 # ITEVAR1 Alfanumérico 06 Chave Estrangeira # ITEVAR2 Alfanumérico 06 Chave Estrangeira # ITEVAR3 Alfanumérico 06 Chave Estrangeira # ITEVAR4 Alfanumérico 06 Chave Estrangeira # ITEVAR5 Alfanumérico 06 Chave Estrangeira ITDESC1 Numérico 5.2 ITDESC2 Numérico 5.2 ITDESC3 Numérico 5.2 ITDESC4 Numérico 5.2 ITDESC5 Numérico 5.2 ITEPRETAB Numérico 15.2 Fonte: (Toebe, 2013 p. 34). TABELA 19: Tabela de Produtos. Nome externo TBPRODUTO Chave Atributo Tipo de Dado Tamanho Observação @ PRODID Alfanumérico 16 Chave Primária PRONOME Alfanumérico 50 GRUPO Numérico 03 GRUNOME Alfanumérico 40 SUBGRUPO Numérico 03 SUBNOME Alfanumérico 40 UNIMEDIDA Alfanumérico 02 PROACABA Alfanumérico 01 Fonte: (Toebe, 2013 p. 35). TABELA 20: Tabela de tabelas de preços dos itens. Nome externo TBTABITEM Chave Atributo Tipo de Dado Tamanho Observação @ TTPVCOD Alfanumérico 03 Chave Primária # PRODUTO Alfanumérico 16 Chave Estrangeira PRVENDA Numérico 15.2 TPVDESC1 Numérico 5.2 TPVDESC2 Numérico 5.2 TPVDESC3 Numérico 5.2 36 TPVDESC4 Numérico 5.2 TPVDESC5 Numérico 5.2 TPVDINI1 Numérico 5.2 TPVDFIM1 Numérico 5.2 TPVDINI2 Numérico 5.2 TPVDFIM2 Numérico 5.2 TPVDINI3 Numérico 5.2 TPVDFIM3 Numérico 5.2 Fonte: (Toebe, 2013 p. 35). TABELA 21: Tabela de tipo de pedidos. Nome externo TBTIPOPED Chave Atributo Tipo de Dado Tamanho Observação @ TIPPED Alfanumérico 03 Chave Primária TIPDESC Alfanumérico 30 Fonte: (Toebe, 2013 p. 36). TABELA 22: Tabela de tabela de preço. Nome externo TBTABPREV Chave Atributo Tipo de Dado Tamanho Observação @ TTPVCOD Alfanumérico 03 Chave Primária TTPVDES Alfanumérico 20 TTPCONCOD Numérico 02 # Chave Estrangeira Fonte: (Toebe, 2013 p. 36). TABELA 23: Tabela de Importação e Exportação. Nome externo TBTXTIBA Chave Atributo Tipo de Dado Tamanho Observação @ TXTIBUSU Alfanumérico 10 Chave Primária @ TXTIBSEQ Numérico 06 Chave Primária TXTIBLI1 Alfanumérico 300 TXTIBLI2 Alfanumérico 300 TXTIBLI3 Alfanumérico 300 Fonte: (Toebe, 2013 p. 36). 37 2.4. Criação dos diagramas de Casos de Usos Neste passo será diagramado todos os Casos de Usos na linguagem UML. Os mesmos serão feitos individualmente e no final será feito um geral que representará os demais. Observação: Na modelagem em nomes de atributos e demais variável não serão usados acentos. 2.4.1. Criação dos Casos de Uso Casos de Uso dos Cadastros e Movimentos I. Importação de Dados Este caso de uso tem a finalidade de importar os dados para o módulo representante. Figura 3: Caso de Uso Importar dados Fonte: (Toebe, 2013 p. 37). 38 II. Cadastro de Parâmetros Este caso de uso tem a finalidade de cadastrar parâmetros do módulo representante Figura 4: Caso de Uso Parâmetros Fonte: (Toebe, 2013 p. 38). III. Cadastro de Clientes Este caso de uso tem a finalidade de cadastrar Clientes Figura 5: Caso de Uso Cadastrar Clientes Fonte: (Toebe, 2013 p. 38). 39 IV. Cadastro de Produto Este cadastro tem a finalidade de cadastrar produtos para o módulo representante Figura 6: Caso de Uso Cadastrar Produtos Fonte: (Toebe, 2013 p. 39). V. Cadastro de Grupos e Subgrupos Este cadastro tem a finalidade de cadastrar Grupos e Subgrupos para o módulo representante Figura 7: Caso de Uso Cadastrar Grupo e Subgrupo Fonte: (Toebe, 2013 p. 39). 40 VI. Cadastro de Variações de Acabamentos Este cadastro tem a finalidade de cadastrar variações de acabamentos para o módulo representante Figura 8: Caso de Uso Variação de Acabamento Fonte: (Toebe, 2013 p. 40). VII. Cadastro de Locais de Entrega Este cadastro tem a finalidade de cadastrar locais de entrega para o módulo representante Figura 9: Caso de Uso Cadastrar Locais de Entrega Fonte: (Toebe, 2013 p. 40). 41 VIII. Cadastro de Pedidos de Venda Este cadastro tem a finalidade de cadastrar pedidos de venda para o módulo representante Figura 10: Caso de Uso Cadastrar Pedido de Venda Fonte: (Toebe, 2013 p. 41). IX. Cadastrar Assistência Técnica Este cadastro tem a finalidade de cadastrar assistência técnica para o módulo representante. 42 Figura 11: Caso de Uso Cadastrar Assistências Técnicas Fonte: (Toebe, 2013 p. 42). X. Relatório de Pedido de Venda Este relatório tem a finalidade de listar o pedido de venda com seus itens para o representante. 43 Figura 12: Caso de Uso Relatório de Pedido de Venda Fonte: (Toebe, 2013 p. 43). XI. Relatório de Assistência Técnica Este Relatório tem a finalidade de listar a assistência técnica com seus itens, para o representante. Figura 13: Caso de Uso Relatório de Assistência Técnica Fonte: (Toebe, 2013 p. 43). 2.4.2 – Descrição detalhada dos Casos de Usos 1. Importação de Dados: Este caso de uso tem a finalidade de cadastrar as 44 informações de: Tabelas de Preço com Itens, Condições de Pagamento, Modalidade de Cobrança, Empresas, Cidades, Tipo de Pedidos, Promoções, Motivos dos Itens da Assistência e Ações nos Itens da Assistência. Atores: Representante Casos de uso relacionados: Tabelas de Preço Casos de uso relacionados: Tipo de Acabamentos Casos de uso relacionados: Condições de Pagamento Casos de uso relacionados: Modalidade de Cobrança Casos de uso relacionados: Motivos dos Itens da Assistência Casos de uso relacionados: Promoções Casos de uso relacionados: Tipo de Pedidos Casos de uso relacionados: Cidades Casos de uso relacionados: Ações nos Itens da Assistência Casos de uso relacionados: Consultar BD Casos de uso relacionados: Acessar BD Cenário Primário: O representante importa as informações para o sistema. Cenário Secundário: O sistema está inoperante / Tente mais tarde. O BD está inacessível / Avisar DBA 2. Cadastrar Parâmetros: Este caso de uso tem a finalidade de cadastrar os parâmetros no sistema. Atores: Representante; Casos de uso relacionados: Consultar BD; Casos de uso relacionados: Acessar BD; Cenário Primário: O representante cadastra os parâmetros; 45 Cenário Secundário: O sistema está inoperante / Tente mais tarde; O BD está inacessível / Avisar DBA; 3. Cadastrar Clientes: Este caso de uso tem a finalidade de cadastrar os clientes do representante no sistema. Atores: Representante; Casos de uso relacionados: Cidade; Casos de uso relacionados: Condições de Pagamento; Casos de uso relacionados: Modalidade de Cobrança; Casos de uso relacionados: Consultar BD; Casos de uso relacionados: Acessar BD; Pré-Condição: As Cidades já devem ter sido cadastradas; As Condições de Pagamentos já devem ter sido cadastradas; As Modalidades de Cobrança já devem ter sido cadastradas; Cenário Primário: O Representante verifica a Cidade; O Representante verifica as Condições de Pagamento; O Representante verifica as Modalidades de Cobrança; O Representante cadastra o Cliente; Cenário Secundário: O sistema está inoperante / Tente mais tarde; As Condições de Pagamento não estão cadastradas / Cadastrar Condições de Pagamento; As Cidades não estão cadastradas / Cadastrar Cidades; As Modalidades de Cobrança não estão cadastradas / Cadastrar Modalidades de Cobrança; O BD está inacessível / Avisar DBA; 46 4. Cadastrar Produtos: Este caso de uso tem a finalidade de cadastrar os produtos no sistema. Atores: Representante; Casos de uso relacionados: Grupo e Subgrupo; Casos de uso relacionados: Consultar BD; Casos de uso relacionados: Acessar BD; Pré-Condição: Os grupos e subgrupos dos Produtos já devem ter sido cadastrados; Cenário Primário: O Representante verifica os grupos e subgrupos; O Representante cadastra o produto; Cenário Secundário: O sistema está inoperante / Tente mais tarde; Os Grupos e Subgrupos dos Produtos não estão cadastrados / Cadastrar grupos e Subgrupos dos Produtos; O BD está inacessível / Avisar DBA; 5. Cadastrar Grupos e Subgrupos: Este caso de uso tem a finalidade de cadastrar os grupos e subgrupos no sistema. Atores: Representante; Casos de uso relacionados: Variações de Acabamentos dos Produtos; Casos de uso relacionados: Consultar BD; Casos de uso relacionados: Acessar BD; Pré-Condição: As Variações de Acabamentos dos Produtos já devem ter sido cadastradas; Cenário Primário: O Representante verifica as Variações de Acabamentos; O Representante cadastra os grupos e subgrupos; 47 Cenário Secundário: O sistema está inoperante / Tente mais tarde; As Variações de Acabamentos dos não estão cadastradas / Cadastrar Variações de Acabamentos dos Produtos; O BD está inacessível / Avisar DBA; 6. Cadastrar Variações de Acabamentos: Este caso de uso tem a finalidade de cadastrar as variações de acabamentos dos grupos dos produtos no sistema. Atores: Representante; Casos de uso relacionados: Tipos de Acabamentos; Casos de uso relacionados: Consultar BD; Casos de uso relacionados: Acessar BD; Pré-Condição: Os tipos de acabamentos já devem ter sido cadastrados; Cenário Primário: O Representante verifica os Tipos de Acabamentos; O Representante cadastra as Variações de Acabamentos; Cenário Secundário: O sistema está inoperante / Tente mais tarde; Os Tipos de Acabamentos não estão cadastrados / Cadastrar Tipos de Acabamentos; O BD está inacessível / Avisar DBA; 7. Cadastrar Locais de Entrega: Este caso de uso tem a finalidade de cadastrar os Locais de Entrega no sistema. Atores: Representante; Casos de uso relacionados: Cadastro de Cidade; Casos de uso relacionados: Consultar BD; 48 Casos de uso relacionados: Acessar BD; Pré-Condição: As Cidades já devem ter sido cadastradas; Cenário Primário: O Representante verifica as Cidades; O Representante cadastra os Locais de Entrega; Cenário Secundário: O sistema está inoperante / Tente mais tarde; As Cidades não estão cadastradas / Cadastrar Cidades; O BD está inacessível / Avisar DBA; 8. Cadastrar Pedido de Venda: Este caso de uso tem a finalidade de cadastrar os pedidos de venda no sistema. Atores: Representante; Casos de uso relacionados: Parâmetros; Casos de uso relacionados: Clientes; Casos de uso relacionados: Local de Entrega; Casos de uso relacionados: Cidade; Casos de uso relacionados: Tipo de Pedido; Casos de uso relacionados: Tabelas de Preço; Casos de uso relacionados: Condições de Pagamento; Casos de uso relacionados: Modalidade de Cobrança; Casos de uso relacionados: Variações de Acabamentos dos Produtos; Casos de uso relacionados: Produtos; Casos de uso relacionados: Consultar BD; Casos de uso relacionados: Acessar BD; Pré-Condição: Os Clientes já devem ter sido cadastrados; Os Locais de Entrega já devem ter sido cadastrados; 49 As Cidades já devem ter sido cadastradas; Os Tipos de Pedido já devem ter sido cadastrados; As Tabelas de Preço já devem ter sido cadastradas; As Condições de Pagamentos já devem ter sido cadastradas; As Modalidades de Cobrança já devem ter sido cadastradas; As Variações de Acabamentos dos Produtos já devem ter sido cadastradas; Os Produtos já devem ter sido cadastrados; Os Parâmetros já devem ter sido cadastrados; Cenário Primário: O Cliente solicita um Pedido de Venda; O Representante verifica o Cliente; O Representante verifica os Produtos; O Representante cadastra o Pedido de Venda para o Cliente; Cenário Secundário: O sistema está inoperante / Tente mais tarde; Os Parâmetros não estão cadastrados / Cadastrar Parâmetros; Os Clientes não estão cadastrados / Cadastrar os Clientes; Os Produtos não estão cadastrados / Cadastrar os Produtos; Os Locais de Entrega não estão cadastrados / Cadastrar Locais de Entrega; Os Tipos de Pedido não estão cadastrados / Cadastrar Tipo de Pedido; As Tabelas de Preço não estão cadastradas / Cadastrar Tabelas de Preço; As Condições de Pagamento não estão cadastradas / Cadastrar Condições de Pagamento; As Cidades não estão cadastradas / Cadastrar Cidades; As Variações de Acabamentos dos Produtos não estão cadastradas / Cadastrar Variações de Acabamentos dos Produtos; As Modalidades de Cobrança não estão cadastradas / Cadastrar Modalidades de Cobrança; O BD está inacessível / Avisar DBA; 9. Cadastrar Assistência Técnica: Este caso de uso tem a finalidade de cadastrar a assistência técnica no sistema. 50 Atores: Representante; Casos de uso relacionados: Parâmetros; Casos de uso relacionados: Clientes; Casos de uso relacionados: Local de Entrega; Casos de uso relacionados: Cidade; Casos de uso relacionados: Tabelas de Preço; Casos de uso relacionados: Condições de Pagamento; Casos de uso relacionados: Modalidade de Cobrança; Casos de uso relacionados: Variações de Acabamentos dos Produtos; Casos de uso relacionados: Produtos; Casos de uso relacionados: Motivos; Casos de uso relacionados: Ações; Casos de uso relacionados: Consultar BD; Casos de uso relacionados: Acessar BD; Pré-Condição: Os Clientes já devem ter sido cadastrados; Os Locais de Entrega já devem ter sido cadastrados; As Cidades já devem ter sido cadastradas; As Tabelas de Preço já devem ter sido cadastradas; As Condições de Pagamentos já devem ter sido cadastradas; As Modalidades de Cobrança já devem ter sido cadastradas; As Variações de Acabamentos dos Produtos já devem ter sido cadastradas; Os Produtos já devem ter sido cadastrados; Os Parâmetros já devem ter sido cadastrados; Os Motivos já devem ter sido cadastrados; As Ações já devem ter sido cadastradas; Cenário Primário: O Cliente solicita uma Assistência Técnica; O Representante verifica o Cliente; O Representante verifica os Produtos; O Representante cadastra a Assistência Técnica do Cliente; 51 Cenário Secundário: O sistema está inoperante / Tente mais tarde; Os Parâmetros não estão cadastrados / Cadastrar Parâmetros; Os Clientes não estão cadastrados / Cadastrar os Clientes; Os Produtos não estão cadastrados / Cadastrar os Produtos; Os Locais de Entrega não estão cadastrados / Cadastrar Locais de Entrega; As Tabelas de Preço não estão cadastradas / Cadastrar Tabelas de Preço; As Condições de Pagamento não estão cadastradas / Cadastrar Condições de Pagamento; As Cidades não estão cadastradas / Cadastrar Cidades; As Variações de Acabamentos dos Produtos não estão cadastradas / Cadastrar Variações de Acabamentos dos Produtos; As Modalidades de Cobrança não estão cadastradas / Cadastrar Modalidades de Cobrança; Os Motivos não estão cadastrados / Cadastrar os Motivos; As Ações não estão cadastradas / Cadastrar Ações; O BD está inacessível / Avisar DBA; 10. Relatório de Pedido de Venda: Este caso de uso tem a finalidade listar o pedido de venda em um relatório no sistema. Atores: Representante; Casos de uso relacionados: Consultar BD; Casos de uso relacionados: Acessar BD; Cenário Primário: O representante emite o relatório de Pedidos de Venda; Cenário Secundário: O sistema está inoperante / Tente mais tarde; O BD está inacessível / Avisar DBA; 11. Relatório de Assistências Técnicas: Este caso de uso tem a finalidade listar a assistência técnica em um relatório no sistema. 52 Atores: Representante; Casos de uso relacionados: Consultar BD; Casos de uso relacionados: Acessar BD; Cenário Primário: O representante emite o relatório de Pedidos de Venda; Cenário Secundário: O sistema está inoperante / Tente mais tarde; O BD está inacessível / Avisar DBA; 53 2.5. Diagrama de Classe Aqui será efetuado o diagrama de classe do sistema em questão. Segue abaixo o Diagrama de Classe: Figura 14: Diagrama de Classe Fonte: (Toebe, 2013 p. 53). 54 2.6. Diagramas de Sequência Nesta etapa serão criados os diagramas de sequência. Os diagramas de sequência são diagramas iterativos que tem a finalidade de representar os aspectos dinâmicos da colaboração entre classes (www.mundooo.com.br). Nesta modelagem será criado o diagrama de sequência das principais ações do sistema. Poderiam ser criados todos, mas se tornaria extenso demais e os casos de usos já proporcionam um excelente entendimento do sistema. Segue abaixo alguns Diagramas de Sequência representando as principais ações. Mas para início serão ilustrados os Diagramas de Seqüência do Cadastrar Clientes e Cadastrar Produtos. Como foi citado só serão feitos aqueles principais, cadastros e relatórios não há necessidade: 1- Cadastrar Cliente Figura 15: Diagrama de Sequência - Cadastrar Clientes Fonte: (Toebe, 2013 p. 54). Observação: Representa o Caso de Uso 1 Ações: - O Representante acessa o sistema / Recebe um retorno 55 - O Representante verifica as Cidades / Recebe um retorno - O Representante verifica a Condição de Pagamento / Recebe um retorno - O Representante verifica a Modalidade de Cobrança / Recebe um retorno - O Representante cadastra os Clientes / Recebe um retorno 2- Cadastrar Produtos Figura 16: Diagrama de Sequência - Cadastrar Produtos Fonte: (Toebe, 2013 p. 55). Observação: Representa o Caso de Uso 2 Ações: - O Representante acessa o sistema / Recebe um retorno - O Representante verifica os Grupos e Subgrupos / Recebe um retorno - O Representante cadastra o Produto / Recebe um retorno 56 3- Cadastrar Pedidos Figura 17: Diagrama de Sequência - Cadastrar Pedidos Continua.. Fonte: (Toebe, 2013 p. 56). 57 Observação: Representa o Caso de Uso 3 Ações: - O Representante acessa o sistema / Recebe um retorno - O Representante verifica os Parâmetros / Recebe um retorno - O Representante verifica os Clientes / Recebe um retorno - O Representante verifica os Locais de Entrega / Recebe um retorno - O Representante verifica a Cidade / Recebe um retorno - O Representante verifica o Tipo de Pedido / Recebe um retorno - O Representante verifica a Tabela de Preço / Recebe um retorno - O Representante verifica a Modalidade de Cobrança / Recebe um retorno - O Representante verifica a Condição de Pagamento / Recebe um retorno - O Representante verifica o Produto / Recebe um retorno - O Representante verifica a Variação de Acabamento / Recebe um retorno - O Representante cadastra o Pedido / Recebe um retorno 4- Cadastrar Assistências Figura 18: Diagrama de Sequência - Cadastrar Assistência Continua... 58 Fonte: (Toebe, 2013 p. 57). Observação: Representa o Caso de Uso 4 Ações: - O Representante acessa o sistema / Recebe um retorno - O Representante verifica os Parâmetros / Recebe um retorno - O Representante verifica os Clientes / Recebe um retorno - O Representante verifica os Locais de Entrega / Recebe um retorno - O Representante verifica a Cidade / Recebe um retorno - O Representante verifica a Tabela de Preço / Recebe um retorno - O Representante verifica a Modalidade de Cobrança / Recebe um retorno - O Representante verifica a Condição de Pagamento / Recebe um retorno - O Representante verifica o Produto / Recebe um retorno - O Representante verifica a Variação de Acabamento / Recebe um retorno - O Representante cadastra o Pedido / Recebe um retorno 59 2.7. Diagrama de Estados No Diagrama de Estados só são representados aqueles momentos muito importantes para o sistema. 1- Diagrama de Estado do Pedido de Venda Figura 19: Diagrama de Estado do Pedido de Venda Fonte: (Toebe, 2013 p. 59). 60 2- Diagrama de Estado da Assistência Técnica Figura 20: Diagrama de Estado da Assistência Técnica Fonte: (Toebe, 2013 p. 60). 2.8 – Relação dos Programas a serem desenvolvidos. Programas de Entrada no Sistema: H nuc001: Este programa efetua o login do representante no sistema; Programas de Cadastros: Hfmwimpo: Importar dados para o sistema; Tfmwcli: Cadastrar clientes; 61 Tfmwped: Cadastrar pedido; Tfmwiped: Cadastrar itens no pedido; Tfmwass: Cadastrar assistência técnica; Tfmwiass: Cadastrar itens na assistência técnica; Tfmwpar: Cadastrar parâmetros; Programas de Consultas: Hfmwcli: Verificação dos clientes; Hfmwped: Verificação dos pedidos; Hfmwiped: Verificação dos itens do pedido; Hfmwprod: Verificação dos produtos; Hfmwass: Verificação das assistências técnicas; Hfmwiass: Verificação dos itens das assistências técnicas; Hfmwtped: Verificação tipos de pedido; Hfmwtabp: Verificação das tabelas de preços de vendas; Hfmwcond: Verificação de condições de pagamento; Hfmwass: Verificação das assistências técnicas; Hfmwiass: Verificação dos itens das assistências técnicas; Programas de Movimentos: Tfmwped: Incluir pedido; Tfmwped: Incluir itens no pedido; Tfmwped: Incluir assistência técnica; Tfmwped: Incluir itens na assistência técnica; Hfmwexp: Exportar dados para fábrica; Programas de Relatórios: Rfmwped: Relatório de pedido; Rfmwass: Relatório de assistência técnica; 62 2.9. Projeto de Entradas (Telas) e Saídas (Relatórios). Tela de Login do Sistema Figura 21: Tela de Login do Sistema Fonte: (Toebe, 2013 p. 62). Tela de Cadastro de Clientes Figura 22: Tela de Cadastro de Clientes Fonte: (Toebe, 2013 p. 62). 63 Tela de Cadastro de Pedidos Figura 23: Tela de Cadastro de Pedidos Fonte: (Toebe, 2013 p. 63). Tela de Cadastro de Itens do Pedido Figura 24: Tela de Cadastro de Itens do Pedido Fonte: (Toebe, 2013 p. 63). 64 Tela de Lista de Pedidos Figura 25: Tela de Lista de Pedidos Fonte: (Toebe, 2013 p. 64). Tela de Cadastro de Assistência Técnica Figura 26: Tela de Cadastro de Assistência Técnica Fonte: (Toebe, 2013 p. 64). 65 Tela de Cadastro de Itens da Assistência Técnica Figura 27: Tela de Cadastro de Itens da Assistência Técnica Fonte: (Toebe, 2013 p. 65). Tela de Lista de Assistência Técnica Figura 28: Tela de Lista de Assistência Técnica Fonte: (Toebe, 2013 p. 65). 66 Tela de Exportação Figura 29: Tela de Exportação Fonte: (Toebe, 2013 p. 66). Tela de Importação Figura 30: Tela de Importação Fonte: (Toebe, 2013 p. 66). Tela de Parâmetros Figura 31: Tela de Parâmetros Fonte: (Toebe, 2013 p. 66). 67 Relatório de Pedido Figura 32: Relatório de Pedido Fonte: (Toebe, 2013 p. 67). 68 Relatório de Assistência Técnica Figura 33: Relatório de Assistência Técnica Fonte: (Toebe, 2013 p. 68). 69 CONSIDERAÇÕES FINAIS Foi desenvolvido o Módulo Representante, que irá proporcionar maior agilidade para o representante fazer suas vendas em seus clientes. Com as informações contidas neste módulo, o representante terá como criar seus pedidos e assistências com informações mais exatas e poderá facilmente exportá-las através de um arquivo. As informações contidas no arquivo gerado por este módulo estão distribuídas conforme layout fixo, de forma que quando o sistema principal (Fábrica) for importar o arquivo, irá conseguir importar todas as informações corretamente. Pode se concluir que a utilização de ferramentas gratuitas como Astah Community, para fazer a modelagem do projeto e as ferramentas Postgres e PgAdmin para a manipulação do banco de dados, foram importantes para a conclusão deste módulo, pois todas foram fáceis de serem compreendias e possuem bastante material de pesquisa para as dúvidas que surgiram durante o desenvolvimento deste módulo. O desenvolvimento em Genexus para a Web foi de grande valia, para agregar conhecimento na ferramenta que é utilizada pela empresa. Por fim conclui-se, que este trabalho foi muito importante para adquirir conhecimentos de algumas ferramentas e aplicar algumas metodologias estudas durante o curso. Para trabalhos futuros pode ser feito projetos de implementações como, tornar o layout fixo das informações do arquivo, em um layout parametrizado para que o representante defina as informações que serão exportadas pelo módulo para o sistema principal. Ainda poder fazer as exportações automáticas quando o sistema puder ficar online, ou seja, com acesso a internet fazer a exportação automática e importação automática no sistema principal. 70 REFERÊNCIAS BIBLIOGRÁFICAS Apache, Instalando o TomCat, disponibilizado: http://tomcat.apache.org/tomcat-5.5doc/deployer-howto.html. Acesso: 15. março. 2013 Apache, O Apache TomCat 5.5 Servlet, http://tomcat.apache.org/tomcat-5.5-doc/manager-howto.html. disponibilizado: Acesso: 15. março. 2013 Astah, astah community, disponibilizado : http://astah.change-vision.com/en/learnuml-with-astah.html. Acesso: 15. março. 2013 ASTAH, “Aprendendo UML com astah”, disponibilizado: http://astah.changevision.com/en/learn-uml-with-astah.html. Acesso: 15 março. 2013 ASTAH, Manual Básico de Operação, disponibilizado: http://astah.change- vision.com/en/files/astah_Basic_ Operation_Guide-e.pdf. Acesso: 15. março. 2013 Genexus, Configurando o GeneXus, disponibilizado: http://wiki.gxtechnical.com/commwiki/servlet/hwiki?Configurando+o+GeneXus, Acesso: 10. junho. 2013 GXtechnical, GeneXus 9.0, disponibilizado: http://www2.gxtechnical.com/portal/hgxpp001.aspx. Acesso: 15. julho. 2013 Java, Tutorial – Entendendo Java para Web, disponibilizado: http://flavioaf.wordpress.com/tag/bean/. Acesso: 8. novembro. 2013 pgAdmin PostgresSQL, pgAdmin PostgresSQL http://www.pgadmin.org/. Acesso: 10. maio. 2013 Tools, disponibilizado: 71 PostgresSQL, Introdução e Histórico, disponibilizado: http://wiki.postgresql.org/wiki/Introdução_e_Histórico. Acesso: 10. maio. 2013 Wikipédia, a enciclopédia livre, SQL, disponibilizado: http://pt.wikipedia.org/wiki/SQL. Acesso: 10. maio. 2013 Wikipédia, a enciclopédia livre, UML, disponibilizado: http://pt.wikipedia.org/wiki/UML. Acesso: 10. maio. 2013 Wikipédia, a enciclopédia livre, Genexus, disponibilizado: http://pt.wikipedia.org/wiki/GeneXus. Acesso: 15. julho. 2013 Wikipédia, a enciclopédia livre, Java Runtime Environment, disponibilizado: http://pt.wikipedia.org/wiki/Java_Runtime_Environment. Acesso: 08. novembro. 2013