tags:

views:

230

answers:

12

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.

A: 

On board and take a picture, if many developers are involved.

If it's only me, I start on paper, and then use StarUML. It lacks a lot of features, but still good.

Roman Hwang
+2  A: 

Any other convenient and faster method

Personally I had used a plugin for NetBeans IDE. The other answers already suggested a good list of "standalone" UML editors. If your IDE has a UML plugin that does the job for you I think you should favor it, for that anything that can integrate with your code (even if not perfect/complete) while you are modifying it will come in handy.

UML Plugins for IDEs

Your IDE should have plugins that you can use to automatically generate the UML diagrams, then you can add, remove and correct what does not look right to you. This mode is often referred to by the plugins as "Reverse Engineering", i.e, takes the code base and generate the diagrams.

Some tools can also synchronize what you are modifying in the UML diagrams into the code base.

I can't give specifics as the question is IDE/Platform-agnostic.

yUML (Web Based)

See this online tool http://yuml.me/diagram/scruffy/class/samples

Note: Won't scale for complex diagrams, nonetheless handy to document your StackOverflow answers, or a quick blog post for example :)

Bakkal
@Bakkal, yUML is a pain :( It works perfectly for some given examples but when you try to do something more complex is will mostly sure fail
Victor Hurdugaci
@Victor, yes because of how you need to type the whole thing into a URL. I think even with a WYSIWYG tool it wouldn't scale for complex diagrams given how long the URLs would become. Nonetheless handy to document your StackOverflow answers, or a quick blog post for example.
Bakkal
+1  A: 

http://www.smartdraw.com/specials/umldesign.asp

is very nice tool for UML

A: 

I tend to use yUML - super easy to use and easily accessible (diagrams are created and can be referenced online)

Scozzard
A: 

I draw on paper and complete them argouml http://argouml.tigris.org/

rmartinez
+1  A: 

I use Visual Studio 2010 for my sequence diagrams.

this. __curious_geek
And, how do you do this? Or do you mean 2010?
John Saunders
@John: I do mean vs2010. thanks for correction. we're still using vs2008 for daily development.
this. __curious_geek
A: 

For sequential diagrams I use WebSequenceDiagrams - analogue of yUML.

GooRoo
+1  A: 

Enterprise Architect

waffleman
A: 

I think it depends a bit on how extensive the modelling should be. If it should serve as an illustration to explain some key elements à drawing program should do fine. I personally use omnigraffle for that.

If it should be a detailed model you're probably better off with generating ( if it is à class diagram). I like Visual Paradigm, but also heard good things about enterprise architect ( Windows only). These tools are also very good for flow diagrams.

I never bother with sequence diagrams (I think à flow is more clear) so I wouldn't know what tool is best for that. I think both VP and EA can handle those.

The key is usage. If it is for clarificatiopn à drawing tool is perfect, you decide how much clutter to include. If you need all the details just generate the diagrams.

extraneon
A: 

Drag and drop is the fastest way to create new diagrams. You can drag and drop new model elements coming from the diagram toolbar or select existing model elements coming from the project explorer or the model. There are two kinds of modeling options. The first option is to create a new model at the beginning of the project. The second option is to reverse engineer existing project in order to get an UML model.

It is important to be able to have live synchronization but this is not sufficient because once the first stage of modeling is finish then the UML tool is closed and codding is done by hand and frameworks. It means that live synchronization is not possible and once the code is started by hand then it is impossible to go back to the model because the model is not anymore live synchronized. It is also important to model at higher level of abstraction with no code but keep model and code relation. The current problem I see with the UML tools is that code generation generate code with no logic with the original model. I mean that you generate code but then no more synchro because the generated code has no more tracability with the model. I like the live synchro on demand option because I can model at higher level of abstraction with no code, then generate code and add live synchronization option later.

The solution is the merge option which is the ultimate stage including both live synchronization and model to code merge. I only found EclipseUML Omondo being able to have such advance features. I think they use live metamodel synchronization and not just UML diagram, this is why they can do what other tools can not :-)

Enterprise Architect can also do synchronization between the model and the code.
John Saunders
A: 

If you'd like to focus on building your model and not manipulating objects on diagram, you must try Red Koda Community. Check the one minute sequence diagram video, you can see how easy and fast you can use it with the aid of short cut keys.

Red Koda Software
A: 

See EasyUML Editor. It is a nice Web based UML Editor which converts Text to all types of UML diagram. As EasyUML is web based, it can be accesed over the network and hence it is a nice tool to share your Designs. You can also export UML diagrams as PDF, PNG and SVG format.

Rajesh Jadhav