UML  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
juniomundo
Thread.start()

Membro desde: 08/05/2008 16:47:01
Mensagens: 43
Offline

Bom dia,

Diante deste escopo:

Faça o diagrama de classe:

- Métodos get retornam os valores dos atributos privados.
- Métodos set setam os valores dos atributos privados.
- Construtores devem validar os valores dos atributos com a classe a ser implementada Útil.
- Não deve solicitar entrada de dados,


- Sistema para uma escola onde deve permitir o cadastro de pessoas, as pessoas podem ser aluno, professor ou funcionário.
- A Pessoa tem os atributos privados cpf, data de nascimento, nome, endereço e o construtor para iniciar os seus atributos.
- O Aluno tem as característica especifica privada ano inicio da graduação e o construtor para iniciar os seus atributos. O construtor deve chamar a classe pai para iniciar os atributos herdados. O método main deve iniciar cinco alunos com diferentes dados e após exibir na tela os dados dos 5 alunos alunos.
- O Professor e o funcionário tem privado o salário como característica especifica e o construtor para iniciar os seus atributos. O construtor deve chamar a classe pai para iniciar os atributos herdados. O método main de cada classe deve iniciar cinco objetos com diferentes dados e após exibir na tela os dados.
- A classe útil possui os métodos estáticos Calcular idade e Validar CPF.
- Todas as classes devem ter o método estático main para validar todos os métodos da classe.

Desenvolvi o diagrama.Gostaria de sugestoes e ajuda.

Agradeço desde já,

Junio Cesar Silva

This message was edited 4 times. Last update was at 24/06/2008 11:16:54


Júnio César Silva
_________________________________________
O mundo está escrito em linguagem matemática.
erickles
Virtual Machine Man
[Avatar]

Membro desde: 04/01/2007 09:52:17
Mensagens: 605
Localização: São Paulo - SP
Offline



O link foi postado errado...



Erick de Souza.

Twitter: @erickles
[WWW] [MSN] [ICQ]
juniomundo
Thread.start()

Membro desde: 08/05/2008 16:47:01
Mensagens: 43
Offline

Olá Erickles , pode me ajudar a postar o link da imagem, pois li no forum como fazer, mas continuo apanhando.O diagrama está correto, digo os relacionamentos entre as classes?

O site de imagem me forneceu assim:


Agradeço desde já.

Uai!-Funcionou!!!


Junio Cesar Silva

This message was edited 2 times. Last update was at 24/06/2008 10:40:50


Júnio César Silva
_________________________________________
O mundo está escrito em linguagem matemática.
malsan
JavaTeenager

Membro desde: 14/12/2007 16:20:02
Mensagens: 160
Offline

Parece que está correto sim!
juniomundo
Thread.start()

Membro desde: 08/05/2008 16:47:01
Mensagens: 43
Offline

Muito obrigado pela atenção Malsan .

Júnio César Silva
_________________________________________
O mundo está escrito em linguagem matemática.
rmendes08
GUJ Master
[Avatar]

Membro desde: 29/05/2008 14:09:28
Mensagens: 1618
Offline

As classes estão corretas, mas os relacionamentos não. As classes Aluno, Professor e Funcionário são subclasses de Pessoa, assim existe uma relação de herança entre essas classes. Para indicar herança entre classes você deve usar uma seta de ponta sólida, no sentido da subclasse para a superclasse, assim:


"A Técnica é transformada em Arte por quem a emprega"

"O futuro pertence àqueles que acreditam na beleza de seus sonhos"

Computadores Fazem Arte

http://www.uaijug.com.br

"É importante estabelecer uma estrutura de alto nível, mas isso não significa criar uma infinidade de diagramas de classes detalhados."
erickles
Virtual Machine Man
[Avatar]

Membro desde: 04/01/2007 09:52:17
Mensagens: 605
Localização: São Paulo - SP
Offline

Juniomundo,

Vi alguns erros no seu diagrama, naum dah p eu desenha agora (to no trampo...), mas de noite eu respondo e desenho o diagrama explicando os relacionamentos. Se quiser, intstale o jude, que eh uma ferramenta case de UML muito util, possui ateh as classes da api do java!

Mas jah adiantando, as classes aluno, professor e funcionario herdam da classe pessoa, assim, a seta que as une eh diferente.

Abços!

This message was edited 1 time. Last update was at 24/06/2008 12:00:51




Erick de Souza.

Twitter: @erickles
[WWW] [MSN] [ICQ]
juniomundo
Thread.start()

Membro desde: 08/05/2008 16:47:01
Mensagens: 43
Offline

Ok, obrigado Erickles e Rmendes08 , estarei aguardando seu retorno Erickles.Paz e saúde para vocês.

This message was edited 1 time. Last update was at 24/06/2008 12:00:26


Júnio César Silva
_________________________________________
O mundo está escrito em linguagem matemática.
rmendes08
GUJ Master
[Avatar]

Membro desde: 29/05/2008 14:09:28
Mensagens: 1618
Offline

Outra coisa que precisa ficar clara é se a classe Pessoa invoca os métodos da classe Util ou se a classe Util deve receber objetos da classe Pessoa como parâmetro, isso determina a dependência entre as classes e o sentido em que ela ocorre.

"A Técnica é transformada em Arte por quem a emprega"

