UML Diagrams, not exactly the first thing at the top of the list when you think of the many things that your project needs. They quite often shine a light on things in a way that other types of documentation just can't. Typical documentation is an excellent source of information, installation instructions, system purpose, and execution logic. All of these bits help us to better understand a system, and often times they do a very good job.
While standard text and graphics documentation strike the nail in just the right spot most of the time, some of that information could actually be best represented as a UML Diagram. In these situations where you have a significant amount of information about the structure of a system or process that you need to convey in a quick and easy to understand manner.
If your new to UML then I highly recommend this very helpful guide, it will explain the different types of modeling possible, and some ideal uses for UML Diagrams.
The Complete Guide to UML Diagram Types with Examples
If your already familiar with UML Diagrams then I want to introduce you to one of my favorite tools for modeling such diagrams.
PlantUML
Open Source/Java Based
Cross-Platform (Windows, MacOS X, Linux, BSD)
The low low price of free!
Say hello to PlantUML an open source, cross platform text based UML modeling application. Yes I said text based, I discovered this application while trying out the dizzying number of applications that allow be to build UML diagrams using drag, point and click actions. For myself I found the latter much more work than the text based approach that PlantUML allows me to take.
Here are some examples on using PlantUML to model different types of diagrams:
Sequence Use Case Classes Activity Activity 2 (Beta) Component State Objects
Personally in many instances I found being able to type the diagrams up for PlantUML to be significantly faster for me than building the models by dragging, pointing and clicking objects. This is at a cost, diagrams built in PlantUML are not usually editable by other UML applications, fortunately for me this was not a real issue.
PlantUML was easily able to export UML models for me in PNG (raster) or SVG (vector) formats, and I was also able to get PDF (vector not raster) output by using Cairo's svg2pdf utility which I know works on both Linux and MacOS X. There are also tools that will convert the SVG to a PDF in raster format.
For those who would rather prefer a drag, point, and click variety of UML modeling applications, I recommend the following contenders. I'm not saying any of these tools are better than another, but these are my favorites.
Drawexpress Full / Drawexpress Lite
Proprietary
Android
Full ($5.99) / Lite (Free)
TouchDraw
Proprietary
Android
Full ($8.99)
Omnigraffle
Proprietary
Mac OSX, and iPad
Mac Standard ($99.00) / Mac Pro ($199.99) / iPad ($49.99)
Microsoft Visio 2013
Proprietary
Microsoft Windows Only
$589.99
Do you know of another good UML modeling application worth mentioning?
Let me know in the comments, I'd love to add it to the list!
No comments:
Post a Comment