A binary association is an association between two classes where an instance of one class must know about the other in order to perform its work.

  • Role names and multiplicities are labelled at both ends.
  • In uni-directional associations, role name at the start of the arrow is optional.
  • Can be used to formalise requirements such as “each professor may coach a set of students, and each student is coached by exactly one professor”

Multiplicity (UML)

The multiplicity is the number of objects that may be associated with exactly one object of the opposite side.

UML NotationMeaning
any number of objects (incl. zero)
at least one object
exactly one object
exactly objects
at least and at most objects
graph {
	rankdir=LR
	node [shape=rectangle]
	Lecturer--Assignment [taillabel="1" label="issues" headlabel="*"]
}
graph {
	rankdir=LR
	node [shape=rectangle]
	Lecturer--Assignment [taillabel="1..*" label="gives" headlabel="1..*"]
}
Link to original

Role (UML Class)

The role describes the way in which an object is involved in an association relationship.

Link to original