Is there any good UML modeling tool with version control support? - uml

I've been searching the internet a lot for UML modeling tools that support version control systems, like svn, but I haven't found anything about it. Does anyone know a good uml modeling tool, preferrably free, with version control support?

You might try BOUML : http://bouml.free.fr
It has a "file control" plugin that should do the trick among cvs, svn and others

Not free but EnterpriseArchitect Sparx Systems is pretty cheap and works well with various version control systems.

If you are on a mac OmniGraffle works pretty well, but I wouldn't call it full-featured.
As for the SVN, why don't you just save the UML layout file itself in the SVN, that way you don't need the integration.

Just a shot in the dark, but Visual Paradigm might do the trick.

Related

How can I use dockpanel in Linux/Mono with all its features?

I would like to use dockpanel suite in Linux or Mono platform. I heard that there is some methods to modify the source code of dockpanel so that it can be used in Linux platform with all its features like drag and drop and all.Can anyone guide me to achieve that?
Due to its close bindings to Win32 API/PInvoke, currently it is impossible to use full features on Mono. You probably misinterpreted others' words.
Edited: DockPanel Suite 2.6 and above contains Mono support that I developed, http://dockpanelsuite.com
Yes and No.. You can write a silverlight 4.0 program and run it in a browser window on linux you can use silverlight controls.
If you are feeling really brave you can use MoonLight (silverlight by mono) to write full desktop apps on linux. One helpful set of tools (shameless plug) for doing this is MoonBase
But.. Generally, No, if you mean the WPF DockPanel control, you can't use that on top of Mono.
I know you've used WPF tag, but what you heard indicates rather winforms. In such case you may be interested in this. If you really had WPF in mind, look at the IanNorton's answer.

What language choice is good for a c# developer wishing to develop on the Linux platform?

Are there any good OOP languages that you can use on Linux? Obviously Java comes to mind, even running C# under mono.
Looking for a language that can be used for all round development, web dev, desktop, services etc.
Besides Mono C# and Java anything else come to mind?
Python seems to be the obvious choice. There a lot of great web frameworks for it, strong support for development of GTK desktop apps and many others. Ruby should also be mentioned, although it's not usually used for desktop apps.
Don't forget other languages running on top of the JVM either - most notably Scala, Clojure and Groovy.
Vala and D are new and interesting languages with some quality tools available. Vala was primarily designed to work smoothly in GNOME environment.
All of them. Whatever you want to use on Linux, you can.
Linux developent is a lot of things. For GUI application programming, you're most likely to want to program for one of the two big desktop environments, GNOME and KDE, or directly to the widget libraries that they are built on, GTK+ and Qt.
GTK+ is at its root a C library with object orientation being implemented as a set of conventions, very simply explained. However, many now program GTK+ and GNOME using true OOP languages like C++, C# using Mono (some very popular and default GNOME applications are built on Mono).
Another very interesting language for GTK+/GNOME is Vala, which is made to look and behave like C#, but which compiles to idiomatic GTK-using C, so all the GTK+ OOP conventions are lifted up to be part of the Vala language.
KDE and Qt are basically C++ libraries, but these also have bindings to other languages.
Both environments have good Python bindings.
You can still use C# with the Mono project.
Python and Ruby are probably the most logical choice for all-round development. PHP is also great for web development.
Interesting how as soon as Java gets ruled out as an answer that we go straight for dynamic languages.
I'd still suggest using Java as a lot of your C# knowledge will apply with subtle differences in convention.
For the compiled type of app how about Freepascal.
Multi-platform and pretty easy to get the hang of for a C#/Java developer I would have thought. Can do web, desktop, client-server etc etc. And free (as the name implies!). Plus, it's based on Pascal (obviously) so it's well tried and tested and not one of the 'languages du jour' :-)
Give a try to the Free Pascal and Lazarus IDE.
You are getting support for multiple platforms, not only Linux. You write code once and compile it everywhere and you have a quite nice IDE which will speed up your development process.
Take a look at screenshots
TIP: When using Lazarus try the last daily snapshot instead of stable release. Snapshots are much more up to date with bugfixes \ features.
Consider C++ with Boost.org. Boost is always coming out with new releases and it's all open source. Linux and C++ have a very long history and there are plenty of stable tools. Once you know C++, many new worlds seem to open up. There are several good IDE's as well. I like code::blocks.

