"UML is not dessert topping and floor wax." - Grady Booch on the versatility of UML.
UML as you know, includes a set of graphic notation techniques that helps you specify, visualize, and document models of software systems, including their structure and design, in a way that meets all of these requirements. There are many popular professional diagramming tools like Visio available in the market. Depending on your need, sometimes you don’t really need commercial tools to generate UML diagrams. This article contains some Good Open Source UML tools that might do the job for you for free.
StarUML - StarUML is an open source project to develop fast, flexible, extensible, featureful, and freely-available UML/MDA platform running on Win32 platform. The goal of the StarUML project is to build a software modeling tool and also platform that is a compelling replacement of commercial UML tools
Check it’s features here
ArgoUML - ArgoUML is the leading open source UML modeling tool and includes support for all standard UML 1.4 diagrams. It runs on any Java platform and is available in ten languages.
Violet UML Editor - Draws nice-looking diagrams. Completely free. Cross-platform.Violet is intended for developers, students, teachers, and authors who need to produce simple UML diagrams quickly.
Astah Community 6.1 (Previously JUDE)- Based on the concept of "Usable from the moment of installation", the modeling features of astah community have been designed to be simple and user friendly.
BOUML - BOUML is a free UML 2 tool box allowing you to specify and generate code in C++, Java, Idl,Php and Python. BOUML runs under Unix/Linux/Solaris, MacOS X(Power PC and Intel) and Windows.
UMLet 10.4 - UMLet is an open-source UML tool with a simple user interface: draw UML diagrams fast, export diagrams to eps, pdf, jpg, svg, and clipboard, share diagrams using Eclipse, and create new, custom UML elements. UMLet runs stand-alone or as Eclipse plug-in on Windows, OS X and Linux.
UMLGraph - UMLGraph allows the declarative specification and drawing of UML class and sequence diagrams. The current features are part of an ongoing effort aiming to provide support for all types UML diagrams.
Dia - Dia is a GTK+ based diagram creation program for GNU/Linux, Unix and Windows released under the GPL license. Dia is roughly inspired by the commercial Windows program 'Visio', though more geared towards informal diagrams for casual use. It can be used to draw many different kinds of diagrams.
MetaUML - MetaUML is a GNU GPL MetaPost library for typesetting UML diagrams, using a human-friendly textual notation.
UML Modeling Tools for IDE’s
Here are some community edition modeling tools available for popular IDE’s.
Visual Paradigm SDE for Visual Studio - Smart Development Environment Community Edition for Visual Studio (SDE-VS CE) fully supports the latest version of UML. Open source projects' developers can use SDE-VS CE to design system with UML. SDE-VS CE is free non-commercial use only. SDE-VS is embedded in Visual Studio
T4 Editor plus UML modeling Tools for Visual Studio (2008/2010) - Quickly write your own Code Generator via T4 Text-Templates (.tt-Files) with Intelli-Sense & Syntax-Highlighting. tangible T4 Editor also comes with UML-Style modelingtools and can generate from diagrams, database schemas, xml, word, excel sources, or any other data source. Microsoft T4 looks and smells like ASP.NET - it is simple!
NetBeans IDE UML - The UML plugin for the NetBeans IDE is available for version 6.7 and earlier releases.
Eclipse UML2 Tools - UML2 Tools is a set of GMF-based editors for viewing and editing UML models; it is focused on (eventual) automatic generation of editors for all UML diagram types
Some Online UML Diagram Generators
Here are some free web based diagram generators
WebSequenceDiagram - Just enter the description here, and click "draw"
yUML - Create and share simple UML diagrams in your blogs, wikis, forums, bug-trackers and emails
zOOml - zOOml.com is the Web 2.0 site for rapid object-oriented modeling. It's easy to create a model withzOOml.com's Modeler web application, a drawing tool for illustrating classes, associations and other concepts in OMG's UML modeling language.