Ajuda com modelagem UML

Então galera, vou desenvolver o jogo BlackJack e preciso de uma ajuda de vcs no primeiro passo que é a modelagem UML.

Eu fiz o seguinte diagrama, queria que vcs me falassem onde esta errado, como posso melhora-lo.

Sobre a classe Baralho:

  • Vc realmente acha que é significativo ter um atributo que contabiliza a quantidade de cartas na mão do jogador? Pense assim: quem é a classe mais especializada para me responder a quantidade de cartas na mão do jogador? Resposta: a classe Jogador!
  • O atributo T_Baralho(propavelmente o tamanho do baralho) não há necessidade, já que o baralho[] já te da esta informação.
  • Eu tb não faria um método de cartas restante e cartas Distribuidas. Mas isso depende de sua abstração.

Sobre classe Jogador:

  • Na abstração de um jogo de cartas o jogador não “possui” uma quantidade de cartas? Então. Vc deveria colocar um atributo cartas[]: Carta
  • Com esse array ( cartas[]: Carta) vc já terá a quantidade de cartas na mão, por isso não precisa do método qtd_cartas_na_mao()

Tente rever sua abstração com as dicas se concordar.

Vou dormir agora! Rsrsrs

Concordo com pvrsouza, quanto ao quant_cartas da classe Baralho.
Outra coisa você não acredita que quando eu distribuo as cartas eu já sei quantas cartas ainda me restam?
Acho que um método pra isso seria apenas “mais um método”.
Um array para cartas do jogador seria interessante como já foi citado.

Bom, acho que seu diagrama de classes está bem.

UML não é fácil, pois o nível de abstração de cada um e avisão de cada um é muito pessoal mesmo. Porém em algum ponto elas se convergem.

Espero que possa(mos) ter ajudado.

E boa sorte com seu projeto.

[quote=pvrsouza]Sobre a classe Baralho:

  • Vc realmente acha que é significativo ter um atributo que contabiliza a quantidade de cartas na mão do jogador? Pense assim: quem é a classe mais especializada para me responder a quantidade de cartas na mão do jogador? Resposta: a classe Jogador!
  • O atributo T_Baralho(propavelmente o tamanho do baralho) não há necessidade, já que o baralho[] já te da esta informação.
  • Eu tb não faria um método de cartas restante e cartas Distribuidas. Mas isso depende de sua abstração.

Sobre classe Jogador:

  • Na abstração de um jogo de cartas o jogador não “possui” uma quantidade de cartas? Então. Vc deveria colocar um atributo cartas[]: Carta
  • Com esse array ( cartas[]: Carta) vc já terá a quantidade de cartas na mão, por isso não precisa do método qtd_cartas_na_mao()

Tente rever sua abstração com as dicas se concordar.

Vou dormir agora! Rsrsrs
[/quote]

[quote=edu_fernandes]Concordo com pvrsouza, quanto ao quant_cartas da classe Baralho.
Outra coisa você não acredita que quando eu distribuo as cartas eu já sei quantas cartas ainda me restam?
Acho que um método pra isso seria apenas “mais um método”.
Um array para cartas do jogador seria interessante como já foi citado.

Bom, acho que seu diagrama de classes está bem.

UML não é fácil, pois o nível de abstração de cada um e avisão de cada um é muito pessoal mesmo. Porém em algum ponto elas se convergem.

Espero que possa(mos) ter ajudado.

E boa sorte com seu projeto.[/quote]

Vcs tem razão, realmente coloquei coisa que não há necessidade.

Vlw pelas dicas, vcs ajudaram mto. :smiley: