Step 1.4 Identifying associations

1 Review the concept of associations.
2 Identify verb phrases in problem statements, requirement statements, business rules and concepts of operation. For example:
  • a customer purchases a book (class=customer, book; association=purchases)
  • a customer complains about a product(class=customer, product ; association=complains about)
3 Eliminate irrelevant associations that are:
a) Outside the problem domain
b) Specify implementation approaches (e.g. the transaction takes a record lock)
4 Discard actions. Associations describe class structure not transient events. For example "accountant creates a credit note" describes an action on a credit note it does not imply an association between accountant and credit note that needs to be recorded.
5 Omit derived associations. Omit associations that can be defined in terms of other associations. For example, given the business rule, "a credit note is issued on an invoice for validated customer complaints", an association need not be defined between complaint and invoice. It is redundant as it can be derived by identifying the credit note the complaint was associated with and accessing the related invoice from the is issued on association.

Derived associations

6 Identify associative classes.
7 Define the cardinality of the association.