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
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á.”
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 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
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 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
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.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.
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.
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
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
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) objeto-relacional 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
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);
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;
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.
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).
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 Chave Estrangeira
ASSDTATEND Data 99/99/9999
ASSQDTATEN Numérico 15.4 ASPDESTINO Alfanumérico 20 ASPSOLIC Alfanumérico 08 ASPPCONTAT Alfanumérico 20
# ASSACAO Numérico 04 Chave Estrangeira
ASPVAR1 Alfanumérico 06 ASPVAR2 Alfanumérico 06 ASPVAR3 Alfanumérico 06 ASPVAR4 Alfanumérico 06 ASPVAR5 Alfanumérico 06 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
# 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
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
EMPBAICOB Alfanumérico 20 EMPCEPCOB Alfanumérico 09 EMPTELCOB Alfanumérico 14 EMPCONTATO Alfanumérico 25 EMPDTINCL Data 99/99/9999 EMPCELULAR Alfanumérico 14 EMPCONTTEL Alfanumérico 14 EMPCONTFAX Alfanumérico 14 EMPENVIADO Data 99/99/9999
# EMPCIDCOD Numérico 05 Chave Estrangeira
# EMPCIDCOCO Numérico 05 Chave Estrangeira
EMPANIVER Data 99/99/9999
# EMPMODCOBR Alfanumérico 02 Chave Estrangeira EMPCONDPAG Alfanumérico 02
EMPEMAIL Alfanumérico 40
# EMPTIPPED Alfanumérico 03 Chave Estrangeira
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 99/99/9999 EMPTIPO Numérico 01 EMPTPFRE Alfanumérico 01 EMPTRANSP Numérico 14 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
32
# EMLCCID Numérico 05 Chave Estrangeira
EMLCRUA Alfanumérico 60 EMLCCEP Alfanumérico 09 EMLCBAI Alfanumérico 20 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 99/99/9999 HISVLRTOT Numérico 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).
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 Chave Estrangeira PMROTAUTI Alfanumérico 01
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
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 Chave Estrangeira
PEDOBSERVA Alfanumérico 180
# PEDCIDADE Numérico 05 Chave Estrangeira
# PEDTIPPED Alfanumérico 03 Chave Estrangeira
PEDORDCOMP Alfanumérico 08
# PEDPROMO Numérico 03 Chave Estrangeira
PEDTIPTRA Alfanumérico 01
# PEDTRANSP Numérico 14 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
# 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).
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
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
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
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
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.
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
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:
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;
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;
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;
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;
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;
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
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 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
56
3- Cadastrar Pedidos
Figura 17: Diagrama de Sequência - Cadastrar Pedidos
Continua..
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
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
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
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;
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;
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
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
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
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
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
Relatório de Pedido
Figura 32: Relatório de Pedido
68
Relatório de Assistência Técnica
Figura 33: Relatório de Assistência Técnica
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.