Duvida na modelagem de classes  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
dimribeiro
Smalltalk

Membro desde: 04/02/2010 23:07:06
Mensagens: 2
Offline

De principio eu sou novo aqui, queria a ajuda de vcs.

Bem estava pensando como posso modelar minhas classes, é uma duvida simples eu imagino...
Preciso de montar um modelo que eu possa controlar estoque. e preciso controlar esse estoque com os produtos individuais e em caixas...
Ex:
tenho 1000unidades de bala...
se eu vender uma unidade terei 999
entao se eu vender 1 caixa X eu terei 899 (supondo que a caixa X vem com 100)...
e se eu vender a caixa Y terei 849 ( a caixa Y vem com 50..)

como eu poderia cricar classes para trabalharem dessa forma?

usar heranca??
-uma classe "Produto", e duas que extendem: "ProdutoUnidade" e "ProdutoCaixa"

ou usar referencia a um objeto??
-na classe "ProdutoUnidade" e "ProdutoCaixa" terá uma propriedade do objeto "Produto"

desde já, nao sei se fui claro.
nel
JWizard
[Avatar]

Membro desde: 01/10/2009 13:51:10
Mensagens: 2364
Offline

Boa noite.

Está muito superficial sua dúvida, na minha opinião, ou melhor, o que realmente quer fazer? Seu objetivo?
A partir do que disse podemos citar algumas formas, mas vou supor uma.

Crie uma classe produtos e entre seus atributos tenha algo:

ProductType



E sua classe produto...



É por ai....em relação ao tipo de caixa, pode até mesmo criar uma classe para isso ou simplesmente verificar no seu sistema, quando o usuario informar que a caixa é do tipo x você assume que a quantidade é 100 e a caixa Y é 50.

Abraços

"Se houver a terceira guerra mundial eu não sei como será mas a quarta será com paus e pedras" Albert Einsten.
xjunior
JavaEvangelist
[Avatar]

Membro desde: 26/08/2009 15:49:19
Mensagens: 321
Localização: Belo Horizonte - MG
Offline

Bom amigo, vc foi muito vago na sua definição, pois se vc sabe a lógica do negócio porque não fazer uns casos de uso pra identificar as situações do seu problema,
após faz um diagrama de classes, se vc ver algo em comun vc pode fazer herança e polimorfismo, e ainda, se vc ver que pode haver situações pra usar design patterns, aconselho vc a utilizá-los, não sei se entendi, mas se vc possui um produto que vai sendo descontado de forma que depende do desconto do anterior, usa um design pattern que utilizo muito que faz parte da família dos comportamentais, o "chain of responsability" no qual vc faz um encadeamento de instâncias e cada uma pega o cliente e trata ele de acordo com a sua responsabilidade, agora depende realmente do que vc quer.

Lembre-se, todo projeto que for fazer, comece com algum tipo de documentação, embora que seja mínima, mas vai te ajudar e facilitar no futuro.

acessem um dos melhores foruns de TI: http://www.clubedaprogramacao.com/forum/


Always code as if the person who will maintain your code is a maniac serial killer that knows where you live.
Astork
JavaGuru

Membro desde: 13/11/2008 17:14:18
Mensagens: 214
Localização: Curitiba
Offline

O Padrão Strategy acredito que poderia resolver este problema bem...

De uma lida no mesmo e veja se ele pode te ajudar.

Att
Felagund
GUJ Master
[Avatar]

Membro desde: 26/07/2006 11:51:36
Mensagens: 1732
Localização: Santa e Bela Catarina
Offline

Vou postar mais ou menos o que eu entendi do seu problema



Bem simples e bem compacto, espero que sirva de ajuda.


att
Rafael Felix

Rolling With Code
Twitter
[WWW]
Astork
JavaGuru

Membro desde: 13/11/2008 17:14:18
Mensagens: 214
Localização: Curitiba
Offline

Não entendi para que a Lista?
Att
sergiotaborda
GUJ Expert
[Avatar]

Membro desde: 22/03/2005 20:57:48
Mensagens: 3433
Offline

dimribeiro wrote:De principio eu sou novo aqui, queria a ajuda de vcs.

Bem estava pensando como posso modelar minhas classes, é uma duvida simples eu imagino...
Preciso de montar um modelo que eu possa controlar estoque. e preciso controlar esse estoque com os produtos individuais e em caixas...
Ex:
tenho 1000unidades de bala...
se eu vender uma unidade terei 999
entao se eu vender 1 caixa X eu terei 899 (supondo que a caixa X vem com 100)...
e se eu vender a caixa Y terei 849 ( a caixa Y vem com 50..)


