Opiniões sobre programa simples utilizando Interfaces e herança

Boa tarde.
Em um tópico passado discutimos um pouco sobre Interfaces. A partir das explicações passadas criei um programa bem simples para compreender como se dava a interação.
Seria muito interessante se alguém pudesse olhar e dar opiniões sobre a melhor forma de se fazer o que já esta feito :D.

Segue o link para download:

http://www.luizpicolo.com.br/repositorio/arquivos/autenticacao_java.zip

Olha só no seu código:

public class Administrador extends DadosParaAutenticacao implements Autenticacao {

O uso da herança é recomendada em casos em que existe a relação “É Um”.

Por exemplo,
Cachoro é um Animal.

E Administrador não é um DadosParaAutenticação.

Complementando o que o douglas_arantes disse o Administrador tem um usuário e senha.

Levando em conta que Administrador não é UM DadosParaAutenticacao, nomeie a classe Administrador para algo como dados_admin, e estará aplicando a herança de forma correta. A claro, nomeie para dados_amin somente se ela contiver métodos que tratem os dados para autenticação, não faria sentido por exemplo uma classe Cão com métodos como miar().

Então o melhor nesse caso seria uma composição:

DadosParaAutenticacao objDadosParaAutenticacao;

Bem, fiz as modificações.
Em relação aos pacotes, as nomeações estão corretas.
E as interfaces?