Tuesday, April 19, 2016

Domain modeling

A while back I posted a few modeling examples. Today's post is going back to that. This is the domain model. Again this model is for a simple library system which shows how concepts in a domain are related to one another. A box in the diagram is a term or concept. The lines represent connections and the labels on the lines show "how many" for the various relationships.

Cardinality illustrates business rules. As an example a Patron has one and only one account. And an account is associated with only one Patron. An account may have 0 to many fines on an account.


I've found that when using this model it helps to establish clear definitions of the key relationships in your domain. Some of the benefits of a domain model:

  • Helps in understanding the problem space
  • Creates a common vocabulary 
  • Developers can understand the terms and relationships
  • Shows what's in and what's out of the domain
  • Allows the team to share with other teams when working together
I've used the term Visual Glossary for a long time - long enough I don't remember who said it. I've used it for a while. Either way - it's a visual glossary of the terms in the domain. Give it a try and see if it helps out.






No comments:

Post a Comment