Supponendo che tu intenda " tipo di dati di riferimento " piuttosto che un'associazione a un tipo di dati che viene realizzato nella lingua di implementazione come riferimento , quindi
is it needed all the time to describe the reference data types in UML Class diagram?
La stragrande maggioranza del software non è descritta usando UML, quindi no. Se trovi che è utile descrivere qualcosa in UML o ritieni che chiunque stia leggendo il tuo diagramma lo troverà utile, includilo.
Si presume che la maggior parte dei classificatori UML rappresenti tipi di riferimento, di solito viene usato uno stereotipo se non lo sono.
Is this diagram created correctly?
Sintatticamente, sì. Mostra un numero di operazioni e proprietà di due tipi e un'associazione di composizione tra Hospital (whole end) e Nurse (part-end). Se questo corrisponde alla semantica del tuo dominio problematico non è qualcosa a cui chiunque può rispondere.
Also, is it needed for the methods that don't return anything to mention: void?
In parte si tratta di una convenzione del linguaggio di implementazione e in parte dei tuoi processi. Se il tipo di reso non è specificato, il tuo processo potrebbe essere quello di contrassegnarlo come un dettaglio mancante nel modello, e potrebbe essere che il tuo team abbia la convenzione che è considerato nullo. Dipende da quanto dettagliato vuoi che il tuo modello sia se questo è importante.