Você está na página 1de 55

FUNDAÇÃO EDUCACIONAL DE FERNANDÓPOLIS

FACULDADES INTEGRADAS DE FERNANDÓPOLIS


DEPARTAMENTO DE SISTEMAS DE INFORMAÇÃO

CAIO ARIEL VENDRAMINI DE OLIVEIRA DE SOUZA


MORISA NOGUEIRA
THIERRY ANGELO BOIAGO

THIMO
SISTEMA GERENCIADOR DE VENDAS.

FERNANDÓPOLIS – SP
2019
CAIO ARIEL VENDRAMINI DE OLIVEIRA DE SOUZA
MORISA NOGUEIRA
THIERRY ANGELO BOIAGO

THIMO
SISTEMA GERENCIADOR DE VENDAS.

Projeto de Estágio Supervisionado apresentado às


Faculdades Integradas de Fernandópolis como
requisito parcial para a obtenção do título de
bacharel em Sistemas de Informação.

Orientador: Prof. Esp. Jeferson Passerini

FERNANDÓPOLIS – SP
2019
DEDICATÓRIA

Dedicamos esse trabalho aos nossos familiares e


amigos que sempre nos incentivaram, não
permitindo que desanimássemos nos momentos
mais difíceis. Ao nosso orientador Jeferson
Passerini pela paciência e pelo incentivo constante
para que tornássemos possível a conclusão desse
projeto. A nossa professora e coordenadora Maria
Betânia Ricci Boer pelo apoio incondicional
durante toda a trajetória do curso.
AGRADECIMENTOS

Agradecemos primeiramente a Deus, que na força


da fé de cada integrante nos iluminou durante esta
etapa das nossas vidas. Ao nosso professor-
orientador Jeferson Passerini, a nossa professora
coordenadora Maria Betânia Ricci Boer, e todos os
outros professores que nos brindaram com o seu
conhecimento, aos colegas de classe, e familiares
que nos permitiram cumprir mais uma etapa de
nossa formação acadêmica e profissional.
EPÍGRAFE

“Seu tempo é limitado, então não percam tempo


vivendo a vida de outro. Não sejam aprisionados
pelo dogma que é viver com os resultados do
pensamento de outras pessoas. Não deixe o
barulho da opinião dos outros abafar sua voz
interior. E mais importante, tenha a coragem de
seguir seu coração e sua intuição. Eles de alguma
forma já sabem o que você realmente quer se
tornar. Tudo o mais é secundário.”
- STEVE JOBS
LISTA DE ILUSTRAÇÃO
Figura 1 - Diagrama de atores – Thimo.....................................................................12
Figura 2 - Diagrama de Contexto Geral no módulo Ator Usuário..............................14
Figura 3 - DCU Individual - Realizar Login................................................................20
Figura 4 – DS Ator Funcionário Realiza Login – Fluxo Normal.................................21
Figura 5 – DS Ator Funcionário Realiza Login – Fluxo Alternativo............................22
Figura 6 - DCU Individual – Listar Produto................................................................23
Figura 7 - DS Ator Funcionário Listar Produtos – Fluxo Normal................................25
Figura 8 - DCU Individual - Cadastrar Produto..........................................................26
Figura 9 - DS Ator Funcionário Cadastrar Produto – Fluxo Normal...........................28
Figura 10 - DS Ator Funcionário Cadastrar Produto – Fluxo Alternativo...................29
Figura 11 - DCU Individual – Alterar Produto............................................................30
Figura 12 - DS Ator Funcionário Alterar Produto – Fluxo Normal..............................32
Figura 13 – DS Ator Funcionário Alterar Produto – Fluxo Alternativo........................33
Figura 14 - Diagrama de classes...............................................................................36
Figura 15 - Diagrama de classe camada DAO - Categoria........................................45
Figura 16 - Diagrama de classe camada DAO - Marca.............................................45
Figura 17 - Diagrama de classes camada controller -Categoria................................46
Figura 18 - Diagrama de classe camada controller - Marca......................................46
LISTA DE TABELAS
Tabela 1 - lista de casos de usos entre o Ator Pessoa Funcionário e o Sistema......15
Tabela 2 - Lista de Mensagens..................................................................................19
Tabela 3 - Caso de Uso Ator Usuário – Realizar Login.............................................20
Tabela 4 - Caso de Uso Ator Funcionário – Listar Produto.......................................24
Tabela 5 - Caso de Uso Ator Usuário – Cadastrar Produto.......................................26
Tabela 6 - Caso de Uso Ator Funcionário – Alterar Produto......................................30
Tabela 7 - Dicionário de atributos Classe Pessoa.....................................................37
Tabela 8 - Dicionário de atributos Classe Funcionário..............................................37
Tabela 9 - Dicionário de atributos Classe Email........................................................38
Tabela 10 - Dicionário de atributos Classe Telefone.................................................38
Tabela 11 - Dicionário de atributos Classe Endereco................................................38
Tabela 12 - Dicionário de atributos Classe Pedido....................................................39
Tabela 13 - Dicionário de atributos Classe FormaPagamento..................................39
Tabela 14 - Dicionário de atributos Classe item_pedido............................................39
Tabela 15 - Dicionário de atributos Classe Produto...................................................40
Tabela 16 - Dicionário de atributos Classe Plataforma..............................................40
Tabela 17 - Dicionário de atributos Classe Marca.....................................................40
Tabela 18 - Dicionário de atributos Classe Unidade_Medida....................................41
Tabela 19 - Dicionário de atributos Classe Premio....................................................41
Tabela 20 - Dicionário de atributos Classe ItemPremio.............................................41
Tabela 21 - Dicionário de atributos Classe Despesa.................................................42
Tabela 22 - Dicionário de atributos Classe Categoria_despesa................................42
Tabela 23 - Dicionário de atributos Classe movimento_Despesa.............................42
Tabela 24 - Dicionário de atributos Classe TipoDocumento......................................43
Tabela 25 - Dicionário de atributos Classe Recebimento..........................................43
Tabela 26 - Dicionário de atributos Classe Categoria_recebimento..........................43
Tabela 27 - Dicionário de atributos Classe movimento_Recebimento......................44
Tabela 28 - Tabela Pessoa........................................................................................48
Tabela 29 - Tabela Funcionario.................................................................................48
Tabela 30 - Tabela Email...........................................................................................49
Tabela 31 - Tabela Telefone......................................................................................49
Tabela 32 - Tabela Endereco....................................................................................49
Tabela 33 - Tabela FormaPagamento.......................................................................49
Tabela 34 - Tabela Pedido.........................................................................................50
Tabela 35 - Tabela Categoria....................................................................................50
Tabela 36 - Tabela Marca..........................................................................................50
Tabela 37 - Tabela Unidade_Medida.........................................................................50
Tabela 38 - Tabela Fornecedo...................................................................................51
Tabela 39 - Tabela Produto.......................................................................................51
Tabela 40 - Tabela item_pedido................................................................................52
Tabela 41 - Tabela Premio........................................................................................ 52
Tabela 42 - Tabela itemPremio..................................................................................52
Tabela 43 - Tabela Categoria_despesa.....................................................................53
Tabela 44 - Tabela TipoDocumento..........................................................................53
SUMÁRIO

