Uml

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

=http://img165.imageshack.us/my.php?image=imagemsm.../img165/1189/imagemsm8.th.jpg]

O link foi postado errado…

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

Parece que está correto sim!

Muito obrigado pela atenção Malsan .

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:

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!

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

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.

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.

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.[/quote]

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

:arrow: 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

:arrow: 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 …

[quote=sergiotaborda]

… O modelo mostrado não indica que ha relação de herança entre essas classes …[/quote]

Claro! Tá errado!

[quote=rmendes08][quote=sergiotaborda]

… O modelo mostrado não indica que ha relação de herança entre essas classes …[/quote]

Claro! Tá errado![/quote]

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á,

Favor , desconsiderar …

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.

Desta forma o diagrama, irá mudar muito ?

Não. A diferença é que ao invés de herança, existe uma relação de dependência da classe Pessoa em relação à classe Util:

Note o sentido da seta (da classe pessoa Pessoa para a classe Util) e a linha tracejada!

Ok, muito obrigado Rmendes08, vou desenvolver e posto.Paz e saúde para ti.

Eh, fui modelar o diagrama, mas tbm fikri na duvida com essa classe Util…

Bom dia,

Quando se fala de dependencia entre as classes, quer dizer “interface” e “implements” ?

Agradeço desde já,

Júnio César Silva