Sunday, April 19, 2020

Top 5 Books to learn UML (Unified Modeling Language) for Java Developers - Best of Lot, Must Read

The UML stands for Unified Modelling language and it is one of the great tools for Object-oriented design. It allows you to create several diagrams like class diagram, sequence diagram, object diagram, etc, which helps you to understand your system better.  The UML also helps you to convey your thoughts and design to peers and team members before implementation. Since a picture is worth a thousand words, those interactions often help you to find shortcomings and loopholes in your software design very early. That's actually the reason I use UML in our projects. Btw, I didn't know about UML or UML diagrams when I first started Java development.

Maybe, I might have heard about it but it just like many more things which I heard but don't pay enough attention. It was my first year at work when I was first asked to prepare both class and sequence diagrams for one of the modules I was developing.

For me, it's a useless task because at that time I believe in start coding immediately to save time for unforeseen challenges. I wasn't aware of the benefits a UML diagram will provide when I start coding and how it can help Java developers to find flaws in their thought process and design quite early.

My quest to learn UML and create those class and sequence diagrams led me to several books and resources. When the job was done, the UML also fall off the hook for another year or so, until a similar requirement comes to prepare UML diagrams for a legacy system but the challenge was that we didn't have much time to learn. I regret my laziness about dropping the ball on UML





Top 5 UML Books for Java Developers

Here is my collection of some of the best books to learn UML or Unified Modelling language. I have chosen the books from Java and J2EE developer's point of view but since UML is language independent, you can also use these books if you are doing object-oriented analysis and design in Python, C++, C# or any other object-oriented programming language.

The list contains books for both junior and experienced programmers alike. Since software design and object-oriented design are very important to grow higher in your career, I strongly recommend senior Java developers to get familiar with UML and other design tools like Microsoft Visio, which helps in visual communication with team members and other shareholders and internal teams.

This is especially important if you want to become a software architect, team lead, or solution architect because one of their important jobs is to create system diagrams, highlight dependencies, and send communicate visually.


1. UML Distilled by Martin Fowler

The UML Distilled: A Brief Guide to the Standard Object Modeling Language By Martin Fowler and Kendall Scott is by far the best UML book I have ever read. Martin Fowler doesn't need any introduction and I am sure you might have already read some of its best-known books like Refactoring or Enterprise Integration Patterns.

This book also exceeds expectations. You will not only learn what is UML and Why should you use UML but also how to design an application and how to use UML in the design process.

Surely it's more important to learn to design than simply the UML notations and diagram and the author has done a really great job on that front.

In short, UML Distilled 3rd edition is the best book for anyone needing a solid introduction to UML or basic software engineering principles and it is also the must-read books for any Java programmer wanted to become software architect or solution architect. 

You can also combine this book with the Unified Modeling Language (UML): The Complete Guide course on Udemy to get some hands-on experience in using UML. This will also help you to better understand the UML concepts.

UML books for Java and JEE developers




2. UML for Java Programmers by Robert C. Martin

This is one of the best books to learn UML for Java developers. It will teach you how you can use UML for your benefit in Object-oriented design and communicating your ideas to fellow developers and other team members.

The book is written by none other than Robert C. Martin, also known as Uncle Bob, author of books like Clean Code, Clean Coder, and Clean Architecture. Uncle Bob is known to make things simpler which are easy to understand and digest.

You will learn about the sequence diagrams, class diagrams, object diagrams, and other UML diagrams to show the inter-dependency between classes and how different parts of the application collaborate together.

He has also shown how to use UML in object-oriented design by designing a coffee machine in an object-oriented way using UML tools. In short, a good book to learn UML basics from Java development perspective. You will not only learn UML but also XP because Uncle Bob loves XP.

If you need an online course to join this book, I suggest you check out Advanced Object-Oriented Analysis of Hard Problems using the UML course on Udemy, which is a very hands-on and practical course. Just like the Coffe Machine problem in this book, you will learn how to apply OOP techniques to analyses hard real-world problems using UML.

best book to learn UML for JAva develoeprs





3. Enterprise Java with UML, by C. T. Ariington

If you are looking for a good book to help you understand how to use UML to design and develop complex J2EE/Java EE/JEE applications then I strongly recommend Enterprise Java with UML, by C. T. Ariington, it's one of the best books to learn UML in depth.

best book to learn UML for Java EE developers


This is also a must-read of the book if you want to become a Java architect because as a solution architect you should have a good understanding of UML diagrams to explain your systems to other people e.g. support guys, infra team, network team, BA/PM, etc. The book is very clear but sometimes gets repetitive, but that makes sure you get the idea through.

The UML & Object-Oriented Analysis section of the book is truly outstanding and can be used together with UML for Java Programmers by Robert C. Martin to learn better.


4. The Unified Modeling Language User Guide by Grady Booch et All.

This User Guide is a book that provides in-depth coverage of the language. It is not a book on Object Orientation. The reader is expected to be comfortable enough with the OO concepts such as Class, Object, Relationship, Aggregation, Composition, Inheritance, Polymorphism, etc.

Top 5 Books to learn UML


The book takes UML from the beginning and provides step-by-step and in-depth coverage of the language, except for the syntax and semantics that are not all fully and equally covered. The approach is explanatory. You can also read this book to familiarize me with the changes to UML in UML 2.0, which are extensive,


Further Learning
Introduction to UML
Unified Modeling Language (UML): The Complete Guide
Advanced Object-Oriented Analysis of Hard Problems using UML


That's all about some of the best books to learn UML or Unified Modeling Language. If you aspire to become an enterprise Java architect, solution architect, or consultant, you must improve your UML skill and these books will help you to get there.

As I said, if you aspire to become a software architect or project manager, you need to familiar with technology like UML and tools like Microsoft Visio Professional The Microsoft Visio is very popular among project managers and solution architects for visual communication.

One of the key advantages of this popular design software is that it syncs with Microsoft Excel and Microsoft SharePoint, and while the resultant diagrams tend to be dry, they’re certainly professional and functional.

Other Java Articles you may like to explorer:

P.S - If you are looking for some online courses to learn Java from scratch then you can also check out this list of 10 best courses to learn Java in depth on Medium.

No comments:

Post a Comment