Domain class diagrams Working with domain class diagrams and design class diagrams at the same time drove me insane. After much analysis, there are only two things that you have to ask when reading through a case study in order to identify the domain classes:
1) What must the system do?
Read through the case study and write down what actions the system must carry out.
From this list, extract the list of classes involved in these actions and write those classes down into a seperate list.
2) What must the system store information about?
List all the classes where attributes are listed, and write these classes down in a seperate list.
Now we combine both list of classes and eliminate the duplicates from the resulting list.
Exceptions - Beware!
1) If additional information is listed about a domain class, then it is an attribute of the domain class and not a domain class. An example of this could be student grade, or employee's-qualification.
2) If something interacts with the system, or is external to the system, then that something is an actor, and by definition, is not part of the domain class diagram. Typical roles are agents and clerks who use the system.