1. INTRODUÇÃO....................................................................................................10
1.1. LEVANTAMENTO DE INFORMAÇÕES.......................................................10
1.1.1. DESCRIÇÃO DOS OBJETIVOS PRINCIPAIS.......................................10
1.1.2. DESCRIÇÃO DO SISTEMA DE INFORMAÇÃO ATUAL.......................11
1.1.3. DESCRIÇÃO DOS PRINCIPAIS PROBLEMAS EXISTENTES.............11
1.1.4. O INEDITISMO DO PROJETO..............................................................11
2. ANÁLISE ORIENTADA À OBJETOS.................................................................11
2.1. LISTA DE ATORES......................................................................................12
2.2. Diagrama de Contexto Geral........................................................................13
2.3. Lista de Casos de Uso..................................................................................15
2.3.1. Lista de Mensagem................................................................................19
2.4. Diagramas de Caso de Uso Individual e diagrama de sequência................19
2.4.1. DCU Individual Ator Funcionário– Realizar Login..................................20
2.4.2. DCU Individual Ator Funcionário – Listar Produto..................................23
2.4.3. DCU Individual Ator Funcionário – Cadastrar Produto...........................26
2.4.4. DCU Individual Ator Funcionário – Alterar Produto................................30
3. PROJETO ORIENTADO À OBJETOS...............................................................34
3.1. Diagrama de Classes...................................................................................34
3.2. Dicionário de Atributos das Classes.............................................................36
3.2.1. Classe Pessoa.......................................................................................37
3.2.2. Classe Funcionário................................................................................37
3.2.3. Classe Email..........................................................................................38
3.2.4. Classe Telefone.....................................................................................38
3.2.5. Classe Endereco....................................................................................38
3.2.6. Classe Pedido........................................................................................39
3.2.7. Classe FormaPagamento......................................................................39
3.2.8. Classe item_pedido................................................................................39
3.2.9. Classe Produto.......................................................................................40
3.2.10. Classe Categoria................................................................................40
3.2.11. Classe Marca......................................................................................40
3.2.12. Classe Unidade_Medida.....................................................................41
3.2.13. Classe Premio.................................................................................... 41
3.2.14. Classe ItemPremio..............................................................................41
3.2.15. Classe Despesa..................................................................................42
3.2.16. Classe Categoria_despesa.................................................................42
3.2.17. Classe movimento_Despesa..............................................................42
3.2.18. Classe Recebimento...........................................................................43
3.2.19. Classe Categoria_recebimento...........................................................43
3.3. DIAGRAMA DE CLASSES – CONTROLLER – DAO...................................45
3.3.1. camada Dao...........................................................................................45
3.3.2. camada controller...................................................................................46
3.4. mapeamento objeto - relacional...................................................................47
3.5. Projeto Físico do Banco de Dados...............................................................48
3.6. Tabela Pessoa..............................................................................................48
3.6.1. Pessoa...................................................................................................48
3.6.2. Funcionário............................................................................................ 48
3.6.3. Email...................................................................................................... 49
3.6.4. telefone.................................................................................................. 49
3.6.5. Endereço................................................................................................49
3.6.6. FomarPagamento..................................................................................49
3.6.7. Pedido....................................................................................................50
3.6.8. CATEGORIA..........................................................................................50
3.6.9. Marca.....................................................................................................50
3.6.10. Unidade_medida.................................................................................50
3.6.11. Fornecedor......................................................................................... 51
3.6.12. produto................................................................................................51
3.6.13. item_pedido........................................................................................52
3.6.14. premio.................................................................................................52
3.6.15. Itempremio..........................................................................................52
3.6.16. categoria_despesa.............................................................................53
3.6.17. tipodocumento....................................................................................53
3.6.18. despesa.............................................................................................. 54
3.6.19. movimento_depesa.............................................................................54
3.6.20. CATEGORIA_RECEBIMENTO..........................................................54
3.6.21. Recebimento.......................................................................................55
3.6.22. movimento_recebimento.....................................................................55
1. INTRODUÇÃO

ERP (Enterprise Resource Planning) ou traduzido como Planejamento de


Recurso Corporativo é uma espécie de sistema empresarial muito utilizada nos dias
atuais.
A sua eficiência está no fato de interligar todos os dados e processos em
um único ambiente. Ou seja, os setores do empreendimento podem ser geridos de
um mesmo local, com segurança e praticidade. Hoje, o sistema ERP online consiste
em um software empresarial que pode ser implantando em empreendimentos de
todos os portes e segmentos de mercado.
Muitos empresários buscam essa forma de sistema com uma interface,
onde os funcionários realizam as suas atividades cotidianas, gerando assim uma
forma de informatizar a sua empresa, indo além do uso de computadores, mas
integrando-os de modo eficiente para trabalharem em conjunto. Pensando nisso, o
Thimo foi criado para gerar uma integração ainda mais eficaz entre máquinas e
funcionários. Por fim, o Thimo colabora na concretização dos objetivos do negócio e
promove o engajamento e a motivação de toda a equipe.

1.1. LEVANTAMENTO DE INFORMAÇÕES


Para o desenvolvimento do projeto foram feitas pesquisas e análises em
livros, artigos científicos e acadêmicos da área de tecnologia, fóruns on-line e em
sites condizentes ao assunto.
Na área da tecnologia foram feitos estudos iniciais para conhecer todas
as ferramentas disponíveis para utilização e desenvolvimento do sistema web
aproveitando ao máximo sua usabilidade.
Através das pesquisas foram encontradas ferramentas e metodologias
que permitem a utilização dos recursos tecnológicos acima mencionados.
Foram efetuados levantamentos junto à um grupo seleto de
colecionadores para uma dissertação completa dos fatores ideias que deverão
compor o sistema a ser desenvolvido.

1.1.1. DESCRIÇÃO DOS OBJETIVOS PRINCIPAIS


Desenvolver um sistema web que permita aos colecionadores o acesso
de forma rápida e eficaz a sua coleção, seja para catalogar um novo item, registrar
venda ou troca de algum pertence da coleção, ou declarar o empréstimo de uma
peça da coleção à um amigo. O sistema deverá permitir ao colecionador que
classifique seus itens da maneira que mais lhe convir, pode ser este por meio marca,
ano, console, preço, estilo ou raridade.
O uso será pessoal, fazendo com que o colecionador seja o único usuário
com total controle sobre sua conta e coleção.

1.1.2. DESCRIÇÃO DO SISTEMA DE INFORMAÇÃO ATUAL


Atualmente não existe um Sistema de Informação em uso para esta
função.
Os colecionadores utilizam-se de cadernos e cartilhas para o controle de seus itens
colecionáveis;

1.1.3. DESCRIÇÃO DOS PRINCIPAIS PROBLEMAS EXISTENTES


Marcar os itens colecionáveis em um caderno é um meio que vem sendo
utilizado desde o início das coleções para obter uma forma de registro e controle dos
itens na coleção.
Porém, controlar uma grande coleção sem o uso de um sistema web pode
causar alguns problemas ou até mesmo perda de alguns itens.
O maior problema está quando o colecionador precisa procurar um item
em especifico em meio a uma coleção enorme registrada em várias folhas de papel.

1.1.4. O INEDITISMO DO PROJETO


O projeto apresenta o ineditismo como a utilização das tecnologias web
para o controle de coleções de jogos. O uso dessa tecnologia permitirá ao usuário
agilizar todo o processo de busca e registro de seus jogos e itens, também poderá
ajudar o colecionador a especificar quais os itens que estão faltando para sua
coleção.

2. ANÁLISE ORIENTADA À OBJETOS

Na análise orientada a objetos a modelagem de sistemas de software


