
For a 1-1 association there must always be the same number of instances of each class and they must be organized in pairs.

Have you avoided classes representing user interface elements or architectural elements, since you are creating only a system domain model? **.Have you considered cases where there are two or more names for the same thing, and created just a single class? **.Where a name could have multiple related meanings, have you named each class so its meaning can be precisely understood? **.Have you avoided using such naming elements as 'data', 'record', or 'info'? **.Are all class names written in the singular and starting with a capital letter? **.Have you added all needed classes from the requirements (mostly they appear as nouns)? Cross them off in the requirements when you have accounted for them.Items marked with ** are the ones you should check if you are in a hurry, since these are the biggest source of mistakes that are quick to correct.

It also does not consider user interface classes or other architectural classes. Since interfaces describe sets of operations, it does not consider those either. It does not consider operations/methods, etc.

This list assumes you have been asked to create a class diagram for the domain model of a system, containing classes, associations, attributes and generalizations. It can't be relied on completely, but at least if you focus on these items, you will avoid common mistakes. The following checklist can be used to help check the validity of basic class diagrams.

Checklist for a class diagram describing a system domain model
