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.
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.
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.
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.
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 ( http://www.rational.com )
2. TogetherJ from Together Software
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.