Top 5 Books to learn UML (Unified Modeling Language) for Java Developers – Best of Lot, Mus…

综合技术 2017-07-05

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 e.g. 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 peer and team members before implementation. Since a picture is worth a thousand word, 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 in 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 benefits a UML diagram will provide when I start coding and how it can help Java developer to find flaws in their thought process and design quite early.

My quest to learn UML and create those class and sequence diagram 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 come 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/J2EE 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 is 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 eStandard 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 e.g. Refactoring or Enterprise Integration Patterns.

This book also exceeds expectation. 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.

2. 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.

This is also a must read the book if you want to become a Java architect because as 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.

3. 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.

You will learn about sequence diagram, class diagram, object diagrams, and other UML diagram to show the inter-dependency between classes and how different parts of 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.

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.

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,


1. Rational ( )

2. TogetherJ from Together Software


1. Resource Center at Rational

2. Introduction to UML by Pluralsight

3. Best Books to learn OOP Design Patterns

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 software architect or project managers, you need to familiar with technology like UML and tools like Microsoft Visio Professional 2016 . The Microsoft Visio is very popular among project managers and solution architect for visual communication.

One of the key advantage 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.


Grid.css – A Minimal Grid System for Web Developer... Larger frontend frameworkslike Bootstrap come with their own grid setups . But, they also come with a lot of baggage in the form of pre-designed page...
Working with String (RESX) web resource in Dynamic... Introduction: As we all know the new release of Dynamics 365 i.e v9.0 has come up with many new features. Along with these features Microsoft a...
Easily configure detection of your environment’s c... We’ve simplified the process for defining and managing custom-service monitoring in your environment. Custom services are application services that ca...
我的Ruby学习历程之初识条件判断 条件判断,我觉概念以及相关的理解其实在学习Java时就已经有一个很深的印象了,学习Ruby的条件判断更注重的是发现语法上与Java不同的地方,记住每种使用的关键字,可以在使用的时候想的到。 说实话我觉得那些能掌握很多门编程语言的人真的很了不起,尽管说编程语言在底层都是相通的,但是想...
热修复与插件化基础——Java与Android的类加载器... 2、加载流程 Loading:类的信息从文件中获取并载入到JVM的内存中。 Verifying:检查读入的结构是否符合JVM规范的描述。 Preparing:分配一人上结构用来存储类信息。 Resolving:把类的常量池中...