Sistema de controle de estoque

Ola amigos, esse e’ meu primeiro post
fiz um treinamento na impacta e agora estou estudando por conta propia
surgiu a ideia de fazer um sistema de controle de estoque
gostaria de saber se alguem ja fez algum sistema desses e pudesse me dar dicas
estou pensando em usar mysql como banco de dados

ou pelo menos me ajudar abrir a mente pra pensar por contra propia

desde ja agradeco a todos
Ps: um feliz ano novo a todos

Boa sorte. A dica real que eu posso dar é: teste tudo. Aproveite que você está começando e não se prenda a fazer as coisas de um único jeito. Se optar por usar framework, escolha uns 3 com o mesmo objetivo e use cada um. Se quiseres ir já se acostumando, tente começar com testes unitários logo de começo, tem inúmeros tópicos sobre esses e mais assuntos aqui mesmo. Sobre dicas para iniciantes:

  • Banco de dados: escolha algum com mais fluência de mercado como MySQL, PostgreSQL, Firebird ou Oracle XE. Se não quiser ter que instalar algum deles, tem os bancos embarcados como o HSQLDB, H2 Database e o JavaDB ( aka Derby, aka Cloudscape ). Depois mais para a frente pode tentar algum orientado a objetos como o DB4O.
  • Framework WEB: escolha algum conhecido, por enquanto não vá nas apostas de frameworks da Estônia que 1 empresa fez e disponibilizou. Pode ser o melhor do mundo, mas em questão de documentação, vai ser sofrível. Boas escolhas são Struts2, Vraptor, Wicket, Mentawaii e JSF para começar. Tem N outros bons também, só lembrei desses 5 agora como simples.
  • Desktop: Swing. Não arrisque SWT por mais que pareça mais atraente, pode ser um tiro no pé no desenvolvimento. Tem alguns frameworks que lhe ajudam a desenhar as telas, como o SwingBean.
  • Log: PELAMORDEDEUS, use alguma solução para isso. Chega de enviar “funcionou”, “passou por aqui”, “err… deu erro” para o console. E aproveite e use exceções bem auto-explicativas, nada de SeiLaOQueAconteceuException. Se não sabe como trabalhar com novas exceções, lance as antigas mesmo, vai ser melhor para ti.
  • Testes Unitários: antes que alguém lhe “incentive” a usar testes unitários, já vou falar. Use quando já estiver contente com sua habilidade de programação. Não é simples ingressar nisso, portanto cautela para quando for brincar. Deixe para daqui algum tempo, mas já está avisado.
  • ORM: não use ainda. Vais ouvir muito falar de Hibernate, TopLink, JPA, EJB e bla bla bla mas não vá ainda. Aprenda a usar bem os recursos do JDBC para depois não empacar quando estiver trabalhando com eles.

E uma última dica: orientação a objetos não morde, então use-a com carinho. Programar Java estruturadamente é possível mas nem um pouco adequado, depois vais ver a besteira quando for retrabalhar esse seu sistema de estoque ( quem sabe colocar um sistema contábil junto? ).

Bem, acho que agora é só isso. Boa sorte novamente.

Até!

Uau, suas dicas foram ótimas cara. Essa vai para os meus favoritos.

maquiavelbona, muito obrigado pelas dicas
acho que essas dicas poderiam ate virar um artigo pra iniciantes aqui no GUJ, acredito que nao foi so eu que gostou das suas dicas

muito obrigado
e um feliz ano novo

Um ponto interessante é o seguinte: Velocidade da Aplicação

Infelizmente a velocidade de aplicações Java X Delphi em PC’s fracos é algo que me deixa meio incomodado.
Os usuários de sistemas querem saber de velocidade. Será que vale a pena desenvolver um sistema comercial desses em Java, já que em PC’s fracos a velocidade será baixa?

no caso nao seria nada comercial, seria so pra treinar mesmo
nao me veio nada interessante na cabeca pra exercitar os conhecimentos adquiridos no treinamento

oque seria legal eu tentar fazer pra ir treinando???
mais uma vez obrigado

Na minha opinião Controle de Estoque engloba muitas coisas importantes: Banco de Dados, Formulários, Login, Operações Matemáticas, Layout. Acho que é algo bom para treinar.

o problema de inicio eh modelar o banco de dados
mais acho que consigo superar isso…rs

Agora so falta saber se você vai modelar o BD em UML. :slight_smile:

falando em UML, qual programa vc usa??
aqui to com o JUDE e VIsual Paradigma(acho que eh isso)

Cara conheço dois, não me aprofundei muito por que eu to aprendendo Java faz alguns meses.
Mas tem o PowerDesigner da Sybase, ele tem um gerador de UML e muitas outras coisas, só que ele é pago. Também tem o próprio gerador de UML do NetBeans 6, mas esse não consegui usar no meu computador, ele trava aqui. Mas outras pessoas usam ele sem problema pelo que fiquei sabendo.

nao sabia que o netbeans tinha editor de UML
vou dar uma olhada

Pelo que sei foi implementado a partir da versão 6.

[quote=flaviotomazio]Um ponto interessante é o seguinte: Velocidade da Aplicação

Infelizmente a velocidade de aplicações Java X Delphi em PC’s fracos é algo que me deixa meio incomodado.
Os usuários de sistemas querem saber de velocidade. Será que vale a pena desenvolver um sistema comercial desses em Java, já que em PC’s fracos a velocidade será baixa?[/quote]
Então, o foco vai para a quantidade de recurso que funções análogas em diferentes linguagens exigem. Java exige mais memória ( e não necessariamente processador ) do que Delphi e VB6, mas por ter alguns recursos que essas linguagens não tem ( garbage collector por exemplo ) pode ser muito mais vantajoso quanto mais “interativo e corporativo” for o sistema. Para fazer um PDV, realmente não vejo necessidade para isso, mas para um sistema de integração de uma firma de contabilidade, eu acho legal que seja, apesar que nada limite o uso das outras linguagens nesses casos.
Mas o Java para desktop não compete nesse patamar com essas linguagens, passa a ser vantajoso em sistemas maiores, que em geral, tem melhores máquinas para rodar mesmo sendo desktops.

Até!

Mas caso o usuário queira usar um PDV em Linux? O Delphi não tem essa opção, o Kylix está ultrapassado. E Delphi es muy caro.

Se a máquina for uma carroça mesmo ( Pentium-S 133Mhz, 56MB, 8 MB compartilhado para vídeo etc), podes pensar em usar C++ ou alguma linguagem que aproveite o GTK ( php, python etc ). Clipper ( nussa ! ) pode ser uma alternativa se o cara não tiver 600 reais para comprar uma máquina.

Até!

Não quero nem gosto de julgar linguagem nenhuma, mas se for pra implementar alguma coisa dentro de restrições tão “pesadas”, usaria C++ ou C.
Uma das razões é a quantidade de material existente. São linguagens um pouco velhas mas que ainda são muito utilizadas… já Kilyx, ouvi muitas poucas vezes esse nome, mas sou meio novo na áera. Já Delphi, melhor não falar nada, porque como disse no começo, não gosto de julgar linguagens.

Só ouço falar nesse tal GTK, mas não sei o que é.

http://equipe.nce.ufrj.br/adriano/c/apostila/gtk/html/tutorial.html

Será que são esses?
Eu também não sabia até ler os 2 links :slight_smile:

Fui ver o GTK, me impressionei, nem precisa usar Apache com o PHP+GTK, só que para criar layouts é complicado, mais complicado do que com o Swing.