When I first got into UML modeling, the concept of relationships between classes felt a bit daunting. I knew it was essential to model how different objects interact with each other, but I wanted to keep things simple. So today, I’m diving into simple UML modeling relationships. I’ll focus on binary associations, which link two objects — either from different classes or within the same class. Let’s jump in.
Binary Associations: The Basics
In UML, a binary association represents the link between two objects. Imagine it as a line between two classes that explains how they relate. For example, if you think about a “Person” and an “Address” class, a binary association could show that each person has an address where they live and perhaps another for correspondence. On the other side, multiple people could share one correspondence address, such as a shared office mailbox.
Example: Consider the classes “Person” and “Address.” In our UML model, each person has one residence and possibly a different correspondence address. Conversely, an address might link to multiple people. This way, a single address can serve different roles.

Binary associations are a powerful, simple way to clarify object relationships. They’re a starting point for understanding and refining how elements in your system interact.
Elements of Binary Associations
For clarity, binary associations come with specific elements. Here’s a breakdown of the most important ones:
- Name – Every association needs a name, ideally a verb phrase, which clarifies the nature of the relationship. For instance, “resides at” could describe the link between a person and their residence.
- Reading Direction – This is the direction in which you read the association name. Think of it as guiding the flow of understanding in your model.
- Multiplicity – This specifies how many instances of each object can relate to the other. In our example, a person has “one” residence but can have “many” addresses for correspondence.
- Role – A role explains the purpose of each object within the association. The role of “correspondence address” in our model, for instance, shows its role in the relationship.
To fully grasp multiplicities, it helps to picture the objects in action. If you’re unsure, try visualizing an example with real-life objects.
Why Associations Matter in Requirements
When working on requirements, associations can be a lifesaver. They provide clarity and ensure nothing is left out. Let’s take the example of two people, Mary and Freddy, and their associations with specific addresses. By modeling the relationships clearly, we gain a detailed understanding of each connection.

This example shows how associations clarify which addresses are used for correspondence versus residence. Without associations, we might only focus on “address” in general, missing the critical details about each role these addresses play in the model.
Without Associations: “Show address for Mary and Freddy.”
With Associations: “Show the correspondence address for Mary and Freddy.”
By using associations, requirements gain specificity, reducing the chances of errors in interpretation and ensuring functionality matches the needs of the system.
Unique Naming for Clarity
A unique name for each association ensures no mix-ups, especially when multiple associations exist between two classes. With our example above, the specific association names — “lives at” and “correspondence address” — make it clear how Mary and Freddy are linked to each address.
The Role of Multiplicities in Requirements
For requirements engineers, multiplicities reveal important constraints within associations. They show whether there’s a limit to how many objects link to each other. Here are two examples:
- Requirement 1: Show the person.
- Requirement 2: For this person, show the correspondence adress.
Notice that the second requirement assumes each person consults for only one correspondence adress. However, multiplicities in the UML model may show a different scenario, such as a person consulting for multiple companies. This requires clarification and maybe even adjustments.
Here are questions you might ask:
- Is the multiplicity accurate?
- What happens if a person lives in multiple addresses?
- Should only the most recent adress appear?
Wrapping Up
In short, binary associations in UML modeling are a straightforward yet powerful way to define relationships between objects. They add context, ensuring clarity and reducing ambiguities. Each element — from the name to the multiplicity — helps paint a clearer picture of your system.
By mastering simple UML modeling relationships, you’ll not only improve your diagrams but also bring precision to your requirements. So, next time you sit down to model, take a moment to think through your associations carefully. The clarity they bring to your work will pay off tenfold!
This text is based on content from the source: International Requirements Engineering Board (ireb.org). The International Requirements Engineering Board is the owner of the copyright.
Read more about Jira and How to Create a New View in a Jira Project Create a Filter in Jira Structure a Confluence Page for Requirements Validation Create a Jira Issue in a Confluence Page |