consiste na utilização de notações gráficas e textuais com o objetivo de construir
modelos que representem as partes essenciais de um sistema (BEZERRA, 2015).
Conforme descreve Bezerra (2015) o paradigma da orientação a objetos
visualiza um sistema de software como uma coleção de agentes interconectados
chamados objetos. Cada objeto é responsável por realizar tarefas específicas. É
através da interação entre objetos que uma tarefa computacional é realizada.
Pode-se concluir que a orientação a objetos, como técnica para
modelagem de sistemas, diminui a diferença semântica entre a realidade a ser
modelada e os modelos construídos (BEZERRA, 2015).
De acordo com Larman (2005) a análise enfatiza uma investigação dos
problemas e dos requisitos, em vez de uma solução. Durante a análise orientada a
objetos, há uma ênfase em encontrar e descrever os objetos – ou conceitos – no
domínio do problema.

2.1. LISTA DE ATORES


De acordo com Guedes (2011) a lista de atores é um dos dois principais
itens do diagrama de casos de uso, sendo o outro os próprios casos de uso. Os
atores representam os papéis desempenhados pelos diversos usuários que poderão
utilizar, de alguma maneira, os serviços e funções do sistema. Um ator pode ser
qualquer elemento externo que interaja com um software.
Ator é um usuário que interage com o sistema, é um objeto ou um
conjunto de objetos que se comunica com o sistema, e assim são chamados porque
cada um desempenha um papel dentro do sistema (GÓES, 2014).

Figura 1 - Diagrama de atores – Thimo

Fonte: Os Autores, 2019


Ator Pessoa: interage com todas as funcionalidades do sistema e realiza
todas funções permitidas aos Atores Pessoa Funcionário, Pessoa Administrador,
que herdam todas as funcionalidades existentes no Ator Pessoa. De acordo com
Sbrocco (2014) o conceito de herança representa um mecanismo específico do
paradigma orientado a objetos que permite criar classes a partir de outras já
existentes, aproveitando as características da classe que será estendida.

Ator Pessoa Funcionário: interage com o sistema através das seguintes


funcionalidades: Realiza login, cadastra clientes, fornecedores, produtos, contas a
pagar, contas a receber, formas de pagamento, categoria, categoria despesa,
categoria recebimento, marcas, unidades de medida, realiza vendas, despesas,
consulta relatórios.

Ator Pessoa Administrador: interage com o sistema através das seguintes


funcionalidades: Realiza login, cadastra funcionários, prêmios, contas.

2.2. DIAGRAMA DE CONTEXTO GERAL


O diagrama de contexto geral é um diagrama de casos de uso que
representa de forma geral todos os atores e casos de uso apresentando o sistema
como um todo (SBROCCO, 2014).
A figura 2 representa o Diagrama de Contexto Geral no módulo Ator
Funcionário.
Figura 2 - Diagrama de Contexto Geral no módulo Ator Usuário

Fonte: Os autores, 2019


2.3. LISTA DE CASOS DE USO
Os casos de uso é uma técnica para captar os requisitos funcionais de um
sistema. Eles servem para descrever as interações típicas entre o usuário de um
sistema e o próprio sistema, fornecendo uma narrativa sobre como o sistema é
utilizado (FOWLER, 2005).

De acordo com Guedes (2011) os casos de uso podem ser classificados


em casos de uso primários (quando se refere a um processo importante que enfoca
um dos requisitos funcionais de um software) e secundários (processos periféricos
do sistema).

A documentação dos casos de uso servirá de base


para outros diagramas, como a diagrama de
sequência, por exemplo. O objetivo principal da
documentação de um caso de uso é fornecer ao
cliente um relatório que explique qual o
comportamento pretendido por esse caso de uso e
quais funções ele deverá executar.

A documentação de um caso de uso costuma descrever por meio de uma


linguagem bastante simples, informações como a função em linhas gerais do caso
de uso, quais os atores que interagem com ele, quais etapas deverão ser
executadas pelo ator e pelo sistema (Guedes, 2011).

Nas tabelas de nº 01 é demonstrada as listas de caso de uso de forma


individualizada por funcionalidades dos atores Pessoa Usuário com o sistema.

Tabela 1 - lista de casos de usos entre o Ator Pessoa Funcionário e o Sistema.

Nº Descrição Entrada Caso de Uso Saída


01 Funcionário Dados_login_senha Realizar Msg
Realiza Login 01/Pagina
Login Principal
02 Funcionário Dados_cliente Cadastrar Msg 02
Cadastra Cliente
Cliente
03 Sistema IdCliente Carregar Dados
Carrega Cliente Cliente
Cliente
04 Funcionário Dados_Cliente Alterar Msg 03
Altera dados Cliente
Cliente
05 Sistema -- Listar Lista Cliente
Lista Cliente Cliente
06 Funcionário IdCliente Inativar Msg 04
Inativa Cliente
Cliente
07 Funcionário Dados_Categoria Cadastrar Msg 02
Cadastra Categoria
Categoria
08 Sistema IdCategoria Carregar Dados
Carrega Categoria Categoria
Categoria
09 Funcionário Dados_Categoria Alterar Msg 03
Altera dados Categoria
Categoria
10 Sistema -- Listar Lista
Lista Categoria Categoria
Categoria
11 Funcionário IdCategoria Inativar Msg 04
Inativa Categoria
Categoria
12 Funcionário Dados_Marca Cadastrar Msg 02
Cadastra Marca
Marca
13 Sistema IdMarca Carregar Dados Marca
Carrega Marca
Marca
14 Funcionário Dados_Marca Alterar Msg 03
Altera dados Marca
Marca
15 Sistema Lista -- Listar Marca Lista Marca
Marca
16 Funcionário IdMarca Inativar Msg 4
Inativa Marca Marca
17 Funcionário Dados_Unidade_de_Medida Cadastrar Msg 2
Cadastra Unidade de
Unidade de Medida
Medida
18 Sistema IdUnidadeMedida Carregar DadosUnidade
Carrega Unidade de de Medida
Unidade de Medida
Medida
19 Funcionário Dados_Unidade_de_Medida Alterar Msg 3
Altera dados Unidade de
Unidade de Medida
Medida
20 Sistema Lista -- Listar Lista Unidade
Unidade de Unidade de de Medida
Medida Medida
22 Funcionário Dados_Produto Cadastrar Msg 2
Cadastra Produto
Produto
23 Sistema IdProduto Carregar Dados Produto
Carrega Produto
Produto
24 Funcionário Dados_Produto Alterar Msg 3
Altera dados Produto
Produto
25 Sistema Lista -- Listar Lista Produto
Produto Produto
26 Funcionário IdProduto Inativar Msg 4
Inativa Produto
Produto
27 Funcionário Dados_Fornecedor Cadastrar Msg 2
Cadastra Fornecedor
Fornecedor
28 Sistema IdFornecedor IdFornecedor Dados
Carrega Fornecedor
Fornecedor
29 Funcionário Dados_Fornecedor Alterar Msg 3
Altera dados Fornecedor
Tipo Item
30 Sistema Lista -- Listar Lista
Fornecedor Fornecedor Fornecedor
31 Funcionário IdFornecedor Inativar Msg 4
Inativa Fornecedor
Fornecedor
32 Funcionário Dados_Despesa Cadastrar Msg 2
Cadastra Despesa
Despesa
33 Sistema IdDespesa Carregar Dados
Carrega Despesa Despesa
Despesa
34 Funcionário Dados_Despesa Alterar Msg 3
Altera dados Despesa
Despesa
35 Sistema Lista -- Listar Lista Despesa
Despesa Despesa
36 Funcionário Inativar Despesa Inativar Msg 4
Inativa Despesa
Despesa
37 Funcionário Dados_Recebimento Cadastrar Msg 2
Cadastra Recebimento
Recebimento
38 Sistema IdRecebimento Carregar Dados
Carrega Recebimento Recebimento
Recebimento
39 Funcionário Dados_Recebimento Alterar Msg 3
Altera dados Recebimento
Recebimento
40 Sistema Lista -- Listar Lista
Recebimento Recebimento Recebimento
41 Funcionário IdRecebimento Inativar Msg 4
Inativa Recebimento
Recebimento
42 Funcionário Dados_Categoria_Despesa Cadastrar Msg 2
Cadastra Categoria
Categoria Despesa
Despesa
43 Sistema IdCategoriaDespesa Carregar Dados
Carrega Categoria Categoria
Categoria Despesa Despesa
Despesa
44 Funcionário Dados_Categoria_Despesa Alterar Msg 3
Altera dados Categoria
Categoria Despesa
Despesa
45 Sistema Lista -- Listar Lista
Categoria Categoria Categoria
Despesa Despesa Despesa
46 Funcionário IdCategoriaDespesa Inativar Msg 4
Inativa Categoria
Categoria Despesa
Despesa
47 Funcionário Dados_Categoria_Recebimento Cadastrar Msg 2
Cadastra Categoria
Categoria Recebimento
Recebimento
48 Sistema IdCategoriaRecebimento Carregar Dados
Carrega Categoria Recebimento
Categoria Recebimento
Recebimento
49 Funcionário Dados_Categoria_Recebimento Alterar Msg 3
Altera dados Categoria
Categoria Recebimento
Recebimento
50 Sistema Lista -- Listar Lista
Categoria Categoria Recebimento
Recebimento Recebimento
51 Funcionário IdCategoriaRecebimento Inativar Msg 4
Inativa Categoria
Categoria Recebimento
Recebimento
Fonte: Ou autores, 2019
2.3.1. LISTA DE MENSAGEM

