The class diagram is absolutely magic if you use it with Java language. I am able to model, to generate code, change my code, refactor it merge it again with UML etc..; Never a problem, always a perfect updated documentation. For database creation I use java annotations with hibernate which has been created from my class diagram.
Really coooool !!!
manpreet
Best Answer
2 years ago
So i have been on a couple research projects with a teacher of mine and he LOVES UML class diagrams. After using them to build a VERY complex data structure kept in a database (representing a graph that can change based on the physics of a real world problem)
I found that UML is not to great to use beyond just initial stages. I found that with 5 people, multidisciplinary, that the UML would get built. Then when the programming starts, the UML would have to be changed. Over and over and over and over... Then what happened would that the UML would lag beyond the projects progress due to demands and then the worse thing that could happened happens... Stale comments.
Do other people feel the same way? Is there a better tool? With my next project i have decided to go a different route. Define a FLOW diagram of all the different user interactions. Then the program is programmed as the flow diagrams dictate rather than the structure of a UML diagram. I have found that i do not have to change the structure of either one and new comers understand the program quicker.
Is this a good approach as the program grows above 30k lines of code? 50k? 100k?
In UML defense i will say this. That building a program in UML will allow you to spot Design patterns quicker. Which is very nice.
Does anyone have any input?