When you model classifiers in the UML, remember that there is a wide range of building blocks at your disposal, from interfaces to classes to components, and so on. You must choose the one that best fits your abstraction. A well-structured classifier
Has both structural and behavioral aspects.
Is tightly cohesive and loosely coupled.
Exposes only those features necessary for clients to use the class and hides all others.
Is unambiguous in its intent and semantics.
Is not so overly specified that it eliminates all degrees of freedom for its implementers.
Is not so underspecified that it renders the meaning of the classifier as ambiguous.
When you draw a classifier in the UML,
Show only those properties of the classifier that are important to understand the abstraction in its context.
Chose a stereotyped version that provides the best visual cue to the intent of the classifier.