A tabela 2 demonstra as mensagens que o sistema retornará em resposta


às entradas requisitadas pelo usuário na tabela de Caso de Uso acima
demonstrada.
Tabela 2 - Lista de Mensagens.

Nº de Mensagem
Mensagem

Msg 1 “Login efetuado com Sucesso!” / “Login ou senha inválidos”

Msg 2 “Cadastro efetuado com Sucesso!” / “Problemas ao Cadastrar.”

Msg 3 “Alterado com Sucesso!” / “Problemas ao Alterar.”

Msg 4 “Excluído com Sucesso!” / “Problemas ao Excluir.”

Fonte: Os autores, 2019

2.4. DIAGRAMAS DE CASO DE USO INDIVIDUAL E DIAGRAMA DE


SEQUÊNCIA

O diagrama de caso de uso individual mostra de forma individualizada as


interações entre um dos atores e o sistema, representa cada funcionalidade do
sistema permitindo uma visualização destacada de como cada ator desempenhará
suas funções destro do sistema (SBROCCO, 2014).
2.4.1. DCU INDIVIDUAL ATOR FUNCIONÁRIO– REALIZAR LOGIN.
Figura 3 - DCU Individual - Realizar Login.

A tabela 3 descreve todas as informações referentes ao Caso de Uso


Individual do módulo Funcionário – Realizar Login, exibe seus pré-requisitos e o
fluxo das informações.
Tabela 3 - Caso de Uso Ator Usuário – Realizar Login.

Ator Principal: Funcionário


Descrição: O ator Funcionário deseja logar-se no sistema, seleciona a opção “Realizar Login”. O
sistema exibe Página de acesso, no qual é informado os dados de usuário e senha e selecionado a
opção “Logar”. O sistema verifica, valida e permite o acesso ao sistema.
Pré-Requisito: Ator Funcionário Usuário não estar logado.
Fluxo Normal: 1 - Funcionário deseja logar-se no Sistema.
2 - Funcionário acessa página de Login do Sistema.
3 - Sistema solicita ao Funcionário Login e Senha.
4 - Funcionário informa Login e Senha.
5 - Funcionário seleciona a opção “Entrar”.
6 - Sistema valida Login e Senha informados.
7 -Sistema exibe a Página Principal.
8 - Fim.
Fluxo Alternativo:
6.1 - Se houver erro de validação de dados, login ou senha em branco, ou login ou senha
incorretos, será exibida a Msg01 “Login ou senha inválidos!”
6.1.1 - Sistema Retorna ao item 3.
Dados: login, senha
2.4.1.1. DIAGRAMA DE SEQUÊNCIA ATOR FUNCIONÁRIO REALIZAR LOGIN
– FLUXO NORMAL

A figura 4 representa o Diagrama de Sequência do Ator Funcionário


logando no sistema em fluxo normal.
Figura 4 – DS Ator Funcionário Realiza Login – Fluxo Normal

Fonte: Os autores, 2019


2.4.1.2. DIAGRAMA DE SEQUÊNCIA ATOR FUNCIONÁRIO REALIZAR LOGIN
– FLUXO ALTERNATIVO

A figura 5 representa o Diagrama de Sequência do Ator Funcionário


logando no sistema em fluxo Alternativo.
Figura 5 – DS Ator Funcionário Realiza Login – Fluxo Alternativo

Fonte: Os autores, 2019


2.4.2. DCU INDIVIDUAL ATOR FUNCIONÁRIO – LISTAR PRODUTO.

A figura 6 representa o Caso de Uso Individual Listar Produto no módulo


Ator Funcionário.
Figura 6 - DCU Individual – Listar Produto

Fontes: Os autores, 2019

A tabela 4 descreve todas as informações referentes ao Caso de Uso


Individual do módulo Funcionário – Listar Produtos, exibe seus pré-requisitos e o
fluxo das informações.
Tabela 4 - Caso de Uso Ator Funcionário – Listar Produto

Caso de Uso Ator Funcionário – Listar Produto.


Ator Principal: Funcionário
Descrição: O ator Funcionário deseja listar produtos, seleciona a opção Listar Produtos na página
Principal do Sistema. O sistema executa o Caso de Uso Listar Produtos e exibe os dados na
Página Listar Produtos.
Pré-Requisito: Ator Funcionário estar Logado no Sistema.
Fluxo Normal:
1 - Funcionário deseja logar-se no Sistema.
2 - Funcionário acessa página de Login do Sistema.
3 - Sistema solicita ao Funcionário Login e Senha.
4 - Funcionário informa Login e Senha.
5 - Funcionário seleciona a opção “Entrar”.
6 - Sistema valida Login e Senha informados.
7 -Sistema exibe a Página Principal.
8 - Funcionário seleciona a opção Listar Produtos na página principal.
9 - Sistema exibe a página Listar Produtos.
10 - Fim.
Fluxo Alternativo: Não contém fluxo alternativo.
Dados:

2.4.2.1. DIAGRAMA DE SEQUÊNCIA ATOR FUNCIONÁRIO LISTAR


PRODUTOS– FLUXO NORMAL

A figura 7 representa o Diagrama de Sequência do Ator Funcionário


listando produtos no sistema em fluxo normal.
Figura 7 - DS Ator Funcionário Listar Produtos – Fluxo Normal

