Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how to make complex large uml class diagram into simple understandable way

I have company workflow management project and am trying to design uml class diagram ,but the display is getting very large and clumpsy so what i require is to make complex class diagram into simple and easily understandable?please help regarding this.

Thanks in Advance.

like image 840
user2652051 Avatar asked May 21 '14 05:05

user2652051


2 Answers

In general, you shouldn't represent too many classes in the same diagram: you'd better split the structure of your software in multiple diagrams. Every diagram should contain just classes interacting together. Ideally, in a single diagram you should have few classes that depend on each other but with few dependencies on classes contained in other diagrams. If you cannot divide your diagrams in this way because you have too many dependencies, your diagram is trying to tell you something: maybe your design has classes too coupled and you need to modularize more the project.

Another piece of advice: if you're using UML as a tool for reasoning (and not just for documentation), class diagrams are useful to show the static structure of your software and in particular the dependencies between classes. You don't need to put every detail in the diagram, so don't show every attribute and method of the classes, but only the most important methods. Ideally you should show just the methods that can suggest the behaviour of your software. Remember that UML stands for Unified Modeling Language, and a model is not a copy of the real thing with all its details :-)

like image 111
Daniele Pallastrelli Avatar answered Oct 13 '22 09:10

Daniele Pallastrelli


"Divide to conquer"!

Use different strategies of structuring and breaking your diagram in more manageble units:

  • Group related classes in packages and manage dependencies between packages. Show packages in separate diagrams that give your overall model kind of "navigational backbone" (like folders and files)
  • Use inheritance hierarchies to simplify your class structures
  • Use composition relationship whenever possible to couple highely related classes based on Whole-Part paradigm
  • Finally break complex diagrams in several smaller and logically meaningfull ones

Semantic value in UML comes from the elements and their relationships and other features and not the way the diagrams are layed out. So the same semantic value from 100 classes in 1 diagarm can be achived with 10 diagrams. On the other side is the second case much easier fo follow, understand, extend and maintain.

like image 40
Aleks Avatar answered Oct 13 '22 10:10

Aleks