Domain driven design has become a very prominent way to develop software. A central domain model is used by all participants. To the end user it is a representation of the real world. To the coder the model is a class model, working with the real domain world boils down to instantiating objects...