Original URL: http://www.theregister.co.uk/2008/01/29/linux_uml_modeling/
With speculation building that Microsoft will bring Windows 7 forward by a year (http://www.theregister.co.uk/2008/01/23/windows_7_release_2009/), ostensibly to staunch the loss of the Vista weary and Vistaphobes to alternative operating systems, now is a good time to look at the state of development tools for Linux.
Software developers have got it surprisingly good - unlike, say, creative types who pretty much shy away from Linux on the desktop because of the unavailability (for the foreseeable future (http://www.theregister.co.uk/2008/01/15/open_season_9/)) of popular applications such as Adobe Creative Suite in a native version.
Given the increasing cross-platform availability of integrated development environments (IDEs), though, it seems feasible the entire development cycle could now take place under Linux. And that includes modeling. The range of UML editors under Linux is now every bit as broad and bewildering as under Windows. No more creating ASCII art use case bubbles in Emacs.
These tools have divided broadly into two categories: the cheap 'n'cheerful diagrammers useful for quickly creating a one-off diagram, and the enterprise leviathans that all appear to have pretty much the same feature-set: full UML 2.1 support, round-trip engineering, export/import XMI, generate reports, and integration with Eclipse plus at least one other IDE.
The prize for the greatest number of IDE plug-ins for one tool goes to Visual Paradigm (http://www.visual-paradigm.com/product/), a suite that also happens to be about as "enterprise" as it gets.
Of course, Eclipse has its usual galaxy (http://www.google.com/search?q=Eclipse+UML) of plug-ins (http://www.eclipse.org/modeling/mdt/?project=uml2) that are not to be sniffed at.
Umbrello (http://www.umlet.com/) definitely fits into the cheap 'n' cheerful category. It's a nice, clean and simple UML editor that supports nine diagram types, including the non-UML Entity Relationship diagram. Its sequence diagram support is okay-ish, although it didn't lend itself especially well to the main benefit of sequence diagrams, which is allocation of behavior to classes.
Normally, if you draw a message between two objects, you would expect a method to be added to the appropriate class over on the class diagram. With Umbrello, you can sort of make this happen, but it's fiddly: you have to fight the user interface. Umbrello has plenty of good features, though, so is still worth considering. It's the Paint Shop Pro 7 (http://www.regdeveloper.co.uk/2007/12/20/verity_stob_software_murder/) of UML tools: good for doing quick edits and one-off diagrams, but you wouldn't want to maintain your multi-team enterprise architecture using it.
In the same vein as Umbrello is UMLet (http://www.umlet.com/), a Java-based modeling tool from the Technical University of Vienna. UMLet has a refreshing focus on speediness of use. Also in the cheap 'n' cheerful UML toolettes category is Violet (http://horstmann.com/violet/), from author Cay Horstmann (http://books.theregister.co.uk/catalog/browse.asp?id=822609), and Gaphor (http://gaphor.devjavu.com/), which offers UML 2.0 compliance and export of class models to XMI when you realise it's time to migrate to something bigger. I did notice they don't offer XMI import, which makes me wonder whether they don't anticipate demand to migrate their way.
Gnome users who want to recreate the pain of creating diagrams in Visio and then hitting a brick wall when they find they want the editor to respect UML semantics, should try the Visio-inspired Dia (http://live.gnome.org/Dia).
Linux users who don't mind paying for their software should try the die-hard Poseidon (http://www.gentleware.com/), which branched long ago from the open-source ArgoUML (http://argouml.tigris.org/). And while you're there, don't overlook their modeling extension for Eclipse, Apollo 3.0, which provides round-trip engineering for Java 5 and UML 2.1. Or alternatively, take a look at another commercial modeler, MagicDraw (http://www.nomagic.com/) from No Magic, a well-featured UML tool with team support.
Finally, NetBeans' UML plug-in (http://uml.netbeans.org/) shows much promise and a dawning focus on usability. However, it still has a long way to go. Just trying to add a labeled message between two objects on a sequence diagram (in such a way that it assigns the operation to the class) involved no less than six mouse clicks and seven swear words. Surprisingly, there's currently little integration between the UML editor and the code editor. I'd have expected to be able to right-click on a class and have virtually the same pop-up menu appear as in the Java editor.
While the greatest (in my opinion) (http://www.sparxsystems.com/products/ea.html) UML modeling tools this side of the Pleiades cluster is not realistically available (http://www.sparxsystems.com/products/ea_sysreq.html) for Linux just yet, software developers have plenty of viable options. Admittedly, nearly all of them are also available for Windows, and some for OSX. But at least those tools are making it over, unlike some of the applications serving other markets. And who can complain about that?®
Matt Stephens (http://www.softwarereality.com/MattStephens.jsp) has co-authored Use Case Driven Object Modeling with UML: Theory and Practice (http://books.theregister.co.uk/catalog/browse.asp?id=805868), which illustrates how to step nimbly from use cases to code and functional/unit tests while avoiding the dreaded analysis paralysis.
Microsoft’s UML roundtrip routed through Oslo (17 June 2008)
http://www.theregister.co.uk/2008/06/17/microsoft_uml_oslo/
NetBeans 6.1 packs welcome additions (29 April 2008)
http://www.theregister.co.uk/2008/04/29/netbeans_six_point_one/
JBuilder 2008: Bold vision, rough edges (28 April 2008)
http://www.theregister.co.uk/2008/04/28/jbuilder_2008_review_rough_edges/
Early calls to simplify Eclipse (31 March 2008)
http://www.theregister.co.uk/2008/03/31/eclpse_e4_feature_requests/
Comment judiciously, refactor if needed, avoid the 'f' word (28 March 2008)
http://www.theregister.co.uk/2008/03/28/case_for_comments_code/
Sweet, sweet smell of comments in code? (18 March 2008)
http://www.theregister.co.uk/2008/03/18/code_comment_rows/
Uncovered: the lost humor of flowcharts (17 March 2008)
http://www.theregister.co.uk/2008/03/17/super_villain_flowcharts/
Next Eclipse platform could slip IBM's grip (14 March 2008)
http://www.theregister.co.uk/2008/03/14/eclipse_e4_ibm_dominance/
Extreme Programming in risky position, says co-creator (13 March 2008)
http://www.theregister.co.uk/2008/03/13/web_development_needs_method/
Time for UML tools to evolve (29 February 2008)
http://www.theregister.co.uk/2008/02/29/uml_tools_refactoring/
Agile lands role in games and business software (28 February 2008)
http://www.theregister.co.uk/2008/02/28/agile_crossing_chasm/
Stallman steps back from Emacs (26 February 2008)
http://www.theregister.co.uk/2008/02/26/stallman_quits_emacs/
UML officially an unfunny matter (20 February 2008)
http://www.theregister.co.uk/2008/02/20/uml_jokes/
Tools vendors stuck on UML and agility (13 February 2008)
http://www.theregister.co.uk/2008/02/13/vendors_uml_tools/
Polished NetBeans means Ruby (31 January 2008)
http://www.theregister.co.uk/2008/01/31/netbeans_ruby_part_one/
Windows 7 fake spotted on BitTorrent (29 January 2008)
http://www.theregister.co.uk/2008/01/29/windows_7_fake_bittorrent/
Sun's JavaFX tools to interop with Adobe (24 January 2008)
http://www.theregister.co.uk/2008/01/24/javafx_tools_adobe/
Write once, run anywhere: a lesson for digital TV (8 January 2008)
http://www.theregister.co.uk/2008/01/08/java_tv_enterprise_lessons/
Telltale signs your model is stuck (3 January 2008)
http://www.theregister.co.uk/2008/01/03/analysis_paralysis_part_two/
Sequence diagramming that's fit for purpose (22 December 2007)
http://www.theregister.co.uk/2007/12/22/iconix_process_sequence_diagramming/
Slow death planned for Sun's Java IDE biz (20 December 2007)
http://www.theregister.co.uk/2007/12/20/netbeans_sun_killed_java_tools/
How to avoid the model quagmire (18 December 2007)
http://www.theregister.co.uk/2007/12/18/analysis_paralysis_part_one/
Sun spikes Java IDEs (17 December 2007)
http://www.theregister.co.uk/2007/12/17/sun_kills_own_java_tools/
Close the gap between analysis and design (14 December 2007)
http://www.theregister.co.uk/2007/12/14/robustness_analysis_book_extract_3/
Bloody code! (4 December 2007)
http://www.theregister.co.uk/2007/12/04/multiple_exit_wounds/
Model use cases that work (23 November 2007)
http://www.theregister.co.uk/2007/11/23/use_case_part_two/
Why UML won't save your project (8 October 2007)
http://www.theregister.co.uk/2007/10/08/uml_not_magic_bullet/
Shotgun Wedding: Enterprise Architect 7.0 (31 August 2007)
http://www.theregister.co.uk/2007/08/31/sparx_uml_tool/
Evolutionary database design (4 July 2007)
http://www.theregister.co.uk/2007/07/04/evolutionary_database_design/
© Copyright 2008