Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do you like to draw UML diagrams? [closed]

Tags:

uml

Given it is mandatory to have UML diagrams in your project, how do you like to draw them? - By using scripting - By using drag and drop - Any other convenient and faster method

I got lot of responses. Based on our project requirement, I have decided to go with plant uml as we find it very easy to draw UML diagrams. We are not much interested in reverese engineering.

like image 645
Rakesh Goyal Avatar asked Aug 05 '10 05:08

Rakesh Goyal


People also ask

Why do we draw UML diagrams?

Most commonly, a UML diagram is used to analyze existing software, model new software, and plan software development and prioritization. Simply put, if you need a way to visualize and plan your software development process, a UML diagram is incredibly helpful.

How do UML diagrams work?

A UML diagram is a diagram based on the UML (Unified Modeling Language) with the purpose of visually representing a system along with its main actors, roles, actions, artifacts or classes, in order to better understand, alter, maintain, or document information about the system.


2 Answers

PlantUML is my favorite way. I just find all these diagrams to be way easier to build using simple scripting. PlantUML is a bit like markdown for diagrams.

The Eclipse plugin is pretty neat, it updates in real-time, and auto-generates diagrams from your java code.

There's also PlantUML editor: https://code.google.com/p/plantumleditor/ and PlantUML QEditor: http://sourceforge.net/projects/plantumlqeditor/

That are pretty neat as standalone.

You can obviously also simply use PlantUML from the command line, it parses a text file and generates the diagram out of it using graphviz.

like image 81
Didier A. Avatar answered Oct 06 '22 00:10

Didier A.


If you won't want to make a full-fledged UML diagram that can be read and understood by all kinds of tooling, but just a picture that looks like UML, I can hearily recommend yEd.

yEd is a free (beer, not speech) application that allows you to draw any graph-like diagram. It's an order of magnitude faster and simpler in use than any other diagramming tool I know, because you can only make graphs with it. But when you think about it, nearly all diagrams (e.g. in the UML) are graphs.

For example, yEd has a "UML class" node type which is simply a rectangle with a name and two multiline text fields (one for attributes, one for fields). This is horrible if you want to generate code from your class diagram, or if you want the same UML model to be presented in multiple views, but for plain pictures, it's just perfect.

A fake UML diagram made with yEd

This approach also allows you to relax some UML syntax a bit here and there. For example, I like to write my fields and methods on UML classes like int MyField instead of the official UML-styled MyField: Integer since after all, that's how I'd write it in the target programming language. UML purists would scream in terror, but I want to communicate a design to my peers, not win a syntax contest.

(Note: making non-graph-ish diagrams with yEd is possible, but painful. Notably, UML sequence diagrams are not a good fit. But those can be created excellently from text again with tools like PlantUML and MSCgen, which in turn suck a graph layouting)

(Note 2: I get nothing for promoting this tool like this. I'm just a fanboy)

like image 44
skrebbel Avatar answered Oct 06 '22 00:10

skrebbel