"O futuro pertence àqueles que acreditam na beleza de seus sonhos"

Computadores Fazem Arte

http://www.uaijug.com.br

"É importante estabelecer uma estrutura de alto nível, mas isso não significa criar uma infinidade de diagramas de classes detalhados."
sergiotaborda
GUJ Expert
[Avatar]

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

rmendes08 wrote:As classes estão corretas, mas os relacionamentos não. As classes Aluno, Professor e Funcionário são subclasses de Pessoa, assim existe uma relação de herança entre essas classes.


O modelo mostrado não indica que ha relação de herança entre essas classes. O modelo postado é completamente válido em relação à relações descritas nos requisitos ( enunciado). A menos que herança faça parte dos requisitos não ha mal em a evitar.

É uma má prática incluir regras que não são ditadas pelos requisitos. Cuidado com isso.

This message was edited 2 times. Last update was at 24/06/2008 15:16:26


Criando sua própria API de Validação



Blog do MiddleHeaven
[WWW]
rmendes08
GUJ Master
[Avatar]

Membro desde: 29/05/2008 14:09:28
Mensagens: 1618
Offline

sergiotaborda wrote:
rmendes08 wrote:As classes estão corretas, mas os relacionamentos não. As classes Aluno, Professor e Funcionário são subclasses de Pessoa, assim existe uma relação de herança entre essas classes.


O modelo mostrado não indica que ha relação de herança entre essas classes. O modelo postado é completamente válido em relação à relações descritas nos requisitos ( enunciado). A menos que herança faça parte dos requisitos não ha mal em a evitar.

É uma má prática incluir regras que não são ditadas pelos requisitos. Cuidado com isso.


as pessoas podem ser aluno, professor ou funcionário.

O Aluno tem as característica especifica privada ano inicio da graduação e o construtor para iniciar os seus atributos. O construtor deve chamar a classe pai para iniciar os atributos herdados

O Professor e o funcionário tem privado o salário como característica especifica e o construtor para iniciar os seus atributos. O construtor deve chamar a classe pai para iniciar os atributos herdados.

Eu não inventei não ...


"A Técnica é transformada em Arte por quem a emprega"

"O futuro pertence àqueles que acreditam na beleza de seus sonhos"

Computadores Fazem Arte

http://www.uaijug.com.br

"É importante estabelecer uma estrutura de alto nível, mas isso não significa criar uma infinidade de diagramas de classes detalhados."
rmendes08
GUJ Master
[Avatar]

Membro desde: 29/05/2008 14:09:28
Mensagens: 1618
Offline

sergiotaborda wrote:

... O modelo mostrado não indica que ha relação de herança entre essas classes ...


Claro! Tá errado!

"A Técnica é transformada em Arte por quem a emprega"

"O futuro pertence àqueles que acreditam na beleza de seus sonhos"

Computadores Fazem Arte

http://www.uaijug.com.br

"É importante estabelecer uma estrutura de alto nível, mas isso não significa criar uma infinidade de diagramas de classes detalhados."
juniomundo
Thread.start()

Membro desde: 08/05/2008 16:47:01
Mensagens: 43
Offline

rmendes08 wrote:
sergiotaborda wrote:

... O modelo mostrado não indica que ha relação de herança entre essas classes ...


Claro! Tá errado!



O diagrama foi somente para demonstração de relacionamento de classes, para simplificar a codificação.As setas que demonstram que as classes estão herdando da classe Pessoa está errada, reconheço que é de outra foma.
Observando, será que não é mais certo da classe Pessoa está herdando da classe Util, pois é na classe Util que será validado CPF e calculado idade ?

Agradeço desde já,

Júnio César Silva
_________________________________________
O mundo está escrito em linguagem matemática.
rmendes08
GUJ Master
[Avatar]

Membro desde: 29/05/2008 14:09:28
Mensagens: 1618
Offline

Se o único propósito da classe Util é fornecer os métodos CalculaIdade e ValidarCPF, eu acho que fica mais elegante declarar Util como uma interface e implementar estes métodos na classe Pessoa, desde que você não necessite instanciar objetos da classe Util. Mas sinceramente, eu não vejo muita utilidade em objetos sem atributos!


Favor , desconsiderar ...

This message was edited 1 time. Last update was at 24/06/2008 16:06:10


"A Técnica é transformada em Arte por quem a emprega"

"O futuro pertence àqueles que acreditam na beleza de seus sonhos"

Computadores Fazem Arte

http://www.uaijug.com.br

"É importante estabelecer uma estrutura de alto nível, mas isso não significa criar uma infinidade de diagramas de classes detalhados."
rmendes08
GUJ Master
[Avatar]

Membro desde: 29/05/2008 14:09:28
Mensagens: 1618
Offline

Pensando melhor ... acho que esse não é o caminho ....

junimundo, detalhe mais esses métodos e essa classe Util. Provavelmente você não precisa estabelecer herança entre as classes Pessoa e Util. Acho que simplesmente a chamada aos métodos da classe Util é suficiente para o que você quer.

"A Técnica é transformada em Arte por quem a emprega"

"O futuro pertence àqueles que acreditam na beleza de seus sonhos"

Computadores Fazem Arte

http://www.uaijug.com.br

"É importante estabelecer uma estrutura de alto nível, mas isso não significa criar uma infinidade de diagramas de classes detalhados."
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team