CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE GOIÁS UNIDADE DE ENSINO DESCENTRALIZADA DE JATAÍ
CURSO DE INFORMÁTICA
CONTROLE DE ESTOQUE PARA PEQUENAS EMPRESAS
PAULO CESAR DE MATOS BONIFÁCIO
JATAÍ – GO
2005
8
CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE GOIÁS UNIDADE DE ENSINO DESCENTRALIZADA DE JATAÍ
CURSO DE INFORMÁTICA
CONTROLE DE ESTOQUE PARA PEQUENAS EMPRESAS
Trabalho de Conclusão de Curso apresentado ao CE-FET-GO/UNED Jataí como um dos pré-requisitos para obtenção do título de Tec-nólogo em Informática com habilitação em Sistema de Informação.
PAULO CESAR DE MATOS BONIFÁCIO
ALADIR FERREIRA DA SILVA JÚNIOR - ORIENTADOR
JATAÍ – GO
9
2005 CONTROLE DE ESTOQUE PARA PEQUENAS EMPRESAS
PAULO CESAR DE MATOS BONIFÁCIO
Trabalho de Conclusão de Curso defendido e _____________________ em 16 de
agosto de 2005, pela Banca Examinadora constituída pelos professores:
_________________________________
___
Prof. Aladir Ferreira da Silva Junior (O-
rientador)
CEFETGO/UNED-Jataí
_________________________________
___
Prof. Danillo Vaz Borges de Assis
CEFETGO/UNED-Jataí
_________________________________
___
Prof. Rodrigo Henrique Cunha Palácios
CEFETGO/UNED-Jataí
10
Dedico este trabalho ao meu pai, minha mãe e a minha es-posa, pessoas estas que sempre estiveram do meu la-do, me apoiando em todos os momentos.
11
“A imaginação é mais importante do que o conhecimento.” (Albert Einstein)
12
AGRADECIMENTOS
Agradeço a todos aqueles que, em qualquer momento, se colocaram a disposição para que eu pudesse concluir a realização deste trabalho e pudesse apri-morar todos os conhecimentos adquiridos em minha vida, principalmente a minha esposa Joelma e meu filho Caio, pois são as duas pessoas mais importantes para a minha vida. Agradeço também aos meus pais Carlos e Ramona, onde tudo o que sou na vida, partiu da educação ensinada por eles.
Agradeço em especial aos professores do curso, que sempre estiveram a disposição para ouvir-me e ensinar-me, mesmo que fora das salas de aula.
13
SUMÁRIO Resumo .................................................................................................................. 08 Introdução............................................................................................................... 09 Desenvolvimento .................................................................................................... 10 1 – Linguagem de Programação............................................................................. 10 2 – Banco de Dados ............................................................................................... 10 2.1 – Conceito......................................................................................................... 11 3 – Linguagem para a Análise ................................................................................ 14 3.1 – Definição........................................................................................................ 14 3.2 – Visões e Diagramas da UML.......................................................................... 15 3.3 – Vantagens...................................................................................................... 16 3.4 – Porque a UML é uma linguagem.................................................................... 17 4 – Documentação do Sistema ............................................................................... 18 4.1.- Memorial Descritivo ........................................................................................ 18 4.2 - Solução Proposta ........................................................................................... 19 4.3 - Diagrama de Caso de Uso.............................................................................. 21 4.4. – Descrição das Funções................................................................................. 24 4.5 - Diagrama de Classes...................................................................................... 32 4.6 – Diagrama de Seqüência................................................................................. 34 Conclusão............................................................................................................... 35 Anexos.................................................................................................................... 36 Anexo 1 – Diagrama de caso de uso ...................................................................... 36 Anexo 2 – Diagrama de classes.............................................................................. 39 Anexo 3 – Diagrama de seqüência ......................................................................... 40 Anexo 4 – Dicionário de dados ............................................................................... 78 Referência Bibliográfica .......................................................................................... 82
14
RESUMO
Este trabalho visa à implementação de um sistema simples de controle de estoque, para pequenas empresas, cujas quais não possuam ou mesmo que possu-am um sistema informatizado de controle de seu estoque e desejem algo mais sim-ples para seu uso. Para o desenvolvimento deste sistema foi usada a linguagem UML (elaboração da documentação do sistema), a linguagem visual Microsoft Visual Basic, versão 6.0 (para a implementação do mesmo) e o Microsoft Access (como banco de dados). O sistema visa a controlar o estoque de produtos ou a prestação serviços, assim, como o destino de cada produto depois de realizada sua saída.
15
INTRODUÇÃO
O termo “estoque” é muito elástico. Do ponto de vista tradicional, pode-se
considerá-lo como um representativo de matérias primas, produtos semi-acabados,
componentes para montagem, sobressalentes, produtos acabados, materiais admi-
nistrativos e suprimentos variados. Em organizações atípicas quanto ao ponto de
vista da produção ou comercialização, o termo estoque poderá ter outros significa-
dos, como estoque de livros, de dinheiro em banco, de professores, de analistas e
assim por diante.
Segundo o dicionário Silveira Bueno, a palavra estoque significa “depósito
de mercadorias”. Define-se estoque, como sendo materiais, mercadorias ou produtos
acumulados para utilização posterior, de modo a permitir o atendimento regular das
necessidades dos usuários para a continuidade das atividades da empresa, sendo o
estoque gerado, consequentemente, pela impossibilidade de prever-se a demanda
com exatidão e também como reserva para ser utilizada em tempo oportuno.
Face ao exposto, toda empresa necessita controlar seu estoque, sendo
assim foi desenvolvido um sistema para este tipo de controle. O sistema baseia-se no
cadastro de produtos e/ou serviços, de fornecedores, entrada e saída de produtos, de
notas fiscais, de clientes e um cadastro de usuários, para controle de acesso ao sis-
tema, com restrições conforme o cadastro dos mesmos. Como resposta aos cadas-
tros, o sistema possui relatórios, para a consulta da situação atual do estoque da em-
presa, assim como o destino de cada produto.
16
DESENVOLVIMENTO
1 - Linguagem de programação
A linguagem escolhida para o desenvolvimento foi o Microsoft Visual Ba-
sic, versão 6.0. O Visual Basic 6.0 é uma ferramenta para o desenvolvimento rápido
de aplicações (RAD – Rapid Application Development) para o ambiente Windows. O
seu ambiente integrado de desenvolvimento (IDE – Integrated Development Envi-
ronment) proporciona a criação de aplicações visuais e orientadas a objetos, através
de dezenas de controles (ou ferramentas).
O Microsoft Visual Basic 6.0 proporciona o acesso a diversos tipos de
banco de dados como SQL Server, Microsoft Access, Oracle, Sybase, padrão Xbase
e diversos outros. Além disso, suporta padrões de conectividade mais sofisticados,
como o Dcom, da Microsoft e o Microsoft Jet.
O Microsoft Visual Basic 6.0, possui ferramentas para a programação pa-
ra a Internet, ferramentas que oferecem a possibilidade de conectar programas a
Internet. Na data do lançamento desta versão, alguns navegadores, passaram a in-
terpretar um tipo especial de Visual Basic, chamado VBScript. Com a utilização desta
linguagem, fica mais fácil inclusive a programação para a Internet. Com o VBScript, é
possível criar documentos e controles Active X a partir do Microsoft Visual Basic 6.0.
2 - Banco de dados
Para o desenvolvimento do sistema um banco de dados é essencial para
o armazenamento dos dados, foi escolhido o Microsoft Access, em virtude de ser do
mesmo fabricante da linguagem e possuir uma maior facilidade de integração com a
linguagem de programação.
17
2.1 – Conceito
Podemos entender por banco de dados qualquer sistema que reúna e
mantenha organizada uma série de informações relacionadas a um determinado as-
sunto em uma determinada ordem.
A lista telefônica é um exemplo, nela percebemos que todos os dados re-
ferentes a uma pessoa estão na mesma linha, a isso chamam-se registros. .
O tipo ou categoria da informação (nome, telefone, etc.) sobre uma pes-
soa está separado em colunas, as quais chamam-se campos.
Um Sistema Gerenciador de banco de dados relacionais (SGBDR) é usa-
do para armazenar as informações de uma forma que permita às pessoas examiná-
las de diversas maneiras.
O Gerenciador relacional de bancos de dados do Visual Basic e do Ac-
cess é o Microsoft Jet , ele pertence a uma categoria diferente dos Gerenciadores
tradicionais, como o Dbase e o Paradox, pois possuem características em comum
com os bancos de dados cliente-servidor. Tais características comuns são:
• Todas as tabelas, índices, consultas, relatórios e código são armaze-
nados num único arquivo. (MDB)
• Os campos de data suportam informação de hora.
• Admite o armazenamento permanente de comandos SQL*.
• É possível forçar a integridade referencial entre as tabelas.
• Os campos suportam valores nulos (Null)
*Obs.: A linguagem SQL (Structured Query Language) é uma linguagem de alto nível
para manipulação de dados dentro do modelo relacional. Seu objetivo é fornecer uma
interface de alto nível ao usuário. É uma linguagem não procedural, e, não cabe ao
18
usuário definir como o gerenciador de banco de dados executará uma tarefa, mas
somente o ele que deve fazer.
No Dbase/Clipper banco de dados significa um arquivo que contém a es-
trutura de dados (campos) e os dados (Arquivo padrão DBF). Para o padrão MDB
este conjunto de dados e sua estrutura, denomina-se Tabela .
Portanto aquilo que o Dbase/Clipper considera um banco de dados o Ac-
cess e o Visual Basic considera como uma Tabela.
Pode se definir como tabela como um conjunto de dados dispostos em
forma de linhas e colunas . Como exemplo, vê-se a tabela de endereços abaixo:
Nome Endereço Telefone
Carlos Lima Bueno Rua Pindamonhangaba, 1200 226-2356
Carlos Lima Buel Rua Voluntários de São Paulo, 2785.
224-1078
Carlos Luiz Moraes Rua D. Pedro II, 123 223-0991
As linhas da tabela são os registros (nome, endereço, telefone), e as co-
lunas são os campos . A interseção de uma linha com uma coluna define um atributo
representando um valor do campo. Para a tabela representada acima a interseção da
segunda linha com a coluna nome define o valor do campo nome como: Carlos Lima
Buel.
Para o Access e o Visual Basic todos os componentes do sistema estão
em um único arquivo com extensão MDB, a este "pacote" consideramos o banco de
dados , o qual é um conjunto das tabelas nele contidas.
Logo quando é aberto um arquivo MDB temos acesso a todos os compo-
nentes do sistema: tabelas, consultas, macros, relatórios, etc. A esses componentes
chamamos objetos do sistema e em resumo descreve-se a seguir:
19
Tabelas Onde são armazenadas as informações que deseja-se tratar.
Consultas Filtram as informações das tabelas e permitem sua visualização. Ge-ralmente são comandos SQL.
Formulários São janelas destinadas à edição e visualização dos dados.
Relatórios Organizam os dados de tabelas e consultas de uma maneira que pos-sam ser impressos
Macros Rotinas que automatizam determinadas tarefas sem necessidade de programação. (Utilizadas no Access)
Módulos Armazenam instruções e comandos da linguagem Access Basic/VBA e permitem melhorar e expandir os recursos do sistema.
Objetos de um banco de dados (Access)
Obs: Embora o Visual Basic utilize arquivos padrão MDB; Formulários,
Relatórios e Módulos são tratados de forma diferente pelo próprio Visual Basic e,
nativamente, o Visual Basic não utiliza Macros .
Alem disso no Access e Visual Basic utiliza-se outros arquivos além dos
arquivos MDB; como arquivos DBF do Dbase/Clipper, arquivos do Paradox, do Btrie-
ve, etc.
Os recursos de definição de dados do mecanismo Jet permitem a criação,
a modificação e a exclusão de tabelas, índices e consultas. O Jet também aceita a
validação de dados em nível de campo e registro. A integridade de dados tem supor-
te sob a forma de chaves primárias e integridade referencial entre tabelas.
Para manipulação de dados, o Jet admite o uso da SQL e de objetos de
acesso aos dados. Esses objetos permitem ao programador manipular informações
contidas no banco de dados, através da definição das propriedades dos objetos e
pela execução dos métodos associados aos objetos. A tabela abaixo relaciona esses
objetos e descreve resumidamente suas funções:
20
Objeto Descrição
DBengine O objeto que referencia o mecanismo de bancos de dados do Microsoft Jet
Workspace Uma área na qual o usuário pode trabalhar com os bancos de dados
Database Uma coleção de informações organizadas em tabelas, juntamente com informações a respeito de índices e relações sobre as tabelas.
TableDef Uma definição da estrutura física de uma tabela de dados
QueryDef Uma consulta armazenada de SQL das informações contidas no banco de dados.
Recordset Uma coleção de registros de informações sobre um único tópico
Field Uma única unidade de informações em um banco de dados
Index Uma lista ordenada de registros em um recordset, baseada em um campo chave definido.
Relation Informações armazenadas a respeito do relacionamento entre duas ta-belas
Objetos para manipulação de dados
3 - Linguagem para a Análise
A documentação do sistema, segue a linguagem UML (Unified Modeling
Language) – Linguagem de Modelagem Unificada.
“Vivemos uma grande evolução tecnológica e, com ela, um aumento exponencial na demanda de novos softwares. Preci-samos desenvolver mais — e em menos tempo. Nossos soft-wares precisam carregar um "algo a mais". Assim, é hora de repensar antigos modelos de desenvolvimento e gerência.” (ANA CRISTINA MELO, LINHA DE CÓDIGO - 2005)
3.1 - Definição
A UML - Unified Modeling Language é uma linguagem gráfica padrão pa-
ra a elaboração da estrutura de projetos complexos de software. A UML pode ser
empregada para visualizar, especificar, construir e documentar os artefatos de siste-
mas de software.
21
A UML é o resultado da unificação da linguagem de modelagem de obje-
tos de 3 métodos líderes do mercado: Booch, Object Modeling Technique (OMT) e
Objected-Oriented Software Engineering (OOSE). Em 1997, a UML v1.1 foi adotada
pela OMG (Object Management Group) e desde então tornou-se o padrão da indús-
tria de software para a modelagem de objetos e componentes.
Embora a concepção da UML tenha sido influenciada por vários métodos
de análise e projeto orientados a objetos, há particularmente três notações das quais
a UML é derivada:
- OOD (Projeto Orientado a Objetos) – Grady Booch,
- OMT (Técnica de Modelagem de Objetos) – James Rumbaugh,
- OOSE (Engenharia de Software Orientada a Objetos) – Ivar Jacobson.
3.2 - Visões e Diagramas da UML
A arquitetura de um sistema pode ser descrita através de cinco visões in-
terligadas. Cada visão constitui uma projeção na organização e estrutura do sistema,
cujo foco está voltado para determinado aspecto desse sistema.
A UML é uma linguagem muito expressiva, abrangendo todas as visões
necessárias ao desenvolvimento e implantação de sistemas:
- Visão de caso de uso: focaliza os comportamentos de um sistema de-
vendo ser transparente a todos os envolvidos: gerentes, analistas, programadores e
usuários finais.
- Visão de Projeto: focaliza a estrutura de um sistema através da defini-
ção de classes, colaborações e as interfaces do sistema.
- Visão de Processo: focaliza as questões de desempenho e escalabili-
dade do sistema.
- Visão de Implementação: focaliza os artefatos físicos (programas, bi-
bliotecas, banco de dados) para a efetiva montagem do sistema.
22
- Visão de Implantação: focaliza a topologia do hardware, liberação e
instalação do sistema.
Um diagrama é a apresentação gráfica de um conjunto de elementos e
são desenhados para permitir a visualização de um sistema sob diferentes perspecti-
vas. A UML disponibiliza diagramas específicos para a modelagem visual das cinco
visões:
· Diagrama de casos de uso para ilustrar as interações do usuário com o
sistema
· Diagrama de classe para ilustrar a estrutura lógica
· Diagrama de objetos para ilustrar os objetos e suas interações
· Diagrama de estados para ilustrar comportamentos
· Diagrama de componentes para ilustrar a estrutura física do software
· Diagrama de Interações: composto de diagrama de seqüência e diagra-
ma de colaboração. Utilizado para ilustrar comportamentos
· Diagrama de Atividades para ilustrar o fluxo dos eventos.
3.3 - Vantagens
Utiliza-se a modelagem para compreender melhor o sistema que está
sendo desenvolvendo. Em um sentido mais amplo, um modelo é uma simplificação
da realidade. A modelagem visual com a UML torna a arquitetura do sistema mais
tangível, permitindo a avaliação em dimensões múltiplas.
A UML permite avaliar a aderência e a qualidade da arquitetura através de
iterações precoces com o usuário quando os defeitos podem ser corrigidos antes de
comprometer o sucesso do projeto.
Utilizando uma linguagem de modelagem padrão como a UML, os diferen-
tes membros da equipe tanto de desenvolvimento como business podem comunicar
suas decisões sem que haja ambigüidades ou diferenças de interpretação.
23
A modelagem visual permite que os detalhes do processo sejam expostos
ou escondidos conforme a necessidade, auxiliando o desenvolvimento de projetos
complexos e extensos. Além disto, a UML ajuda a manter a consistência entre a es-
pecificação e a implementação através do desenvolvimento iterativo e do planeja-
mento de testes em cada iteração. Com o desenvolvimento focado no usuário e no
business, o resultado final é diminuir o ciclo de vida e garantir a qualidade do sistema.
3.4 - Porque a UML é uma linguagem
Uma linguagem deve seguir uma gramática (em que todos os elementos
básicos de representação sejam indicados) e também a um conjunto de regras sintá-
ticas, tal qual o nosso português. Talvez faltasse aos outros diagramas essa rigidez
sintática que em outro diagrama (mesmo que no seu nível de abstração) devesse
obedecer à sua sintática e mantendo a semântica trazida de outro diagrama, ou seja,
um diagrama, efetivamente, não se encaixava no outro, a não ser que se fizesse um
grande esforço para se enxergar, por exemplo, o que um DFD tem a ver com seu
respectivo DER.
O Esforço da UML é permitir que desde a representação das funções bá-
sicas do sistema (e seus respectivos responsáveis) até o planejamento da arquitetura
de implementação, todo o processo aconteça de maneira coerente e com uma estrei-
ta ligação com o plano anterior.
24
4 – DOCUMENTAÇÃO DO SISTEMA
4.1 – Memorial Descritivo
O sistema constitui-se em um controle de estoque para pequenas
empresas comerciais.
O sistema oferecerá ao cliente um controle de estoque eficiente de
modo a definir as quantidades mínimas e máximas aceitáveis de cada produto
estocado, assim como a quantidade atual de seu estoque.
O usuário alimenta o sistema com o cadastro de produtos, que po-
de também ser um serviço. Este cadastro pode ser feito através de Nota Fis-
cal ou não, ou seja, o produto ou serviço poderá entrar para o estoque mesmo
sendo adquirido de fornecedores físicos e jurídicos.
O produto já cadastrado é visualizado pelo usuário podendo ser
consultado, alterado e excluído por este a qualquer momento.
O usuário cadastra também clientes, fornecedores, marcas, produ-
tos, categorias, saída e entrada dos produtos, unidades, notas fiscais e itens
podendo, também estes serem alterados, excluídos e consultados a qualquer
momento.
Serão etapas a serem geradas pelo sistema: relatórios com anota-
ções do usuário de entrada/saída de produtos, estoques mínimos e máximos
já definidos pelo usuário, relação de cadastro de clientes, de fornecedores e
produtos ou serviços, bem como determinar também o saldo, além de definir o
destino de cada produto nas vendas. Os relatórios contendo todas estas in-
formações serão gerados pelo sistema, permitindo ainda especificar dados da
venda de cada produto como o fornecedor de cada produto estocado.
25
4.2 – Solução Proposta
Após pesquisa de campo realizada, verificou-se a necessidade do
desenvolvimento de um sistema de controle de estoque, para posterior im-
plantação em pequenas empresas comerciais, facilitando o controle de esto-
que dessas empresas. Decidiu-se ainda pelas seguintes características técni-
cas:
� A plataforma Microsoft Windows, em virtude da plataforma
Linux, ainda ser pouco difundida, sendo mais difundida em
servidores;
� A base de dados construída e gerenciada pela ferramenta
Access versão 2000, ferramenta do mesmo desenvolvedor
de linguagem de desenvolvimento do sistema, isto é, facili-
tando comunicação e acesso entre as duas camadas;
� O desenvolvimento dos módulos será feito na linguagem de
programação Visual Basic versão 6.0. Ferramenta para o
desenvolvimento rápido de aplicações (RAD – Rapid Appli-
cation Development) para o ambiente Windows. Seu ambi-
ente integrado de desenvolvimento proporciona a criação de
aplicações visuais e orientadas a objetos, através da utiliza-
ção de dezenas de controles. Esta ferramenta proporciona o
acesso a diversos tipos de banco de dados, como o SQL
Server, Microsoft Access, Oracle, assim como bancos de
dados gratuitos, como o MySql e o Postgree.
O sistema foi desenvolvido seguindo as seguintes etapas:
� Análise;
26
� Construção de diagramas;
� Dicionário de dados;
� Base de dados;
� Implementação do sistema;
� Testes e manutenção.
27
4.3 – Diagrama de Caso de Uso
Os diagramas de caso de uso são um dos cinco diagramas disponí-
veis na UML para a modelagem de aspectos dinâmicos de sistemas. Os dia-
gramas de casos de uso têm um papel central para a modelagem do compor-
tamento de um sistema, de um sistema, de um subsistema ou de uma classe.
Cada um mostra um conjunto de casos de uso e atores e seus relacionamen-
tos.
Os diagramas de caso de uso são importantes para visualizar, es-
pecificar e documentar o comportamento de um elemento. Esses diagramas
fazem com que sistemas, subsistemas e classes fiquem acessíveis e compre-
ensíveis, por apresentarem uma visão externa sobre como esses elementos
podem ser utilizados no contexto. Os diagramas de casos de uso também são
importantes para testar sistemas executáveis por meio de engenharia de pro-
dução e para compreendê-los por meio de engenharia reversa.
Um diagrama de caso de uso é apenas um tipo especial de diagra-
mas e compartilha as mesmas propriedades comuns a todos os demais dia-
gramas – um nome e um conteúdo gráfico que são uma projeção em um mo-
delo. O que diferencia um diagrama de caso de uso dos outros tipos de dia-
gramas é o seu conteúdo particular.
Os diagramas de casos de uso costumam conter o seguinte:
- Casos de uso;
- Atores;
- Relacionamentos de dependência, generalização e associação.
Assim como os outros diagramas, os diagramas de casos de uso
podem conter notas e restrições.
28
Os diagramas de caso de uso também podem conter pacotes, utili-
zados para agrupar elementos do modelo em conjuntos maiores. Ocasional-
mente, você também desejará incluir instâncias de casos de uso em seus dia-
gramas, principalmente quando quiser visualizar sistema específico em exe-
cução.
Para fazer a modelagem do contexto de um sistema:
- Identifique os atores que se encontram ao redor do sistema, con-
siderando quais grupos precisam de ajuda do sistema para a realização de
suas tarefas; quais grupos são necessários para a execução de funções do
sistema; quais grupos interagem com algum hardware externo ou outros sis-
temas de software; e quais grupos realizam funções secundárias de adminis-
tração e de manutenção;
- Organize os atores semelhantes em uma hierarquia de generaliza-
ção/ especificação;
- Preencha um diagrama de caso de uso com esses atores e espe-
cifique os caminhos de comunicação de cada ator até os casos de uso do sis-
tema.
Ao definir um diagrama de caso de uso:
- Dê-lhe um nome capaz de comunicar seu propósito;
- Distribua seus elementos para minimizar o cruzamento de linhas;
- Organize seus elementos espacialmente, de maneira que os com-
portamentos e papéis semanticamente relacionados apareçam próximos fisi-
camente;
- Use notas e cores como indicações visuais e chamar atenção para
características importantes do diagrama;
29
- Tente não mostrar muitos tipos de relacionamentos. Em geral, se
você tiver relacionamentos de inclusão e estendidos complicados, coloque
esses elementos em outro diagrama.
O diagrama de caso de uso mostra como o sistema a ser desenvol-
vido vai interagir com seu ambiente. Na modelagem de caso de uso, o sistema
é visto como a caixa-preta que fornece situações de aplicação. O diagrama de
caso de uso oferece possíveis situações do mundo real para o teste do siste-
ma.
Um diagrama de caso de uso é um gráfico de atores, casos de uso
e as generalizações entre casos de uso. O diagrama não especifica os casos
de uso, mas só apresenta qual ator interage com qual caso e organiza os ca-
sos entre eles.
As características principais de um caso de uso são:
- Um caso de uso é sempre iniciado por um ator;
- Um caso de uso é completo;
- Um caso de uso fornece informação a um ator.
Com a implantação do sistema, o acompanhamento das atividades
de controle de estoque, será feito pelas seguintes funções:
1) Função cadastro Produtos;
2) Função cadastro de Clientes;
3) Função cadastro de Fornecedores;
4) Função cadastro de Categorias;
5) Função cadastro de Unidades;
6) Função cadastro de Marcas;
7) Função cadastro de Saídas de produto;
30
8) Função cadastro de Entradas de produto;
9) Função cadastro de Notas Fiscais e Itens;
10) Função cadastro de Usuários.
11) Função visualização de relatórios ou impressão de relatórios: de mo-
vimentação dos produtos (entrada e saída), produtos por destino, sal-
do, estoque mínimo, clientes, fornecedores e produtos.
4.4 - Descrição das Funções
Todas as funções possuem a característica de inserir, alterar, con-
sultar e excluir os dados digitados, com exceção das funções de cadastro de
entrada de produto e de saídas de produtos, onde a opção de alterar será de-
sabilitada. Todas as interfaces possuem uma mesma forma para facilitar a
utilização do STOKIM.
- Cadastro de Produtos
Para que não ocorra duplicidade no cadastramento de produtos,
estes produtos serão cadastrados anteriormente ao cadastro de entrada ou
saída e ao cadastro de notas fiscais. Além das funções básicas de cada inter-
face, quando um novo produto será cadastrado, este é verificado, caso já te-
nha sido cadastrado, os seus dados serão apresentados no formulário. Esta
função possui os seguintes campos:
• Código do produto: Código interno da empresa que esteja u-
tilizando o produto, este código difere do código interno do
sistema;
31
• Nome do produto: Nome do produto que será cadastrado;
• Descrição do produto (opcional): Uma possível descrição do
produto, como cor, matéria, textura e etc;
• Categoria: Seleção de uma categoria deste produto ou servi-
ço que está sendo cadastrado. Caso não seja cadastrada
nenhuma categoria anteriormente, será possível o cadastro
de uma nova, pelo botão próximo a esta caixa de listagem.
Se o usuário não selecionar nenhuma categoria, será cadas-
trado “SEM CATEGORIA”;
• Fornecedor: Seleção de um fornecedor deste produto ou
serviço que está sendo cadastrado. Caso não seja cadastra-
do nenhum fornecedor anteriormente, será possível o cadas-
tro de um novo, pelo botão próximo a esta caixa de listagem.
Se o usuário não selecionar nenhum fornecedor, será cadas-
trado “SEM FORNECEDOR”,
• Marca: Seleção de uma marca deste produto. Caso não seja
cadastrada nenhuma marca anteriormente, será possível o
cadastro de uma nova, pelo botão próximo a esta caixa de
listagem. Se o usuário não selecionar nenhuma marca, será
cadastrado “SEM MARCA”;
• Unidade: Seleção de uma unidade para este produto. Caso
não seja cadastrada nenhuma unidade anteriormente, será
possível o cadastro de uma nova, pelo botão próximo a esta
caixa de listagem. Se o usuário não selecionar nenhuma ca-
tegoria, será cadastrado “SEM UNIDADE”;
32
• Quantidade Máxima do produto: O usuário deverá informar a
quantidade máxima deste produto em seu estoque, quando
a entrada ultrapassar esse valor, uma mensagem aparecerá;
• Quantidade Mínima do produto: O usuário deverá informar a
quantidade mínima deste produto em seu estoque, quando a
saída ultrapassar esse valor, uma mensagem aparecerá;
• Status: Caso este produto já tenha sido excluído de sua ga-
ma de produtos vendidos, este poderá ser atualizado, como
um produto inativo, aparecendo na lista de produtos inativos,
no mesmo formulário. A opção padrão é “ATIVO”.
• Foto do produto (opcional): Poderá ser informada uma foto
do produto cadastrado, selecionando a mesma em seu com-
putador, caso não seja cadastrado nenhuma foto, o sistema
apresenta uma foto “SEM FOTO”.
- Cadastro de Clientes
Esta função tem como objetivo principal, cadastrar os clientes desta
empresa, como dados básicos de endereço, e-mail e telefones. Quando um
novo cliente é cadastrado, o sistema procura se o mesmo, já não foi cadastra-
do, caso seja positivo essa procura, os dados do mesmo são apresentados no
formulário. É composta dos seguintes campos.
• Nome do cliente;
• Endereço: Composto de logradouro, número, bairro e com-
plemento;
33
• Telefones (Comercial, Fax e Celular);
• E-mail (opcional);
• Observações (opcional).
- Cadastro de Fornecedores
Função responsável para o cadastro de fornecedores de produtos
para esta empresa. Formada por:
• Nome da Empresa;
• Contato: Nome de uma pessoa responsável na empresa;
• Telefones (Comercial e Fax);
• Categoria dos produtos oferecidos: Será selecionada uma
categoria, que previamente já foi cadastrada;
• Cidade do fornecedor;
• Unidade Federativa do fornecedor;
• E-mail (opcional);
• Website (opcional);
• Status: Caso este fornecedor não continue a fornecedor
seus produtos, este poderá ser atualizado, como um forne-
cedor inativo, aparecendo na lista de fornecedores inativos,
no mesmo formulário. A opção padrão é “ATIVO”.
- Cadastro de Notas Fiscais e Itens
34
Esta função serve para o cadastro de notas fiscais no sistema. As-
sim que as notas fiscais são cadastradas, assim como seus respectivos itens,
estes são automaticamente adicionados ao saldo atual de cada produto.
Quando um fornecedor é selecionado, suas notas fiscais são relacionadas no
formulário e relacionando também todos os produtos desta nota. É formado
por:
• Fornecedor: Seleção de um fornecedor que está sendo ca-
dastrado. Caso não seja cadastrado nenhum fornecedor an-
teriormente, será possível o cadastro de um novo, pelo botão
próximo a esta caixa de listagem. Deverá ser informado o
fornecedor, para que possa ser cadastrada uma nova nota
fiscal. Quando o nome de um fornecedor for selecionado, os
produtos por ele vendidos formam a caixa de seleção de
produtos.
• Numero da nota fiscal;
• Data da nota fiscal: Será informada a data da nota fiscal,
sendo padrão a data do sistema, mas podendo ser alterada;
• Valores da nota fiscal (valor total, valor do frete e valor do
imposto): São campos numéricos, não calculados;
• Descrição do produto (opcional);
• Quantidade adquirida conforme a nota;
• Valor unitário do produto;
• Valor total do produto (campo calculado a partir da quantida-
de e do valor unitário).
35
- Cadastro de Usuários
Todas as restrições de cadastro no sistema são informadas no ca-
dastro de usuários, assim como os relatórios que o usuário pode acessar.
Quando um novo usuário for cadastrado, seu nome e seu login são verificados
para evitar duplicidade. É composto por:
• Nome do usuário;
• Login;
• Senha;
• Formulários a serem acessados;
• Relatórios a serem acessados.
- Cadastro de Categorias
Permite informar quais as categorias de produto ou serviços serão
cadastrados. É formado por:
• Nome da categoria;
• Descrição da categoria (opcional).
- Cadastro de Unidades
Permite informar quais as unidades possíveis para cada produto a
ser cadastrado. É formado por:
• Nome da unidade;
• Descrição da unidade (opcional).
36
- Cadastro de Marcas
Permite informar quais as marcas possíveis para cada procuro a
ser cadastrado. É formado por:
• Nome da marca;
• Descrição da marca (opcional).
- Cadastro de Entrada de Produto
Assim que um novo produto é adquirido, este deverá dar entrada
no estoque. Esta função não possui a função de alterar. Assim que a entrada
for salva o saldo atual deste produto é alterado. É composto por:
• Fornecedor: Seleção de um fornecedor que está sendo ca-
dastrado. Deverá ser informado o fornecedor, para que pos-
sa ser cadastrada a entrada de um produto. Quando o nome
de um fornecedor for selecionado, os produtos por ele ven-
didos formam a caixa de seleção de produtos.
• Produto: Seleção do produto a ser cadastrado;
• Quantidade;
• Local (opcional): Local onde poderá ser armazenado o pro-
duto. Ex.: Prateleira, gaveta, etc.
• Valores (custo, imposto e total): Campos numéricos não cal-
culados,
37
- Cadastro de Saída de Produto
Quando um produto sair do estoque (venda, serviço realizado, etc.),
este deverá dar saída no estoque. Esta função não possui a função de alterar.
Assim que a saída for salva o saldo atual deste produto é alterado. É compos-
to por:
• Fornecedor: Seleção de um fornecedor que está sendo ca-
dastrado. Deverá ser informado o fornecedor, para que pos-
sa ser cadastrada a entrada de um produto. Quando o nome
de um fornecedor for selecionado, os produtos por ele ven-
didos formam a caixa de seleção de produtos.
• Produto: Seleção do produto a ser cadastrado;
• Data de saída: Será informada a data de saída do produto,
sendo padrão a data do sistema, mas podendo ser alterada;
• Quantidade;
• Destino: Deverá ser informado o destino do produto, se ser-
viço, venda, transferência ou outro destino. Se o destino for
venda, será habilitado o campo nome do cliente, qualquer
outra forma, será habilitado o campo local.
• Requisição (opcional): Número da requisição, caso houver.
38
4.5 - Diagrama de Classes
A UML é adequada para a modelagem de sistemas, cuja abrangên-
cia pode incluir sistemas de informação corporativos a serem distribuídos para
aplicações baseadas em Web e até sistemas complexos embutidos em tempo
real.
Em qualquer aplicação orientada a objetos, classes são importantes
por quatro motivos:
• Na verdade, é a real estrutura de dados, ou seja, é o objetivo
final para o início da etapa de programação;
• Dar ao programador a noção de domínio do problema;
• Projetar uma solução de implementação ao problema;
• Traçar perspectivas de escalabilidade ao sistema (onde e
como o sistema pode crescer em termos funcionais).
A princípio, para quem apenas possui experiência com a modela-
gem de dados, o Diagrama de Classes pode parecer uma simples coleção de
entidades mais complexas, no entanto esta é uma idéia errada, pois o modelo
de classe especializa-se na representação do comportamento e não apenas
nos dados.
A construção de um Diagrama de Classes está, obviamente, basea-
da no conceito de Classe. Desse fato, pode-se concluir que Diagrama de
Classes são estáticos, ou seja, devem apenas esboçar o q interage e não o q
acontece quando as classes interagem. Portanto, para que se crie um Dia-
39
grama de Classe, é imprescindível conhecer todos os conceitos do Paradigma
de Orientação a Objetos relacionados à noção de classes.
Uma classe é uma abstração de um conjunto de coisas que possu-
em características e operações em comum. Ou seja, uma classe é um conjun-
to de objetos. No paradigma de Objetos, um objeto é uma entidade fundamen-
tal.
Uma classe não é um ponto isolado e totalmente autônomo dentro
de um sistema de software. Para que uma classe obtenha sucesso e realmen-
te execute suas tarefas, invariavelmente, ações vindas de outras classes são
necessárias.
Este diagrama lista todos os conceitos do domínio que serão im-
plementados no sistema. Por exemplo, no domínio de reservas de assentos,
os conceitos importantes seriam: lugar, data, e cliente; no domínio de edição
de textos, os conceitos importantes seriam: caracteres, linhas, páginas, pala-
vras, fonte de caracteres, etc. O diagrama lista também as relações entre os
conceitos: um cliente “reserva”' x lugar (es) para a data y. Em geral, conceitos
são substantivos e relações são verbos.
O diagrama de classe é muito importante porque define a estrutura
do sistema a desenvolver. A maioria dos outros diagramas vai usar as classes
definidas no diagrama de classe. Por exemplo, o diagrama de colaboração,
mostra as interações entre classes do sistema.
40
4.6 – Diagrama de Seqüência
Diagramas que mostram interação entre objetos organizados se-
qüencialmente no tempo, mostram a sucessão de mensagens trocadas entre
objetos.
A implementação de mensagens pode tomar várias formas, como
por exemplo, uma chamada de procedimento, o envio de um sinal entre linhas
ativas, comunicação de eventos e assim por diante.
Cada mensagem no Diagrama de Seqüência corresponde a uma
operação no Diagrama de Classe.
Mensagens são operações invocadas, portanto, as operações de-
vem estar presentes nos objetos de destino.
41
CONCLUSÃO
Para o desenvolvimento de um sistema é essencial uma avaliação do que
poderá se fazer e do que irá se fazer antes da implementação do mesmo. Verifica-se
que a UML, dá suporte para um melhor desenvolvimento do sistema, assim como
para o cliente, já que ocorre uma interação, uma facilidade de entendimento, em fun-
ção dos diagramas pertencentes à mesma.
A linguagem Microsoft Visual Basic 6.0, é de fácil programação por já pos-
suir controles e componentes, que facilitam o desenvolvimento mais rápido de um
sistema.
Como banco de dados, o Microsoft Access, possui facilidades de um
SGBD, na sua versão 2002, aceitado consultas desenvolvidas nele próprio, assim
como consultas utilizando a linguagem SQL. No sistema, serão utilizadas instruções
SQL, para a inserção, exclusão, consulta e alteração dos dados.
Nos anexos presentes tem se os diagramas pertencentes à UML, para a
documentação do desenvolvimento de um sistema chamado Stokim, que tem como
objetivo principal controlar o estoque de pequenas empresas comerciais, podendo
estas empresas serem prestadoras de serviços ou não.
Os diagramas criados na fase de analise foram os diagramas de Casos de
Uso (Anexo I), Diagrama de Classes (Anexo II) e Diagramas de Seqüência (Anexo
III). Foi incluído o Dicionário de Dados (Anexo IV), com a descrição dos campos exis-
tentes no banco de dados.
42
Anexo 1 - Diagrama de Caso de Uso
Armazena os Fornecedores
Usuário
Cadastrar Categoria
Cadastrar Fornecedor
Efetua Cadastro Marca
Efetua Cadastro Categoria
Efetua Cadastro de Saída
Efetua Cadastro de Fornecedor
Armazena as Saídas
Cadastrar Saída
Armazena as Categorias
Armazena as Marcas Cadastrar
Marca
Sistema
Efetua Cadastro de Entrada Efetua Cadastro de Unidade
Armazena as Unidades
Cadastrar Unidade
Armazena as Entradas Cadastrar Entrada
Efetua Cadastro de Produto
Armazena os Produtos
Cadastrar Produto
Cadastrar Itens
Efetua Cadastro de Nota Fiscal Armazena as Notas Fiscais
Efetua Cadastro de Entrada
Efetua Cadastro de Itens
Cadastrar Nota Fiscal
Armazena as Itens
Efetua Relatórios Relatórios
Impressão de Relatórios
Cadastrar Empresa do
Usuário
Cadastrar Clientes
Efetua Cadastro de Empresa
Efetua Cadastro de Cliente
Armazena da-dos da empresa
Armazena os dados clientes
Impressora
43
Detalhamento do Diagrama de Caso de Uso
Nº Caso de Uso Quem inicia a
ação Descrição do Caso de Uso
01 Cadastro de Clientes Usuário O usuário irá cadastrar os clientes com seus dados pessoais e endereço.
02 Cadastro de Produ-tos
Usuário O usuário irá cadastrar os dados dos pro-dutos, para posterior inclusão no esto-que.
03 Cadastro de Forne-cedores
Usuário O usuário irá cadastrar os dados dos for-necedores, para inclusão no cadastro de produtos.
04 Cadastro de Marca Usuário O usuário cadastrará as marcas proveni-entes do comércio de seus produtos.
05 Cadastro de Unida-des
Usuário O usuário irá cadastrar as unidades pro-váveis de seus produtos.
06 Cadastro de Catego-rias
Usuário O usuário irá cadastrar as categorias que seu produto pode ter, tais como Serviços de limpeza, Serviços de informática, etc.
07 Cadastro de Usuá-rios
Administrador do sistema
O administrador do sistema (usuário pleno) poderá cadastrar novos usuário e dar permissão para acesso aos determi-nados cadastros.
08 Cadastro de dados da empresa
Administrador do sistema
O administrador do sistema poderá ca-dastrar os dados da empresa na primeira vez que este acessar o sistema ou alterar a qualquer momento os mesmos.
09 Cadastrar Entrada de Produtos
Usuário O usuário cadastrará a entrada dos pro-dutos assim que os mesmos forem com-prados, adquiridos ou mesmo se já per-tencerem a loja, onde sua aquisição não se tem dados de informação.
09 Cadastrar Login Sistema Automaticamente será cadastrado o re-gistro de cada usuário, assim que o mesmo acessa ao sistema.
10 Cadastrar Saída de Produtos
Usuário O usuário cadastrará a saída dos produ-tos do estoque assim que os mesmos forem vendidos, utilizados de qualquer forma.
44
11 Movimentação do produto
Usuário Poderá ser informado em qualquer mo-mento sobre a movimentação (entrada ou saída) dos produtos, sendo informado o período que se deseja essa informação.
12 Estoque Mínimo
Usuário Este relatório exibe o estoque mínimo de todos os produtos cadastrados no siste-ma.
13
Produtos por Desti-no
Usuário
Exibe os produtos por seu destino, isto é, após sua saída, por venda, utilização em um serviço, etc., poderá ser visualizada essa informação.
14 Saldo Atual Usuário Informa o saldo atual, de todos os produ-tos cadastrados.
15 Clientes Cadastrados Usuário Exibe todos os clientes cadastrados no sistema.
16 Fornecedores Cadas-trados
Usuário Todos os dados cadastrados dos fornece-dores aparecem nessa relação.
17 Produtos Cadastra-dos
Usuário Lista todos os produtos cadastrados no sistema.
45
Anexo 2 – Diagrama de Classes
CLIENTENOME : STRINGENDERECO : STRINGNUMERO : STRINGBAIRRO : STRINGCEP : INTEGERCOMPLEMENTO : STRINGCOMERCIAL : STRINGFAX : STRINGCELULAR : STRINGOBSERVACAO : STRINGEMAIL : STRINGDCAD : DATEDALT : DATEHALT : DATEUSUARIO : STRING
INSERIR_CLIENTE()ALTERAR_CLIENTE()EXCLUIR_CLIENTE()CONSULTAR_CLIENTE()
DADOSFANTASIA : STRINGRAZAO : STRINGTELEFONE : STRINGFAX : STRINGCIDADE : STRINGUF : STRINGENDERECO : STRINGNUMERO : STRINGCOMPLEMENTO : STRINGBAIRRO : STRINGCNPJ : INTEGERCPF : INTEGER
INSERIR_DADOS()ALTERAR_DADOS()CONSULTAR_DADOS()
LOGINUSUARIO : USUARIODLOGIN : DATEHLOGIN : DATE
INSERIR_LOGIN()CONSULTAR_LOGIN()
USUARIOSNOME_USUARIO : STRINGLOGIN : STRINGSENHA : STRINGTODOS : BOOLEANCLIENTES : BOOLEANENTRADA : BOOLEANNOTA : BOOLEANSAIDA : BOOLEANFORNECEDOR : BOOLEANMARCA : BOOLEANCATEGORIA : BOOLEANUNIDADE : BOOLEANUSUARIOS : BOOLEANPRODUTOS : BOOLEANDADOS : BOOLEANRELATORIO : BOOLEANRELENTRADA : BOOLEANRELASAIDA : BOOLEANRELFORNECEDOR : BOOLEANRELESTMIN : BOOLEANRELPRODUTO : BOOLEANRELSALDO : BOOLEANRELPRODDESTINO : BOOLEANDCADUSU : DATEDALTUSU : DATEHALTUSU : DATEUSUARIO : STRING
INSERIR_USUARIO()ALTERAR_USUARIO()EXCLUIR_USUARIO()CONSULTAR_USUARIO()
*
1
*
1ITEM
PRODUTO: PRODUTONF : NOTA_FISCALDISCRIMINACAO : STRINGQUANTIDADE : INTEGERUNITARIO : CURRENCYTOTAL : CURRENCYDCAD_ITEM : DATEDALT_ITEM : DATEHALT_ITEM : DATEUSUARIO : STRING
INSERIR_ITEM()ALTERAR_ITEM()EXCLUIR_ITEM()CONSULTAR_ITEM()
SALDOPRODUTO : PRODUTOSALDO : INTEGERSALDOANTERIOR : INTEGERDCAD : DATEDALT : DATEHALT : DATEUSUARIO : STRING
ALTERAR_SALDO()INSERIR_SALDO()CONSULTAR_SALDO()
MARCAMARCA : STRINGFABRICANTE : STRINGDCADMAR : DATEDALTMAR : DATEHALT : DATEUSUARIO : STRING
INSERIR_MARCA()ALTERAR_MARCA()EXCLUIR_MARCA()CONSULTAR_MARCA()
NOTA_FISCALFORNECEDOR : FORNECEDORDENTRADA : DATEVALOR_TOTAL : CURRENCYVALOR_IMPOSTO : CURRENCYVALOR_FRETE : CURRENCYNRNOTA_FISCAL : INTEGERDCADNF : DATEDALTNF : DATEHALTNF : DATEUSUARIO : STRING
INSERIR_NOTA()ALTERAR_NOTA()EXCLUIR_NOTA()CONSULTAR_NOTA()
*
1
*
1
UNIDADEUNIDADE : STRINGDESCRICAO : STRINGDCADUNI : DATEDALTUNI : DATEHALTUNI : DATEUSUARIO : STRING
INSERIR_UNIDADE()ALTERAR_UNIDADE()EXCLUIR_UNIDADE()CONSULTAR_UNIDADE()
ENTRADAPRODUTO: PRODUTOQUANT: INTEGERVAL_CUSTO: CURRENCYVAL_IMPOSTO: CURRENCYVAL_TOTAL: CURRENCYARMAZENAMENTO: STRINGDCADENT: DATEDALTENT: DATEHALTENT: DATEUSUARIO: STRING
INSERIR_ENTRADA()ALTERAR_ENTRADA()EXCLUIR_ENTRADA()CONSULTAR_ENTRADA()
11
11
SAIDAPRODUTO: PRODUTODSAIDA: DATETIMEQUANT_SAIDA: INTEGERSITUACAO: STRINGDESTINO: STRINGREQUISICAO: STRINGDCADSAI : DATEDALTSAI : DATEHALTSAI : DATEUSUARIO: STRING
INSERIR_SAIDA()ALTERAR_SAIDA()EXCLUIR_SAIDA()CONSULTAR_SAIDA()
1
1
1
1
FORNECEDORCATEGORIA : CATEGORIAFANTASIA : STRINGCIDADE : STRINGUF : STRINGTELEFONE : STRINGFAX : STRINGEMAIL : STRINGWEB : STRINGCONTATO : STRINGSTATUS : BOOLEANDCADFOR : DATEDALTFOR; DATEHALTFOR : DATEUSUARIO : STRING
INSERIR_FORNECEDOR()ALTERAR_FORNECEDOR()EXCLUIR_FORNECEDOR()CONSULTAR_FORNECEDOR()
CATEGORIACATEGORIA : STRINGDESCRICAO : STRINGDCADCAT : DATEDALTCAT : DATEHALTCAT : DATEUSUARIO : STRING
INSERIR_CATEGORIA()ALTERAR_CATEGORIA()EXCLUIR_CATEGORIA()CONSULTAR_CATEGORIA()
*
1
*
1
PRODUTOCATEGORIA : CATEGORIAUNIDADE : UNIDADEFORNECEDOR : FORNECEDORMARCA : MARCANOME_PRODUTO : STRINGDESC_PRODUTO : STRINGCOD_PRODUTO : STRINGESTMAX : INTEGERESTMIN : INTEGERSTSPRODUTO : BOOLEANDIRETORIO : STRINGDCADPRO : DATEDALTPRO : DATEHALTPRO : DATEUSUARIO : STRING
INSERIR_PRODUTO()ALTERAR_PRODUTO()EXCLUIR_PRODUTO()CONSIULTAR_PRODUTO()
1*
1*
1
1
1
1
*
1
*
1
1
1
1
1
*
1
*
1
*
1
*
1
1
1
1
1
46
Anexo 3 – Diagrama de Seqüência CADASTRAR MARCA
1. Cadastrar Marca( )
3. Inserir (Marca) ()
2. Encontrar (Marca) ()
TEMPO
|Encontrar = “Falso”|
Usuário
Interface : Marca
SCRIPT
“O usuário cadas-tra marcas”
47
ALTERAR MARCA
1. Alterar Marca( )
3. Alterar (Marca) ()
2. Encontrar (Marca) ()
TEMPO
|Encontrar = “Verdadeiro”|
Usuário
SCRIPT
“O usuário altera as marcas já ca-
dastradas, confor-me seja necessá-
rio”
Interface : Marca
48
EXCLUIR MARCA
1. Excluir Marca( )
3. Excluir (Marca) ()
2. Encontrar (Marca) ()
TEMPO
|Encontrar = “Verdadeiro”|
Usuário
SCRIPT
“O usuário exclui Marcas já cadastra-das, conforme seja
necessário”
Interface : Marca
49
CONSULTAR MARCA
1. Consulta Marca( )
3. Consultar (Marca)()
2. Encontrar (Marca) ()
TEMPO
|Encontrar = “Verdadeiro”|
Usuário
SCRIPT
“O usuário consul-ta marcas já ca-
dastradas, confor-me seja necessá-
rio”
Interface : Marca
50
CADASTRAR PRODUTO/ SERVIÇO
: Produto
SCRIPT
“O usuário cadas-tra produtos/ ser-
viços”
Usuário
Interface
1. Cadastrar Produto( )
TEMPO
3. Inserir (Produto)()
2. Encontrar (Produto) ()
|Encontrar = “Falso”|
51
ALTERAR PRODUTO/ SERVIÇO
Usuário
1. Alterar Produto( )
TEMPO
Interface
3. Alterar (Produto) ()
2. Encontrar (Produto) ()
|Encontrar = “Verdadeiro”|
: Produto
SCRIPT
“O usuário altera os produtos/ servi-ços já cadastrados, conforme seja ne-
cessário”
52
EXCLUIR PRODUTO/ SERVIÇO
Usuário
1. Excluir Produtos( ) T
EMPO
Interface
3. Excluir (Produtos) ()
2. Encontrar (Produtos) ()
|Encontrar = “Verdadeiro”|
: Produtos
SCRIPT
“O usuário exclui os produtos/ servi-ços já cadastrados, conforme seja ne-
cessário”
53
CONSULTAR PRODUTO/ SERVIÇOS
Usuário
1. Consultar Produtos( )
TEMPO
Interface
3. Consultar (Produtos)
2. Encontrar (Produtos)
|Encontrar = “Verdadeiro”|
: Produtos
SCRIPT
“O usuário consul-ta os produtos/
serviços já cadas-trados, conforme seja necessário”
54
CADASTRAR CLIENTE
: Cliente
SCRIPT
“O usuário cadas-tra clientes”
Usuário
Interface
1. Cadastrar Cliente( )
TEMPO
3. Inserir (Cliente)()
2. Encontrar (Cliente) ()
|Encontrar = “Falso”|
55
ALTERAR CLIENTE
Usuário
1. Alterar Cliente( )
TEMPO
Interface
3. Alterar (Cliente) ()
2. Encontrar (Cliente) ()
|Encontrar = “Verdadeiro”|
: Cliente
SCRIPT
“O usuário altera os cliente já cadas-trados, conforme seja necessário”
56
EXCLUIR CLIENTE
Usuário
1. Excluir Clientes( ) T
EMPO
Interface
3. Excluir (Clientes) ()
2. Encontrar (Clientes) ()
|Encontrar = “Verdadeiro”|
: Clientes
SCRIPT
“O usuário exclui os clientes já ca-
dastrados, confor-me seja necessá-
rio”
57
CONSULTAR CLIENTES
Usuário
1. Consultar Clientes( )
TEMPO
Interface
3. Consultar (Produtos)
2. Encontrar (Clientes)
|Encontrar = “Verdadeiro”|
: Clientes
SCRIPT
“O usuário consul-ta os clientes já
cadastrados, con-forme seja neces-
sário”
58
CADASTRAR CATEGORIA
3. Inserir (Categoria)()
1. Cadastrar Categoria( )
2. Encontrar (Categoria) ()
TEMPO
|Encontrar = “Falso”|
SCRIPT “O usuário cadastra as
categorias con-forme sejam necessárias”
Usuário
Interface : Categoria
59
ALTERAR CATEGORIA
3. Alterar (Categoria) ()
1. Alterar Categoria( )
2. Encontrar (Categoria)()
TEMPO
|Encontrar = “Verdadeiro”|
SCRIPT
“O usuário
altera catego-rias já cadas-tradas confor-me seja neces-
sário”
Usuário
Interface : Categoria
60
EXCLUIR CATEGORIA
3. Excluir (Categoria)()
1. Excluir Cate-goria( )
2. Encontrar (Categoria) ()
TEMPO
|Encontrar = “Verdadeiro”|
SCRIPT
“O usuário exclui a cate-
goria já cadas-trada, confor-me seja neces-
sário” Usuário
Interface : Categoria
61
CONSULTAR CATEGORIA
3. Consultar (Categoria) ()
1. Consultar Categoria( )
2. Encontrar (Categoria) ()
TEMPO
|Encontrar = “Verdadeiro”|
SCRIPT
“O usuário consulta as
categorias já cadastradas, conforme seja necessário” Usuário
Interface : Categoria
62
CADASTRAR FORNECEDOR
3. Inserir (Fornecedor)()
1. Cadastrar Fornecedores( )
2. Encontrar (Fornecedores) ()
TEMPO
|Encontrar = “Falso”|
SCRIPT “O usuário cadastra os
fornecedores conforme seja necessário”
Usuário
Interface : Fornecedores
63
ALTERAR FORNECEDOR
3. Alterar (Fornecedor) ()
1. Alterar Fornecedor( )
2. Encontrar (Fornecedor)()
TEMPO
|Encontrar = “Verdadeiro”|
SCRIPT
“O usuário
altera os for-necedores já cadastrados
conforme seja necessário”
Usuário
Interface : Fornecedor
64
EXCLUIR FORNECEDOR
3. Excluir (Fornecedor)()
1. Excluir For-necedor( )
2. Encontrar (Fornecedor) ()
TEMPO
|Encontrar = “Verdadeiro”|
SCRIPT
“O usuário exclui os for-necedores já cadastrados, conforme seja necessário” Usuário
Interface : Fornecedor
65
CONSULTAR FORNECEDOR
3. Consultar (Fornecedor) ()
1. Consultar Fornecedor( )
2. Encontrar (Fornecedor) ()
TEMPO
|Encontrar = “Verdadeiro”|
SCRIPT
“O usuário consulta os
fornecedores já cadastrados, conforme seja necessário” Usuário
Interface : Fornecedor
66
CADASTRAR UNIDADE
3. Inserir (Unidade)()
1. Cadastrar Unidade( )
2. Encontrar (Unidade) ()
TEMPO
|Encontrar = “Falso”|
SCRIPT “O usuário cadastra as
unidades con-forme seja ne-
cessário”
Usuário
Interface : Unidade
67
ALTERAR UNIDADE
3. Alterar (Unidade) ()
1. Alterar Unidade( )
2. Encontrar (Unidade)()
TEMPO
|Encontrar = “Verdadeiro”|
SCRIPT
“O usuário
altera as uni-dades já cadas-tradas confor-me seja neces-
sário”
Usuário
Interface : Unidade
68
EXCLUIR UNIDADE
3. Excluir (Unidade)()
1. Excluir Uni-dade( )
2. Encontrar (Unidade) ()
TEMPO
|Encontrar = “Verdadeiro”|
SCRIPT
“O usuário exclui as uni-
dades já cadas-trada, confor-me seja neces-
sário” Usuário
Interface : Unidade
69
CONSULTAR UNIDADE
3. Consultar (Unidade) ()
1. Consultar Unidade( )
2. Encontrar (Unidade) ()
TEMPO
|Encontrar = “Verdadeiro”|
SCRIPT
“O usuário consulta as unidades já cadastrados, conforme seja necessário” Usuário
Interface : Unidade
70
CADASTRAR ITEM
3. Inserir (Item)()
1. Cadastrar Item( )
2. Encontrar (Item) ()
TEMPO
|Encontrar = “Falso”|
SCRIPT “O usuário cadastra os
finais conforme seja necessá-
rio”
Usuário
Interface : Item
71
ALTERAR ITEM
3. Alterar (Item) ()
1. Alterar Item( )
2. Encontrar (Item)()
TEMPO
|Encontrar = “Verdadeiro”|
SCRIPT
“O usuário
altera os itens já cadastrados conforme seja necessário”
Usuário
Interface : ITEM
72
EXCLUIR ITEM
3. Excluir (Item)()
1. Excluir Itens( )
2. Encontrar (Iem) ()
TEMPO
|Encontrar = “Verdadeiro”|
SCRIPT
“O usuário exclui os itens já cadastrada, conforme seja necessário”
Usuário
Interface : Item
73
CONSULTAR ITEM
3. Consultar (Item) ()
1. Consultar Item( )
2. Encontrar (Item) ()
TEMPO
|Encontrar = “Verdadeiro”|
SCRIPT
“O usuário consulta os
itens já cadas-trados, con-
forme seja ne-cessário” Usuário
Interface : Itens
74
CADASTRAR NOTA FISCAL
3. Inserir (Nota Fiscal)()
1. Cadastrar Nota Fiscal( )
2. Encontrar (Nota Fiscal) ()
TEMPO
|Encontrar = “Falso”|
SCRIPT “O usuário cadastra as
Notas Fiscais conforme seja necessário”
Usuário
Interface : Nota Fiscal
75
ALTERAR NOTA FISCAL
3. Alterar (Nota Fiscal) ()
1. Alterar Nota Fiscal( )
2. Encontrar (Nota Fiscal)()
TEMPO
|Encontrar = “Verdadeiro”|
SCRIPT
“O usuário
altera as Notas Fiscais já ca-dastradas con-forme seja ne-
cessário”
Usuário
Interface : Nota Fiscal
76
EXCLUIR NOTA FISCAL
3. Excluir (Nota Fiscal)()
1. Excluir Nota Fiscal( )
2. Encontrar (Nota Fiscal) ()
TEMPO
|Encontrar = “Verdadeiro”|
SCRIPT
“O usuário exclui as Notas Fiscais já ca-
dastradas, con-forme seja ne-
cessário” Usuário
Interface : Nota Fiscal
77
CONSULTAR NOTA FISCAL
3. Consultar (Nota Fiscal) ()
1. Consultar Nota Fiscal( )
2. Encontrar (Nota Fiscal) ()
TEMPO
|Encontrar = “Verdadeiro”|
SCRIPT
“O usuário consulta as
notas fiscais já cadastrados, conforme seja necessário” Usuário
Interface : Nota Fiscal
78
CADASTRAR ENTRADA
3. Inserir (Entrada)()
1. Cadastrar Entrada( )
2. Encontrar (Entrada) ()
TEMPO
|Encontrar = “Falso”|
SCRIPT “O usuário cadastra as
entradas con-forme seja ne-
cessário”
Usuário
Interface : Entrada
79
EXCLUIR ENTRADA
3. Excluir (Entrada)()
1. Excluir Entrada( )
2. Encontrar (Entrada) ()
TEMPO
|Encontrar = “Verdadeiro”|
SCRIPT
“O usuário exclui as en-tradas já ca-
dastrada, con-forme seja ne-
cessário” Usuário
Interface : Entrada
80
CONSULTAR ENTRADA
3. Consultar (Entrada) ()
1. Consultar Entrada( )
2. Encontrar (Entrada) ()
TEMPO
|Encontrar = “Verdadeiro”|
SCRIPT
“O usuário consulta as entradas já
cadastrados, conforme seja necessário” Usuário
Interface : Entrada
81
CADASTRAR SAÍDA
3. Inserir (Saída)()
1. Cadastrar Saída( )
2. Encontrar (Saída) ()
TEMPO
|Encontrar = “Falso”|
SCRIPT “O usuário cadastra as
saídas confor-me seja neces-
sário”
Usuário
Interface : Saídas
82
EXCLUIR SAÍDA
3. Excluir (Saída)()
1. Excluir Saída( )
2. Encontrar (Saída) ()
TEMPO
|Encontrar = “Verdadeiro”|
SCRIPT
“O usuário exclui as saí-das já cadas-trada, confor-me seja neces-
sário” Usuário
Interface : Saída
83
CONSULTAR SAÍDA
3. Consultar (Saída) ()
1. Consultar Saída( )
2. Encontrar (Saída) ()
TEMPO
|Encontrar = “Verdadeiro”|
SCRIPT
“O usuário consulta as
saídas já ca-dastrados, con-forme seja ne-
cessário” Usuário
Interface : Saída
84
Anexo 4 – Dicionário de Dados Nome da Tabela: Categoria Chaves Nome Tipo Tamanho Observações PK IDCategoria Integer Auto incremento Categoria Varchar 30 Nome da Categoria Descrição Varchar 256 Descrição da Categoria DCadCat Datetime 8 Data de cadastro de Categoria DAltCat Datetime 8 Data de alteração do cadastro HAltCad Datetime 8 Hora de alteração do cadastro Usuario Varchar 40 Usuário que efetuou o cadastro Nome da Tabela: Unidade Chaves Nome Tipo Tamanho Observações PK IDUnidade Integer Auto incremento Unidade Varchar 40 Nome da Unidade Descrição Varchar 256 Descrição da Unidade DCadUni Datetime 8 Data de cadastro de Unidade DAltUni Datetime 8 Data de alteração do cadastro HAltUni Datetime 8 Hora de alteração do cadastro Usuario Varchar 50 Usuário que efetuou o cadastro Nome da Tabela: Marca Chaves Nome Tipo Tamanho Observações PK IDMarca Integer Auto incremento Marca Varchar 30 Nome da Marca Fabricante Varchar 50 Nome do Fabricante DCadMar Datetime 8 Data de cadastro da Marca DAltMar Datetime 8 Data de alteração do cadastro HAltMar Datetime 8 Hora de alteração do cadastro Usuario Varchar 50 Usuário que efetuou o cadastro Nome da Tabela: Produto Chaves Nome Tipo Tamanho Observações PK IDProduto Integer Auto incremento FK IDUnidade Varchar 30 Chave estrangeira da Unidade FK IDFornecedor Varchar 50 Chave estrangeira do Fornecedor FK IDMarca Datetime 8 Chave estrangeira da Marca Nome_Produto Datetime 8 Nome do Produto Desc_Produto Datetime 8 Descrição do Produto Cod_Produto Varchar 30 Código interno do Produto EstMax Integer Estoque Máximo EstMin Integer Estoque Mínimo StsProduto Bit 1 Status do Produto (Ativo/Inativo) Diretório Varchar 50 Diretório da Imagem do Produto DCadPro Datetime 8 Data de cadastro do Produto DAltPro Datetime 8 Data de alteração do cadastro HAltPro Datetime 8 Hora de alteração do cadastro Usuario Varchar 50 Usuário que efetuou o cadastro
85
Nome da Tabela: Fornecedor Chaves Nome Tipo Tamanho Observações PK IDFornecedor Integer Auto incremento FK IDCategoria Integer Chave estrangeira da Categoria Cidade Varchar 30 Cidade do Fornecedor UF Varchar 2 Unidade Federativa Telefone Varchar 15 Telefone do Fornecedor Fax Varchar 15 Fax do Fornecedor Email Varchar 50 Email Web Varchar 50 Home site Contato Varchar 50 Nome do contato na empresa Status Bit 1 Status do Produto (Ativo/Inativo) DCadFor Datetime 8 Data de cadastro do Fornecedor DAltFor Datetime 8 Data de alteração do cadastro HAltFor Datetime 8 Hora de alteração do cadastro Usuario Varchar 50 Usuário que efetuou o cadastro Nome da Tabela: Saldo Chaves Nome Tipo Tamanho Observações FK IDProduto Integer Chave estrangeira do Produto Saldo Integer Saldo atual SaldoAnterior Integer Saldo anterior DCad Datetime 8 Data de cadastro do Saldo DAlt Datetime 8 Data de alteração do cadastro HAlt Datetime 8 Hora de alteração do cadastro Usuario Varchar 50 Usuário que efetuou o cadastro Nome da Tabela: Usuários Chaves Nome Tipo Tamanho Observações PK IDUsuario Integer Auto incremento FK Nome_Usuario Integer Nome do Usuário Login Varchar 20 Login do Usuário Senha Varchar 6 Senha do Usuário Todos Bit 1 Acesso a todos os cadastros Clientes Bit 1 Acesso ao cadastro de Clientes Entrada Bit 1 Acesso ao cadastro de Entrada Nota Bit 1 Acesso ao cadastro de Notas Saída Bit 1 Acesso ao cadastro de Saída Fornecedor Bit 1 Acesso ao cadastro de Fornecedor Marca Bit 1 Acesso ao cadastro de Marcas Categoria Bit 1 Acesso ao cadastro de Categorias Unidade Bit 1 Acesso ao cadastro de Unidades Usuários Bit 1 Acesso ao cadastro de Usuários Produtos Bit 1 Acesso ao cadastro de Produtos Dados Bit 1 Acesso ao cadastro de Dados Relatório Bit 1 Acesso a todos os Relatórios RelEntrada Bit 1 Acesso ao relatório de Entrada
86
RelSaida Bit 1 Acesso ao relatório de Saída RelFornecedor Bit 1 Acesso ao relatório de Fornecedor RelEstMin Bit 1 Acesso ao relatório de Est. Mín. RelProduto Bit 1 Acesso ao relatório de Produtos RelSaldo Bit 1 Acesso ao relatório de Saldo Atual RelProdDestino Bit 1 Acesso ao relatório de Prod./Dest. DCadUsu Datetime 8 Data de cadastro do Usuários DAltUsu Datetime 8 Data de alteração do cadastro HAltUsu Datetime 8 Hora de alteração do cadastro Usuario Varchar 50 Usuário que efetuou o cadastro Nome da Tabela: Login Chaves Nome Tipo Tamanho Observações PK IDLogin Integer Auto incremento FK IDUsuario Integer Chave estrangeira de Usuário DLogin Integer Data de Login HLogin Money Hora de Login Nome da Tabela: Saída Chaves Nome Tipo Tamanho Observações PK IDSaida Integer Auto incremento FK IDProduto Integer Chave estrangeira de Produto DSaida Datetime 8 Data de saída Quant_Saida Integer Quantidade de Saída Situacao Varchar 50 Motivo da Saída Destino Varchar 50 Destino do Produto Requisição Integer Número da requisição DCadSai Datetime 8 Data de cadastro da Saída DAltSai Datetime 8 Data de alteração do cadastro HAltSai Datetime 8 Hora de alteração do cadastro Usuario Varchar 50 Usuário que efetuou o cadastro Nome da Tabela: Cliente Chaves Nome Tipo Tamanho Observações PK IDCliente Integer Auto incremento Nome Varchar 50 Nome do Cliente Endereco Varchar 30 Endereço do Cliente Bairro Varchar 30 Bairro do endereço CEP Varchar 9 CEP Complemento Varchar 50 Complemento do endereço Comercial Varchar 15 Telefone comercial Fax Varchar 15 Número do fax Celular Varchar 15 Número do celular Observação Varchar 256 Obs. Geral Email Varchar 30 E-mail do Cliente DCad Datetime 8 Data de cadastro do Cliente DAlt Datetime 8 Data de alteração do cadastro HAlt Datetime 8 Hora de alteração do cadastro
87
Usuario Varchar 50 Usuário que efetuou o cadastro Nome da Tabela: Nota Fiscal Chaves Nome Tipo Tamanho Observações PK IDNF Integer Auto incremento FK IDFornecedor Integer Chave estrangeira do Fornecedor Valor_Total Money Valor total da Nota Fiscal Valor_Imposto Money Valor do Imposto Valor_Frete Money Valor do Frete NrNotaFiscal Integer Número da Nota Fiscal DCadNF Datetime 8 Data de cadastro da Nota Fiscal DAltNF Datetime 8 Data de alteração do cadastro HAltNF Datetime 8 Hora de alteração do cadastro Usuario Varchar 50 Usuário que efetuou o cadastro Nome da Tabela: Item Chaves Nome Tipo Tamanho Observações PK IDItem Integer Auto incremento FK IDProduto Integer Chave estrangeira do Produto IDNF Integer Chave estrangeira da Nota Fiscal Discriminacao Varchar 40 Discriminação da Nota Fiscal Quantidade Integer Quantidade do produto Unitario Money Valor Unitário Total Money Valor Total DCad_Item Datetime 8 Data de cadastro do Item DAlt_Item Datetime 8 Data de alteração do cadastro HAlt_Item Datetime 8 Hora de alteração do cadastro Usuario Varchar 50 Usuário que efetuou o cadastro Nome da Tabela: Dados Chaves Nome Tipo Tamanho Observações PK IDDados Integer Auto incremento Dados_Fantasia Varchar 50 Nome Fantasia da empresa Dados_Razao Varchar 50 Razão Social da empresa Dados_Telefone Varchar 12 Telefone da empresa Dados_Fax Varchar 12 Fax da empresa Dados_Cidade Varchar 20 Cidade da empresa Dados_UF Varchar 2 Unidade Federativa da empresa Dados_Endereco Varchar 50 Endereço da empresa Dados_Numero Varchar 6 Número do endereço Dados_Complemento Varchar 30 Complemento Dados_Bairro Varchar 30 Bairro da empresa Dados_CPF Varchar 18 CPF Dados_CNPJ Varchar 14 CNPJ
88
REFERÊNCIA BIBLIOGRÁFICA
TAVARES, Carlos. UML - Interações . Disponível em
http://www.inf.ucp.br/profs/tavares/2001_02/aula06/18. Acessado em 28/08/2005.
JORGE, Rodrigo Funabashi. Introdução a Análise Orientada a Objetos Uti-
lizando UML – Unified Modeling Language. Disponível em http://www.usc.edu.br/rodrigoj/aulas/Seminarios/Apostila%20sobre%20An%E1lise%20Orientada%20a%20Objetos.pdf. Acessado em 28/08/2004.
MELO, Ana Cristina. Buscando novos caminhos por meio da UML. Dispo-
nível em http://www.linhadecodigo.com.br/artigos.asp?id_ac=76&sub=0,
Acessado em 10/09/2005.
CAMARGO, Vicente Paulo de – Microsoft Visual Basic 6.0 . Goiânia: Editora
Terra.
SILER, Brian; SPOTTS Jeff. Usando Especial Visual Basic 6.0 – A fonte de
referencia para soluções abrangentes. Rio de Janeiro: Campos, 1999.
GRIVER, Alan Yair et al. Visual Basic para UML - Guia do programador e
padrões de design. São Paulo: Market Books, 2000.
PRETOUTSOS, Evangelus. Dominando o Visual Basic 6 - “A Bíblia”. São
Paulo: Makron Books, 1999.
Top Related