I work on a very large set of diagrams in a diagramming tool that uses UML, SysML, and UPDM for describing operations and functions in large system of systems. That tool is MagicDraw - it’s cross platform as it’s written in Java. The DoD uses it extensively as well as NASA. The problem with MagicDraw, other then cost, is the difficulty in obtaining decent renditions of the large diagrams for showing to the system stakeholders. The best method I’ve found is to export the diagrams as resolution independent SVG files, read those into BoxySVG and exporting PDFs from that.
Since that works well, I’ve found that OmniGraffle works very well for another need to trace data flows through very large diagrams. The MagicDraw diagrams don’t work well for tracing data flows. MagicDraw is not layer-based, but OmniGraffle is. OmniGraffle works well except for four things:
OmniGraffle is not cross-platform and the Visio Export doesn’t work well.
Since I switched to SVG to make things cross-platform, I need the images to be embedded in the SVG file so I don’t have to re-place them into in the diagram after the export.
The best thing OmniGraffle has given me is layers because it enables me to show multitudes of different data flows by placing each flow type on its own layer and then turn a layer on or off as needed for a particular view. OmniGraffle exports the layers and labels to SVG well except for the missing I’m,ages. I would like to see nested layers for better grouping in the sidebar and locking, visibility, and print icons for every object in the diagram.
OmniGraffle misses many lines when Opening or Placing an SVG image. When I export an SVG from OmniGraffle, the vectors and layers are retained (except for the images). Other software will read the files just fine retaining the layers and their names. When I open that same file with OmniGraffle, lines are missing and layers are turned into groups with no names - so OmniGraffle won’t read its own SVG output correctly.
I use OmniGraffle regularly for diagramming stuff that MagicDraw isn’t made for. So anything you can do to incorporate the fixes will be a big help to me.