2011 April 11

On Class Diagrams

The following are interesting reactions to class diagrams that I have come across:

For

"Class diagrams are used as a blueprint to show the properties and methods for a class and the only interaction classes. Interactions being: Associations/Aggregations, Inerhitance, Dependencies , Interfaces."

 

"I'd rather have a look at a well-crafted set of diagrams for a few minutes to orient myself instead of chasing the control flow through source code for half an hour."

 

"UML class diagrams are very useful to understand dependencies between classes if you don't know .... about an application and you have to jump in on the spot with 2 feet."

 

"... any diagram that shows the "big picture" of the system is useful."

 

"code,(is) great, but in my experience code, too, is cluttered with minutiae that the diagrams are there to avoid"

 

Against

"I found that many of the things that were supposed to work "conceptually" in the diagrams didn't work exactly as such in the code. Also, when I saw the code, I could see major improvements to the design that were simply not apparent in the sequences nor class diagrams. This was easy enough to change in code, but the diagrams were a nightmare to change.

Then I started refactoring.

If I change my code, I have to change my diagram. This is madness. I only want to change my code in one place. Which should it be? You can't test a diagram, you can't debug a diagram, you can't even see if it will conceptually work at all!"

 

"I think that UML is the most useless invention in IT (unless you want to impress your boss to make him think that he understands "the architecture"). It is really amazing how such a stupid thing gained such an attention"

 

"I've realized that class relationship diagrams are useless. First, I can read that from the code. Second, it places all classes on an egalitarian footing, which isn't helpful when you have lots of classes with vastly different importance. Third, I'd think the system dynamics are more important to diagram than static relationships"

 

References