E se voce vender a caixa toda ?
O que é o seu produto ? as balas dentro das caixas, ou as caixas em si mesmas, ou os dois ?

Este problema é conhecido. Um produto pode ter diferentes "tipos" conforme ele pode ser vendido ou não.
Para modelar as classes vc precisa ter um modelo na sua cabeça e esse modelo tem que funcionar

O modelo mais simples (não de implementar, mas de usar) é considerar que todo o produto é composto por outros produtos (padrão composite object)

Um produto "caixa de bala de morango" é composto por 900 balas de morango. Então vc tem dois produtos.
O produto mais simples ( aquele que não é composto por nada mais) é a unidade do que vc vende. No sistema de estoque a composição é importante ( não apenas para estoque para control de produção tb).

O modelo é então : Produto A -> X produto B + Y produto C + ...

Caixa de balas = 900 balas
bala = 1 bala

O preço é atribuido ao menor produto (que é a unidade) e o preço da caixa é simplesmente a multiplicação com um fator de desconto (ou não).
O exemplo classico 3x2 ou 2x1. Vc compra dois frascos de shamppo e leva 3. A unidade é o fraco, o produto é a embalagem com os 3

Embalagem 3x2 de Shampoo HTC = 3 frasco shampoo HTC
1 rasco shampoo HTC = rasco shampoo HTC

O sistema de preço é variável conforme a forma de embalagem, mas tudo é produto, tudo é vendivel....bom, quase tudo.
Caixa de bala vêm em paletes de caixa de bala. Provavelmente vc não venderá paletes inteiras, mas irá comprá-las. O sistema de produtos é o coração tanto das vendas como das compras, portanto a herarquia de produtos é o cerne do negocio da emrpesa.

Em java




Tem que usar Quantidade e não int porque produtos diferentes têm unidades diferentes. (tecido é por metro, bala é por unidade , fruta é por quilo,etc)


This message was edited 1 time. Last update was at 05/02/2010 14:46:50


Criando sua própria API de Validação



Blog do MiddleHeaven
[WWW]
Bruno Laturner
GUJ Expert
[Avatar]

Membro desde: 18/02/2008 16:17:53
Mensagens: 3002
Offline

Acho que o modelo mais simples seria não implementar nada.

Digo, apenas ter uma classe Produto com uma descrição, "BALA DE MORANGO" ou "CX COM 10 UN BALA DE MORANGO". Esse é o tipo de controle de estoque mais simples e mais usado na vida real.

A menos que o negócio peça o controle das unidades individuais dentro de cada caixa, não vejo tantos problemas.

A resposta acima foi achada em menos de 5 minutos no google.
The prisoner falls in love with his chains. --E.W. Dijkstra
[WWW]
dimribeiro
Smalltalk

Membro desde: 04/02/2010 23:07:06
Mensagens: 2
Offline

entao gnt...
vejam se tomei a decisao certa...



(valeu as respostas o pessoal aqui responde mesmo! =D)

This message was edited 1 time. Last update was at 05/02/2010 23:13:41

ono.leo
Thread.start()

Membro desde: 09/11/2009 15:09:45
Mensagens: 38
Offline

Ola ! Nao sei se ajudaria e nem sei se era exatamente esse a sua duvida, mas aqui na empresa onde trabalho, para cada produto, utilizamos unidades com fator de entrada e saida.

Por exemplo, ao fazermos um pedido de 1000 balas, o fornecedor as entrega em 10 caixas (cada um contendo 100 balas). E vem com a seguinte nota nota fiscal (entrada):

codigo descricao qtde unidade preco unitario subtotal
--------------------------------------------------------------------------------------
0001 balas gostosinhas 10 CX 100,00 1000,00

Porem, eu como comerciante, vendo por "Pacote c/ 2".

Entao, temos na nossa tabela de Unidades:

codigo descricao fator
------------------------------------
CX Caixa 100
PC/2 Pacote c/2 2

No controle de estoque, utilizamos na quantidade sempre a unidade de venda (saida). Assim, no exemplo da nota de entrada, atualizamos o estoque fazendo o calculo:

entrada = qtde de entrada da nf * fator da unidade de entrada / fator da unidade de saida
entrada = 10 * 100 / 2 = 500 PC/2

A saida eh mais facil pois a unidade de venda e do controle de estoque estao iguais.

Exemplo: vendeu 2 PC/2 ... Logo, no estoque, basta subtrair 2.

Bom, nao sei se falei alguma besteira, mas acho que e isso.

Espero ter ajudado.

This message was edited 1 time. Last update was at 08/02/2010 23:17:44

 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team