Fiquei com uma grande dúvida na hora de praticar alguns exercícios de minha própria criação. Eu trabalho em uma universidade pública e imaginei como criar um projeto com várias classes e como inter-relaciona-las. Por força do hábito, imaginei inicialmente um DER de BD tradicional, e classes meio que se comportando como tabelas. Primeiramente uma tabela PESSOA como a mais genérica, depois ALUNO, SERVIDOR como extendendo pessoa. Ai entra FORNECEDOR, CHEFIA, CURSO, DEPARTAMENTO. Aluno e Servidor inicialmente me parece bem obvio extender Pessoa. Mas já em Chefia, que pode estar ligada a um Departamento, e Fornecedor que pode ser um tipo de Pessoa, além de Curso que de alguma forma está ligada a Aluno, começou a me dar um nó na cabeça, pois não sei em que momento deveria ser melhor um objeto de uma classe dentro de um atributo, extender uma com outra ou até mesmo quando criar uma interface para implementar outra. Alguem pode me dar uma direção na orientação a objetos, que não deve ser igual ao BD relacional e suas formas de normalização, em como projetar bem um projeto e essas classes?