Estou desenvolvendo um sistema para um padaria com os seguintes módulos:
Cadastro de Fornecedores
Cadastro de Funcionários
Cadastro de Produtos
Cadastro de Receitas
Caixa
Fluxo de Caixa
Consulta de Vendas
Lançamento de Compras
Lançamento de Contas
Estoque
Minha ideia é utilizar o Netbeans ou o Eclipse para fazer a interface gráfica e inicialmente o sistema trabalhará sem o leitor de código de barras.
Ainda sou iniciante em Java e esse é meu primeiro sistema.
Estou com dúvidas sobre como armazenar os dados, para um sistema assim seria melhor utilizar um banco de dados ou armazenamento em arquivo txt?
Esse sistema será pequeno, feito para uma padaria que não possui nenhuma ferramenta informatizada para controlar essas informações, por esse motivo acho que um banco de dados seria “muito” para essa situação.
Andei pesquisando aqui no GUJ e descobri que é possível utilizar o access para armazenar as informações sem que seja necessário a própria instalação do mesmo, mandando junto com a aplicação um arquivo do access.
Alguém poderia me aconselhar sobre qual seria a melhor forma de manter essas informações e também indicar materiais de leitura para que eu possa estudar mais esse assunto?(Quaisquer conselhos sobre esse sistema são bem vindos)
amigo…
num caso como este, banco de dados não é “muito”, é indispensável!
como é uma aplicação desktop, use um banco de dados embarcado como Apache Derby, H2, HSQL e similares.
particularmente prefiro o H2.
Persistencia você pode optar por JDBC ou JPA. como você está iniciando, então fique com JDBC
quanto a materiais de estudo, exitem vários que podem auxiliar nesta missão. inicie pesquisando sobre esses assuntos citados
W
wilnerjava
Com certeza use um banco de dados embarcado. Você terá menos trabalho do que se você própio criar uma organização de arquivos baseada em txt/xml. E usando um banco de dados relacional as informações ficarão muito melhor organizadas/relacionadas!
Você não precisa usar um superbanco de dados usado para aplicações coorporativas pesadas e com grande processamente de dados, ai sim seria “muito” para o seu projeto. Use opções leves, como o SQLITE e o HSQLDB.
Eu particularmente usei o SQLITE em um projeto que fiz e me atendeu perfeitamente.
K
kmunga
Acredite, fazer em txt seria muito mais complicado alem pouco seguro de fazer. Não é nada prático e confiável trabalhar com sistemas deste tipo em arquivo txt.
L
Luiz_Augusto_Prado
Java DB: Derby
Fácil de usar, pequeno e embarcado.
C
CarlosEduardoDantas
Como já citaram, eu iria tranquilamente de Apache Derby, já trabalhei bastante com ele embarcado em produção e funciona muito bem.
Mas se performance fosse um requisito crítico (o que não parece ser o seu caso), eu daria uma chance para o db4o.
M
Mendigo_do_Futuro
Obrigado a todos pelas respostas.
Eu dei uma olhada no SQLITE, parece bem simples. Acho que vou optar por esse, já que estou começando.
Aproveitando o tópico, alguém tem algum dica sobre o desenvolvimento da interface gráfica?
O Netbeans ou Eclipse fornecerão os recursos visuais necessários para esse sistema ou será necessário fazer a GUI na mão?
B
Bruno_Laturner
O JavaDB/Derby já vem instalado com o JDK, se quiser usar ele.
L
Luiz_Augusto_Prado
Mendigo_do_Futuro:
Obrigado a todos pelas respostas.
Eu dei uma olhada no SQLITE, parece bem simples. Acho que vou optar por esse, já que estou começando.
Aproveitando o tópico, alguém tem algum dica sobre o desenvolvimento da interface gráfica?
O Netbeans ou Eclipse fornecerão os recursos visuais necessários para esse sistema ou será necessário fazer a GUI na mão?
Eu uso um fonte que eu mesmo criei para isso. No momento que desenho as telas no notepad, abro nesse programa e atribuo as propriedades necessárias para gerar meu fonte de interface gráfica e persistência. A base desse código pode ser vista aqui:
O eclipse tem alguns bugs estranhos de fechar repentinamente (pelo menos tinha 2 anos atrás) ou de incompatibilidade entre seus plugins e bibliotecas que se baixa dos repositórios. Depois da versão 6.0 do netbeans, nunca mais tive problemas semelhantes e por isso prefiro utiliza-lo. As versões atuais são bem estáveis.
R
raf4ever
Mendigo_do_Futuro:
Obrigado a todos pelas respostas.
Eu dei uma olhada no SQLITE, parece bem simples. Acho que vou optar por esse, já que estou começando.
Aproveitando o tópico, alguém tem algum dica sobre o desenvolvimento da interface gráfica?
O Netbeans ou Eclipse fornecerão os recursos visuais necessários para esse sistema ou será necessário fazer a GUI na mão?
Pra desenhar GUI desktop o Netbeans é melhor.A desvantagem é que ele gera um código horrivel de manter.
E
entanglement
O problema do SQLite é que ele usa código nativo e isso é mais difícil de manter (você precisa deixar DLLs em um determinado diretório que não é o mesmo dos seus JARs, etc. )
D
douglaskd
não sei te dizer com certeza absoluta, mas acho que as novas versões não precisam mais desse DLL…
W
wilnerjava
não sei te dizer com certeza absoluta, mas acho que as novas versões não precisam mais desse DLL…
Sim, ele ainda está usando a DLL. Pelo menos a 02 meses atrás eu fui fazer um projeto para .NET e usei a versão mais atual do SQLITE e ainda precisava da DLL.
Porem isso não me criou problema algum oO Em .NET eu consegui trabalhar tranquilamente do jeito que eu queria.