Logo Passei Direto
Buscar

PROJETO INTEGRADO INOVAÇÃO - ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

User badge image
Junior Reis

em

Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

UNOPAR - APUCARANA 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Mauricio Marcos Montenegro Dos Reis Junior 
RA 3834370202 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS 
PORTFÓLIO – RELATÓRIO DE AULA PRÁTICA: 
PROJETO INTEGRADO INOVAÇÃO - ANÁLISE E 
DESENVOLVIMENTO DE SISTEMAS 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
PORTFÓLIO – RELATÓRIO DE AULA PRÁTICA 
 
 
Projeto Integrado Inovação - Análise e Desenvolvimento 
de Sistemas 
Mauricio Marcos Montenegro dos Reis Junior 
RA 3834370202 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2024 
Manaus / AM 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Trabalho de portfólio apresentado 
como requisito parcial para a obtenção de pontos para a 
média semestral. 
 
 
 
2024 
 
 Manaus / Am 
 
 SUMÁRIO 
1 INTRODUÇÃO ......................................................................................................... 3 
2 DESENVOLVIMENTO .............................................. Erro! Indicador não definido. 
3 CONCLUSÃO..........................................................................................................17 
4 REFERENCIAS.......................................................................................................18 
 3 
1 INTRODUÇÃO 
 
O rápido avanço das empresas de comércio eletrônico traz consigo 
diversos desafios operacionais, sendo a gestão eficiente de estoque um dos mais 
relevantes. Uma administração inadequada do estoque pode gerar uma série de 
problemas, como a indisponibilidade de produtos para venda, acúmulo de itens sem 
demanda, além de dificuldades para localizar os produtos nos depósitos. Esses 
obstáculos comprometem não só a eficiência operacional, mas também afetam 
diretamente a satisfação dos clientes, impactando a competitividade da empresa no 
mercado. 
 Nesse cenário, uma empresa de e-commerce em rápida expansão 
está enfrentando esses mesmos desafios. Para solucionar essas questões e melhorar 
suas operações, a organização decidiu criar um Sistema de Gerenciamento de 
Estoque. O sistema proposto busca oferecer uma solução integrada e eficaz para o 
controle dos produtos, abrangendo desde o cadastro até o monitoramento da 
localização nos depósitos. 
 O objetivo deste Projeto Integrado de Análise e Desenvolvimento de 
Sistemas é desenvolver uma solução robusta e eficiente, capaz de não apenas 
resolver os problemas atuais da empresa, mas também preparar o negócio para um 
crescimento sustentável e escalável. Utilizando uma abordagem metodológica bem 
definida e aplicando boas práticas de desenvolvimento de software, o sistema de 
gerenciamento de estoque será uma ferramenta fundamental para otimizar as 
operações logísticas, proporcionando uma gestão mais precisa e eficiente dos 
estoques. 
 
 
 
 
 
 
 
 4 
2 DESENVOLVIMENTO 
2.1 PASSO 1 
 
Sprint 1: Planejamento e Definição de requisitos. 
Objetivo: Definir requisitos e planejar o desenvolvimento dos sistemas, duração 
2 semanas. 
Fonte: próprio autor 
 
Sprint 2: 
Fonte: próprio autor 
 
 5 
Sprint 3: Desenvolvimento do cadastro de produtos. 
Objetivo: Implementar o módulo de cadastro de produtos, duração 3 semanas. 
 
Fonte: próprio autor 
 
Sprint 4: Desenvolvimento da Atualização de estoque. 
Objetivo: Implementar o módulo de atualização de estoque, duração 3 semanas. 
 
Fonte: próprio autor 
 
 6 
Sprint 5: Desenvolvimento do rastreamento de localização. 
Objetivo: Implementar o módulo de rastreamento de localização de produtos, duração 
3 semanas. 
 
Fonte: próprio autor 
 
Sprint 6: Desenvolvimento de Relatórios. 
Objetivo: Implementar o módulo de geração de relatórios, duração 3 semanas. 
 
Fonte: próprio autor 
 
 
 7 
Sprint 7:Testes Finais e Deploy. 
Objetivo: Realizar testes finais e implantar o sistema, duração 2 
semanas. 
Fonte: próprio autor 
 
