The Unified Modeling Language has become the industry standard for the expression of software designs. The Java programming language continues to grow in popularity as the language of choice for the serious application developer. Using UML and Java together would appear to be a natural marriage, one that can produce considerable benefit. However, there are nuances that the seasoned developer needs to keep in mind when using UML and Java together. Software expert Robert Martin presents a concise guide, with numerous examples, that will help the programmer leverage the power of both development concepts. The author ignores features of UML that do not apply to java programmers, saving the reader time and effort. He provides direct guidance and points the reader to real-world usage scenarios. The overall practical approach of this book brings key information related to Java to the many presentations. The result is an highly practical guide to using the UML with Java.

10 reviews for UML for Java¿ Programmers

  1. (10)

    Doug Tillman

    This book is a gold mine of insights into what is essential about OO design, UML notation, and their relationship to writing sound code. The book’s focus is on how to create and understand essential UML design artifacts and fundamental OO design concepts to help you write better code. As the book proceeds, excellent examples are provided to ensure that the reader understands the crucial aspects of transforming code to UML and vice versa. UML’s role in the development process is put in proper perspective as a tool rather than an end in itself. All the standard UML artifacts are covered: Class Collaboration, Sequence, and Object Diagrams, as well as Finite State Machines (the author isn’t a big fan of Use Cases but they’re briefly covered too). Moreover, the book includes excellent chapters on sound OO design principles for not only class hierarchies but also package and component building as well. A terrific synopsis of the author’s take on an agile development methodology is presented and there are some meaty case studies against which one can try out his/her newly gained knowledge of the topics covered. If you want to learn solid OO design concepts and how to reliably and accurately represent them in UML then this book is for you. I’d also recommend the author’s other recent book, Agile Software Development Principles, Patterns, and Practices which won a Software Development Magazine Jolt award.

  2. (10)

    Michael Cohn

    This is a great book for learning or improving with UML. Topics are introduced at a level appropriate for beginners but each topic progresses at a nice pace into intermediate territory. There’s even advice in here suitable for the best programmers I know.
    I love the liberal use of source code throughout this book. We model in order to write code and Bob Martin clearly presents that perspective in this book. If code is the goal then it is worthwhile understanding the relationship between our models and our code. While all of the example code is in Java I’d still recommend this book to anyone who wants to learn more about modeling and who has even a passing familiarity with Java. C++ or other programmers should have no problem reading it, for example.
    I like that the author goes beyond just describing each of the UML diagrams and takes the opportunity to teach good design while he’s at it. As just one example, the “Single Responsibility Principle (SRP)” is discussed. This principle tells us that “a class should have only one reason to change.” In other words, don’t put everything into one class. That’s pretty obvious but it’s still a common mistake. The book shows a brief snippet of Java code that violates this principle and then shows the UML for how to design it better. More importantly, we’re told how to recognize this problem in UML diagrams we create or inherit.
    This book addresses one of the big problems I’ve had with many other UML books–it tells the reader right upfront that not all diagrams are equally important. I love that the author tells us things like that “in the last decade I think I have drawn less than a dozen object diagrams of this kind.” That’s great to know! Because many other books try to cover every diagram and modeling technique they all end up appearing equally important. In this book Bob Martin tells us that he’s only going to cover what we really need to know to be better Java programmers. He achieves that goal with flying colors.

  3. (10)

    Erwin Hogeweg

    UML for Java programmers is by far the most practical and usable UML book I have ever read. I loved it.
    In this book, which is not only about UML but also about XP (or Bobs derivative dX), Uncle Bob shares his opinion on which UML diagrams are useful in a (Java) developer’s all day life and how they should be used (more so as a communication/design tool than as a documentation tool). Chapter 6, where the author delves into a few OOD principles, was especially useful because I always struggled with writing unit tests for GUI classes. Bob presents a nice solution to this problem.

  4. (10)

    M Clark

    Before you start rolling your eyes over yet another UML book, buy this gem and give it a serious read. It’s like no other UML book I’ve read. It’s also the only UML book I’ll ever need.
    For starters, it’s far too enjoyable a read to be lumped in with other crusty UML books. More importantly, it’s Uncle Bob’s no-nonsense, practical approach that sets this book apart. He’s not afraid to tell you when some UML diagram or adornment is more trouble than it’s worth. Indeed, throughout the book he puts the use of UML in its rightful place. Indeed, I wish this book had been around about 10 years ago, before we somehow got it into our heads that the models were the software.
    After putting UML in its place, Bob teaches you how to wield it as a tool to assess the quality of a design using sound object-oriented design principles. Bob is a programmer’s programmer, so everything he does is backed up with code. It’s all great stuff you can start applying immediately.
    We don’t need yet another UML book, but we do need a book that teaches us how to use models to our advantage. This book definitely hits that mark!

  5. (10)

    David Bock

    I just led a study group of 15 people reading this book. The book is very down-to-earth with a lot of practical advice for how a group of programmers can effectively use UML to aid in communication of ideas across a team.

    It only covers 5 of the 11 or so UML diagram types, but it covers the ones that will really be used by java programmers day-to-day, in design documents, whiteboards, etc. For each it talks about real world, practical approaches on how to use them to communicate ideas.

    Bob Martin is an ‘Agile’ guy, and it really comes across in this book. A lot of his arguments come down to “A lot of the pomp and circumstance surrounding UML is pretty useless, except when it isn’t”, and while he tries to instill when that will be, that kind of knowledge reaslly only comes with experience. He also advocates that the diagrams should be ‘lightweight enough to be thrown away’, which is an opinion that can rub a lot of people the wrong way, is a very valid position. While there is nothing inherently ‘good’ or ‘evil’ about UML, it is often used to help create a ‘documentation glut’. I have seen situations where the documentation falls out of sync with the code, or worse… the code can’t change because the documentation cannot be updated (because of some beurocratic red tape). The author seems to have had some bad experiences along these lines, and seems to have a lot of reactionary thoughts.

    This is good! while a couple of other reviews here have called such advice ‘impractical’ (which it can be in a lot of environments), the information in the book is very valuable and the thought provoking nature about ‘be as lightweight as you can’ and ‘avoid the UML police’ are useful as long as you can take them with a grain of salt and apply the advice judiciously in your own work environment.

    I definitely recommend this book to Java Developers who need to better communicate their ideas to groups of other developers. After reading this, there are other references should you need to ‘go down the UML Rabbit Hole’ a little deeper. this book is better first though, because it puts the relevant diagrams into practical context.

  6. (10)

    Stephen Smith

    Years ago I was working on a very complex project. One of the team members convinced the management that we needed CASE tools. After spending $$$ on them and countless hours learning them, we began to use them. I soon became convinced that they provided little to help the process and in the end, they nearly sunk the project. It was yet another pseudo code that did little to aid in the process of generating real code. So when UML came on the scene, knowing it’s roots I was very suspicious. After looking more into it, I was pleasantly surprised by UML. I believe that most of my objections to CASE were addressed, but not all. I found that too many had simply replaced one dead weight with another. Again countless hours were spent generating documents that no one ever read or cared about. Yet UML was a valuable tool, why was this so? I shared this with my grown son who directed me to Martin’s book, and it became clear that a valuable tool was simply being misused. It is obvious that Martin has been in the real world and knows when to use a tool like UML, how much to use it, and what it is best suited for. Rather than throwing the baby out with the bath water as I was tempted to do, Martin points out that UML is a good communication tool best used at a white board with a small team. Once everyone is on the same page, the team can proceed as a team. Martin doesn’t over burden you with a lot of useless diagrams. He poses a problem, shows how UML addresses a design issue, and shows you the resultant design change. I subscribe to many of the XP techniques because I have used them and found them useful with the exception of pair programming which I did for a while and found it to reduce the productivity to the lowest common denominator between the pair. I highly recommend this book.

  7. (10)

    Norden2025

    everything was good.
    this book is easy for understanding UML and how it works.
    nothing bad to say about it.
    thanks

  8. (10)

    Shoeb2003

    Quick delivery. Happy with the purchase.

  9. (10)

    Ramesh Rao

    The Book is amazing, it has all the right stuff that one developer/designer ought to know and stuff that should be avoided.

  10. (10)

    Muad’Dib

    Gotta tell you, this guy was a visionary back in 1770.

