Bookmark and Share
Download Free Software Tools. Get freeware portable and installable applications

Bouml

Main screen of Bouml
Version: 
4.21
OS: 
Linux
OS: 
MacOS
OS: 
Windows

BOUML is a free UML Case tool box that can create UML schematics and generate code in C++, Java, Idl, Php and Python.

Some of the features :
Runs under Windows Linux/Unix/Solaris and Mac OS X
Allows to program simultaneously in C++, Java, Php, Python and IDL
It is very fast and doesn't require much memory to manage several thousands of classes, see benchmark
Support reverse engineering (it can generate UML schematics from C++, Java and PHP code)
Generates HTML documentation in automatic with svg support
Outputs XMI 1.2 and XMI 2.1 in order to import to other CASE tools
Import rose files (mdl)
Import XMI 2.1 files
Supports Use Case diagrams, Sequence diagram diagrams, Communication diagrams, State diagrams, Activity diagrams, Class diagrams, Object diagrams, Component diagrams and Deployment diagrams.

Bouml is must have tool for all the serious developers. An all time classic underrated and not famous CASE tool.

Some notes :
The only real limitation of Bouml might be the lack of support of other languages especially for code generation (direct engineering). Personally i program a lot with freepascal and a lot of people consider that there is no CASE tool that can produce pascal code. Here i will talk about two different ways that you can produce pascal code using Bouml.

First method :
This method generates Turbo Pascal code and not Free Pascal or Delphi code. Use Bouml and once you have finished with your project and have a final generic class scheme export it in XMI 1.2. Then use umbrello, another free UML tool and generate your Pascal code.
Some of you might say why dont you use Umbrello as main UML tool. The answer is that i consider UML tools a way to engineer and document the produced software. Bouml offers great automatic HTML documentation that i couldn't find it in Umbrello. Always keep in mind when you create new software applications that the choice of a language is the last thing that we have to consider at least in analysis time.

Second method :
Generate with Bouml python code. Then download PyNsource from here : http://sourceforge.net/projects/pyidea/ once you have downloaded and installed PyNsource follow the instructions form here :
http://www.atug.com/andypatterns/pynsource_java_code_generation.htm

For example one valid *.bat file that i use in order to convert python in freepascal/delphi code is :

@echo OFF

set REL="F:\Python23\Lib\site-packages\pynsource\pynsource.py"
set MAPEDITOR="pycode\*.py"
set OUTPUTPATH="outcode"

%REL% -v -m -d %OUTPUTPATH% %MAPEDITOR%

So with a few words if you want to generate code always remember that bouml outputs :
XMI 1.2, XMI 2.1, C++, Java, PHP, Python and IDL.

I highly recommend Bouml since it is the only free tool that i know to generates easily HTML documentation. If you know any other alternatives please contact me.

Project control come bundled with bouml. It's goal is to give the write access of a the project files to at most one user per file, to avoid to merge modifications made by several users. The tool Project synchro (also bundled at bouml) associated to project control allows you to synchronize a repository project with the modifications made by several users (supposing each package modified by at most one user).

Video: 
FAIL (the browser should render some flash content, not this).
FAIL (the browser should render some flash content, not this).
FAIL (the browser should render some flash content, not this).
Article version: 
1.0
Your rating: None Average: 10 (1 vote)

Top rated

Application Rating
PicoPhone 10
AbiWord 10
MiKTeX 10
Notepad++ 10
Bouml 10