Fonte: Os autores, 2019


2.4.3. DCU INDIVIDUAL ATOR FUNCIONÁRIO – CADASTRAR PRODUTO.

A figura 8 representa o Caso de Uso Individual Cadastrar Produto no


módulo Ator Funcionário.
Figura 8 - DCU Individual - Cadastrar Produto.

Fonte: Os autores, 2018

A tabela 5 descreve todas as informações referentes ao Caso de Uso


Individual do módulo Funcionário – Cadastrar Produto, exibe seus pré-requisitos e o
fluxo das informações.
Tabela 5 - Caso de Uso Ator Usuário – Cadastrar Produto.

Ator Principal: Funcionário


Descrição: O ator Funcionário deseja Cadastrar Produto no sistema, seleciona a opção “Cadastrar
Produto”. O sistema exibe Página de cadastro de produto, no qual é informado os dados de
produto e selecionado a opção “Cadastrar”. O sistema verifica, valida e permite o cadastro do
produto.
Pré-Requisito: Ator Funcionário estar logado.
Fluxo Normal: 1 - Funcionário deseja logar-se no Sistema.
2 - Funcionário acessa página de Login do Sistema.
3 - Sistema solicita ao Funcionário Login e Senha.
4 - Funcionário informa Login e Senha.
5 - Funcionário seleciona a opção “Entrar”.
6 - Sistema valida Login e Senha informados.
7 - Sistema exibe a Página Principal.
8 – Funcionário seleciona opção Listar Produtos
9 – Sistema exibe Tela de Listagem de Produtos
10 - Funcionário seleciona opção Cadastrar Produto
11 - Sistema exibe tela de cadastro de produto
12 - Funcionário informa dados do produto
13 – Funcionário confirma dados do produto
14 – Sistema valida dados do produto
15 – Sistema exibe mensagem “Cadastrado com sucesso!”
16 – Fim
Fluxo Alternativo:
6.1 - Se houver erro de validação de dados, será exibida a Msg02 “Problemas ao Cadastrar”
6.1.1 - Sistema Retorna ao item 9.
Dados: dados do produto

2.4.3.1. DIAGRAMA DE SEQUÊNCIA ATOR FUNCIONÁRIO CADASTRA


PRODUTO – FLUXO NORMAL

A figura 9 representa o Diagrama de Sequência do Ator Funcionário


cadastrando no sistema em fluxo normal.
Figura 9 - DS Ator Funcionário Cadastrar Produto – Fluxo Normal

Fonte:Os autores, 2019

2.4.3.2. DIAGRAMA DE SEQUÊNCIA ATOR FUNCIONÁRIO CADASTRAR


PRODUTO – FLUXO ALTERNATIVO

A figura 10 representa o Diagrama de Sequência do Ator Funcionário


cadastrando produto no sistema em fluxo Alternativo.
Figura 10 - DS Ator Funcionário Cadastrar Produto – Fluxo Alternativo

Fonte: Os Autores, 2019


2.4.4. DCU INDIVIDUAL ATOR FUNCIONÁRIO – ALTERAR PRODUTO.

A figura 11 representa o Caso de Uso Individual Alterar Produto no


módulo Ator Funcionário.
Figura 11 - DCU Individual – Alterar Produto.

Fonte: Os autores, 2019

A tabela 6 descreve todas as informações referentes ao Caso de Uso


Individual do módulo Funcionário – Alterar Produto, exibe seus pré-requisitos e o
fluxo das informações.
Tabela 6 - Caso de Uso Ator Funcionário – Alterar Produto.

Tabela 5 - Caso de Uso Ator Funcionário – Alterar Produto.

Descrição: O ator Funcionário seleciona um produto para que o sistema carregue o produto e
mostra o dados para serem alterados.
Pré-Requisito: Ator Funcionário.
Fluxo Normal:
1 - Funcionário deseja logar-se no Sistema.
2 - Funcionário acessa página de Login do Sistema.
3 - Sistema solicita ao Funcionário Login e Senha.
4 - Funcionário informa Login e Senha.
5 - Funcionário seleciona a opção “Entrar”.
6 - Sistema valida Login e Senha informados.
7 - Sistema exibe a Página Principal.
8 – Funcionário seleciona opção Listar Produtos
9 – Sistema exibe Tela de Listagem de Produtos
10 – Funcionário seleciona opção alterar produto
11 – Sistema carrega o produto
12 – Sistema exibe a tela de cadastro de produto com dados preenchidos
13 – Funcionário altera os dados
14 – Funcionário confirma dados
15 – Sistema Valida dados Produto
16 – Sistema mensagem “Alterado com sucesso!”
Fluxo Alternativo:
15.1 - Se houver erro de validação de dados, será exibida a Msg03 “Problemas ao Alterar”
15.1.1 - Sistema Retorna ao item 9.
Dados: Dados do produto

2.4.4.1. DIAGRAMA DE SEQUÊNCIA ATOR FUNCIONÁRIO ALTERAR


PRODUTO – FLUXO NORMAL

A figura 12 representa o Diagrama de Sequência do Ator Funcionário


alterando produto no sistema em fluxo normal.
Figura 12 - DS Ator Funcionário Alterar Produto – Fluxo Normal

Fonte: Os Autores
2.4.4.2. DIAGRAMA DE SEQUÊNCIA ATOR FUNCIONÁRIO ALTERAR
PRODUTO – FLUXO ALTERNATIVO

A figura 13 representa o Diagrama de Sequência do Ator Funcionário


alterando produto no sistema em fluxo Alternativo.
Figura 13 – DS Ator Funcionário Alterar Produto – Fluxo Alternativo

Fonte: Os Autores, 2019


3. PROJETO ORIENTADO À OBJETOS

Um objeto é uma entidade que possui atributos (características),


comportamentos, responsabilidades e se relaciona com ele mesmo ou com outros
objetos por meio de mensagens. Podem ser concretos ou conceituais (GÓES,
2014).

Guedes (2014) explica que através de classificação e abstração


conseguimos definir classes, ou seja, grupo de objetos, sendo que cada objeto é um
exemplo de um determinado grupo, possuindo as mesmas características e os
mesmos comportamentos de qualquer objeto do grupo em questão.

De acordo com Sbrocco (2014) existem diversas vantagens na utilização


do paradigma orientado a objetos, tais como proporcionar maior facilidade de
manutenção dos sistemas, maior índice de reaproveitamento do código, e menor
tempo para desenvolvimento dos programas em virtude dos códigos serem menores
pela utilização do mecanismo de herança existente na orientação a objetos.

No paradigma orientado a objetos é preciso escolher o que é importante e


o que pode ser omitido, seguindo-se um ponto de vista, decompondo o sistema
através da visão funcional (quem vai utilizar, interagir com o sistema), visão dos
objetos (foco e busca da estrutura dos problemas e não apenas dos dados) e visão
dos dados (os dados podem ser utilizados para mais de uma função) (SBROCCO,
2014).

Esse capítulo irá tratar da fase de projeto orientado a objetos


demonstrando através de diagramas a formação das classes, seus atributos e
métodos, e a interação e as atividades que serão executadas dentro do sistema.

3.1. DIAGRAMA DE CLASSES

Classe é a descrição de um conjunto de objetos que compartilham os


