Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Análise e Desenvolvimento de Sistemas
Semipresencial
Kaue Vieira da Luz
Projeto integrado inovação – ADS
Análise e Desenvolvimento de
sistemas
São Paulo-SP 2024
Kaue Vieira da luz
Projeto integrado inovação - ADS
Sistema de Gerenciamento de Estoque
Trabalho apresentado à Universidade, como
requisito parcial para a obtenção de média
semestral nas disciplinas norteadoras do
semestre letivos :
Tutor: Rogian
São Paulo 2024
Sumário
1 - INTRODUÇÃO ....................................................................................................... 4
2 - Métodos e resultados .......................................................................................... 6
2.1 Passo 1 ................................................................................................................. 6
2.2 Passo 2 ............................................................................................................... 10
3 - ESTRUTURA DE DADOS E aLGORITMOS ....................................................... 12
4 - Diagrama de Casos de Uso para o sistema de gerenciamento de estoque .. 16
5 - Conclusão ........................................................................................................... 18
1 - INTRODUÇÃO
A gestão de estoque é o conjunto de práticas que visa gerenciar os produtos e
materiais de uma empresa, desde a compra até a venda. Tem como objetivo atender
a demanda do mercado, diminuir as perdas e desperdícios, e aumentar o lucro da
organização.
Com o avanço da tecnologia, muitos softwares estão sendo criadas para fazer
o controle e gestão de estoque, é essencial para as empresas este tipo de software
que auxilia no armazenamento do seu estoque, pois uma gestão eficiente do estoque
se destaca como um dos mais críticos.
Uma gestão inadequada do estoque pode resultar em diversos problemas,
incluindo a falta de produtos disponíveis para venda, excesso de itens armazenados
sem demanda, e dificuldades para rastrear a localização dos produtos nos depósitos.
Uma empresa de comércio eletrônico com grande crescimento e expansão
enfrenta desafios com o seu sistema de gerenciamento de estoque. Para solucionar
esses desafios e para criar condições mais favoráveis para as operações, a empresa
decidiu desenvolver um Sistema de Gerenciamento de Estoque. O sistema proposto
visa proporcionar uma solução integrada e eficiente para a gestão de produtos, desde
o cadastro até o rastreamento de sua localização nos depósitos. A situação problema
definida para este projeto engloba os seguintes requisitos essenciais:
Cadastro de Produtos: O sistema deve permitir o cadastro de novos produtos,
incluindo informações como nome, categoria, quantidade em estoque, preço e
localização no depósito.
Atualização de Estoque: O sistema deve permitir a atualização precisa da
quantidade de produtos em estoque, tanto para novos itens recebidos quanto para
produtos vendidos.
Rastreamento de Localização: O sistema deve permitir a atualização da
quantidade de produtos dentro dos depósitos para facilitar a logística.
Relatórios: O sistema deve gerar relatórios sobre o estado do estoque,
destacando produtos com estoque baixo, excesso de estoque e movimentação de
produtos.
Além desses requisitos funcionais, o desenvolvimento do sistema incluirá a
criação de uma Tabela Verdade, que definirá as combinações de valores (True e
False) para as variáveis booleanas da situação problema, garantindo a lógica correta
do sistema. Também será elaborado um Diagrama de Caso de Uso para representar
visualmente as interações dos usuários com o sistema e os principais casos de uso.
O objetivo deste Projeto Integrado de Análise e Desenvolvimento de Sistemas
é, portanto, é desenvolver um sistema de gerenciamento de estoque que otimize suas
operações, melhorando a eficiência e a precisão na gestão de produtos.
A gestão de estoque é o processo de planejamento, execução e controle dos
recursos armazenados em uma empresa. Ela é responsável por analisar e controlar a
entrada, saída e movimentação de mercadorias
Neste trabalho, vai ser apresentado uma solução robusta e eficaz que não
apenas resolva os problemas atuais da empresa de comércio eletrônico, mas também
prepare a organização para um crescimento sustentável e escalável. Através de uma
abordagem metodológica bem estruturada e a aplicação de boas práticas de
desenvolvimento de software, o sistema de gerenciamento de estoque será uma
ferramenta essencial para a otimização das operações logísticas da empresa,
promovendo uma gestão mais precisa e eficiente do seu estoque.
2 - MÉTODOS E RESULTADOS
2.1 PASSO 1
Sprint 1: Planejamento e Definição de Requisitos
Objetivo: Definir requisitos e planejar o desenvolvimento do sistema.
Duração: 2 semanas
Figura 1 – Sprint 1.
Sprint 2: Estruturação e Modelagem de Dados
Objetivo: Definir a estrutura de dados e modelar o banco de dados.
Duração: 2 semanas
Figura 2 – Sprint 2.
Sprint 3: Desenvolvimento do Cadastro de Produtos
Objetivo: Implementar o módulo de cadastro de produtos.
Duração: 3 semanas
Figura 3 – Sprint 3.
Sprint 4: Desenvolvimento da Atualização de Estoque
Objetivo: Implementar o módulo de atualização de estoque.
Duração: 3 semanas
Figura 4 – Sprint 4.
Sprint 5: Desenvolvimento do Rastreamento de Localização
Objetivo: Implementar o módulo de rastreamento de localização de
produtos.
Duração: 3 semanas
Figura 5 – Sprint 5.
Sprint 6: Desenvolvimento de Relatórios
Objetivo: Implementar o módulo de geração de relatórios.
Duração: 3 semanas
Figura 6 – Sprint 6.
Sprint 7: Testes Finais e Deploy
Objetivo: Realizar testes finais e implantar o sistema.
Duração: 2 semanas
Figura 7 – Sprint 7.
2.2 PASSO 2
Definimos as seguintes variáveis booleanas para os requisitos:
P (Cadastro de Produtos)
E (Atualização de Estoque)
L (Rastreamento de Localização)
R (Relatórios)
A coluna "Solução Completa" será verdadeira (T) apenas quando todas as
variáveis (P, E, L, R) forem verdadeiras, ou seja, todos os requisitos forem atendidos.
A expressão lógica que representa a solução completa (todos os requisitos atendidos)
é: P /\ E /\ L /\ R
A operação lógica "E" (AND) é representada por “/\”.
Conforme Tabela 1:
Tabela verdade.
P
(cadastro)
E
(atualização)
L
(localização)
R
(relatórios)
Solução
completa
F F F F F
F F F T F
F F T F F
F F T T F
F T F F F
F T F T F
F T T F F
F T T T F
T F F F F
T F F T F
T F T F F
T F T T F
T T F F F
T T F T F
T T T F F
T T T T T
Interpretação:
P (Produtos): Verdadeiro (T) se o sistema permite o cadastro de novos
produtos.
E (Estoque): Verdadeiro (T) se o sistema permite a atualização da quantidade
de produtos em estoque.
L (Localização): Verdadeiro (T) se o sistema possibilita o rastreamento da
localização dos produtos.
R (Relatórios): Verdadeiro (T) se o sistema gera relatórios sobre o estado do
estoque.
A coluna "Solução Completa" indica se todos os requisitos são atendidos. Será
verdadeira (T) apenas quando P, E, L e R forem todos verdadeiros, isto é, todos os
requisitos do sistema forem implementados e funcionais.
3 – ESTRUTURA DE DADOS E ALGORITMOS
Criam-se as funções para definição das estruturas de dados, bem como
algoritmos de cadastro e consulta dos produtos, movimentações de estoque e
relatórios.
Estruturas para Produtos, Categorias e Movimentações:
produtos = []
categorias = []
movimentacoes = []
#cadastrar
Produtos
def cadProduto(id_produto, nome, categoria, quantidade, preco, localizacao):
novo_produto = {
'id_produto': id_produto,
'nome' : nome,
'categoria' : categoria,
'quantidade': quantidade,
'preco': preco,
'localizacao' : localizacao
}
produtos.append(novo_produto)
print('Cadastrado com sucesso')
print('Cadastro de Produtos: ')
cadProduto(1, 'Sapato', 'Calçado', 10, 500, 'corredor central')
cadProduto(5,'Camiseta', 'Roupas',5,150, 'corredor laranja' )
print('-=-' * 30)
#Cadastrar categorias
def cadCategoria(id_categoria, nome):
nova_categoria = {
'id_categoria' : id_categoria,
'nome' : nome
}
categorias.append(nova_categoria)
print('Cadastro de categoria: ')
print('Categoria cadastrada com sucesso')
print('-=-' * 30)
cadCategoria(50,'calçado')
'''print(produtos)
print(categorias)'''
#Consultar Produtos
def consultarProduto(id_produto):
for produto in produtos: # FOR(para cada) produto IN(dentro) produto
if produto['id_produto'] == id_produto:
return produto
return 'Produto não encontrado.'
produto_encontrado = consultarProduto(1)
print('Consulta de produto: ')
print(produto_encontrado)#saída: dicionário do produto cadastrado
print('-=-'* 30)
#Consultar categorias
def consultarCategoria(id_categoria):
for categoria in categorias:
if categoria['id_categoria'] == id_categoria:
return categoria
return 'Categoria não encontrada'
categoria_encontrada = consultarCategoria(50)
print('Consulta de categoria:')
print(categoria_encontrada)
print('-=-' * 30)
#funções para registrar entradas e saídas de produtos
def registrar_Monvimentacao(id_produto, tipo, quantidade):
produto = consultarProduto(id_produto)
if produto == 'Produto não encontrado.':
print(produto)
return
if tipo not in ['entrada', 'saida']:
raise ValueError('Tipo de movimentação inválida.')
if tipo == 'saida':
if produto['quantidade']