Anda di halaman 1dari 63

Faculdade CBTA RIO CLARO

Tecnólogo em Análise e Desenvolvimento de Sistemas

Levantamento de Requisitos, Documentação, Construção

do Banco de Dados e Desenvolvimento de um Projeto de

Software para uma Loja de Informática

Francisco Gomes da Silva


Michel Adriano Medeiros

Rio Claro-SP

2010
Lista de Figuras

Figura 1. Fase de um desenvolvimento de sistemas.................................................11

Figura 2. Fases genéricas de um software ...............................................................12

Figura 3. Diagrama de caso de uso...........................................................................45

Figura 4. Diagrama de classe.....................................................................................46

Figura 5. Tela de login................................................................................................55

Figura 6. Cadastro de cliente.....................................................................................55

Figura 7. Cadastro de funcionário..............................................................................56

Figura 8. Cadastro de fornecedor...............................................................................56

Figura 9. Cadastro de produto....................................................................................57

Figura 10. Cadastro de serviço..................................................................................57

Figura 11. Venda de produto e serviço......................................................................58

Figura 12. Editar vendas............................................................................................58

Figura 13. Registrar novo cargo.................................................................................59

Figura 14. Registrar novo departamento....................................................................59

Figura 15. Registrar novo tipo de usuário..................................................................60

2
Sumário

1. Introdução........................................................................................................3

1.1 .

Metodologia...........................................................................................3

1.2 . Objetivos...............................................................................................4

2. Revisão Bibliográfica......................................................................................4

2.1. Sistema da Informação.........................................................................5

2.2. Engenharia de Software........................................................................7

3. Escopo do Projeto.........................................................................................13

3.1. Funções do Sistema da Loja...............................................................13

3.2. Definições de Requisitos Funcionais..................................................14

4. Diagrama de Caso de Uso............................................................................45

5. Diagrama de Classe.......................................................................................46

6. Script do Banco de Dados............................................................................47

7. Telas de Interface do Sistema......................................................................55

8. Conclusão.......................................................................................................60

9. Bibliografia.....................................................................................................60

3
1. Introdução

Este projeto consiste em criar um software para que a loja de informática

Compuponto venha a ter um melhor controle de estoque e finaceiro.

A loja já usa um software para este objetivo, mais este será personalizado para a

loja com funções que o proprietário pediu e não tem no software que ele usa no

momento.

Para a criação do software foram levantados requisitos do sistema por meio de

entrevista com o proprietário.

Com os requisistos levantados foram usadas técnicas de engenharia de software

para a escolha da metodologia usada para a criação da documentação do software.

1.1. Metodologia

Foi levantados requisitos do sistema junto ao proprietário da loja Compuponto.

O projeto seguirá o modelo de prototipação, pois neste modelo sempre será

mostrado para o proprietário da loja um modelo do programa visual, ficando mais

fácil saber se o projeto está caminhando para o caminho certo.

Sempre que houver dúvida reuniremos com o proprietário da loja para tirar as

dúvidas sobre requisitos do sistema.

Deverá ter um sistema aberto de conversa entre proprietário e projetistas para

estarem sempre em contato para ajudar na melhoria do software e com isso diminuir

as chances de erro.
4
1.2. Objetivos

Melhorar o gerenciamento da loja, pois no momento a loja usa vários programas

para fazer tal função.

Com este sistema vamos unir quase todas as funções da loja em um só software e

assim ajudar no controle de estoque e financeiro da loja.

2. Revisão Bibliográfica

2.1. Sistemas de Informação

Para O’BRIEN (2002, p.6) "[...] sistema de informação é um conjunto organizado de

pessoas, hardware, software, redes de comunicação e recursos de dados que

coleta, transforma e dissemina informações em uma organização [...]".

Já para Laudon e Laudon (2004, p.7) “[...] sistema de informação pode ser definido

tecnicamente como um conjunto de componentes inter-relacionados que coleta (ou

recupera), processa, armazena e distribui informações destinadas a apoiar a tomada

de decisões, a coordenação e o controle de uma organização”.

“O SI (Sistema de Informação) é algo maior que um software, pois além de incluir o

hardware e o software, também inclui os processos (e seus agentes) que são

executados fora das máquinas”. (Loh, 2009)

“No ambiente real, os aspectos sociais interferem e muito no funcionamento do SI. Os

processos podem ser modificados em razão de aspectos sociais não bem

controlados. Por esta razão, é que existem muitos sistemas que depois de

5
implantados acabam não sendo utilizados ou até mesmo trazendo prejuízos ou

dificultando o trabalho nas organizações”. (Loh, 2009)

Segundo BATISTA (2004, p. 39), “... o objetivo de usar os sistemas de

informação é a criação de um ambiente empresarial em que as

informações sejam confiáveis e possam fluir na estrutura organizacional”.

Para serem efetivos, os sistemas de informação precisam, segundo PEREIRA e

FONSECA (1997, p. 242), corresponder às seguintes expectativas:

• Atender as reais necessidades dos usuários;

• Estar centrados no usuário (cliente) e não no profissional que o criou;

• Atender ao usuário com presteza;

• Apresentar custos compatíveis;

• Adaptar-se constantemente às novas tecnologias de informação;

• Estar alinhados com as estratégias de negócios da empresa.

As empresas sempre estão tentando melhorar o seu desempenho e fazer as

escolhas mais certas possíveis, daí a importância de um sistema de informação

confiável que traga uma ajuda para realizar um processo decisório.

LAUDON e LAUDON (1999, p. 26), afirmam que “a razão mais forte pelas

quais as empresas constroem os sistemas, então, é para resolver

problemas organizacionais e para reagir a uma mudança no ambiente”.

6
Para PEREIRA e FONSECA (1997, p. 241), os sistemas de informação têm

por finalidade “... a captura e/ou a recuperação de dados e sua análise em

função de um processo de decisão. Envolve, de modo geral, o decisor, o

contexto, o objetivo da decisão e a estrutura de apresentação das

informações”.

Existem vários tipos de sistemas de informações, basicamente são classificados em

dois grupos, os sistemas gerenciais e os operacionais.

Os sistemas operacionais são responsáveis por informações mais abrangentes,

interna e externa de uma empresa, mas não consegue trazer informações

específicas, para isso precisa do apoio dos sistemas gerenciais.

O’BRIEN (2002, p.29), afirma que “quando os sistemas de informação se

concentram em fornecer informação e apoio à tomada de decisão eficaz pelos

gerentes, eles são chamados sistemas de apoio gerencial”.

OLIVEIRA (2002, p.54) afirma que o sistema de informação gerencial pode,

sob determinadas condições, trazer os seguintes benefícios para as

empresas:

• Redução dos custos das operações;

• Melhoria no acesso às informações, proporcionando relatórios mais precisos

e rápidos, com menor esforço;

• Melhoria na produtividade;

• Melhoria nos serviços realizados e oferecidos;

7
• Melhoria na tomada de decisões, por meio do fornecimento de informações

mais rápidas e precisas;

• Estímulo de maior interação dos tomadores de decisão;

• Fornecimento de melhores projeções dos efeitos das decisões;

• Melhoria na estrutura organizacional, para facilitar o fluxo de informações;

• Melhoria na estrutura de poder, proporcionando maior poder para aqueles

que entendem e controlam os sistemas;

• Redução do grau de centralização de decisões na empresa; e

• Melhoria na adaptação da empresa para enfrentar os acontecimentos não

previstos.

Se uma empresa consegue atingir todos esses requisitos com o seu sistema de

informação, ela com certeza é uma empresa bem gerida e competitiva.

2.2. Engenharia de Software

Com a grande evolução tecnológica e o uso cada vez mais dos computadores e a

automação de funções, há uma grande procura de desenvolvedores de softwares.

Antigamente o desenvolvimento de software era feito só pensando no problema que

ele poderia resolver e isso funcionava, pois os softwares daquela época não tinham

muita complexidade.

Mas hoje há a necessidade de softwares mais complexos, que tenham qualidades e