mesmos atributos, operações e relacionamentos, podem ser utilizadas para
representar elementos de software, hardware e qualquer coisa que possa ser
conceituada (SBROCCO, 2014).
O diagrama de classe deve ser detalhado para poder descrever com
precisão o sistema a ser construído. Os sistemas orientados a objetos
organizam-se ao redor de classes de objetos, que representam tanto
os elementos do domínio do problema, incorporados ao modelo,
como os elementos propostos para a implementação da solução
(SBROCCO, 2014).

De acordo com Guedes (2014) é um dos mais importantes e mais


utilizado da UML, e seu principal enfoque é permitir a visualização das classes que
irão compor o sistema com seus respectivos atributos e métodos.

O diagrama de classes pode ser utilizado na fase de análise para produzir


o modelo conceitual por meio do qual representamos as classes e seus atributos,
sem levar em conta a implementação, com ênfase no domínio do problema, na fase
de projeto é utilizada para enfoque na solução do problema, evidenciando a
implementação, como os tipos de dados dos atributos, e suas operações e métodos
(GÓES, 2014).

A rigor em todas as classes deve haver um método get e um set para


cada atributo da classe, porém não é muito prático fazer essa representação no
diagrama de classes, por deixa-lo muito extenso quando alguma classe possuir
muitos atributos (GUEDES, 2014). Com base nesta argumentação será
representada no diagrama de classes apenas a classe Pessoa com os métodos get
e set de seus atributos.

A figura demonstra o diagrama de classes a ser utilizado durante a fase


de projeto com enfoque na solução do problema identificado durante a fase de
análise.
Figura 14 - Diagrama de classes.

Fonte: os Autores.

3.2. DICIONÁRIO DE ATRIBUTOS DAS CLASSES

Os atributos representam características de uma classe que costumam


variar de objeto para objeto, e que permitem diferenciar um objeto de outro da
mesma classe (GUEDES, 2014).

Somente os atributos que são de interesse do sistema devem ser


descritos em uma classe, e cada um deles ainda pode ser de um tipo
diferente. O valor correspondente a todos os atributos definidos é o
que chamamos de estado do objeto (SBROCCO, 2014).

De acordo com Guedes (2014) os atributos são apresentados na segunda


divisão da classe e contêm, normalmente, duas informações: o nome que o identifica
e eventualmente o tipo de dado que o atributo armazena, como, por exemplo,
integer, float ou character.
Góes (2014) nos explica que os atributos também possuem sinais
indicadores que indicam sua visibilidade, a qual define por quem uma propriedade
desse atributo pode ser utilizada. Os sinais indicadores são “+ (público)”, “-
(privado)”, “# (protegido) e “~(pacote)”.

O dicionário de atributos das classes irá representar essa estrutura dos


atributos, e além de conter, o nome do atributo irá descrever de forma sucinta a
descrição do atributo.

As tabelas de nº 7 a nº 14 irão apresentar os atributos das classes


identificadas no desenvolvimento do sistema.

3.2.1. CLASSE PESSOA

A tabela 7 representa o dicionário dos atributos da Classe Pessoa.


Tabela 7 - Dicionário de atributos Classe Pessoa.

Classe Pessoa
ATRIBUTOS DESCRIÇÃO
idPessoa Código da Pessoa
nomePessoa Nome da Pessoa
tipoPessoa Tipo da Pessoa
CpfCnpj CPF ou CNPJ da Pessoa
Status Status da Pessoa

3.2.2. CLASSE FUNCIONÁRIO

A tabela 8 representa o dicionário dos atributos da Classe Funcionário.


Tabela 8 - Dicionário de atributos Classe Funcionário.

Classe Funcionário
ATRIBUTO DESCRIÇÃO
Login Login da Pessoa
Senha Senha da Pessoa
3.2.3. CLASSE EMAIL

A tabela 9 representa o dicionário dos atributos da Classe Email.


Tabela 9 - Dicionário de atributos Classe Email.

Classe Email
ATRIBUTO DESCRIÇÃO
idEmail Código do Email
Email Email da Pessoa

3.2.4. CLASSE TELEFONE

A tabela 10 representa o dicionário dos atributos da Classe Telefone.


Tabela 10 - Dicionário de atributos Classe Telefone.

Classe Telefone
ATRIBUTO DESCRIÇÃO
idTelefone Código do Telefone
Telefone Número do Telefone da Pessoa

3.2.5. CLASSE ENDERECO

A tabela 11 representa o dicionário dos atributos da Classe Endereco.


Tabela 11 - Dicionário de atributos Classe Endereco.

Classe Endereco
ATRIBUTO DESCRIÇÃO
idEndereco Código do Endereço
Rua Rua da Pessoa
Bairro Bairro da Pessoa
Cidade Cidade da Pessoa
Estado Estado da Pessoa
3.2.6. CLASSE PEDIDO

A tabela 12 representa o dicionário dos atributos da Classe Pedido.


Tabela 12 - Dicionário de atributos Classe Pedido.

Classe Pedido
ATRIBUTO DESCRIÇÃO
idPedido Código do Pedido
dataPedido Data do Pedido
HoraPedido Hora do Pedido
Status Status do Pedido
totalPedido Total do Pedido
Frete Frete do Pedido
Desconto Desconto do Pedido
Subtotal Subtotal do Pedido
tipoPedido Tipo do Pedido

3.2.7. CLASSE FORMAPAGAMENTO

A tabela 13 representa o dicionário dos atributos da Classe


FormaPagamento.
Tabela 13 - Dicionário de atributos Classe FormaPagamento.

Classe FormaPagamento
ATRIBUTO DESCRIÇÃO
idFormaPagamento Código da Forma de Pagamento
Descrição Descrição da Forma de Pagamento

3.2.8. CLASSE ITEM_PEDIDO

A tabela 14 representa o dicionário dos atributos da Classe item_pedido.


Tabela 14 - Dicionário de atributos Classe item_pedido.

Classe item_pedido
ATRIBUTO DESCRIÇÃO
idItem Código do Item Pedido
Quantidade Quantidade do Item Pedido
Desconto Desconto do Item Pedido
valorUnitario Valor Unitário do Item Pedido
3.2.9. CLASSE PRODUTO

A tabela 15 representa o dicionário dos atributos da Classe Produto.


Tabela 15 - Dicionário de atributos Classe Produto.

Classe Produto
ATRIBUTO DESCRIÇÃO
idProduto Código do Produto
nome Nome do Produto
idFornecedor Código do Fornecedor do Produto
precoCusto Preço de Custo do Produto
MarkupMinimo Markup Mínimo do Produto
precoMinimo Preço Mínimo do Produto
markupMaximo Markup Máximo do Produto
precoMaximo Preço Máximo do Produto
foto Foto do Produto
status Status do Produto

3.2.10. CLASSE CATEGORIA

A tabela 16 representa o dicionário dos atributos da Classe Categoria.


Tabela 16 - Dicionário de atributos Classe Plataforma.

Classe Categoria
ATRIBUTO DESCRIÇÃO
idCategoria Código da Categoria do Produto
nome Nome da Categoria
status Status da Categoria

3.2.11. CLASSE MARCA

A tabela 17 representa o dicionário dos atributos da Classe Marca.


Tabela 17 - Dicionário de atributos Classe Marca.

Classe Marca
ATRIBUTO DESCRIÇÃO
idMarca Código da Marca do Produto
nome Nome da Marca do Produto
status Status da Marca do Produto
3.2.12. CLASSE UNIDADE_MEDIDA

A tabela 18 representa o dicionário dos atributos da Classe


