When I first came across UML in our class activity projects, I often felt lost trying to understand it. There were so many different diagram types, rules, and notations that I struggled to keep track of them all. At first, the symbols looked like a foreign language, and I wasn’t sure how they connected to the actual code I was writing. It took time, practice, and a lot of trial and error before the diagrams began to make sense and I could actually see the value they brought to understanding software design. For the first time, I could take what was abstract in my head and turn it into something visual. It felt like a window had opened into the world of software architecture.
I learned that UML is made up of two main groups of diagrams: structure and behavioral. Structure diagrams helped me understand the static side of systems. Things like classes, components, and how they are organized. Behavioral diagrams showed me the dynamic side, how data flows, how objects interact, and how the system responds to events. Understanding this distinction gave me a clearer way to separate what a system is from what it does.
The diagram that made the biggest impact on me was the class diagram. I remember drawing my first one and realizing how much easier it was to map out a system before writing a single line of code. It showed me the attributes, functions, and relationships between different classes in such a simple way.
Example Class diagram

Relationships:
- User is associated with Account and Loan
- Account is associated with Transaction and Loan
- Bank has a composition relationship with Branch and is associated with Account
- Branch is associated with Loan
Over time, I started to see the practical benefits. Creating UML diagrams have helped me save time by spotting problems early, and they have made it much easier to explain my ideas to others. I no longer have to rely on words only to describe complex systems, now I could show a picture. This has made collaboration smoother and has given me more confidence in my designs.
Learning UML has changed the way I think about software. It has taught me that code is only part of the story; the real value comes from understanding how everything fits together. UML has given me the language to describe that bigger picture, and it’s something I carry into every project I work on today.
Resourses
I chose the Visual Paradigm “UML – A Comprehensive Guide” because it covers everything from the basics to deeper topics like structure vs. behavior, and all 14 diagram types. It felt like a one-stop reference I could return to whenever I was confused. Also the guide’s structured layout made learning smoother. It’s organized by topics so when I’m struggling with one concept I can jump directly to that section.