rápido desenvolvimento com isto surgiu métodos para desenvolvê-los que se

encontra na Engenharia de Software.

8
“A Engenharia de Software (ES) surgiu em meados dos anos 1970 numa tentativa de

contornar a crise do software e dar um tratamento de engenharia (mais sistemático e

controlado) ao desenvolvimento de sistemas de software complexos. Um sistema de

software complexo se caracteriza por um conjunto de componentes abstratos de

software (estruturas de dados e algoritmos) encapsulados na forma de

procedimentos, funções, módulos, objetos ou agentes interconectados entre si,

compondo a arquitetura do software, que deverão ser executados em sistemas

computacionais”. (Silva, 2005)

Segundo Fritz Bauer, autor da primeira definição do termo, "Engenharia de software

é a criação e a utilização de sólidos princípios de engenharia a fim de obter software

de maneira econômica, que seja confiável e que trabalhe eficientemente em

máquinas reais".

“Engenharia de software é uma área do conhecimento da computação voltada para a

especificação, desenvolvimento e manutenção de sistemas de software aplicando

tecnologias e práticas de gerência de projetos e outras disciplinas, objetivando

organização, produtividade e qualidade”. (Sommerville, 2007)

É uma disciplina que se preocupa com os problemas práticos inerentes ao

desenvolvimento de sistemas de grande porte. (Souza, 2008)

• Não é simplesmente programação;

• Também não é só ciência da computação;

• Usam de teorias (resultados), métodos, e ferramentas na resolução de

problemas.

A Engenharia de software abrange. (Passos, 2007)

• Planejamento

• Especificação
9
• Desenho

• Implementação

• Validação

• Teste

• Medição

• Manutenção

• Aprimoramento

O principal objetivo da Engenharia de Software é produzir, a um custo baixo,

software de qualidade. (Souza, 2008)

• Custo é “fácil” de ser medido. Qualidade não é.

• O processo de planejamento é crucial na engenharia de software.

• A implementação é só uma parte do processo.

• A Engenharia de Software engloba todo o ciclo de vida do software

(concepção, implementação, uso e manutenção).

Para se desenvolver sistemas é necessária a utilização de um processo de

desenvolvimento, também chamado de paradigmas, os quais são apresentados a

seguir: (Silva, 2005)

Modelos

• Seqüencial ou Cascata (do inglês waterfall) - com fases distintas de especificação,

projeto e desenvolvimento.

10
• Evolucional - especificação, projeto e desenvolvimento são entrelaçados.

• Espiral - evolução através de vários ciclos completos de especificação, projeto e

desenvolvimento.

• Componentizado - reuso através de montagem de componentes já existentes.

• Formal - implementação a partir de modelo matemático formal.

• RAD - Linear de alta-velocidade. Normalmente utilizados para sistemas de

informação e bem entendidos.

Todo software hoje em dia tem um método de desenvolvimento por que um método

é bom.

Um método uniformiza o trabalho, fazendo com que todas as pessoas executem as

tarefas da mesma forma. Independentemente do método, só o fato dele existir e ser

utilizado já proporciona vantagens, mesmo que ele não seja o melhor possível, ou

não tire proveito de todo potencial de sistematização do processo. (Fuess, 2009)

As vantagens da utilização de um método para elaboração de sistemas de

informação só podem ser avaliadas pelos resultados efetivos produzidos. Nesse

sentido o método pode trazer. (Fuess, 2009)

• Aumento de produtividade em médio prazo;

• Aumento da Qualidade;

• Sistemas independentes de pessoas;

• Maior controle dos projetos.

11
Quando a engenharia de software não é bem empregada ha o perigo de acontecer o

que representa a figura abaixo.

12
Figura 1. Fase de um desenvolvimento de sistemas

