Sparx Enterprise Architect versus Microsoft Visio

Sparx Sparx Enterprise Architect (EA) is a modeling tool used by Enterprise Architects in many organizations. Over the time this tool has evolved from an UML/SysML tool to a full featured Enterprise Architecture tool supporting different frameworks (NIEM, CCTS, Zachmann, TOGAF or UPDM) or modeling languages like BPMN. On the other side Microsoft Visio is "the" diagramming tool for business users or analysts. In the following blog posts we research the interchange of model data and diagrams between both tools.

What are the pros and cons of both tools in one sentence?

Sparx Enterprise Architect:

Pro: Full featured modeling tool with an object repository and a bunch of add-on functionallity

Con: Because of these functionalities it might be too complex to regular business users, usually trainings are required

Microsoft Visio:

Pro: Easy to use with Microsoft Office look & feel, less training effort

Con: No object repository and no add-on functionality based on the repository

Because both tools are widely used in organizations, we at TransWare get many inquires to interchange and translate model data and diagrams from Sparx EA to Visio and from Visio to Sparx EA. Those people are asking us questions like:

Why I can not use XML or XMI to interchange the models?

BPMN is a standard, but import in the tools does not work?

Sparx EA has an importer facility for Visio, why are the results not better?

These requests and our experience with the variety of challenges that arise from that is the reason why TransWare offers the universal model interchange tool BPM-X. Because interchange of modeling data is a burden for all tool vendors: standards are differently implemented or the functionality is often rather a "tick the box" (or "yes we can too") than a full functional implementation.

Let us start with the translation of Sparx EA BPMN models to Visio BPMN diagrams. The processing has translated the colored Sparx BPMN diagrams to the Visio out-off-the-shelf BPMN 2.0 stencil. BPM-X is flexible to add other custom stencils with different appearance.

The first approach of translation is listed below in the table. The Sparx EA model as input in the left column. In the middle column the BPM-X translated Visio deliverable are placed. The right column describes the improvement spots that have been found after the first iteration. These will be taken into account for the next improvement iteration of the mapping from Sparx EA to Visio.

Sparx example as input

BPM-X translated Visio deliverable

Further improvements

The Visio original BPMN stencil is uncolored (b/w).

Other stencils can be used in the mapping to have colored shapes as well.

Improvement is required to place text below events and document objects.

The glue points must be optimized when writing connectors to Visio diagrams.

The message flow connector must be correctly mapped to Visio dotted line connector.

Sub-diagrams in Sparx are embedded in the shapes. In Visio the sub-diagrams are placed in an own Diagram and hyperlinked to the shape because of Visio limitations.

Notes must be extended with a line to the anchor glue point of the shape.

But not only the diagram graphics are translated. In addition to the graphics the data properties and tagged values of Sparx EA have been converted to Visio user data attributes. In one of the next blog posts we will write about improvements of the translation and also about the direction to translate Visio BPMN 2.0 to Sparx EA BPMN 2.0.

Because of the flexible mapping and open meta-model other modeling languages such as UML can be translated as well. It is also possible to map between different diagram types like process flows, e.g. such as UML::activity to BPMN::collaboration diagram-type. This makes it very convenient to re-use existing model and diagrams for new projects.