How can I create a class diagram from my J2ME project? (NetBeans used to do this)

I have created a game and would like to automatically create a class diagram from my J2ME code. NetBeans (pre 6.5 I think) used to have UML plugin to do this, but as I am using the latest 6.8 version of NetBeans I can't use this old UML plugin anymore!
Does anyone know how I can automatically create a class diagram from my J2ME project?
Unfortunately, I try to find any free reverse engineering uml tool and find nothing good except netbeans uml editor.
EclipseUML Omondo Free Edition is quite good, but on free edition do not support reverse engineering As far as I know. But if you need a one time diagram - you can try trial EclipseUML Omondo Studio Edition. But in this case you need port project to eclipse - not so hard as it looks. Good luck!
umbrello seems to do the job! link text
Although I do have to manually drag and drop classes to get them to display! but thats better than making the whole thing manually I suppose!

What is the best multi-platform SVN GUI client?

Looking for something on Mac Os and Linux mostly, and GUI, not just the command line tool.
Anybody has experience using Syncro SVN Client http://www.syncrosvnclient.com/ ?
For multi-platform (and even if you need a good client for one platform) I'd recommend SmartSVN.
They have a free Foundation Edition available. Since it's a java tool, it works on almost all OS.
Why use a multi-platform tool? The good thing about svn is that you can use one tool on Mac OS, and a completely unrelated tool on Linux, but they'll all still talk to the same repo. On Mac, I'd recommend Versions.
In a Venn-diagram sense, you are cutting it close by a Boolean AND between a) sane cross-platform GUI clients and b) SVN clients. I'd forgo some of the requirements -- I personally like the cmdline versions as well as as the Emacs interfaces on all platforms I use, and I occasionally use the kdesvn GUI on Linux.
Edit: Oh wait, there is one: Qt Creator is a wonderful IDE, is cross-platform and has SVN integration.
Would RapidSvn located here - cross platform written in wxWindows/C++ do?
Yes, SmartSVN is pretty good i would say.
Netbeans is cross platform and has a plugin that enables subversion. An excellent IDE if you ask me...

MFC like easy to use tool for Linux

When I used to write test tools in Windows, I use MFC for creating the front-end GUI. This made development of GUI development very fast, and I always used to concentrate on the back-end. Recently I moved to the console based Linux-world. Where most of the things are just console based.
My question: Is there any easy to use equivalent of MFC in Linux?
If you are used to MFC, you will LOVE QT.
http://www.qtsoftware.com/products/
There are a lot of alternatives.
I like wxWidgets. Others will recommend Qt.
Another option is to use Glade to build GTK+ or GNOME applications.
I've never used MFC, but supposedly the wxWidgets toolkit is somewhat MFC-like. Though I prefer Qt over wxWidgets as IMHO the API is nicer, more complete and better documented, and the Qt GUI builder is pretty good.
A nice thing with both Qt and wxWidgets BTW is that they are both cross-platform toolkits; they work on Linux/Unix, Windows, OS X, and maybe other platforms as well.
There's a a huge omission here! gtkmm, the official C++ binding to GTK+, is arguably the modern C++ GUI kit, since it goes out of its way to really use and evolve with the language. For those learning modern C++, it's the best counterpart to the stdlib. It grabbed and kept my interest, where no other GUI lib could, due to its modern and clear API. And it'll work wherever GTK+ does - a tonne of places. I'm glad to have built my first ever (and not trivial!) GUI project around it. It also provides sigc++, which I imagine is really powerful for custom signalling/event systems. Disclaimer: I'm just a self-taught user.

Resources