2.2 PASSO 2 
Foi definido as 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 logica que representa a solução completa (todos os requisitos 
atendidos) é: P/\E/\L/\R. 
A Operação lógica E (AND) é representada por ‘‘/\’’. Conforme a tabela: 
 
 
 
 8 
Fonte: próprio autor 
Interpretação: 
 
P (Produtos): Verdadeiro (V) se o sistema permite a inclusão de 
novos itens de produtos. 
E (Estoque): Verdadeiro (V) se o sistema possibilita a atualização 
das quantidades de produtos disponíveis. 
L (Localização): Verdadeiro (V) se o sistema oferece a função de 
rastrear a posição dos produtos. 
R (Relatórios): Verdadeiro (V) se o sistema permite a geração de 
relatórios sobre o status do inventário. 
 
2.3 PASSO 3 
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: 
 
# Estrutura de Dados para Produtos 
class Produto: 
 9 
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: 
 
Funções para Cadastro de Produtos e Categorias: 
 
produtos = {} 
categorias = {} 
movimentacoes = [] 
Id_produto_counter = 1 
id_categoria_counter = 1 
 10 
id_movimentacao_counter = 1 
 
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 
 
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 
 
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 
 11 
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.quantidadeid_produto, tipo, quantidade, data) 
movimentacoes.append(movimentacao) 
id_movimentacao_counter += 1 
return movimentacao 
 
 
Relatórios e Consultas: Funções para Gerar Relatórios e 
Consultar o Histórico de Movimentações: 
 
def gerar_relatorio_estoque(): 
relatorio = [] 
for id_produto, produto in produtos.items(): 
relatorio.append({ 
'id_produto': id_produto, 
'nome': produto.nome, 
'categoria': categorias[produto.categoria].nome, 
'quantidade': produto.quantidade, 
'preco': produto.preco, 
'localizacao': produto.localizacao 
 12 
}) return relatorio 
 
 
def consultar_movimentacoes(id_produto): 
if id_produto not in produtos: 
raise ValueError("Produto não encontrado.") 
historico = [mov for mov in movimentacoes if mov.id_produto == 
id_produto] 
return historico 
 
def gerar_relatorio_movimentacoes(): 
relatorio = [] 
for mov in movimentacoes: 
relatorio.append({ 
'id_movimentacao': mov.id_movimentacao, 
'id_produto': mov.id_produto, 
'nome_produto': produtos[mov.id_produto].nome, 
'tipo': mov.tipo, 
'quantidade': mov.quantidade, 
'data': mov.data 
}) 
return relatorio 
 
Exemplo de Uso: 
 
# Cadastro de categorias 
cat1 = cadastrar_categoria("Eletrônicos") 
cat2 = cadastrar_categoria("Livros") 
 
# Cadastro de produtos 
 
prod1 = cadastrar_produto("Smartphone", cat1.id_categoria, 100, 
1500.00, "A1") prod2 = cadastrar_produto("Livro de Python", cat2.id_categoria, 50, 
70.00, "B2") 
 13 
# Registrar movimentações 
 
