In this post, we will learn about UML class diagram. What is a UML diagram? How to read or create UML diagram representing different classes and relationships?
Introduction to UML Class Diagram
UML stands for Unified Modeling Language. It offers a way to visualize a system’s architecture in a diagram.
UML class diagram describes the structure of a system by showing the system’s classes, attributes, properties, methods and the relationship between various objects of the system.
Basics Of A UML Class Diagram
We can derive a lot of information from a UML class diagram.
Attributes Representation In UML
A class usually has one or many attributes which are also called properties or fields. For example a
User class can have attributes such as
We represent the attributes in the first box below the class name in a UML diagram. The data type and accessibility of each attribute is also defined here.
Operations Or Methods In UML
Operations are behaviors or actions of a class object. For example, a user object can have a method to
Similar to Attributes, we define a method’s parameters type, return data type and accessibility.
Accessibility Level In UML
All attributes and operations have an accessibility level in a class. Some methods are private, while others are public. Yet, others are accessible only by the classes that derive from the parent class.
|Accessibility Level||Representation In UML|
|Public||– (minus sign)|
|Private||+ (plus sign)|
|Protected||# (hash sign)|
Class Relationships With UML Class Diagram
Now we move onto next section which is defining relationships between classes with UML.
Inheritance Representation In UML
Inheritance is when a class derives from another class or interface. For example both the
Designer classes can derive from
In a UML Class Diagram, we use an Arrow symbol to represent Inheritance relationships.
Abstract classes can also be represented by
Association Representation In UML
Two classes may be associated by a certain relationship. For example, a
Student can be associated to a
Teacher object. Similarly, a
Developer can be associated with
The associations can be of many types like 1 to 1, 1 to many or many to many.
We define an Association by a single line.
Composition Representation In UML
When a child object depends upon it’s parent object for its existence and cannot exist independently, then it implies a Composition relationship.
For example a
ProjectMilestone object cannot exist if there is no
Project class object.
We represent a Composition Representation with a Closed Diamond.
Aggregation Representation In UML
Unlike a Composition relationship, in an Aggregation relationship, the child can exist independently of parent object.
For example, a
Project can be associated with a
Department. Both can exist independently of each other. We define the Aggregation relationship by an Open Diamond figure in UML.
This post has covered all the basics that you need to know about UML class diagrams. We looked at a defining single class with attributes and operations. Then learnt about relationship diagrams for different types of class relationships. You should be able to read any UML diagram with this much knowledge!
Interested to learn mobile app development? Checkout out our articles and tutorials from Flutter section!