Problem Analysis  «Prev 

Modeling advanced associations

Examine many to many associations. Ask 'Is there information that we need about the links in this association?'

Identify the information that you need to track. Sometimes it will be a single attribute.
Sometimes it could be attributes and operations.

Place the information in a class definition

Attach the new class to the association using a dashed line. This method shows how you arrived at the need for a new class. It encapsulates everything you need to know about the relationship between objects in the association.

To implement the class you might later need to promote it to the status of a regular class. To do so, replace the original association and dashed lines with two new associations. Draw one association from the association class to one of the original class.

Name and redefine the multiplicity of the new association.

Repeat the process for the association between the association class and the other original class.

Delete the original association that has now been completely replaced.