(http://werther.desenvolvatec.com/desenvolvimento/a-velha-piada/, 2009)

Não importa o modelo que você siga para desenvolver um software, mas sempre é

bom ter em mente as fases genéricas de um software.

13
Figura 2. Fases genéricas de um software

(http://www.programei.org/index.php/13/09/2009/processos-de-software-e-modelos-

de-processos/, 2009)

3. Escopo do Projeto

3.1. Funções Do Sistema Da Loja


14
Menu

• Cadastrar

o Cadastrar Cliente

o Cadastrar Fornecedor

o Cadastrar Funcionário

o Cadastrar Produto

o Cadastrar Serviço

• Criar

o Novo

 Cargo

 Departamento

 Tipo De Usuário

• Venda

o Produto/Serviço

• Logoff

o Deslogar

3.2. Definições De Requisitos Funcionais

15
Quando sistema for acionado pela primeira vez o login e senha de acesso serão

admin.

Quando sistema for acionado pela primeira vez o usuário deve fazer o cadastro de

seus dados em funcionário, este primeiro funcionário será o administrador do

sistema invalidando o acesso do sistema pelo login e senha admin.

Administrador do sistema poderá criar usuários do sistema com funções específicas

de acesso ao sistema.

Em todo lugar do sistema que precise preencher o código de funcionário, o sistema

o preencherá automaticamente já que o funcionário estará logado no sistema para

realizar qualquer operação.

RF 1 – Autenticação de usuário no sistema

RF 2 – Permitir cadastrar cliente no sistema

RF 3 – Permitir cadastrar fornecedor no sistema

RF 4 – Permitir cadastrar funcionário no sistema

RF 5 – Permitir cadastrar produto no sistema

RF 6 – Permitir cadastrar serviços no sistema

RF 7 – Permitir criar novo cargo no sistema

RF 8 – Permitir criar novo departamento no sistema

RF 9 – Permitir criar novo tipo de usuário no sistema

RF 10 – Registrar vendas de produtos e serviços

16
RF 11 – Editar vendas de produtos e serviços

RF 12 – Permitir deslogar do sistema

Caso de Autenticação
Uso

Objetivo Permitir que atores entrem no sistema.

Requisitos RF 1

Atores Funcionários

Condição Assim que inicia o sistema.


de início

Fluxo 1. O Sistema apresenta a tela de login do sistema contendo


Principal as informações:

• Login

• Senha

• As opções:

*Logar

2. O ator entre com o login e a senha.

3. O sistema verifica se as informações são válidas. [A1]

4. O sistema confirma autenticação do login.

5. O caso de uso é encerrado.

Fluxo [A2] Autenticação inválida


Alternativo
1. Campos obrigatórios não preenchidos.

2. Sistema mostra que usuário ou senha estão errados.

Regras de [RN1] Administrador e gerentes podem atribuir uma nova senha


Negócio para funcionário.

[RN2] Para entrar no sistema a primeira tela que deverá aparecer


será a tela de login. Quando o programa rodar pela primeira vez a
senha e o nome do usuário do administrador será admin e a
senha admin.

Todo funcionário terá que logar para fazer qualquer operação no


17
sistema e logo após se deslogar.

Caso de Cadastrar Cliente


Uso

Objetivo Permitir que ator cadastre cliente no sistema da loja

Requisitos RF 2

Atores Funcionários

Condição Acessar cadastro de clientes


de Início

Fluxo 1. O Sistema apresenta tela de cadastro de usuários contendo


Principal as informações:

• Código

• Sexo

• Nome

• Endereço

• Bairro

• Cidade

• Estado

• CEP

• Caixa Postal

• CPF

• RG

• Data de nascimento

• Telefone Residencial

• Telefone Comercial

• Telefone Recado

• Celular
18
• E-mail

• Data do Registro

• Código do Funcionário

• Haverá caixas de seleção com todos os itens anteriores


mais uma com o nome de todos. [RN2]

• As opções:

*Salvar

*Deletar

*Editar

*Cancelar

*Limpar

*Sair

*Pesquisar

2. O ator preenche a ficha do cliente e seleciona a opção salvar.


[A1]

3. Sistema verifica se usuário já está cadastrado no sistema. [A2]

4. Sistema verifica se as informações para cadastro são válidas.


[A3] [RN1]

5. Sistema confirma cadastro do usuário.

6. O caso de uso é encerrado.

Fluxo [A1] O ator seleciona a opção sair


Alternativo
1. Fecha o formulário de cadastro de cliente.

2. Caso de uso é encerrado.

[A2] Usuário já cadastrado

1. Sistema informa que usuário já se encontra cadastrado

2. O caso de uso retorna ao passo 1 do fluxo principal.

[A3] Informações de cadastro inválidas

1. Campos obrigatórios não preenchidos no cadastro.


19
2. Campos que são para preencher com números são
preenchidos com letras.

3. O caso de uso retorna ao passo 1 do fluxo principal.

[A4] Ator seleciona deletar.

1. Se não estiver nenhum cliente selecionado, o sistema


mostrará uma mensagem que ator deve selecionar um
cliente para deletar.

2. O caso de uso retorna ao passo 1 do fluxo principal.

[A5] Ator seleciona editar.

1. Se não estiver nenhum cliente selecionado, o sistema


mostrará uma mensagem que não há dados para serem
editados.

2. O caso de uso retorna ao passo 1 do fluxo principal.

[A6] Ator seleciona limpar.

1. Limpa o formulário de preenchimento dos dados do cliente,


menos o código do cliente, código do funcionário e a data
de registro.

2. O caso de uso retorna ao passo 1 do fluxo principal.

[A7] Ator seleciona cancelar.

1. O sistema chama o item [A6] com a diferença que as


variáveis usadas também serão zeradas.

2. O caso de uso retorna ao passo 1 do fluxo principal.

[A8] Ator seleciona pesquisar.

1. Usuário digita o que quer procurar e resultado é mostrado


em uma tabela.

2. O caso de uso retorna ao passo 1 do fluxo principal.

Regras de [RN1] Os campos (sexo, nome, endereço, bairro, estado, CEP,


Negócio CPF, RG, data de nascimento e código do funcionário) são
obrigatórios.

O campo código do cliente será dado pelo sistema.

Haverá duas opções de escolha no sexo masculino e feminino.


20
Data do registro deve ser automaticamente preenchida pelo
sistema.

Código do funcionário será preenchido automaticamente pelo


sistema com o código do funcionário que estiver fazendo o
cadastro.

[RN2] Se funcionário não digitar nada, sistema mostrará uma


mensagem que digite algo para a pesquisa.

Haverá caixas de seleção com todos os itens do formulário, estas


caixas dão a possibilidade de funcionário escolher dados que ele
queira que apareça na pesquisa. Se quiser que apareçam todos
os dados haverá uma caixa com o nome de todos que possibilita
que apareçam todos os dados do cliente.

Caso de Cadastro de fornecedor


Uso

Objetivo Permitir que ator cadastre fornecedores

Requisitos RF 3

Atores Funcionário

Condição Acessar cadastro de fornecedor


de Início

Fluxo 1. O Sistema apresenta tela de cadastro de fornecedor


Principal contendo as informações:

• Código do fornecedor

• Empresa

• CNPJ

• Endereço

• Bairro

• Estado

• CEP

• Caixa Postal

• Telefone 1
21
• Telefone 2

• Fax

• E-mail

• Site

• Data do registro

• Código do funcionário

• Haverá caixas de seleção com todos os itens anteriores


mais uma com o nome de todos. [RN2]

• As opções:

*Salvar

*Deletar

*Editar

*Cancelar

*Limpar

*Sair

*Pesquisar

2. O ator preenche a ficha do fornecedor e seleciona a opção


salvar. [A1]

3. Sistema verifica se fornecedor já está cadastrado no sistema.


[A2]

4. Sistema verifica se as informações para cadastro são válidas.


[A3] [RN1]

5. Sistema confirma cadastro de fornecedor.

6. O caso de uso é encerrado.

Fluxo [A1] O ator seleciona a opção sair


Alternativo
1. Fecha o formulário de cadastro de fornecedor.

2. Caso de uso é encerrado.

[A2] Fornecedor já cadastrado


22
1. Sistema informa que fornecedor já se encontra cadastrado

2. O caso de uso retorna ao passo 1 do fluxo principal.

[A3] Informações de cadastro inválidas

1. Campos obrigatórios não preenchidos no cadastro.

2. Campos que são para preencher com números são


preenchidos com letras.

3. O caso de uso retorna ao passo 1 do fluxo principal.

[A4] Ator seleciona deletar.

1. Se não estiver nenhum fornecedor selecionado, o sistema


mostrará uma mensagem que ator deve selecionar um
fornecedor para deletar.

2. O caso de uso retorna ao passo 1 do fluxo principal.

[A5] Ator seleciona editar.

3. Se não estiver nenhum fornecedor selecionado, o sistema


mostrará uma mensagem que não há dados para serem
editados.

4. O caso de uso retorna ao passo 1 do fluxo principal.

[A6] Ator seleciona limpar.

3. Limpa o formulário de preenchimento dos dados do


fornecedor, menos o código do fornecedor, código do
funcionário e a data de registro.

4. O caso de uso retorna ao passo 1 do fluxo principal.

[A7] Ator seleciona cancelar.

3. O sistema chama o item [A6] com a diferença que as


variáveis usadas também serão zeradas.

4. O caso de uso retorna ao passo 1 do fluxo principal.

[A8] Ator seleciona pesquisar.

3. Usuário digita o que quer procurar e resultado é mostrado


em uma tabela.

O caso de uso retorna ao passo 1 do fluxo principal.

23 Regras de [RN1] Os campos (caixa postal, fax, e-mail, site e código do


Negócio funcionário) não são obrigatórios todos os outros são.

O campo código do fornecedor será dado pelo sistema.

Data do registro deve ser automaticamente preenchida pelo


sistema.

Código do funcionário será preenchido automaticamente pelo


sistema com o código do funcionário que estiver fazendo o
cadastro.

[RN2] Se funcionário não digitar nada, sistema mostrará uma


mensagem que digite algo para a pesquisa.

Haverá caixas de seleção com todos os itens do formulário, estas


caixas dão a possibilidade de funcionário escolher dados que ele
queira que apareça na pesquisa. Se quiser que apareçam todos
os dados haverá uma caixa com o nome de todos que possibilita
que apareçam todos os dados do cliente.

Caso de Cadastrar funcionário


Uso

Objetivo Permitir que ator cadastre funcionários

Requisitos RF 4

Atores Funcionários

Condição Ator seleciona a opção cadastrar funcionário


de início

Fluxo 1. O Sistema apresenta a tela de cadastro de funcionário


Principal contendo as informações:

• Código do funcionário

• Login

• Senha

• Sexo

• Nome

• Endereço
24
• Bairro

• Estado

• CEP

• Caixa Postal

• CPF

• RG

• Data de nascimento

• Telefone Residencial

• Telefone Recado

• Celular

• E-mail

• Cargo

• Departamento

• Data de admissão

• Data do Registro

• Tipo de funcionário

• Código do funcionário

• Haverá caixas de seleção com todos os itens anteriores


mais uma com o nome de todos. [RN2]

• As opções:

*Salvar

*Deletar

*Editar

*Cancelar

*Limpar

*Sair

25
*Pesquisar

2. O ator preenche a ficha do funcionário e seleciona a opção


salvar.

3. Sistema verifica se funcionário já está cadastrado no sistema.


[A2]

4. Sistema verifica se as informações para cadastro são válidas.


[A3] [RN1]

5. Sistema confirma cadastro do funcionário.

6. O caso de uso é encerrado.

Fluxo [A1] O ator seleciona a opção sair


Alternativo
1. Fecha o formulário de cadastro de funcionário.

2. Caso de uso é encerrado.

[A2] Funcionário já cadastrado

1. Sistema informa que funcionário já se encontra cadastrado

2. O caso de uso retorna ao passo 1 do fluxo principal.

[A3] Informações de cadastro inválidas

1. Campos obrigatórios não preenchidos no cadastro.

2. Campos que são para preencher com números são


preenchidos com letras.

3. O caso de uso retorna ao passo 1 do fluxo principal.

[A4] Ator seleciona deletar.

3. Se não estiver nenhum funcionário selecionado, o sistema


mostrará uma mensagem que ator deve selecionar um
funcionário para deletar.

4. O caso de uso retorna ao passo 1 do fluxo principal.

[A5] Ator seleciona editar.

5. Se não estiver nenhum funcionário selecionado, o sistema


mostrará uma mensagem que não há dados para serem
editados.

6. O caso de uso retorna ao passo 1 do fluxo principal.


26
[A6] Ator seleciona limpar.

5. Limpa o formulário de preenchimento dos dados do


funcionário, menos o código do fornecedor, código do
funcionário e a data de registro.

6. O caso de uso retorna ao passo 1 do fluxo principal.

[A7] Ator seleciona cancelar.

5. O sistema chama o item [A6] com a diferença que as


variáveis usadas também serão zeradas.

6. O caso de uso retorna ao passo 1 do fluxo principal.

[A8] Ator seleciona pesquisar.

4. Usuário digita o que quer procurar e resultado é mostrado


em uma tabela.

O caso de uso retorna ao passo 1 do fluxo principal.

Regras de [RN1] Os campos (Caixa postal, e-mail e telefones) não são


Negócio obrigatórios, todos os outros são.

O campo código será dado pelo sistema.

Haverá duas opções de escolha no sexo, masculino e feminino.

Haverá opções em tipo de funcionário, cargo e departamento.

Data do registro deve ser automaticamente preenchida pelo


sistema.

Código do funcionário será preenchido automaticamente pelo


sistema com o código do funcionário que estiver fazendo o
cadastro.

[RN2] Se funcionário não digitar nada, sistema mostrará uma


mensagem que digite algo para a pesquisa.

Haverá caixas de seleção com todos os itens do formulário, estas


caixas dão a possibilidade de funcionário escolher dados que ele
queira que apareça na pesquisa. Se quiser que apareçam todos
os dados haverá uma caixa com o nome de todos que possibilita
que apareçam todos os dados do cliente.

27
Caso de Cadastrar Produto
Uso

Objetivo Permitir que ator registre compra feita para abastecer a loja.

Requisitos RF 5

Atores Funcionários

Condição Ator seleciona a opção cadastrar produto


de início

Fluxo 1. O sistema apresenta na tela de cadastro de produtos as


Principal informações:

• Código do produto

• Data de Registro

• Produto

• Preço

• Código do Fornecedor

• Fornecedor

• Quantidade Estoque

• Quantidade Mínima Estoque

• Código Funcionário

• Descrição

• Haverá caixas de seleção com todos os itens anteriores


mais uma com o nome de todos. [RN2]

• As opções:

*Salvar

*Deletar

*Editar

*Cancelar

*Limpar

*Sair
28
*Pesquisar

2. O ator preenche os dados do produto.

3. Sistema verifica se campos estão corretos. [A2] [A3]

4. Produto é cadastrado na tabela de produto.

5. Sistema retorna ao passo 1 do fluxo principal.

Fluxo [A1] O ator seleciona a opção sair


Alternativo
1. Fecha o formulário de cadastro de produto.

2. Caso de uso é encerrado.

[A2] Produto já cadastrado

1. Sistema informa que produto já se encontra cadastrado

2. O caso de uso retorna ao passo 1 do fluxo principal.

[A3] Informações de cadastro inválidas

1. Campos obrigatórios não preenchidos no cadastro.

2. Campos que são para preencher com números são


preenchidos com letras.

3. O caso de uso retorna ao passo 1 do fluxo principal.

[A4] Ator seleciona deletar.

1. Se não estiver nenhum produto selecionado, o sistema


mostrará uma mensagem que ator deve selecionar um
produto para deletar.

2. O caso de uso retorna ao passo 1 do fluxo principal.

[A5] Ator seleciona editar.

1. Se não estiver nenhum produto selecionado, o sistema


mostrará uma mensagem que não há dados para serem
editados.

2. O caso de uso retorna ao passo 1 do fluxo principal.

[A6] Ator seleciona limpar.

1. Limpa o formulário de preenchimento dos dados do


produto, menos o código do produto, código do funcionário
29
e a data de registro.

2. O caso de uso retorna ao passo 1 do fluxo principal.

[A7] Ator seleciona cancelar.

1. O sistema chama o item [A6] com a diferença que as


variáveis usadas também serão zeradas.

2. O caso de uso retorna ao passo 1 do fluxo principal.

[A8] Ator seleciona pesquisar.

1. Usuário digita o que quer procurar e resultado é mostrado


em uma tabela.

O caso de uso retorna ao passo 1 do fluxo principal.

Regras de [RN1] Todos os campos são obrigatórios menos o campo


Negócio descrição. Quando autor preencher o valor do produto e este
produto tiver um valor fracionado, o valor deve ser preenchido
com pontos e não vírgula.

O código do produto é atribuído automaticamente pelo sistema.

A data é preenchida automaticamente pelo sistema.

Com esta função também poderá ser feito a atualização do


estoque.

Quando ator escolhe o código do fornecedor o nome do


fornecedor é mostrado na combobox do fornecedor.

[RN2] Se funcionário não digitar nada, sistema mostrará uma


mensagem que digite algo para a pesquisa.

Haverá caixas de seleção com todos os itens do formulário, estas


caixas dão a possibilidade de funcionário escolher dados que ele
queira que apareça na pesquisa. Se quiser que apareçam todos
os dados haverá uma caixa com o nome de todos que possibilita
que apareçam todos os dados do cliente.

Caso de Cadastrar Serviço


Uso

Objetivo Permitir cadastrar novos serviços

Requisitos RF 6
30
Atores Funcionários

Condição Ator seleciona a opção cadastrar serviço


de início

Fluxo 1. O Sistema apresenta na tela os dados para se criar um


Principal novo serviço.

• Código do Serviço

• Serviço

• Preço

• Código Funcionário

• As opções:

*Salvar

*Deletar

*Editar

*Cancelar

*Limpar

*Sair

*Pesquisar

2. O ator preenche os dados do serviço.

3. Sistema verifica se campos estão corretos. [A2] [A3]

4. Serviço é cadastrado na tabela de serviço.

5. Sistema retorna ao passo 1 do fluxo principal.

Fluxo [A1] O ator seleciona a opção sair


Alternativo
1. Fecha o formulário de cadastro de serviço.

2. Caso de uso é encerrado.

[A2] Serviço já cadastrado

1. Sistema informa que serviço já se encontra cadastrado

2. O caso de uso retorna ao passo 1 do fluxo principal.

31
[A3] Informações de cadastro inválidas

1. Campos obrigatórios não preenchidos no cadastro.

2. Campos que são para preencher com números são


preenchidos com letras.

3. O caso de uso retorna ao passo 1 do fluxo principal.

[A4] Ator seleciona deletar.

1. Se não estiver nenhum serviço selecionado, o sistema


mostrará uma mensagem que ator deve selecionar um
serviço para deletar.

2. O caso de uso retorna ao passo 1 do fluxo principal.

[A5] Ator seleciona editar.

1. Se não estiver nenhum serviço selecionado, o sistema


mostrará uma mensagem que não há dados para serem
editados.

2. O caso de uso retorna ao passo 1 do fluxo principal.

[A6] Ator seleciona limpar.

1. Limpa o formulário de preenchimento dos dados do serviço,


menos o código do serviço, código do funcionário e a data
de registro.

2. O caso de uso retorna ao passo 1 do fluxo principal.

[A7] Ator seleciona cancelar.

3. O sistema chama o item [A6] com a diferença que as


variáveis usadas também serão zeradas.

4. O caso de uso retorna ao passo 1 do fluxo principal.

[A8] Ator seleciona pesquisar.

2. Usuário digita o que quer procurar e resultado é mostrado


em uma tabela.

O caso de uso retorna ao passo 1 do fluxo principal.

Regras de [RN1] Todos os campos são obrigatórios. Quando autor


Negócio preencher o valor do serviço e este serviço tiver um valor
fracionado, o valor deve ser preenchido com pontos e não vírgula.
32
O código do serviço é atribuído automaticamente pelo sistema.

[RN2] Se a opção estiver selecionada em mostrar todos os dados


e ator digitar algo, sistema mostrará uma mensagem que está
opção não realiza pesquisa, apenas carrega todos os dados da
tabela serviço e exibe para o ator.

Se a opção pesquisar estiver selecionado, esta opção é que será


usada para pesquisar a tabela serviço.

Caso de Cadastrar Novo Cargo


Uso

Objetivo Registrar um novo cargo no sistema.

Requisitos RF 7

Atores Funcionários

Condição Ator seleciona novo cargo.


de início

Fluxo 1. O Sistema apresenta a tela de cadastro de novo cargo


Principal contendo as informações:

• Código do Cargo

• Cargo

• Código do Funcionário

• As opções:

*Salvar

*Deletar

*Editar

*Cancelar

*Limpar

*Sair

*Pesquisar

1. O ator entre com os dados do cargo e seleciona finalizar.

2. Sistema checa as informações e retorna cadastrado


33
realizado. [A2] [A3]

3. Caso de uso encerrado.

Fluxo [A1] O ator seleciona a opção sair


Alternativo
1. Fecha o formulário de cadastro de novo cargo.

2. Caso de uso é encerrado.

[A2] Serviço já cadastrado

1. Sistema informa que este cargo já se encontra cadastrado

2. O caso de uso retorna ao passo 1 do fluxo principal.

[A3] Informações de cadastro inválidas

1. Campos obrigatórios não preenchidos no cadastro.

2. Campos que são para preencher com números são


preenchidos com letras.

3. O caso de uso retorna ao passo 1 do fluxo principal.

[A4] Ator seleciona deletar.

1. Se não estiver nenhum cargo selecionado, o sistema


mostrará uma mensagem que ator deve selecionar um
cargo para deletar.

2. O caso de uso retorna ao passo 1 do fluxo principal.

[A5] Ator seleciona editar.

1. Se não estiver nenhum cargo selecionado, o sistema


mostrará uma mensagem que não há dados para serem
editados.

2. O caso de uso retorna ao passo 1 do fluxo principal.

[A6] Ator seleciona limpar.

1. Limpa o formulário de preenchimento dos dados do cargo,


menos o código do cargo, código do funcionário.

2. O caso de uso retorna ao passo 1 do fluxo principal.

[A7] Ator seleciona cancelar.

1. O sistema chama o item [A6] com a diferença que as

34
variáveis usadas também serão zeradas.

2. O caso de uso retorna ao passo 1 do fluxo principal.

[A8] Ator seleciona pesquisar.

1. Usuário digita o que quer procurar e resultado é mostrado


em uma tabela.

2. O caso de uso retorna ao passo 1 do fluxo principal.

Regras de [RN1] Todos os campos são obrigatórios.


Negócio
O código do cargo é atribuído automaticamente pelo sistema.

[RN2] Se a opção estiver selecionada em mostrar todos os dados


e ator digitar algo, sistema mostrará uma mensagem que está
opção não realiza pesquisa, apenas carrega todos os dados da
tabela cargo e exibe para o ator.

Se a opção pesquisar em todos os campos estiver selecionado,


esta opção irar percorrer toda a tabela a procura da pesquisa
digitada.

Se a opção código cargo estiver selecionada, esta opção irar


percorrer toda a tabela a procura da pesquisa digitada, mas só
pesquisando o campo código cargo.

Se a opção nome cargo estiver selecionada, esta opção irar


percorrer toda a tabela a procura da pesquisa digitada, mas só
pesquisando o campo nome cargo.

Se a opção código funcionário estiver selecionada, esta opção irar


percorrer toda a tabela a procura da pesquisa digitada, mas só
pesquisando o campo código funcionário.

Caso de Cadastrar Novo Departamento


Uso

Objetivo Registrar um novo departamento no sistema.

Requisitos RF 8

Atores Funcionários

Condição Ator seleciona novo departamento.


de início

Fluxo 1. O Sistema apresenta a tela de cadastro de novo


35
Principal departamento contendo as informações:

• Código do Departamento

• Departamento

• Código do Funcionário

• As opções:

*Salvar

*Deletar

*Editar

*Cancelar

*Limpar

*Sair

*Pesquisar

4. O ator entre com os dados do cargo e seleciona finalizar.

5. Sistema checa as informações e retorna cadastro realizado.


[A2] [A3]

6. Caso de uso é encerrado.

Fluxo [A1] O ator seleciona a opção sair


Alternativo
1. Fecha o formulário de cadastro de novo departamento.

2. Caso de uso é encerrado.

[A2] Departamento já cadastrado

1. Sistema informa que este departamento já se encontra


cadastrado

2. O caso de uso retorna ao passo 1 do fluxo principal.

[A3] Informações de cadastro inválidas

1. Campos obrigatórios não preenchidos no cadastro.

2. Campos que são para preencher com números são


preenchidos com letras.

3. O caso de uso retorna ao passo 1 do fluxo principal.


36
[A4] Ator seleciona deletar.

1. Se não estiver nenhum departamento selecionado, o


sistema mostrará uma mensagem que ator deve selecionar
um departamento para deletar.

2. O caso de uso retorna ao passo 1 do fluxo principal.

[A5] Ator seleciona editar.

1. Se não estiver nenhum departamento selecionado, o


sistema mostrará uma mensagem que não há dados para
serem editados.

2. O caso de uso retorna ao passo 1 do fluxo principal.

[A6] Ator seleciona limpar.

1. Limpa o formulário de preenchimento dos dados do


departamento, menos o código do departamento, código do
funcionário.

2. O caso de uso retorna ao passo 1 do fluxo principal.

[A7] Ator seleciona cancelar.

1. O sistema chama o item [A6] com a diferença que as


variáveis usadas também serão zeradas.

2. O caso de uso retorna ao passo 1 do fluxo principal.

[A8] Ator seleciona pesquisar.

1. Usuário digita o que quer procurar e resultado é mostrado


em uma tabela.

2. O caso de uso retorna ao passo 1 do fluxo principal.

Regras de [RN1] Todos os campos são obrigatórios.


Negócio
O código do departamento é atribuído automaticamente pelo
sistema.

[RN2] Se a opção estiver selecionada em mostrar todos os dados


e ator digitar algo, sistema mostrará uma mensagem que está
opção não realiza pesquisa, apenas carrega todos os dados da
tabela departamento e exibe para o ator.

Se a opção pesquisar em todos os campos estiver selecionado,


esta opção irar percorrer toda a tabela a procura da pesquisa
37
digitada.

Se a opção código departamento estiver selecionada, esta opção


irar percorrer toda a tabela a procura da pesquisa digitada, mas só
pesquisando o campo código departamento.

Se a opção nome departamento estiver selecionada, esta opção


irar percorrer toda a tabela a procura da pesquisa digitada, mas só
pesquisando o campo nome departamento.

Se a opção código funcionário estiver selecionada, esta opção irar


percorrer toda a tabela a procura da pesquisa digitada, mas só
pesquisando o campo código funcionário.

Caso de Cadastrar Novo Tipo de Usuário


Uso

Objetivo Registrar um novo tipo de usuário no sistema.

Requisitos RF 9

Atores Funcionários

Condição Ator seleciona novo tipo de usuário.


de início

Fluxo 1. O Sistema apresenta a tela de cadastro de novo tipo de


Principal usuário contendo as informações:

• Código do Tipo de Usuário

• Tipo de usuário

• Código do Funcionário

• Haverá caixas de seleção com todos os itens que um


funcionário poderá acessar quando se logar no sistema.
[RN2]

• As opções:

*Salvar

*Deletar

*Editar

*Cancelar
38
*Limpar

*Sair

*Pesquisar [RN3]

2. O ator entre com os dados do tipo de usuário e seleciona


finalizar.

3. Sistema checa as informações e retorna cadastro realizado.


[A2] [A3]

4. Caso de uso é encerrado.

Fluxo [A1] O ator seleciona a opção sair


Alternativo
1. Fecha o formulário de cadastro de novo tipo de usuário.

2. Caso de uso é encerrado.

[A2] Tipo de usuário já cadastrado

1. Sistema informa que este tipo de usuário já se encontra


cadastrado

2. O caso de uso retorna ao passo 1 do fluxo principal.

[A3] Informações de cadastro inválidas

1. Campos obrigatórios não preenchidos no cadastro.

2. Campos que são para preencher com números são


preenchidos com letras.

3. O caso de uso retorna ao passo 1 do fluxo principal.

[A4] Ator seleciona deletar.

1. Se não estiver nenhum tipo de usuário selecionado, o


sistema mostrará uma mensagem que ator deve selecionar
um tipo de usuário para deletar.

2. O caso de uso retorna ao passo 1 do fluxo principal.

[A5] Ator seleciona editar.

1. Se não estiver nenhum tipo de usuário selecionado, o


sistema mostrará uma mensagem que não há dados para
serem editados.

2. O caso de uso retorna ao passo 1 do fluxo principal.


39
[A6] Ator seleciona limpar.

1. Limpa o formulário de preenchimento dos dados do tipo de


usuário, menos o código do tipo de usuário, código do
funcionário.

2. O caso de uso retorna ao passo 1 do fluxo principal.

[A7] Ator seleciona cancelar.

1. O sistema chama o item [A6] com a diferença que as


variáveis usadas também serão zeradas.

2. O caso de uso retorna ao passo 1 do fluxo principal.

[A8] Ator seleciona pesquisar.

1. Usuário digita o que quer procurar e resultado é mostrado


em uma tabela.

2. O caso de uso retorna ao passo 1 do fluxo principal.

Regras de [RN1] Todos os campos são obrigatórios.


Negócio
O código do tipo de usuário é atribuído automaticamente pelo
sistema.

[RN2] As caixas que estarão no formulário, funcionarão para que


o funcionário que estiver registrando o novo funcionário escolha
as opções que este funcionário poderá acessar no sistema.

As opções são:

• Acessar Cliente

• Acessar Fornecedor

• Acessar Funcionário

• Acessar Produto

• Acessar Serviço

• Acessar Novo Cargo

• Acessar Novo Departamento

• Acessar Novo Tipo de Usuário

• Acessar Vendas
40
[RN3] Se clicar em pesquisar e não digitar nada será mostrado
todos os resultados da tabela tipo de usuário.

Caso de Registrar vendas de produtos e serviços


Uso

Objetivo Registrar vendas de produtos e serviços

Requisitos RF 10

Atores Funcionários

Condição Ator seleciona Venda Produto/Serviço


de início

Fluxo 1. O Sistema apresenta a tela de cadastro de venda de


Principal produto/serviço contendo as informações:

• Código da Venda

• Código do Produto

• Produto

• Código do Serviço

• Serviço

• Código do Cliente

• Cliente

• Valor do produto/serviço

• Quantidade Produto

• Quantidade Serviço

• Forma de Pagamento

• Valor Total

• Nota Fiscal

• Data da Venda

• Código do Funcionário

• As opções:
41
*Adicionar Venda

*Finalizar Venda

*Editar Venda

*Limpar Formulário

*Limpar Tabela

*Sair

*Pesquisar [A7]

2. O ator entra com os dados da venda e seleciona finalizar.

3. Sistema checa as informações e retorna venda realizada.


[A2] [A3]

4. Caso de uso é encerrado.

Fluxo [A1] O ator seleciona a opção sair


Alternativo
1. Fecha o formulário de cadastro de venda.

2. Caso de uso é encerrado.

[A2] Venda já cadastrada

1. Sistema informa que este código de venda já está em uso.

2. Sistema permite ator digitar novo código.

3. O caso de uso retorna ao passo 1 do fluxo principal.

[A3] Informações de cadastro inválidas

1. Campos obrigatórios não preenchidos no cadastro de


venda.

2. Campos que são para preencher com números são


preenchidos com letras.

3. O caso de uso retorna ao passo 1 do fluxo principal.

[A4] Ator seleciona adicionar venda.

1. Ator clica em adicionar venda, venda é adicionada na


tabela que se encontra no formulário de venda.

2. O caso de uso retorna ao passo 1 do fluxo principal.

42
[A5] Ator seleciona limpar formulário.

1. Limpa os campos do formulário de venda e zera as


variáveis.

2. O caso de uso retorna ao passo 1 do fluxo principal.

[A6] Ator seleciona limpar tabela.

1. Limpa os campos do formulário de venda, zera as variáveis


e limpa a tabela de vendas.

2. O caso de uso retorna ao passo 1 do fluxo principal.

[A7] Ator seleciona pesquisar.

1. Há três tipos de pesquisa no formulário.

• Pesquisa de produto

• Pesquisa de serviço

• Pesquisa de cliente

2. Qualquer resultado que seja clicado na tabela que traz o


resultado é enviada ao seu campo correspondente.

3. O caso de uso retorna ao passo 1 do fluxo principal.

[A8] Ator seleciona editar.

1. Abre um formulário para editar vendas já cadastradas.

2. É chamado o RF 11.

Regras de [RN1] Todos os campos são obrigatórios.


Negócio
Só é possível digitar valores em código de produto, serviço,
cliente. Só é possível digitar valores em quantidade de produto e
serviço. Os outros valores serão trazidos de forma automática.

[RN2] Só são retirados do estoque os produtos vendidos após


ator clicar em finalizar venda.

Caso de Editar vendas de produtos e serviços


Uso

Objetivo Editar vendas de produtos e serviços

Requisitos RF 11
43
Atores Funcionários

Condição Ator seleciona Venda Produto/Serviço e dentro deste formulário


de início ator clica em editar.

Fluxo 1. O Sistema apresenta a tela de edição de venda de


Principal produto/serviço contendo as informações:

• Código da Venda

• Código do Produto

• Produto

• Código do Serviço

• Serviço

• Código do Cliente

• Cliente

• Valor do produto/serviço

• Quantidade Produto

• Quantidade Serviço

• Forma de Pagamento

• Valor Total

• Nota Fiscal

• Data da Venda

• Código do Funcionário

• As opções:

*Atualizar

*Cancelar

*Pesquisar

2. O ator pesquisa venda que quer editar.

3. Seleciona a venda na tabela encontrada na pesquisa.


44
4. Ao clicar no item selecionado na tabela os dados são
enviados para os seus respectivos campos.

5. Ator edita os dados necessários e clica em atualizar. [A1]

6. Dados são atualizados na tabela de vendas do banco de


dados.

7. Caso de uso é encerrado.

Fluxo [A1] O ator seleciona a opção cancelar.


Alternativo
1. Limpa o formulário de edição de venda e zera as variáveis
do software.

2. O caso de uso retorna ao passo 1 do fluxo principal.

Regras de [RN1] Os únicos dados possíveis de ser editados são código do


Negócio produto, serviço e cliente. A quantidade de produto também é
editável.

Se ator adicionar ou subtrair a quantidade de produto o seu


estoque também deve ser atualizado.

Caso de Permitir deslogar do sistema


Uso

Objetivo Sair do sistema

Requisitos RF 12

Atores Funcionários

Condição Ator seleciona logoof e depois deslogar


de início

Fluxo 1. O Sistema chama o RF1


Principal

Fluxo
Alternativo

Regras de
Negócio

45
4. Diagrama de Caso de Uso

46
Figura 3. Diagrama de caso de uso

5. Diagrama de Classe
47
Figura 4. Diagrama de classe

6. Script do Banco de Dados

48
CREATE DATABASE IF NOT EXISTS COMPUPONTO;

CREATE TABLE CARGO (

CODIGO_CARGO INT NOT NULL PRIMARY KEY,

NOME_CARGO VARCHAR (30) NOT NULL

)TYPE INNODB;

CREATE TABLE DEPARTAMENTO (

CODIGO_DEPARTAMENTO INT NOT NULL PRIMARY KEY,

NOME_DEPARTAMENTO VARCHAR (30) NOT NULL

)TYPE INNODB;

CREATE TABLE TIPO_USUARIO (

CODIGO_TIPO_USUARIO INT NOT NULL PRIMARY KEY,

NOME_TIPO_USUARIO VARCHAR (30) NOT NULL,

ACESSAR_CLIENTE VARCHAR (3),

ACESSAR_FORNECEDOR VARCHAR (3),

ACESSAR_FUNCIONARIO VARCHAR (3),

ACESSAR_PRODUTO VARCHAR (3),

ACESSAR_SERVICO VARCHAR (3),

ACESSAR_NOVO_CARGO VARCHAR (3),

ACESSAR_NOVO_DEPARTAMENTO VARCHAR (3),

ACESSAR_NOVO_TIPO_USUARIO VARCHAR (3),

ACESSAR_VENDA_TOTAL VARCHAR (3)

)TYPE INNODB;

CREATE TABLE FUNCIONARIO (

CODIGO_FUNCIONARIO INT NOT NULL PRIMARY KEY,


49
LOGIN_FUNCIONARIO VARCHAR (12) NOT NULL,

SENHA_FUNCIONARIO VARCHAR (12) NOT NULL,

SEXO VARCHAR (10) NOT NULL,

NOME VARCHAR (50) NOT NULL,

ENDERECO VARCHAR (50) NOT NULL,

BAIRRO VARCHAR (30) NOT NULL,

CIDADE VARCHAR (30) NOT NULL,

ESTADO VARCHAR (30) NOT NULL,

CEP VARCHAR (10) NOT NULL,

CAIXA_POSTAL VARCHAR (20),

CPF VARCHAR (20) NOT NULL,

RG VARCHAR (20) NOT NULL,

NASCIMENTO VARCHAR (10) NOT NULL,

TEL_RESIDENCIAL VARCHAR (20),

TEL_RECADO VARCHAR (20),

CELULAR VARCHAR (20),

EMAIL_FUNCIONARIO VARCHAR (30),

DATA_REGISTRO VARCHAR (10) NOT NULL,

CODIGO_FUNCIONARIO_REGISTRO INT NOT NULL

)TYPE INNODB;

INSERT INTO funcionario (CODIGO_FUNCIONARIO,


LOGIN_FUNCIONARIO, SENHA_FUNCIONARIO) VALUES ('1', 'ADMIN',
'ADMIN');

INSERT INTO CARGO VALUES ('1', 'NENHUM');

INSERT INTO DEPARTAMENTO VALUES ('1', 'NENHUM');

50
INSERT INTO TIPO_USUARIO VALUES ('1', 'ADMINISTRADOR', 'SIM',
'SIM', 'SIM', 'SIM', 'SIM', 'SIM', 'SIM', 'SIM', 'SIM');

ALTER TABLE CARGO ADD CODIGO_FUNCIONARIO INT NOT NULL ;

ALTER TABLE DEPARTAMENTO ADD CODIGO_FUNCIONARIO INT NOT


NULL ;

ALTER TABLE TIPO_USUARIO ADD CODIGO_FUNCIONARIO INT NOT


NULL AFTER NOME_TIPO_USUARIO;

ALTER TABLE FUNCIONARIO ADD CODIGO_CARGO INT NOT NULL


AFTER DATA_REGISTRO;

ALTER TABLE FUNCIONARIO ADD NOME_CARGO VARCHAR (30) NOT


NULL AFTER CODIGO_CARGO;

ALTER TABLE FUNCIONARIO ADD CODIGO_DEPARTAMENTO INT NOT


NULL AFTER NOME_CARGO;

ALTER TABLE FUNCIONARIO ADD NOME_DEPARTAMENTO VARCHAR


(30) NOT NULL AFTER CODIGO_DEPARTAMENTO;

ALTER TABLE FUNCIONARIO ADD CODIGO_TIPO_USUARIO INT NOT


NULL AFTER NOME_DEPARTAMENTO;

ALTER TABLE FUNCIONARIO ADD NOME_TIPO_USUARIO VARCHAR


(30) NOT NULL AFTER CODIGO_TIPO_USUARIO;

UPDATE CARGO SET CODIGO_FUNCIONARIO = 1 WHERE


NOME_CARGO='NENHUM';

51
UPDATE DEPARTAMENTO SET CODIGO_FUNCIONARIO = 1 WHERE
NOME_DEPARTAMENTO='NENHUM';

UPDATE TIPO_USUARIO SET CODIGO_FUNCIONARIO = 1 WHERE


NOME_TIPO_USUARIO='ADMINISTRADOR';

UPDATE FUNCIONARIO SET CODIGO_CARGO = 1 WHERE


CODIGO_FUNCIONARIO = 1;

UPDATE FUNCIONARIO SET CODIGO_DEPARTAMENTO = 1 WHERE


CODIGO_FUNCIONARIO = 1;

UPDATE FUNCIONARIO SET CODIGO_TIPO_USUARIO = 1 WHERE


CODIGO_FUNCIONARIO = 1;

ALTER TABLE FUNCIONARIO ADD FOREIGN KEY (CODIGO_CARGO)


REFERENCES CARGO (CODIGO_CARGO);

ALTER TABLE FUNCIONARIO ADD FOREIGN KEY


(CODIGO_DEPARTAMENTO) REFERENCES DEPARTAMENTO
(CODIGO_DEPARTAMENTO);

ALTER TABLE FUNCIONARIO ADD FOREIGN KEY


(CODIGO_TIPO_USUARIO) REFERENCES TIPO_USUARIO
(CODIGO_TIPO_USUARIO);

ALTER TABLE CARGO ADD FOREIGN KEY (CODIGO_FUNCIONARIO)


REFERENCES FUNCIONARIO (CODIGO_FUNCIONARIO);

ALTER TABLE DEPARTAMENTO ADD FOREIGN KEY


(CODIGO_FUNCIONARIO) REFERENCES FUNCIONARIO
(CODIGO_FUNCIONARIO);

52
ALTER TABLE TIPO_USUARIO ADD FOREIGN KEY
(CODIGO_FUNCIONARIO) REFERENCES FUNCIONARIO
(CODIGO_FUNCIONARIO);

CREATE TABLE CLIENTE (

CODIGO_CLIENTE INT NOT NULL PRIMARY KEY,

SEXO VARCHAR (10) NOT NULL,

NOME VARCHAR (50) NOT NULL,

ENDERECO VARCHAR (50) NOT NULL,

BAIRRO VARCHAR (30) NOT NULL,

CIDADE VARCHAR (30) NOT NULL,

ESTADO VARCHAR (30) NOT NULL,

CEP VARCHAR (10) NOT NULL,

CAIXA_POSTAL VARCHAR (20),

CPF VARCHAR (20) NOT NULL,

RG VARCHAR (20) NOT NULL,

NASCIMENTO VARCHAR (10) NOT NULL,

TEL_RESIDENCIAL VARCHAR (20),

TEL_RECADO VARCHAR (20),

CELULAR VARCHAR (20),

EMAIL_CLIENTE VARCHAR (30),

DATA_REGISTRO VARCHAR (10) NOT NULL,

FOREIGN KEY (CODIGO_FUNCIONARIO_REGISTRO) REFERENCES


FUNCIONARIO (CODIGO_FUNCIONARIO),

CODIGO_FUNCIONARIO_REGISTRO INT NOT NULL

)TYPE INNODB;

CREATE TABLE FORNECEDOR (


53
CODIGO_FORNECEDOR INT NOT NULL PRIMARY KEY,

EMPRESA VARCHAR (50) NOT NULL,

ENDERECO VARCHAR (50) NOT NULL,

BAIRRO VARCHAR (30) NOT NULL,

CIDADE VARCHAR (30) NOT NULL,

ESTADO VARCHAR (30) NOT NULL,

CEP VARCHAR (10) NOT NULL,

CAIXA_POSTAL VARCHAR (20),

CNPJ VARCHAR (20) NOT NULL,

TELEFONE1 VARCHAR (20),

TELEFONE2 VARCHAR (20),

FAX VARCHAR (20),

EMAIL_EMPRESA VARCHAR (30),

DATA_REGISTRO VARCHAR (10) NOT NULL,

SITE VARCHAR(50),

FOREIGN KEY (CODIGO_FUNCIONARIO_REGISTRO) REFERENCES


FUNCIONARIO (CODIGO_FUNCIONARIO),

CODIGO_FUNCIONARIO_REGISTRO INT NOT NULL

)TYPE INNODB;

CREATE TABLE PRODUTO (

CODIGO_PRODUTO INT NOT NULL PRIMARY KEY,

PRODUTO VARCHAR (50) NOT NULL,

PRECO DECIMAL(10,2) NOT NULL,

QUANTIDADE_ESTOQUE INTEGER NOT NULL,

QUANTIDADE_ESTOQUE_MIN INTEGER NOT NULL,

DESCRICAO VARCHAR(140) NULL,


54
FOREIGN KEY (CODIGO_FORNECEDOR) REFERENCES FORNECEDOR
(CODIGO_FORNECEDOR),

CODIGO_FORNECEDOR INT NOT NULL,

NOME_FORNECEDOR VARCHAR(30) NOT NULL,

FOREIGN KEY (CODIGO_FUNCIONARIO_REGISTRO) REFERENCES


FUNCIONARIO (CODIGO_FUNCIONARIO),

CODIGO_FUNCIONARIO_REGISTRO INT NOT NULL

)TYPE INNODB;

CREATE TABLE SERVICO (

CODIGO_SERVICO INT NOT NULL PRIMARY KEY,

NOME_SERVICO VARCHAR (30) NOT NULL,

PRECO DECIMAL(10,2) NOT NULL,

FOREIGN KEY (CODIGO_FUNCIONARIO) REFERENCES FUNCIONARIO


(CODIGO_FUNCIONARIO),

CODIGO_FUNCIONARIO INT NOT NULL

)TYPE INNODB;

CREATE TABLE VENDA_PS (

CODIGO_VENDA INT NOT NULL PRIMARY KEY,

NUMERO_NOTA_FISCAL INT NOT NULL,

FOREIGN KEY (CODIGO_PRODUTO) REFERENCES PRODUTO


(CODIGO_PRODUTO),

CODIGO_PRODUTO INT NOT NULL,

PRODUTO VARCHAR (50) NOT NULL,

QUANTIDADE_PRODUTO INTEGER NOT NULL,

FOREIGN KEY (CODIGO_SERVICO) REFERENCES SERVICO


(CODIGO_SERVICO),

CODIGO_SERVICO INT NOT NULL,


55
SERVICO VARCHAR (50) NOT NULL,

QUANTIDADE_SERVICO INTEGER NOT NULL,

VALOR_VENDA DECIMAL(10,2) NOT NULL,

FOREIGN KEY (CODIGO_CLIENTE) REFERENCES CLIENTE


(CODIGO_CLIENTE),

CODIGO_CLIENTE INT NOT NULL,

NOME_CLIENTE VARCHAR(50) NOT NULL,

FORMA_PAGAMENTO VARCHAR(30) NOT NULL,

DATA_VENDA VARCHAR(15) NOT NULL,

FOREIGN KEY (CODIGO_FUNCIONARIO_REGISTRO) REFERENCES


FUNCIONARIO

(CODIGO_FUNCIONARIO),

CODIGO_FUNCIONARIO_REGISTRO INT NOT NULL

)TYPE INNODB;

ALTER TABLE venda_ps ADD INDEX ( `NUMERO_NOTA_FISCAL` );

CREATE TABLE CAIXA (

CODIGO_CAIXA INT NOT NULL PRIMARY KEY AUTO_INCREMENT,

DATA_VENDA VARCHAR(15) NOT NULL,

FOREIGN KEY (NUMERO_NOTA_FISCAL) REFERENCES VENDA_PS


(NUMERO_NOTA_FISCAL),

NUMERO_NOTA_FISCAL INT NOT NULL,

VALOR_VENDA DECIMAL(10,2) NOT NULL

)TYPE INNODB;

7. Telas de Interface do Sistema

56
Figura 5. Tela de login

Figura 6. Cadastro de cliente

57
Figura 7. Cadastro de funcionário

58 Figura 8. Cadastro de fornecedor


Figura 9. Cadastro de produto

Figura 10. Cadastro de serviço


59
Figura 11. Venda de produto e serviço

Figura 12. Editar vendas

60
Figura 13. Registrar novo cargo

Figura 14. Registrar novo departamento

61
Figura 15. Registrar novo tipo de usuário

8. Conclusão
Apesar de muita coisa estar faltando para ser considerado um projeto completo de
engenharia de software como, custo do projeto, teste de software, métodos de teste,
cronograma detalhado de funções, segurança do software, risco, garantia de
qualidade e etc.

Pelo que foi ensinado conseguimos atingir os principais pontos de aprendizagem.

9. Bibliografia
Loh, Stanley. Sistema da Informação, UCEPel, 2009, Disponível em:
<http://paginas.ucpel.tche.br/~loh/sist-inf.htm> Acesso em: 06 set. 2009.

Revista Digital Engenharia de Software. Engenharia de Software Vídeos,


Devmedia, 2009, Disponível em: <
http://www.devmedia.com.br/assgold/listmag.asp?site=48> Acesso em: 06 set.
2009.

Silva, Elcio. Engenharia de Software, iMasters, 2005, Disponível em:


<http://imasters.uol.com.br/artigo/3691/des_de_software/engenharia_de_software/>
Acesso em: 06 set. 2009.

62
Souza, Cidcley Teixeira. Introdução à Engenharia de Software, Lambda, 2009,
Disponível em: <
http://www.nash.cefetce.br/cidcley/courses/2008.1/ES_Juazeiro/Slides/IntroducaoES
.pdf> Acesso em: 06 set. 2009.

Passos, Jocélio. Engenharia de Software, FACAPE, 2009, Disponível em: <


http://www.facape.br/jocelio/es/material_em_pdf_conceitual/index.php> Acesso em:
06 set. 2009.

Fuess, Maria Teresa. Engenharia de Software, JOSÉ OSCAR FONTANINI DE


CARVALHO, 2009, Disponível em: < http://www.oscar.pro.br/aulas_CEC_ES.htm>
Acesso em: 06 set. 2009.

O'BRIEN, James A. Sistemas de Informação: e as decisões gerenciais na era da


Internet. Trad. Cid Knipel Moreira. São Paulo: Saraiva, 2002.

LAUDON, Kenneth C.; LAUDON, Jane P. Sistemas de informação gerenciais:


administrando a empresa digital. 5. ed. São Paulo: Prentice Hall, 2004.

LAUDON, Kenneth C.; LAUDON, Jane Price. Sistemas de Informação 4. ed. LTC:
Rio de Janeiro, 1999.

BATISTA, Emerson de Oliveira. Sistema de Informação: o uso consciente da


tecnologia para o gerenciamento. São Paulo: Saraiva, 2004.

PEREIRA, Maria José Lara de Bretãs; FONSECA, João Gabriel Marques. Faces da
Decisão: as mudanças de paradigmas e o poder da decisão. São Paulo: Makron
Books, 1997.

OLIVEIRA, Djalma de Pinho Rebouças de. Sistemas, organizações e métodos:


uma abordagem gerencial 13 ed. São Paulo, 2002.

SOMMERVILLE, I. (2007). Engenharia de Software. Pearson Prentice Hall, São


Paulo. 548p.

63