MDriven Designer lets software architects, developers, and business analysts create, validate, and refine UML domain models that can generate database-backed applications.
What MDriven Designer does
MDriven Designer is the visual modeling environment in MDriven. You use it to describe a system's domain model: its data, rules, workflows, and user interface structure.
A domain model is a structured description of the business concepts in an application and their relationships. For example, an order system can contain Customer, Order, and OrderLine classes. An Order belongs to one Customer and contains multiple OrderLine objects.
MDriven Designer uses UML (Unified Modeling Language) as the visual notation for the model. A class diagram can define the classes and associations in the order example, while a state machine can define an order workflow such as Draft, Submitted, and Shipped.
Model from design to application
You can use the same model as the basis for design, validation, prototyping, and application generation.
| Model element | What you define | Example |
|---|---|---|
| Class diagram | Data structures and relationships | Order has an association to Customer.
|
| State machine | States and workflow transitions | An order can move from Draft to Submitted.
|
| Business rule | A condition the model must meet | An order must contain at least one order line before it can be submitted. |
| ViewModel | The data and layout used by a user interface | An order form shows the customer, order date, and order lines. |
A ViewModel defines what data a user interface presents and how the user can work with it. MDriven Designer can turn model information into functional web forms through Autoforms. For example, after you define an Order class and its attributes, you can use an Autoform to inspect and edit orders without hand-coding a form.
When the model changes, MDrivenServer can synchronize the database and MDriven Turnkey can update the generated user interface. For example, adding a DeliveryDate attribute to Order makes that attribute available to the application model and its forms.
Work with existing systems
You can reverse engineer an existing SQL database into a visual UML model. This is useful when you need to understand a legacy database before changing or replacing it.
For example, if a database contains Customer and Orders tables linked by a customer key, reverse engineering can represent them as classes and an association in a class diagram.
MDriven Designer also supports model import and export in standard formats such as XML. You can use XML export to transfer a model between team members or retain a model representation outside the Designer.
Validate and prototype the model
MDriven Designer includes error model checking to identify model issues before deployment. Use it while you model so that inconsistencies are found close to the change that introduced them.
The integrated prototyper lets you test a model in a sandbox without deploying it. For example, you can create an order, add order lines, and test the Draft-to-Submitted workflow before you deploy the application.
You can express calculated values and rules with OCL (Object Constraint Language). For example, an OCL expression can calculate an order total from its order lines. You can test model behavior with the model debugger before moving repeated logic into a reusable implementation.
Integrate with Visual Studio
MDriven Designer integrates with Visual Studio, so developers can work with the model-driven approach alongside their Visual Studio development environment.
Text-based model editing
MDriven Text Format is a textual representation intended for editing model elements such as classes, state machines, ViewModels, and actions. For example, a ViewModel can have a text representation that describes its nesting and properties, which supports editing model content in contexts other than the visual Designer.
Who uses MDriven Designer
MDriven Designer is intended for:
- Software architects who design complex systems.
- Developers who use model-driven development.
- Business analysts who help define data, rules, and workflows.
- Teams that need the design and implementation to remain consistent.
