The Model Driven Development approach ...
Models are used to help us cope with the difficulties we have in grasping the complex, multifaceted concepts which define most software system architectures today.The model emphasizes the important aspects of the architecture, whilst hiding uncecessary distracting elements; it is an abstract representation of some aspectof the architecture, designed to communicate a particular set of attribute qualities to a particular group of stakeholders.
MDD emphasizes the generation of a coherent, synchronized architectural/system model, which will maintain architectural system integrity through synchronized modelled elements for requirements, architecture, design, behaviour, structure, and connection inter-relationships.
The MDD process is best achieved through the use of one of a number of integrated architectural tools (see Links) where the model is stored in a repository, and the essential concept of the MDD process ... "the model drives the system development" ... can be realised.At AM2D Software Systems Consulting wherever possible we use an integrated architectural tool. However, we recognize that a fully integrated tool approach is not applicable for all organizations, or that tools for some analysis techniques are not yet available; in these cases specific system views and analysis synchronization are maintained manually, with cross references to these elements being placed at strategic points within the MDD model in order to flag the appropriate actions for these components. In these cases where model to implementation mapping/synchronization is carried out manually, rigorous proceedures and checks ensuring that code implementation is driven solely from the model are enforced.