Upload
micheladrianomedeiros
View
2.307
Download
1
Embed Size (px)
DESCRIPTION
Documentação de um projeto de software para uma loja de informática feito por Michel Adriano Medeiros na faculdade CBTA - Rio Claro - SP. Código fonte do projeto está em http://www.4shared.com/file/4Tvi32uN/projeto_cbta_2010.html
Citation preview
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
1
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.......................................................................................................6
0
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.
4
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.
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)
5
“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
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.
Evolucional - especificação, projeto e desenvolvimento são entrelaçados.
10
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 Uso
Autenticação
Objetivo Permitir que atores entrem no sistema.
Requisitos RF 1
Atores Funcionários
Condição de início
Assim que inicia o sistema.
Fluxo Principal
1. O Sistema apresenta a tela de login do sistema contendo 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 Alternativo
[A2] Autenticação inválida
1. Campos obrigatórios não preenchidos.
2. Sistema mostra que usuário ou senha estão errados.
Regras de Negócio
[RN1] Administrador e gerentes podem atribuir uma nova senha 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.
17
Todo funcionário terá que logar para fazer qualquer operação no sistema e logo após se deslogar.
Caso de Uso
Cadastrar Cliente
Objetivo Permitir que ator cadastre cliente no sistema da loja
Requisitos RF 2
Atores Funcionários
Condição de Início
Acessar cadastro de clientes
Fluxo Principal
1. O Sistema apresenta tela de cadastro de usuários contendo 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
18
Celular
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 Alternativo
[A1] O ator seleciona a opção sair
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
19
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 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 Negócio
[RN1] Os campos (sexo, nome, endereço, bairro, estado, CEP, 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.
20
Haverá duas opções de escolha no sexo masculino e feminino.
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 Uso
Cadastro de fornecedor
Objetivo Permitir que ator cadastre fornecedores
Requisitos RF 3
Atores Funcionário
Condição de Início
Acessar cadastro de fornecedor
Fluxo Principal
1. O Sistema apresenta tela de cadastro de fornecedor contendo as informações:
Código do fornecedor
Empresa
CNPJ
Endereço
Bairro
Estado
CEP
21
Caixa Postal
Telefone 1
Telefone 2
Fax
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 Alternativo
[A1] O ator seleciona a opção sair
1. Fecha o formulário de cadastro de fornecedor.
22
2. Caso de uso é encerrado.
[A2] Fornecedor já cadastrado
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
23
em uma tabela.
O caso de uso retorna ao passo 1 do fluxo principal.
Regras de Negócio
[RN1] Os campos (caixa postal, fax, e-mail, site e código do 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 Uso
Cadastrar funcionário
Objetivo Permitir que ator cadastre funcionários
Requisitos RF 4
Atores Funcionários
Condição de início
Ator seleciona a opção cadastrar funcionário
Fluxo Principal
1. O Sistema apresenta a tela de cadastro de funcionário contendo as informações:
Código do funcionário
Login
Senha
24
Sexo
Nome
Endereço
Bairro
Estado
CEP
Caixa Postal
CPF
RG
Data de nascimento
Telefone Residencial
Telefone Recado
Celular
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
25
*Limpar
*Sair
*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 Alternativo
[A1] O ator seleciona a opção sair
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
26
editados.
6. O caso de uso retorna ao passo 1 do fluxo principal.
[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 Negócio
[RN1] Os campos (Caixa postal, e-mail e telefones) não são 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
27
que apareçam todos os dados do cliente.
Caso de Uso
Cadastrar Produto
Objetivo Permitir que ator registre compra feita para abastecer a loja.
Requisitos RF 5
Atores Funcionários
Condição de início
Ator seleciona a opção cadastrar produto
Fluxo Principal
1. O sistema apresenta na tela de cadastro de produtos as 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
28
*Limpar
*Sair
*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 Alternativo
[A1] O ator seleciona a opção sair
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.
29
[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 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 Negócio
[RN1] Todos os campos são obrigatórios menos o campo 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.
30
Caso de Uso
Cadastrar Serviço
Objetivo Permitir cadastrar novos serviços
Requisitos RF 6
Atores Funcionários
Condição de início
Ator seleciona a opção cadastrar serviço
Fluxo Principal
1. O Sistema apresenta na tela os dados para se criar um 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 Alternativo
[A1] O ator seleciona a opção sair
1. Fecha o formulário de cadastro de serviço.
31
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.
[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
32
em uma tabela.
O caso de uso retorna ao passo 1 do fluxo principal.
Regras de Negócio
[RN1] Todos os campos são obrigatórios. Quando autor 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.
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 Uso
Cadastrar Novo Cargo
Objetivo Registrar um novo cargo no sistema.
Requisitos RF 7
Atores Funcionários
Condição de início
Ator seleciona novo cargo.
Fluxo Principal
1. O Sistema apresenta a tela de cadastro de novo cargo contendo as informações:
Código do Cargo
Cargo
Código do Funcionário
As opções:
*Salvar
*Deletar
*Editar
*Cancelar
33
*Limpar
*Sair
*Pesquisar
1. O ator entre com os dados do cargo e seleciona finalizar.
2. Sistema checa as informações e retorna cadastrado realizado. [A2] [A3]
3. Caso de uso encerrado.
Fluxo Alternativo
[A1] O ator seleciona a opção sair
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.
34
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 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 Negócio
[RN1] Todos os campos são obrigatórios.
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 Uso
Cadastrar Novo Departamento
Objetivo Registrar um novo departamento no sistema.
35
Requisitos RF 8
Atores Funcionários
Condição de início
Ator seleciona novo departamento.
Fluxo Principal
1. O Sistema apresenta a tela de cadastro de novo 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 Alternativo
[A1] O ator seleciona a opção sair
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
36
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 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 Negócio
[RN1] Todos os campos são obrigatórios.
37
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 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 Uso
Cadastrar Novo Tipo de Usuário
Objetivo Registrar um novo tipo de usuário no sistema.
Requisitos RF 9
Atores Funcionários
Condição de início
Ator seleciona novo tipo de usuário.
Fluxo Principal
1. O Sistema apresenta a tela de cadastro de novo tipo de 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.
38
[RN2]
As opções:
*Salvar
*Deletar
*Editar
*Cancelar
*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 Alternativo
[A1] O ator seleciona a opção sair
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
39
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.
[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 Negócio
[RN1] Todos os campos são obrigatórios.
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
40
Acessar Produto
Acessar Serviço
Acessar Novo Cargo
Acessar Novo Departamento
Acessar Novo Tipo de Usuário
Acessar Vendas
[RN3] Se clicar em pesquisar e não digitar nada será mostrado todos os resultados da tabela tipo de usuário.
Caso de Uso
Registrar vendas de produtos e serviços
Objetivo Registrar vendas de produtos e serviços
Requisitos RF 10
Atores Funcionários
Condição de início
Ator seleciona Venda Produto/Serviço
Fluxo Principal
1. O Sistema apresenta a tela de cadastro de venda de 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
41
Forma de Pagamento
Valor Total
Nota Fiscal
Data da Venda
Código do Funcionário
As opções:
*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 Alternativo
[A1] O ator seleciona a opção sair
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
42
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.
[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 Negócio
[RN1] Todos os campos são obrigatórios.
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.
43
[RN2] Só são retirados do estoque os produtos vendidos após ator clicar em finalizar venda.
Caso de Uso
Editar vendas de produtos e serviços
Objetivo Editar vendas de produtos e serviços
Requisitos RF 11
Atores Funcionários
Condição de início
Ator seleciona Venda Produto/Serviço e dentro deste formulário ator clica em editar.
Fluxo Principal
1. O Sistema apresenta a tela de edição de venda de 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:
44
*Atualizar
*Cancelar
*Pesquisar
2. O ator pesquisa venda que quer editar.
3. Seleciona a venda na tabela encontrada na pesquisa.
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 Alternativo
[A1] O ator seleciona a opção cancelar.
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 Negócio
[RN1] Os únicos dados possíveis de ser editados são código do 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 Uso
Permitir deslogar do sistema
Objetivo Sair do sistema
Requisitos RF 12
Atores Funcionários
Condição de início
Ator seleciona logoof e depois deslogar
Fluxo Principal
1. O Sistema chama o RF1
45
Fluxo Alternativo
Regras de Negócio
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 (
49
CODIGO_FUNCIONARIO INT NOT NULL PRIMARY KEY,
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;
53
CREATE TABLE FORNECEDOR (
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,
54
DESCRICAO VARCHAR(140) NULL,
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),
55
CODIGO_SERVICO INT NOT NULL,
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
Figura 8. Cadastro de fornecedor
58
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.