Definition
Model-driven software uses explicit models as the main basis for understanding, generating, validating, or changing software.
What this term depends on
- Model
- A model makes domain rules, structures, states, or relationships explicit enough to work with.
- Generation or validation
- The model can help create, check, simulate, or govern software behavior.
- Traceability
- Changes can be followed from concept to implementation and back.
Why it matters
When rules live only in code, change depends on translation. Models can reduce that gap when they stay connected to real operating intent.
Watch out for
- Models that become diagrams disconnected from execution
- Generated software with unclear ownership of the model
- Treating model-driven as a shortcut around architecture
Use model-driven software when source code is not the only place where meaning should live.
The model is valuable when it remains close enough to decisions and rules that business and technology can reason from it together.