Reference articles on history, science, culture and more
Encyclopedia

MagicDraw

Systems modelling software

Image credit is listed at the end of this article.

MagicDraw is a proprietary visual UML, SysML, BPMN, and UPDM modeling tool with team collaboration support.

01Features

Domain specific language

The domain specific language (DSL) customization engine allows for adapting MagicDraw to a specific profile and modeling domain, thus allowing the customization of multiple GUIs, model initialization, adding semantic rules, and creating one's own specification dialogs and smart manipulators. The ability to use multiple specific customizations helps to make MagicDraw better oriented to specific platforms, technologies or domains, and can even hide UML entirely. Active validation allows the checking of domain specific models in real time and suggests help and can even fix some issues. DSL elements can be converted to any subtype or a more general type using the "Convert to" function. DSL allows custom derived properties to be created that allow extending a UML metamodel or its profile.

All DSL'ed elements can be numbered by using the generic numbering mechanism. The elements can be numbered in consecutive or multi-level style. The separator or prefix of number can be changed during the element numbering.

Model decomposition

Model Decomposition is a function which can split projects and other work into independent parts.

  • Lazy loading allows the specification of modules that should not be loaded into memory by default when a project is started. Module elements are only loaded as they are specifically requested.
  • Read-Write modules allow module editing of a fragmented model. It is also used during model refactoring.
  • Since MagicDraw has the ability to have flexible control over the dependencies between model parts, it is possible to continue working with the product without resolving dependencies between model parts.
  • Indexing, ability to create an index of an unloaded module. It allows using part of the elements of the module without loading it.

Template-based documentation generation

Fully customizable templates can be created in the style and format preferred by the user. Reports can be exported into variety of file formats (OpenDocument (*.odt), RTF (*.rtf), Microsoft Word (*.docx), Microsoft Excel (*.xlsx), Microsoft PowerPoint (*.pptx), XML, HTML, XHTML). Reports can be personalized with characters, paragraphs, and fonts that are supported by a chosen file format. MagicDraw has the ability to import RTF documents or parts of them into reports (Import tool), to get Teamwork Project Information and upload reports to a remote location. It includes JavaScript Tool which enables report templates to evaluate or run JavaScript codes from templates and external JavaScript files. It also supports a rich set of image manipulation methods that enable image transformation during report generation.

MagicDraw supports Microsoft Word and Open Document Format template.

Templates for SDD and UCS (Software Design Document and Use Case Specification), architectural templates: use case report, structural report, behavioral report, implementation report, environment report, Model Extension, Data Dictionary, Business Process Modeling Notation, Web publisher with collaboration ability for commenting on and editing report data through a web browser.

Analysis facilities

The following analysis facilities are available in MagicDraw:

  • The Dependency Matrix allows visualizing relationships of a large system in a compact way. Export to .csv is also available.
  • Traceability between different levels of abstraction which makes it possible to find more specific and realizing elements, usually not from the same view. This allows for handy specification and realization discovery, and navigation. Predefined traceability suites are customizable to customers’ needs.
  • Visual model differencing allows viewing the changes made between two different versions of a model.
  • Representation of the number of class and package dependencies is automatically generated after code is reverse engineered.
  • Usage in Diagrams allows viewing the diagrams on which a particular data element was represented.

Model refactoring

Model refactoring like code refactoring is the disciplined technique used for modifying or improving an existing model. The following refactoring functions are available in MagicDraw:

  • Element conversion
  • Relationship direction reversion
  • Diagram extraction (this function is available only for the activity and composite structure diagrams)

Transformations

MagicDraw provides transformation of UML models to specific XML Schema and DB models (generic and Oracle DDL) and vice versa, and any to any transformation.

Also model-to-model transformations between the same or different meta-models can be defined and run directly in MagicDraw by using the QVT plugin. The QVT (Query/View/Transformation) is a standard defined by the Object Management Group.

Relation Map
Relation Map
Watch videos about MagicDrawExplainers and documentaries on YouTube (opens in a new tab)

Sources and credits

This article is adapted from the Wikipedia article MagicDraw, written by its contributors and licensed under CC BY-SA 4.0. Fathomly has changed the layout, removed citation markers, navigation and maintenance notices, and adjusted punctuation. This adapted version is shared under the same license. For references, see the original article.

Images, from Wikimedia Commons:

Fathomly is not affiliated with or endorsed by the Wikimedia Foundation. Spotted a problem? Tell us.