Se você já se perguntou como um simples programa pode transformar a gestão de uma pequena loja, ou se está pensando em embarcar em um projeto de software, você está no lugar certo! Vamos dar uma olhada no desafio prático 1 e explorar o que a equipe Gates aprendeu ao criar um sistema para gerenciar as vendas diárias de uma loja.
O Desafio
A missão era desenvolver um programa que facilitasse o gerenciamento das vendas de uma pequena loja. As principais funcionalidades exigidas eram:
- Registrar e Listar Vendas Diárias: O programa deveria permitir a inserção dos itens vendidos, a quantidade e o valor unitário.
- Calcular o Valor Total de Vendas: Somar todos os valores das vendas para obter o total do dia.
- Calcular a Média de Vendas: Encontrar a média das vendas diárias para avaliar o desempenho.
- Identificar a Maior Venda: Mostrar o valor da maior venda registrada.
- Determinar o Item Mais Vendido: Descobrir qual item foi vendido em maior quantidade.
Durante o desenvolvimento
Assim que iniciamos o projeto, começamos com uma discussão sobre a abordagem a ser adotada com base nos requisitos estabelecidos. Um dos pontos principais debatidos foi se deveríamos usar uma lista de produtos pré-definidos ou permitir que os itens fossem inseridos individualmente pelo usuário. Para explorar essas opções, dividimos nossa equipe em dois grupos de trabalho. O primeiro grupo ficou encarregado de desenvolver um programa que utilizava uma lista fixa de produtos já pré-definidos. O segundo grupo, por sua vez, se concentrou na criação de um programa que permitia a inserção e o gerenciamento de itens de forma dinâmica, ou seja, do zero.
À medida que avançávamos no desenvolvimento do primeiro programa, percebemos que a abordagem que permitia ao dono da loja adicionar e gerenciar os itens conforme necessário oferecia maior flexibilidade e potencial de personalização. Com base nessa constatação, decidimos focar nossos esforços na continuação e aprimoramento do segundo programa, que agora se tornou o único projeto em andamento.
Para garantir a melhor solução possível, dividimos o desenvolvimento do segundo programa em três versões distintas, cada uma com suas próprias melhorias e refinamentos. Após testar e revisar cada uma das versões, optamos pela versão com o código mais limpo e legível, que facilitava a manutenção e a compreensão do sistema. A decisão final sobre qual versão adotar foi unânime entre os membros da equipe, refletindo o consenso sobre a qualidade e a eficácia da escolha.
Visão Geral do Código: Como o Programa Funciona
- Função menu()
Esta função exibe o menu principal para o usuário, apresentando as opções disponíveis para interagir com o programa. É uma função simples que apenas imprime uma lista de opções.
- Função "adicionar(vendas)"
Permite ao usuário adicionar uma venda ao registro. A função recebe um dicionário vendas
e adiciona ou atualiza uma entrada com o nome do item, a quantidade vendida e o valor unitário. Os dados são armazenados como uma lista contendo a quantidade e o valor unitário do item.
- Função "lista(vendas)"
Exibe todas as vendas registradas. Para cada item no dicionário vendas
, a função imprime a quantidade vendida e o valor unitário. A formatação garante que os valores sejam exibidos com duas casas decimais.
- Função valor_total(vendas)
Calcula e exibe o valor total das vendas. A função percorre todas as entradas no dicionário vendas
, calcula o valor total para cada item e soma esses valores para obter o total geral.
- Função "
media_total(vendas)"
Calcula e exibe a média de vendas. A função soma a quantidade total de itens vendidos e o valor total das vendas, depois calcula a média dividindo o valor total pela quantidade total.- Função "maior_venda(vendas)"
- Loop Principal
O loop principal mantém o programa em execução contínua, permitindo ao usuário escolher opções do menu e executar as funções correspondentes. Utiliza a nova sintaxe match-case
para a seleção de opções, onde cada opção chama a função apropriada baseada na escolha do usuário.
Conclusão
Desenvolver um programa para gerenciar as vendas de uma loja pequena foi uma jornada rica em aprendizados e desafios. A equipe não apenas aprimorou suas habilidades técnicas, como também entendeu a importância de um planejamento cuidadoso e uma execução meticulosa. Se você está considerando criar um projeto de software, essas lições podem ser extremamente valiosas para seu sucesso!
Fique atento para mais insights e dicas sobre desenvolvimento de software e gerenciamento de projetos. Se você já enfrentou desafios semelhantes ou tem perguntas, compartilhe suas experiências nos comentários!