This post was published 3 years 4 months 9 days ago and as such probably does not reflect my current opinions, knowledge or ability.I’ve been a fan of creating UML diagrams for my software projects for about a while now (after previously being a fan of scribbling incomprehensible charts in my notepad), and I think I’m starting to the stage where drawing class diagrams is almost automatic; I can focus completely on the design at hand.
That said, the area where I’m really struggling is finding a decent UML editor. Under Linux the best solution I’ve found is Umbrello: it’s easy to use, and has a lot of great functionality. However, it isn’t altogether stable – I’ve found it can’t cope with complex diagrams and crashes every hour or so – and since QT4 for Windows isn’t quite up to scratch, it isn’t much use when I need to to Windows/Direct X development work.
Recently I’ve been using ArgoUML. As a Java application it will run on practically any platform, so I can share diagrams between my Windows and Linux installs. It has a good range of features such as critiquing your designs and a clear and simple graphical user interface, however it also has its stability issues. Occasionally it uses up a huge amount of memory before grinding to a complete halt, requiring the application to be restarted in order to continue. Changes to the application’s settings seem to only take effect as and when they feel like it. Also, layouts seem to change when a diagram is saved, losing a lot of formatting information.
Overall, ArgoUML is usable. The user interface is great, and the feature set is definitely heading in the right direction. At the same time though, for applications relating to my coursework I’d take stability over an increased features set in a heartbeat.
Does anyone have any recommendations for an open source (or, if necessary, freeware) UML Editor?
How do you design your projects and software?
Paper, pencil, mindmap (FreeMind is a free app for that) and I use Sparx Enterprise Architect for the UML bits.
Not free, but that’s the one we used everywhere – it’s (relatively) cheap, easy to use and generates great results.
Best part is that the model can be exported to HTML and put straight on the intranet for everyone to see and click it.
For freeware, I don’t know too many that is useful. Argo and Umbrelo, and not sure if Poseidon is still alive.
Thanks Roland.
Sparx does look great and exporting diagrams to HTML would be a great bonus not only for my group projects but also so I can show more of my work online.
However, while the price might be reasonable for a company, it’s really not within my reach as a student.
EDIT: Ok, I found the academic licensing page which is far more inline with what I can afford. I’ll take a look at the trial download – thanks a lot for pointing this tool out to me.
I would recommend checking out NClass. In my experience with it and several other free UML editors NClass has been by far the most polished and easiest to pick up and use.
Using it is dead simple, it handles things such as allowing you to implement and override methods…when you add a class that generalizes or realizes an abstract class or an interface you can just check off the methods and it automatically adds them to the subclass. There are lots of similarly nice features, but it stays very clean and simple to use.
As a testament I was working on a project in a design patterns class where we had to write a program implementing each design pattern along with its output and a UML diagram of it. Well, I decided to wait until the night before it was due to even start (classic me) and was really crunched to get it finished. I assumed it wouldn’t take very long as I could crank out a design pattern program in about 15 minutes each. Well, to my horror I remembered how to do basic math and that 23 * 15 is 345 minutes! So needless to say panic had set in a little bit and I needed to be able to make UML diagrams quickly, which on top of that I had never like UML all that much and at the time couldn’t tell you what composition vs aggregation looks like or many of the other symbols.
Well, I began using Umbrello, but I was having a difficult time figuring out the basics and had it crash on me before I could finish or more importantly save my first diagram. Thats when I was looking around and found NClass. Using NClass was dead simple and I literally could create a UML diagram for my completed classes in about 2 to 3 minutes. To my delight (I think) I was able to finish all of the project in about seven hours!
Sorry for the entirely too long and not particularly relevant expository, I just really like NClass. It runs well under linux and windows alike. It is written in C# for the .net platform (the horror!), but is set up to run perfectly under the mono platform on linux. You know, one thing I’ve noticed is that the C#/.net combination works extremely well for writing desktop applications. Since the introduction of the mono platform and the porting/creation of several .net applications for it, I’ve noticed that on average the applications created using it are of much higher quality/stability that the average application I’ve run across in the linux environment.