A domain class diagram models the concepts in the problem space. Typically a domain class diagram just shows the name of the classes and helps model the vocabulary of the problem space. A design class diagram is, as you'd expect, to help model the actual design concepts. Obviously this has more detail than the domain diagram, because it must model the fine-grained concepts of implementation.

As an example, if you had to implement a design pattern, the classes needed to support this would not be in the domain class model (after all the design pattern is to solve a particular problem, not the general one).

In short - the domain class diagram models the high level concepts in the system, not the implementation details.

In this respect the domain class diagram can be compared to a platform independent model (PIM). The domain class digram should be modelled without concern for the underlying implementation language.

Hope that helps!

As an example, if you had to implement a design pattern, the classes needed to support this would not be in the domain class model (after all the design pattern is to solve a particular problem, not the general one).

In short - the domain class diagram models the high level concepts in the system, not the implementation details.

In this respect the domain class diagram can be compared to a platform independent model (PIM). The domain class digram should be modelled without concern for the underlying implementation language.

Hope that helps!