Add a review

Your email address will not be published. Required fields are marked *

Back to top

New item(s) have been added to your cart.

Quantity: 1
Total: $17,00
Modern Statistics: A Computer-Based Approach with Python
(10)
Original price was: $86,99.Current price is: $19,99.
Linear Algebra for Data Science, Machine Learning, and Signal Processing Original price was: $69,99.Current price is: $19,99.
Linear Algebra: Theory, Intuition, Code
(10)
Original price was: $45,00.Current price is: $19,99.
Mathematics and Statistics for Financial Risk Management
(10)
Original price was: $69,99.Current price is: $19,99.
Mathematical Statistics with Applications in R Original price was: $129,99.Current price is: $19,99.
Computational Statistics in Data Science
(10)
Original price was: $173,00.Current price is: $19,99.
Practical Statistics for Data Scientists: 50+ Essential Concepts Using R and Python
(10)
Original price was: $79,99.Current price is: $13,99.
Introduction to Graph Theory (Dover Books on Mathematics)
(10)
Original price was: $21,95.Current price is: $9,99.
Linear Algebra With Machine Learning and Data
(10)
Original price was: $75,00.Current price is: $19,99.
The Self-Taught Programmer: The Definitive Guide to Programming Professionally Original price was: $31,87.Current price is: $9,99.
The Calculus Story: A Mathematical Adventure Original price was: $35,00.Current price is: $9,99.
Mathematical Analysis for Machine Learning and Data Mining Original price was: $178,99.Current price is: $19,97.
Create GUI Applications with Python & Qt6 (PyQt6 Edition): The hands-on guide to making apps with Python
(10)
Original price was: $54,99.Current price is: $14,99.
Advanced Calculus: Theory and Practice (Textbooks in Mathematics) Original price was: $94,65.Current price is: $19,96.
Storytelling with Data: A Data Visualization Guide for Business Professionals
(10)
Original price was: $37,00.Current price is: $11,99.
Computer Science: An Interdisciplinary Approach
(10)
Original price was: $61,99.Current price is: $19,99.
Machine Learning: An Applied Mathematics Introduction
(10)
Original price was: $34,99.Current price is: $14,99.
R For College Mathematics and Statistics Original price was: $96,00.Current price is: $19,99.
Numerical Analysis Original price was: $74,99.Current price is: $19,95.
Technical Analysis of Stock Trends Original price was: $86,95.Current price is: $19,95.
Essential Mathematics for Economic Analysis Original price was: $49,99.Current price is: $19,99.
Encyclopedia of Applied and Computational Mathematics, 2 volume set Original price was: $999,00.Current price is: $29,99.
The Art of Uncertainty: How to Navigate Chance, Ignorance, Risk and Luck
(10)
Original price was: $32,99.Current price is: $14,99.
Data Analysis and Machine Learning through Statistical Computing Original price was: $249,00.Current price is: $34,99.
Modern Data Science with R (Chapman & Hall/CRC Texts in Statistical Science) Original price was: $79,99.Current price is: $19,99.
What's the Point of Maths?
(10)
Original price was: $24,99.Current price is: $9,99.
Trigonometry 11th Edition Original price was: $265,99.Current price is: $14,99.
Quantum Computing: A Primer Course and Its Applications in Machine Learning
(10)
Original price was: $119,99.Current price is: $39,99.
Machine Learning Crash Course for Engineers
(10)
Original price was: $64,99.Current price is: $18,95.
Probabilistic Numerics: Computation as Machine Learning Original price was: $49,99.Current price is: $19,99.
Machine Learning using Python
(10)
Original price was: $77,99.Current price is: $19,00.
Learn Physics with Calculus Step-by-Step (3 book series)
(10)
Original price was: $159,95.Current price is: $29,99.
Ordinary Differential Equations (Dover Books on Mathematics) Original price was: $38,49.Current price is: $15,00.
The Cartoon Guide to Geometry
(10)
Original price was: $35,99.Current price is: $12,99.
Linear Algebra and Its Applications Original price was: $214,99.Current price is: $19,99.
Mathematics for Machine Learning
(10)
Original price was: $88,99.Current price is: $19,95.
Vector: A Surprising Story of Space, Time, and Mathematical Transformation
(10)
Original price was: $47,99.Current price is: $19,99.
Numsense! Data Science for the Layman: No Math Added
(10)
Original price was: $43,99.Current price is: $15,00.
Calculus with Multiple Variables Essential Skills Workbook: Includes Vector Calculus and Full Solutions
(10)
Original price was: $35,00.Current price is: $17,99.
Mathematics for Human Flourishing
(10)
Original price was: $49,99.Current price is: $14,99.