Unidade_Medida.
Tabela 18 - Dicionário de atributos Classe Unidade_Medida.

Classe Unidade_Medida
ATRIBUTO DESCRIÇÃO
idUnidadeMedida Código da Unidade de Medida do
Produto
nome Nome da Unidade de Medida do
Produto
casasDecimais Número de Casas Decimais da Unidade
de Medida do Produto
status Status da Unidade de Medida do
Produto

3.2.13. CLASSE PREMIO

A tabela 19 representa o dicionário dos atributos da Classe Premio.


Tabela 19 - Dicionário de atributos Classe Premio.

Classe Premio
ATRIBUTO DESCRIÇÃO
idPremio Código do Prêmio
tipoPremio Tipo do Prêmio
valorPremio Valor do Prêmio
periodoInicial Inicio do período para o Prêmio
periodoFinal Término do período para o Prêmio
pontuaçãoObjetivo Pontuação atual do Funcionário
gerarPontuaçãoVenda Gerar Pontuação a Cada Venda
gerarPontuaçãoRecebimento Gerar Pontuação a Cada Recebimento
tirarPontuaçãoAtrasoRecebimento Tirar Pontuação a Cada Atraso do
Recebimento

3.2.14. CLASSE ITEMPREMIO

A tabela 20 representa o dicionário dos atributos da Classe ItemPremio.


Tabela 20 - Dicionário de atributos Classe ItemPremio.

Classe ItemPremio
ATRIBUTO DESCRIÇÃO
pontuação Pontuação do Funcionário
3.2.15. CLASSE DESPESA

A tabela 21 representa o dicionário dos atributos da Classe Despesa.


Tabela 21 - Dicionário de atributos Classe Despesa.

Classe Despesa
ATRIBUTO DESCRIÇÃO
idDespesa Código da Despesa
emissão Emissão da Despesa
vencimento Vencimento da Despesa
descrição Descrição da Despesa
tipoDocumento Tipo do Documento da Despesa
valor Valor da Despesa
status Status da Despesa

3.2.16. CLASSE CATEGORIA_DESPESA

A tabela 22 representa o dicionário dos atributos da Classe


Categoria_despesa.
Tabela 22 - Dicionário de atributos Classe Categoria_despesa.

Classe Categoria_despesa
ATRIBUTO DESCRIÇÃO
idCategoriaDespesa Código da Categoria da Despesa
descrição Descrição da Categoria da Despesa

3.2.17. CLASSE MOVIMENTO_DESPESA

A tabela 23 representa o dicionário dos atributos da Classe


movimento_Despesa.
Tabela 23 - Dicionário de atributos Classe movimento_Despesa.

Classe movimento_Despesa
ATRIBUTO DESCRIÇÃO
idMovimentoDespesa Código do Movimento de Despesa
valor Valor da Despesa
descrição Descrição da Despesa
data Data da Despesa
HoraRegistro Registro da Hora da Despesa
3.2.18. Classe TipoDocumento
A tabela 24 representa o dicionário dos atributos da Classe
TipoDocumento.
Tabela 24 - Dicionário de atributos Classe TipoDocumento.

Classe TipoDocumento
ATRIBUTO DESCRIÇÃO
idTipoDocumento Código do Tipo do Documento
descrição Decrição do Tipo de Documento

3.2.18. CLASSE RECEBIMENTO

A tabela 25 representa o dicionário dos atributos da Classe Recebimento.


Tabela 25 - Dicionário de atributos Classe Recebimento.

Classe Recebimento
ATRIBUTO DESCRIÇÃO
idRecebimento Código do Recebimento
emissão Emissão do Recebimento
vencimento Vencimento do Recebimento
descrição Descrição do Recebimento
tipoDocumento Tipo do Documento do Recebimento
valor Valor do Recebimento
status Status do Recebimento

3.2.19. CLASSE CATEGORIA_RECEBIMENTO

A tabela 26 representa o dicionário dos atributos da Classe


Categoria_recebimento.
Tabela 26 - Dicionário de atributos Classe Categoria_recebimento.

Classe Categoria_recebimento
ATRIBUTO DESCRIÇÃO
idCategoriaRecebimento Código da Categoria do Recebimento
descrição Descrição da Categoria do
Recebimento
3.2.21. Classe movimento_Recebimento
A tabela 27 representa o dicionário dos atributos da Classe
movimento_Recebimento.
Tabela 27 - Dicionário de atributos Classe movimento_Recebimento.

Classe movimento_Recebimento
ATRIBUTO DESCRIÇÃO
idMovimentoRecebimento Código do Movimento do Recebimento
valor Valor do Recebimento
descricao Descrição do Recebimento
data Data do Movimento do Recebimento
HoraRegisto Registro da Hora do Recebimento
3.3. DIAGRAMA DE CLASSES – CONTROLLER – DAO

3.3.1. CAMADA DAO


3.3.1.1. CATEGORIA

Figura 15 - Diagrama de classe camada DAO - Categoria

Fonte: Os Autores, 2019.


3.3.1.2. MARCA

Figura 16 - Diagrama de classe camada DAO - Marca

Fonte: Os Autores, 2019.


3.3.2. CAMADA CONTROLLER

3.3.2.1.

Figura 17 - Diagrama de classes camada controller -Categoria

Fonte: Os Autores 2019.


3.3.2.2. MARCA

Figura 18 - Diagrama de classe camada controller - Marca

Fonte: Os Autores 2019.


3.4. MAPEAMENTO OBJETO - RELACIONAL
3.5. PROJETO FÍSICO DO BANCO DE DADOS

No projeto físico do banco de dados estão contidos os scripts para


criação das tabelas que serão utilizadas para o desenvolvimento do sistema.

Para desenvolvimento do projeto foi utilizado o PostgreSQL. De acordo


com Bento (2013), o PostgreSQL é um sistema gerenciador de banco de dados
(SGBD) relacional, é um software livre para banco de dados bastante usado em
aplicações web por sua versatilidade e por ser suportado em diversas plataformas e
diferente linguagens.

3.6. TABELA PESSOA

O código abaixo representa a estrutura SQL para criação da tabela


Pessoa
3.6.1. PESSOA
Tabela 28 - Tabela Pessoa

create table Pessoa(


idPessoa serial,
nomePessoa varchar(100) not null,
tipoPessoa varchar(1) not null,
cpfCnpj varchar(20) not null,
status varchar(1) not null,
);

3.6.2. FUNCIONÁRIO
Tabela 29 - Tabela Funcionario

create table Funcionario(


idFuncionario integer not null,
login varchar(30) not null,
senha varchar(30) not null,
constraint pk_funcionario primary key(idFuncionario),
constraint fk_funcionario foreign key(idFuncionario) references Pessoa(idPessoa)
);
3.6.3. EMAIL
Tabela 30 - Tabela Email

create table Email(


idEmail serial,
email varchar(100) not null,
idPessoa integer not null,
constraint pk_email primary key(idEmail)
constraint fk_pessoa_email foreign key(idPessoa) references Pessoa(idPessoa)
);

3.6.4. TELEFONE
Tabela 31 - Tabela Telefone

create table Telefone(


idTelefone serial,
telefone varchar(14) not null,
idPessoa integer not null,
constraint pk_telefone primary key(idTelefone)
constraint fk_pessoa_telefone foreign key(idPessoa) references Pessoa(idPessoa)
);

3.6.5. ENDEREÇO
Tabela 32 - Tabela Endereco

