When you create class diagrams in the UML, remember that every class diagram is just a graphical presentation of the static design view of a system. No single class diagram need capture everything about a system's design view. Collectively, all the class diagrams of a system represent the system's complete static design view; individually, each represents just one aspect.
A well-structured class diagram
Is focused on communicating one aspect of a system's static design view.
Contains only elements that are essential to understanding that aspect.
Provides detail consistent with its level of abstraction, with only those adornments that are essential to understanding.
Is not so minimalist that it misinforms the reader about important semantics.
When you draw a class diagram,
Give it a name that communicates its purpose.
Lay out its elements to minimize lines that cross.
Organize its elements spatially so that things that are semantically close are laid out physically close.
Use notes and color as visual cues to draw attention to important features of your diagram.
Try not to show too many kinds of relationships. In general, one kind of relationship will tend to dominate each class diagram.