- MagicDraw
-
MagicDraw
Class diagram in MagicDraw 17.0Developer(s) No Magic, Inc. Stable release 17.0 / November 30, 2010 Written in Java Operating system cross-platform Type Software development License Proprietary Website http://www.magicdraw.com MagicDraw is a visual UML, SysML, BPMN, and UPDM modeling tool with team collaboration support. Designed for business analysts, software analysts, programmers, and QA engineers, this dynamic and versatile development tool facilitates analysis and design of object oriented (OO) systems and databases. It provides the code engineering mechanism (with full round-trip support for J2EE, C#, C++, CORBA IDL programming languages, .NET, XML Schema, WSDL), as well as database schema modeling, DDL generation and reverse engineering facilities.[1]
Contents
Features
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.[2] 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 easily changed during the element numbering.
Model decomposition
Model Decomposition is a function which can split projects and other work into possibly independent parts. These additional capabilities are especially suitable when working with large projects:
- 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. This saves memory, shortens project startup time and improves performance when working with very large projects especially if most of the module elements are never actually used.
- Read-Write modules allow seamless module editing of a fragmented model. It is especially handy during model refactoring.
- Since MagicDraw has the ability to have flexible control over the dependencies between model parts, MagicDraw allows you to continue without resolving these dependencies.
- Indexing – ability to create an index of an unloaded module. It allows you to use the elements of this module without loading it.
Template based documentation generation
Fully customizable templates can be created in whatever style you prefer. Reports can be exported into variety of file formats (OpenDocument (*.odt), [[Rich Text Format|RTF] (*.odt), 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.
Support for MS Words 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 you to visualize 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.
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.[3]
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.
Related products and plugins
Teamwork
The MagicDraw Teamwork Server allows simultaneous work by multiple users on the same project, since locking information is transferred quickly between the client and the server. Real time information is provided to all users about who is working on which part of the model. MagicDraw Teamwork Server stores and allows restoration of previous versions of projects and modules. The older project can be restored as current. MagicDraw Teamwork Server integrates with LDAP servers. This integration authenticates MagicDraw users against the LDAP Server using the Simple User + Password combination or SASL authentication as well as the SSL/TLS protocol.
MagicDraw integration with Cameo Team Server brings a model versioning at the element level. Also RBAC (role-based access control), a permissions system is introduced in the Cameo Team Server. This permission system allows restricting access to projects both for users and the roles assigned to them.
Cameo Business Modeler
OMG BPMN 2.0 support with all three diagrams (Process, Collaboration and Choreography), model validation and reports are available with the Cameo Business Modeler plugin
SysML
The SysML plugin supports the latest OMG SysML Specification 1.2 version. The SysML plugin supports all SysML diagrams including Requirements, Block Definition, Internal Blocks, Parametric and other diagrams.[4] Validation constraints actively check and validate user-created models against a set of constraints. SysML provides support for analysis, design, and validation of a broad range of systems and system integrations.
UPDM
The UPDM plugin supports the latest OMG UPDM Specification 1.1 version. It unifies MoDAF 1.2, DoDAF 1.5 and DoDAF 2.0. It has support for all DoDAF and MoDAF modeling artifacts based on the DoDAF and MoDAF Architecture Frameworks, with reports, wizards, model correctness and completeness validation constraints, as well as usability features.
Cameo Simulation Toolkit
Cameo Simulation Toolkit provides the first in the industry extendable model execution framework based on OMG fUML and W3C SCXML standards. It extends MagicDraw to validate system behavior by executing, animating, and debugging UML 2.0 State machines and Activity models in the context of realistic mock-ups of the intended user interface.
MagicDraw history
Release year Version Summary 1998 1.x All UML 1.1 diagrams support. Introduced import/export from Rational Rose file format.
1999–2000 2.x Multiple projects support. Improved load and import operations.
3.x UML 1.3 notation and metamodel support. MagicDraw files began being natively stored in XMI (XML metadata interchange) format. Introduced integration with Sun Forte for Java IDE. CORBA IDL reverse engineering and code generation, C++ code engineering, Java code engineering. Swing GUI. New class diagram wizard and package dependency diagram wizard.
2001–2002 4.x UML diagram extensibility support. Database design support. Teamwork support. Import/export of project part support. Model versioning support on the teamwork server. Introduced customizable, XSL based reporting engine.
5.x Full UML 1.4 semantic and notation support. XMI 1.1 support. Object constraint language (OCL) support. Introduced integration with Eclipse platform and Borland JBuilder. .NET bytecode reverse engineering. EJB-UML notation support. Ability to work offline with Teamwork server.
2003–2005 6.x C# code reverse engineering and generation. Introduced integration with NetBeans. Open API for extending MagicDraw.
7.x XMI 1.2 support. RTF and PDF templates for Software Design Document and Use Case Specification. Introduced integration with IntelliJ IDEA. XML Schema, WSDL, EJB 2.0 support.
8.x Introduced Java source code reverse engineering to sequence diagram. Introduced integration with Borland CaliberRM requirements tool, BEA WebLogic Workshop, NetBeans 3.6, and Eclipse 3.0.
9.x Visual Model differencing. Transformation of UML models to specific models. JDK 1.5 support.
10.x Full UML 2.0 metamodel and notation support. XMI 2.1 support. BPMN (Business Process Modeling Notation) support. BPMN export to BPEL. Introduced integration with ProActivity Business Process Analysis Suite.
2006–2007 11.x Introduced import of EMF based UML 2 XMI to MagicDraw and vice versa. 12.x Introduced integration of teamwork server with IBM® Rational® ClearCase® and Subversion. New Domain Specific Language Customization Engine. New SysML plugin. Introduced model validation, Dependency Matrix.
14.x Introduced integration with Rational Doors throw DataHub. New Report Engine based on Velocity templates.
2008–2010 15.x Introduced model merge, project branching, and model active validation. Full UML 2.1.2 metamodel support. New Methodology Wizards Plugin.
16.x UML 2.3 semantic and notation support. New Interaction Overview, User Interface Modeling and Relation Map diagrams. MOF, CMOF and EMOF modeling and import-export from MagicDraw. Velocity template-based automation of code generation for Oracle databases. Traceability support. Introduced UPDM plugin. BPMN 1.1 and Ecore support Spell check LDAP and Active directory support Introduced script engine.
2010–2011 17.x Introduced Cameo Data Modeler plugin. Introduced MagicDraw and Eclipse EMF integration. New Diagram Overview shape and Generic table SVN 1.6 support in Teamwork Server. SSL support in Teamwork Server.
2011–2012 17.0.x Introduced MagicDraw QVT and TOGAF plugin. Introduced MagicDraw integration with Cameo Team Server. Introduced Generic Numbering Mechanism for DSL'ed elements
References
- ^ Java and Mac OS X By T. Gene Davis
- ^ http://blog.efftinge.de/2008/03/dsl-development-with-magicdraw.html
- ^ http://www.model2code.com/magicdraw.html
- ^ "OMG Systems Modeling Language". Object Management Group. http://www.omgsysml.org/#What-Is_SysML. Retrieved 2011-04-02.
External links
Categories:- UML tools
Wikimedia Foundation. 2010.