create table Endereco(


idEndereco serial,
rua varchar(100) not null,
bairro varchar(100) not null,
cidade varchar(100) not null,
estado varchar(100) not null,
idPessoa integer not null,
constraint pk_endereco primary key(idEndereco)
constraint fk_pessoa_endereco foreign key(idPessoa) references
Pessoa(idPessoa)
);

3.6.6. FOMARPAGAMENTO
Tabela 33 - Tabela FormaPagamento

create table FormaPagamento(


idFormaPagamento serial,
descricao varchar(50),
constraint pk_formapagamento primary key(idFormaPagamento)
3.6.7. PEDIDO
Tabela 34 - Tabela Pedido

create table Pedido(


idPedido serial,
dataPedido date not null,
HoraPedido time not null,
Status varchar(1) not null,
totalPedido numeric(15,2) not null,
frete numeric(15,2) not null,
desconto numeric(15,2) not null,
subtotal numeric(15,2) not null,
tipoPedido varchar(1) not null,
idFormaPagamento integer,
constraint pk_pedido primary key(idPedido)
constraint fk_FormaPagamento foreign key(idFormaPagamento) references
FormaPagamento(idFormaPagamento)
);

3.6.8. CATEGORIA
Tabela 35 - Tabela Categoria

create table Categoria(


idCategoria serial,
nome varchar(100),
status varchar(1),
constraint pk_Categoria primary key(idCategoria)
);

3.6.9. MARCA
Tabela 36 - Tabela Marca

create table Marca (


idMarca serial,
nome varchar(100),
status varchar(1),
constraint pk_Marca primary key(idMarca)
);

3.6.10. UNIDADE_MEDIDA
Tabela 37 - Tabela Unidade_Medida

create table Unidade_Medida (


idUnidadeMedida serial,
nome varchar(100),
status varchar(1),
constraint pk_UnidadeMedida primary key(idUnidadeMedida)
);
3.6.11. FORNECEDOR
Tabela 38 - Tabela Fornecedo

create table Fornecedor (


idFornecedor serial,
nome varchar(100),
status varchar(1),
constraint pk_Fornecedor primary key(idFornecedor)
);

3.6.12. PRODUTO
Tabela 39 - Tabela Produto

create table Produto(


idProduto serial,
nome varchar(100) not null,
idFornecedor integer not null,
idCategoria integer not null,
idMarca integer not null,
idUnidadeMedida integer not null,
precoCusto numeric(15,2) not null,
MarkupMinimo numeric(2,2) not null,
precoMinimo numeric(15,2) not null,
markupMaximo numeric(2,2) not null,
markupMaximo numeric(15,2) not null,
foto varchar(100),
status varchar(1) not null,
constraint pk_Produto primary key(idProduto),
constraint fk_produto_fornecedor foreign key(idFornecedor) references
Fornecedor(idFornecedor),
constraint fk_produto_categoria foreign key(idCategoria) references
Categoria(idCategoria),
constraint fk_produto_marca foreign key(idMarca) references Marca(idMarca),
constraint fk_produto_Unidade_Medida foreign key(idUnidadeMedida) references
Unidade_Medida(idUnidadeMedida)
);
3.6.13. ITEM_PEDIDO
Tabela 40 - Tabela item_pedido

create table item_pedido(


idItem serial,
quantidade numeric(6,2),
desconto numeric(15,2),
valor_unitario numeric(15,2),
idPedido integer,
idProduto integer,
constraint pk_item primary key(idItem),
constraint fk_item_pedido foreign key(idPedido) references Pedido(idPedido),
constraint fk_item_produto foreign key(idProduto) references Produto(idProduto)
);

3.6.14. PREMIO
Tabela 41 - Tabela Premio

create table Premio(


idPremio serial,
tipoPremio varchar(1) not null,
descricao varchar(150) not null,
periodoInicial date not null,
periodoFinal date not null,
pontuaçãoObjetivo integer,
gerarPontuaçãoVenda boolean,
gerarPontuaçãoRecebimento boolean,
tirarPontuaçãoAtrasoRecebimento boolean,
constraint pk_premio primary key(idPremio),
);

3.6.15. ITEMPREMIO
Tabela 42 - Tabela itemPremio

create table ItemPremio(


idPremio integer,
idFuncionario integer,
constraint pk_item primary key(idPremio,idFuncionario),
constraint fk_item_premio foreign key(idPremio) references Premio(idPremio),
constraint fk_item_premio_fornecedor foreign key(idFuncionario) references
Fornecedor(idFuncionario)
);
3.6.16. CATEGORIA_DESPESA
Tabela 43 - Tabela Categoria_despesa

create table Categoria_despesa(


idCategoriaDespesa serial,
descrição varchar(100),
constraint pk_categoria_despesa primary key(idCategoriaDespesa)
);

3.6.17. TIPODOCUMENTO
Tabela 44 - Tabela TipoDocumento

create table TipoDocumento(


idTipoDocumento serial,
descrição varchar(100),
constraint pk_TipoDocumento primary key(idTipoDocumento)
);
3.6.18. DESPESA
Tabela 41 – Tabela Despesa
create table Despesa(
idDespesa serial,
emissão date,
vencimento date,
descrição varchar(100),
valor numeric(15,2),
status varchar(1),
idCategoriaDespesa integer,
idTipoDocumento integer,
constraint pk_despesa primary key(idDespesa),
constraint fk_categoria_despesa foreign key(idCategoriaDespesa) references
Categoria_despesa(idCategoriaDespesa)
constraint fk_Tipo_doc foreign key(idTipoDocumento) references
TipoDocumento(idTipoDocumento)
);

3.6.19. MOVIMENTO_DEPESA
Tabela 42 – Tabela Movimento Despesa
create table movimento_Despesa(
idMovimentoDespesa serial,
valor numeric(15,2),
descrição varchar(100),
data_mov date,
idDespesa integer,
HoraRegistro time,
constraint pk_mov_despesa primary key(idMovimentoDespesa),
constraint fk_despesa foreign key(idDespesa) references Despesa(idDespesa)

3.6.20. CATEGORIA_RECEBIMENTO
Tabela 43 – Tabela Categoria_recebimento
create table Categoria_recebimento(
idCategoriaRecebimento serial,
descrição varchar(100),
constraint pk_categoria_recebimento primary key(idCategoriaRecebimento)
);
3.6.21. RECEBIMENTO
Tabela 44 – Tabela Recebimento
create table Recebimento(
idRecebimento serial,
emissão date,
vencimento date,
descrição varchar(100),
valor numeric(15,2),
status varchar(1),
idCategoriaRecebimento integer,
idTipoDocumento integer,
constraint pk_recebimento primary key(idRecebimento),
constraint fk_categoria_recebimento foreign key(idCategoriaRecebimento)
references Categoria_recebimento(idCategoriaRecebimento)
constraint fk_Tipo_doc foreign key(idTipoDocumento) references
TipoDocumento(idTipoDocumento)
);

3.6.22. MOVIMENTO_RECEBIMENTO
Tabela 29 – Tabela movimento_recebimento
create table movimento_Recebimento(
idMovimentoRecebimento serial,
valor numeric(15,2),
descrição varchar(100),
data_mov date,
idRecebimento integer,
HoraRegistro time,
constraint pk_mov_recebimento primary key(idMovimentoRecebimento),
constraint fk_recebimento foreign key(idRecebimento) references
Recebimento(idRecebimento)

Você também pode gostar