What is Model Driven Development (MDD)?
Model-driven development (MDD) leverages graphical models and pre-built application components so that users can visually construct complex applications. Interest in model-driven development continues to increase as individuals experience the ease and speed with which technical and business users orchestrate and deploy business applications. The right model-driven development platform provides significant productivity advantages over traditional development methods and enables project delivery by smaller teams.
Core Concepts within Model-Driven Development (MDD)
There are two core concepts associated with model-driven development: abstraction and automation. The software application model is defined on a higher abstraction level and then converted into a working application using automated transformation or interpretations. The right model-driven development approach leverages model execution at run time, where the model is automatically transformed into a working software application by interpreting and executing the model (removing the need to generate or write code).
Model-driven development software is often referred to as a high-productivity platform as a service given the unprecedented speed at which users build and deploy new applications. This speed is derived from the use of models and other pre-built components that business and technical teams use to visually construct applications.
Learn more about Mendix’s model-driven development platform and find out how you can deliver custom business applications 6 times faster than with traditional programming methods.
Benefits of Mendix’s Model-Driven Development (MDD) Platform
Model-Driven Development (MDD) has emerged as one of the leading approaches for enabling rapid, collaborative application development. Because model-driven development uses visual modeling techniques to define data relationships, process logic, and build user interfaces, model-driven software development empowers both developers and business users to rapidly deliver applications without the need for code. Consequently, model-driven development is significantly faster than traditional programming languages like C# and Java.
Mendix’s model-driven development platform enables speed and flexibility across the development life cycle. Specific benefits include:
- Execute functionality changes faster by removing the requirement of explicit regeneration, rebuild, retest and redeploy steps.
- Access an API layer within the platform to easily control model extensions with custom code
- Deploy easily by starting the runtime server and adding the model (the rest is automated with a single click)
- Access more flexible and dynamic application monitoring features and enable less technical developers to analyze and quickly debug through visual application models
Mendix’s application Platform as a Service utilizes model-driven development capabilities to significantly speed the delivery of custom software. Learn more about Mendix’s model-driven development capabilities.
Frequently Asked Questions
The Mendix Web Modeler is a powerful tool for model-driven development. The platform features drag-and-drop functionality to visually build domain models, add logic through microflows and create the UI model through a WYSIWYG graphical page designer.
Model driven development and Agile go hand in hand with the Mendix low-code development platform. With powerful collaboration tools built into the platform, Mendix makes iterative development sprints more intuitive. Related Reading: Agile Methodology Guide
There is no shortage of industrial applications built on the Mendix platform – from IoT-enabled smart apps for logistics to supply line management. Visit the Mendix App Gallery for working examples.
Test-driven development (TDD) refers to a bare-bones approach to application development with a focus on short development cycles. Model-driven development can be used in conjunction with a TDD approach to application development.
The benefit of a model-driven approach to application development is centered around the abstraction away from code to form a visual model. This makes the development of an app much more accessible for those without prior coding knowledge. The Mendix low-code platform takes this a step further with robust collaboration tools embedded into the software.