The UML modeling tools reviewed on this site are evaluated using the following equally weighted criteria:
- Functional features: Drawing
- Functional features: Simulation/Execution
- Standards compliance/Interoperability
- Support/Team modeling
We evaluate tool Usability while exercising the tool Functional Features described below. Usability factors that we evaluate include, but are not limited to: UI design, UI learnability, UI efficiency (as measured by UI gestures), UI response times (as measured in time), interactive help, and technical documentation.
Functional features that we evaluate are categorized into Drawing features and Simulation/Execution features:
We evaluate basic, intermediate, and advanced drawing features of modeling tools. Basic drawing features that we assess include, but are not limited to, opening/closing models, opening/closing diagrams, drawing model elements and relationships, editing properties of elements and relationships, and multiple undo/redo capabilities. Intermediate drawing features that we assess include, but are not limited to, support for recursive design techniques, requirements traceability across diagram types, and generating relationship tables. Advanced drawing features that we assess include, but are not limited to, model management and customizability. We also evaluate UI support functions (e.g., context-sensitive help, documentation) as well as the efficiency of tool installation and administration.
Simulation/execution features that we evaluate for UML modeling tools include, but are not limited to: constraint enforcement, forward engineering, reverse engineering, and round-trip engineering.
We evaluate tool compliance to UML notation (syntax) and semantics as defined by the current UML 2.x specification. We also evaluate the interoperability of XMI files generated for model import/export, and the interoperability of UML diagrams with SysML and BPMN diagrams for modeling projects that require mixed language usages.
We evaluate general tool support to include installation, set up, update mechanisms, and technical support. We also evaluate team modeling support for project sharing, versioning, and user permissions.
We calculate Value as a function of Features/Price, and rank tools in relative order.