Prévia do material em texto
ANHANGUERA
PROJETO INTEGRADO INOVAÇÃO – ADS
ANÁLISE E DESENVOLVIMENTO DE SISTEMAS
João Victor
Trabalho apresentado como parte dos requisitos para a obtenção da média semestral
Orientador: Prof . Dorival Magro Junior
Londrina/PR – 2024
Sumário
1. INTRODUÇÃO 3
2. MÉTODOS E RESULTADOS 4
2.1 Passo 1 4
2.2 Passo 2 8
2.3 Passo 3 10
2.4 Passo 4 15
2.5 Testes de Funcionalidade e Resultados 18
3. Conclusão 19
REFERÊNCIAS BIBLIOGRÁFICAS 20
1. INTRODUÇÃO
O crescimento acelerado das empresas de comércio eletrônico traz uma série de desafios operacionais, entre os quais a gestão eficiente do estoque se destaca como um dos mais críticos. Uma administração inadequada do estoque pode levar a diversos problemas, como a falta de produtos disponíveis para venda, o acúmulo de itens sem demanda e a dificuldade em rastrear a localização dos produtos nos depósitos. Esses problemas não apenas comprometem a eficiência operacional da empresa, mas também afetam diretamente a satisfação do cliente, impactando a competitividade no mercado.
Neste cenário, uma empresa de comércio eletrônico em franca expansão enfrenta esses desafios de forma premente. Para superá-los e otimizar suas operações, a organização decidiu desenvolver um Sistema de Gerenciamento de Estoque. O sistema proposto visa fornecer uma solução integrada e eficiente para a gestão de produtos, abarcando desde o cadastro até o rastreamento de sua localização nos depósitos. Os requisitos essenciais definidos para este projeto incluem:
· Cadastro de Produtos: O sistema deve permitir o cadastro de novos produtos, com informações detalhadas como nome, categoria, quantidade em estoque, preço e localização no depósito. Esse recurso é fundamental para garantir a organização e facilitar o acesso às informações dos produtos.
· Atualização de Estoque: O sistema deve possibilitar a atualização precisa da quantidade de produtos em estoque, tanto para novos itens recebidos quanto para produtos vendidos. A atualização em tempo real é crucial para manter o controle exato do inventário.
· Rastreamento de Localização: Para otimizar a logística, o sistema deve permitir o rastreamento da localização dos produtos dentro dos depósitos. Esse recurso ajudará a agilizar os processos de armazenamento e retirada de produtos.
· Relatórios: O sistema deve gerar relatórios detalhados sobre o estado do estoque, destacando produtos com baixo estoque, excesso de itens e movimentação dos produtos. Relatórios informativos são essenciais para a tomada de decisões estratégicas.
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, assegurando 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 é criar uma solução robusta e eficaz que não apenas resolva os problemas atuais da empresa, mas também prepare a organização para um crescimento sustentável e escalável. Por meio de uma abordagem metodológica bem estruturada e da 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 os requisitos e planejar o desenvolvimento do sistema.
· Duração: 1 semanas
· FIGURA 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 3: Desenvolvimento do Cadastro de Produtos
· Objetivo: Implementar o módulo de cadastro de produtos.
· Duração: 2 semanas
· FIGURA 3
·
·
Sprint 4: Desenvolvimento da Atualização de Estoque
· Objetivo: Implementar o módulo de atualização de estoque.
· Duração: 2 semanas
· FIGURA 4
·
Sprint 5: Desenvolvimento do Rastreamento de Localização
· Objetivo: Implementar o módulo de rastreamento de localização de produtos.
· Duração: 2 semanas
· FIGURA 5
·
Sprint 6: Desenvolvimento de Relatórios
· Objetivo: Implementar o módulo de geração de relatórios.
· Duração: 2 semanas
· FIGURA 6
·
Sprint 7: Testes Finais e Deploy
· Objetivo: Realizar testes finais e implantar o sistema.
· Duração: 1 semanas
FIGURA 7
2.2 Passo 2
Para os requisitos do sistema, definimos as seguintes variáveis booleanas:
· P: Cadastro de Produtos
· E: Atualização de Estoque
· L: Rastreamento de Localização
· R: Relatórios
A coluna "Solução Completa" será considerada verdadeira (T) apenas quando todas as variáveis (P, E, L, R) forem verdadeiras, ou seja, quando todos os requisitos forem atendidos. A expressão lógica que representa a solução completa é: P /\ E /\ L /\ R, onde a operação lógica "E" (AND) é simbolizada por “/\”.
Tabela 1 – Tabela Verdade Criada
P
E
L
R
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 possibilita a atualização da quantidade de produtos em estoque.
· L (Localização): Verdadeiro (T) se o sistema permite 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 e será verdadeira (T) apenas quando P, E, L e R forem todos verdadeiros.
2.3 Passo 3
Neste passo, foram definidas as funções para as estruturas de dados, além de algoritmos para cadastro e consulta de produtos, movimentações de estoque e geração de relatórios.
Essas estruturas e algoritmos estabelecem a base para a implementação do sistema de gerenciamento de estoque, permitindo o cadastro e consulta eficiente de produtos e categorias, bem como o acompanhamento das movimentações de estoque e a geração de relatórios.
# Estruturas para Produtos, Categorias e Movimentações
# Estrutura de Dados para Produtos
class Produto:
def __init__(self, id_produto, nome, categoria, quantidade, preco, localizacao):
self.id_produto = id_produto
self.nome = nome
self.categoria = categoria
self.quantidade = quantidade
self.preco = preco
self.localizacao = localizacao
# Estrutura de Dados para Categorias
class Categoria:
def __init__(self, id_categoria, nome):
self.id_categoria = id_categoria
self.nome = nome
# Estrutura de Dados para Movimentações de Estoque
class Movimentacao:
def __init__(self, id_movimentacao, id_produto, tipo, quantidade, data):
self.id_movimentacao = id_movimentacao
self.id_produto = id_produto
self.tipo = tipo # 'entrada' ou 'saida'
self.quantidade = quantidade
self.data = data
# Algoritmos de Cadastro e Consulta
# Dicionários e listas para armazenar produtos, categorias e movimentações
produtos = {}
categorias = {}
movimentacoes = []
# Contadores para IDs
id_produto_counter = 1
id_categoria_counter = 1
id_movimentacao_counter = 1
# Funções para Cadastro de Categorias
def cadastrar_categoria(nome):
global id_categoria_counter
categoria = Categoria(id_categoria_counter, nome)
categorias[id_categoria_counter] = categoria
id_categoria_counter += 1
return categoria
# Funções para Cadastro de Produtos
def cadastrar_produto(nome, id_categoria, quantidade, preco, localizacao):
global id_produto_counter
if id_categoria not in categorias:
raise ValueError("Categoria não encontrada.")produto = Produto(id_produto_counter, nome, id_categoria, quantidade, preco, localizacao)
produtos[id_produto_counter] = produto
id_produto_counter += 1
return produto
# Funções para Consulta de Produtos
def consultar_produto(id_produto):
return produtos.get(id_produto, "Produto não encontrado.")
# Funções para Consulta de Categorias
def consultar_categoria(id_categoria):
return categorias.get(id_categoria, "Categoria não encontrada.")
# Algoritmos de Movimentação
# Funções para Registrar Entradas e Saídas de Produtos
def registrar_movimentacao(id_produto, tipo, quantidade, data):
global id_movimentacao_counter
if id_produto not in produtos:
raise ValueError("Produto não encontrado.")
if tipo not in ['entrada', 'saida']:
raise ValueError("Tipo de movimentação inválido.")
produto = produtos[id_produto]
if tipo == 'saida' and produto.quantidadeinterdisciplinar e colaborativa na resolução de problemas complexos.
REFERÊNCIAS BIBLIOGRÁFICAS
TRELLO : https://trello.com/
GOOGLE CLOUD SHELL EDITYOR: https://console.cloud.google.com/
ONLINE VISUAL PARADIGM : https://online.visual-paradigm.com/
BORGES, L. E. Python para Desenvolvedores. Rio de Janeiro. Edição do Autor, 2010.
MENEZES, N. N. C. Introdução a Programação com Python: Algoritmos e Lógica de Programação para Iniciantes. São Paulo. Novatec, 2010.
image3.png
image4.png
image5.png
image6.png
image7.png
image8.png
image1.png
image2.png