December 22, 2003

My favourite analysis (learning) tool.

My favourite analysis/learning tool is the business model. This is a diagram that shows objects/entities and the relationships between them. I use the crow's feet notation because it is easiest to intuitively understand (for me at least). The only thing I am interested in is whether the relationship is many to one etc. I do not bother with optionality, that's too much detail. I stick attributes and methods on the objects/entities as appropriate.

Typical bad smells I look for are:

1. Many to many relationships normally indicate a missing business entity.
2. When I cannot link two objects/entities through a valid set of business relationships, I know that there is a missing object(s)/entity(ies) and relationship(s).
3. Violation of 1st or 2nd Normal Form. As these are analysis and not design or implementation models I normally go to 3rd normal form.

Once again, these business models are for my personal use and understanding. They are not a deliverable although they may be useful to developers.

Posted by chrismatts at December 22, 2003 1:08 PM