diagram design with Visio and Open Source - visio

I have different people working on a diagram. One of them draws his diagrams in Visio, the other people use Open Source solutions, such as Dia and Libre Office Draw.
Does anyone know in which format they best can import/ export the diagram, so that everyone can view and edit the diagram?
In other words, which format can best be used if one diagram has to be edited in three different editors (Visio, Dia and LO-Draw)?
And yes, I know the best solution is to persuade them to all use Dia or Libre Office, but those MS-minded people are hard to persuade... ;-)

Related

How to put a class-diagram under version control?

I want to upload a class-diagram to a public repository on GitHub.
Is there any tool which is considered to be a convention for this purpose?
Currently, I am using Google Docs, from which I can export a PDF.
Someone has suggested for me to use https://www.draw.io/, from which I can export an XML (which would be a lot more suitable for version control, since it is pure text), but I don't know whether or not this tool is "well accepted" across the community.
All versions control systems work with text files. PDF is not a text file. Forget it. It is the same as putting exe files under version control. VCSs work with source files, don't forget this.
All diagrams editors has inner representations of diagrams in some sort of text file. Eclipse UML editors use XML. So, the versions control systems can easily take these files and work with them.
The problem comes when you have conflicts. You will have to resolve them reading and understanding the inner language of the diagram representation. It could be very difficult.
So, it is possible, but try to minimize the conflicts.

Generate full class diagram using GraphViz and Doxygen

I'm currently working on my internship, and for the company's sake I decided to just go ahead on the programming work. For my current internship that seemed to fit better than to create all kinds of diagrams no one gets or uses.
Now I ran into a problem though. 4 weeks of internship and 50 java-classes later my school decided they want to see a class diagram. I've already got doxygen set up with GraphViz to generate partial class diagrams, with the focus on only one of the classes and it's associations. But what I wonder is, is it possible to generate one class diagram containing all relations from all classes? Or am I gonna have to try to convince my school that this way the class diagrams have better readability?
The short answer is that this is not possible. Doxygen parses the code and includes only classes in the diagrams which are in any direct or indirect relationship with the documented class.
A general class diagram containing all classes and their associations is not generated by doxygen.
Play araound with the diagram options of doxygen to see with graphs make sense for you (either using the "doxywizard" [Wizard tab -> Diagrams or Expert tab -> Dot] or as I prefer editing directly the doxyfile).
I don't believe that a class diagram with more than 50 classes makes sense, because this would result in a hard to read diagram which is more confusing than helping. (Generally it might be better to organize your code in packages which you might document using the grouping feature of doxygen. In that case you could use the collaboration diagrams to show more high level relations between the packages.)
Another approach might be using a UML/CASE tool to generate UML diagrams from your code (e.g. Enterprise Architect from Sparx Systems, you could import your code and let the tool generate class diagrams out of it). You could include such generated graphs by exporting that graphs as picures and including that pictures in your doxygen generated documentation using the \image tag.
I hope this helps.

Visual software tool for creating complex branching logic

Is there a visual software tool (no batch coding/programming language) which can enable an end user to create complex branching logic like this tool : http://www.visuallogic.org/VLTutorial.html . Any eclipse plgun-in similar to this. I want that complex logic expressed by the end user to be represented in XML form
A set of plug-ins called vIDE might help you - it's a tool based on GMF I am currently developing. You can check out the project here.
It's still far from stable or finished, but you can draw flowcharts in it which get dynamically converted to Ecore models (which in term can be exported to XML).
My current effort is to support generation of executable Python code from the drawn flowchart.
Take a look at UniMod
In term of pure flowchart diagrams (and not UML diagrams), I didn't find anything recent.
flowchartstudio is not supported on recent Eclipse version
flowchart4j (not free) is interesting (for Java programs, so no XML representation)
DRAKON Editor
http://drakon-editor.sourceforge.net/
It it supports visual programming in several programming languages, including Java, Processing.org, D, C#, C/C++ (with Qt support), Python, Tcl, Javascript, Lua and Erlang.
Why to use DRAKON than other diagramming systems?
No line intersections. You will never find in DRAKON diagram two or
more lines intersecting each other! Not seen in other diagramming
systems!
Silhouette structure. It allows to break one diagram in to several
logical parts. Not seen in other diagramming systems!
No slanting or curved lines. Only straight lines with right angles.
Icons are placed only on vertical lines.
Branching is done in a simple, visible and consistent way.
Each diagram has one entry and one exit.
More about DRAKON here:
http://en.wikipedia.org/wiki/DRAKON
Take a lool at TUM.CMS.VplControl

Where can I find visio shapes for software development?

Anyone have any ideas on where to get a really nice collection of visio shapes, e.g for the following purposes:
network diagrams
shapes to show solution deployments
any other fancy looking diagrams for software development?
Pavel Hruby has some nice stencils for UML and SysML on his site. I use the UML stencils all the time, because they are a lot easier to use than the ones provided by visio.
There is a nice bunch of visio shapes for gui mockups here.
(1)
http://www.microsoft.com/downloads/details.aspx?FamilyID=6297CF81-C071-4BEA-BD9D-FDE692536E5A&displaylang=f&displaylang=en
The above URL now redirects to:
https://www.microsoft.com/en-us/download/details.aspx?id=25110
The above URLS (at the time of writing) take me to a page titled:
"Software and Database Shapes for Microsoft Visio"
Below is another option. Some are "for pay".
(2)
http://www.visiocafe.com/microsoft.htm

Which are the most useful resources to learn to draw the UML class diagram in Visio?

I am stuck at properly aligning the generalization arrow between the classes. I could not make them appear as in the UML books.
Visio UML stencils are not very good and is very frustrating to work with them. Have a look at http://softwarestencils.com/uml/index.html, there are some very nice, free stencil updates for Visio UML 2.0. It takes very little time to get used to them. After I used them I never looked back.
UML Model Diagrams - Visio - Microsoft Office Online
One note. If you want UML diagramm looks like classic book examples you should use Rational Rose instead of Visio.