Hola Toni, todo bien, no veo nada que "necesite ser cambiado". Te traslado algunas ideas que te pueden ser útiles. Ya se ha comentado en diferentes hilos, pero los nombres de las clases reflejadas en el esquema no me parecen buenos. Supón que tienes que crear un objeto como Productos p1 = new Productos(); Ese plural que "refleja bien la organización de la empresa" no es tan útil de cara a la programación orientada a objetos. Es más claro Producto p1 = new Producto(); Piensa que una clase define un tipo, el tipo Producto, no el tipo Productos. En el caso de Frescos, Refrigerados, Congelados habría optado por PFresco, PRefrigerado y PCongelado ó ProdFresco, ProdRefrigerado y ProdCongelado. En el caso de PorAire, PorAgua y PorNitrogeno quizás PCPorAire, PCPorAgua y PCPorNitrogeno. En el esquema indicas superclase, subclases y clases. Si matizamos esto a fondo, todo son clases. Son superclases aquellas que tienen subclases. Y en algunos casos como Congelados, son al mismo tiempo subclase y superclase. Por eso en un esquema de este tipo puede bastar con indicar "Esquema de herencia entre clases". Todo matices, no te detengas demasiado con estos matices, pero creo que puedan ir ayudando a mejorar. Saludos,