2

I want to create and maintain domain model / high level concept models for my project. Currently I am using jDeveloper and creating UML class diagrams. This does not work well, and I would like to find a better alternative.

Problem is that once the number of objects grows large enough, the diagram contains so many relationships that it's almost impossible to read and maintain. The diagram is a big spiderweb of lines crossing each other.

enter image description here

I think some hybrid of UML-modelling tool and mind mapping tool would be perfect for this need

  • The need is for high level conceptualization and communicating with customers. The diagram does not have to be perfect UML
  • Some mind mapping tools I have tried only have connections between nodes. That's not enough, I would need at least multiplicity information in the relationships (0...*) and ability to define fields for the nodes
  • A UML class diagram can be made a little bit more readable by using different line style (oblique/rectiliear) and by laying out the classes so that related classes are next to each other. I have tried both, but they only help to certain extent and once the diagram is complex enough, there's nothing you can do to avoid it becoming unreadable. Here's where the "dynamic" part comes in - you could have a tool that has the classes as nodes in a graph, and when you select one class, it brings it to center and all the classes that are related to it around it. That way you could interactively browse the class diagram / mind map, and concentrate on one class at a time.
user449236
  • 513
  • 1
  • 4
  • 6

1 Answers1

3

a The problem is that you use the graphical class diagram to display all the information rather using more than one diagram or live navigation.

What I do in my projects is to create a full model from my existing code or still at higher level of conception without any code. Once my model is created usually with a big messy graphical diagram then I create smaller class diagrams in order to get views. This is the static structural diagrams I usually give to developers. What I do myself in order to help me to think is to show and hide Dependencies, associations or inheritances. It means that I can click on the diagram background and select hide dependencies and then select show associations etc...I can also click on a class and see all related classes having dependencies, associations etc...with this class. I can therefore navigate dynamically inside my model. Really cool.

I use Eclipse and had already tried almost all the UML plugins. I use Papyrus for high level of abstraction and simple project based on one class diagram and Omondo if very large project with multiples diagrams in order to generate java code.

UML GURU
  • 1,452
  • 1
  • 9
  • 7