mov1 = registrar_movimentacao(prod1.id_produto, 'entrada', 50, 
"2024-06-25") 
mov2 = registrar_movimentacao(prod2.id_produto, 'saida', 5, "2024-
06-26") 
 
# Gerar relatórios 
 
relatorio_estoque = gerar_relatorio_estoque() 
relatorio_movimentacoes = gerar_relatorio_movimentacoes() 
print(relatorio_estoque) 
print(relatorio_movimentacoes) 
 
2.4 passo 4 
Descrição dos Papéis 
 
Estoquista: Responsável por registrar a entrada de mercadorias e 
verificar a nota fiscal de recebimento. 
Usuário: Encarregado de gerar relatórios semanais sobre a posição 
do estoque e solicitar a compra de produtos. 
Gerente de Setor: Responsável por aprovar a compra de produtos 
solicitada pelo Usuário. 
 
Descrição dos Casos de Uso 
 
Registrar Entrada de Produtos: O Estoquista lança a entrada de novos 
produtos no sistema. 
Validar Nota Fiscal: O Estoquista verifica a validade da nota fiscal dos 
produtos recebidos no estoque. 
Emitir Relatório Semanal de Estoque: O Usuário gera relatórios 
periódicos que indicam a situação do estoque. 
Solicitar Compra de Produtos: O Usuário faz o pedido de reposição 
de produtos no estoque. 
 14 
Autorizar Compra de Produtos: O Gerente de Setor aprova a 
solicitação de compra feita pelo Usuário. 
Consolidação de Pedidos: Processo automatizado que reúne as 
solicitações de compra e emite os pedidos ao fornecedor. 
 
Detalhamento dos Casos de Uso 
 
-Registrar Entrada de Produtos: 
 Ator: Estoquista 
 Descrição: O Estoquista lança no sistema a entrada de novos 
produtos, informando quantidade, data e fornecedor. 
 Precondições: O produto precisa estar cadastrado no sistema. 
 Pós-condições: A quantidade do produto no estoque é atualizada no 
sistema. 
 
-Validar Nota Fiscal 
 Ator: Estoquista 
 Descrição: O Estoquista confere e valida a nota fiscal dos produtos 
recebidos. 
 Precondições: A nota fiscal deve estar disponível. 
 Pós-condições: A entrada dos produtos é confirmada e registrada 
no sistema. 
 
-Emitir Relatório Semanal de Estoque 
 Ator: Usuário 
 Descrição: O Usuário gera um relatório semanal com informações 
sobre o estado do estoque, incluindo movimentações e quantidades. 
 Precondições: Os produtos precisam estar cadastrados e todas as 
movimentações devem ter sido registradas. 
 Pós-condições: O relatório é gerado e fica disponível para análise. 
 
-Solicitar Compra de Produtos 
 Ator: Usuário 
 15 
 Descrição: O Usuário faz a solicitação de compra para repor 
produtos no estoque. 
 Precondições: O produto precisa estar previamente cadastrado no 
sistema. 
 Pós-condições: A solicitação de compra é registrada e enviada para 
o processo de consolidação. 
 
-Autorizar Compra de Produtos 
 Ator: Gerente de Setor 
 Descrição: O Gerente de Setor aprova a solicitação de compra 
enviada pelo Usuário. 
 Precondições: A solicitação de compra deve estar registrada no 
sistema. 
 Pós-condições: A compra é aprovada e o pedido é encaminhado ao 
fornecedor. 
 
-Consolidação de Pedidos 
 Ator: Sistema (Processo Automático) 
 Descrição: O sistema realiza a consolidação das solicitações de 
compra e emite os pedidos para o fornecedor. 
 Precondições: As solicitações de compra precisam estar registradas 
no sistema. 
 Pós-condições: O pedido consolidado é enviado para o fornecedor. 
 
 16 
 Figura do Fluxograma 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Fonte: próprio autor 
 
 
 
 
 
 
 
 
 
 
 
 17 
3 CONCLUSÃO 
O projeto de desenvolvimento de um sistema de gerenciamento de estoque para uma 
empresa de comércio eletrônico em rápido crescimento demonstrou a importância de 
uma abordagem estruturada e integrada em análise e desenvolvimento de 
sistemas. A implementação do sistema visou resolver problemas críticos de 
gerenciamento de estoque, tais como falta de produtos, excesso de estoque 
e dificuldades na rastreabilidade dos itens nos depósitos. Através de uma 
análise detalhada dos requisitos e da aplicação de metodologias ágeis, o projeto 
conseguiu atender às necessidades da empresa de forma eficaz. Durante o 
desenvolvimento do projeto, foram enfrentados diversos desafios, incluindo a 
definição clara dos requisitos, a adaptação às mudanças nas necessidades e 
a integração de diferentes componentes do sistema. A utilização de metodologias 
ágeis, como o Scrum, permitiu a gestão eficiente desses desafios, garantindo entregas 
contínuas e incrementais que se alinharam às expectativas da empresa. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 18 
4 REFERENCIAS 
 
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. 
 
PRESSMAN, Roger S. Engenharia de Software: Uma Abordagem 
Profissional. 7ed, Porto Alegre: AMGH, 2011. 
 
SOMMERVILLE, Ian. Engenharia de Software. 9.ed, São Paulo: 
Pearson, 2011. 
 
TRELLO, https://trello.com/b/zCsaYAKw/desenvolvimento-de-
sistemas-de-gerenciamento-de-estoque-gideone

Mais conteúdos dessa disciplina