MML 3: Models with Text
At MML 3, the specification of software is written down in one or more models. In addition to these models, natural language text is used to explain details, the background, and the motivation of the models, but the core of the specifications lies in the models.
 | |
| Figure 2. MML 3Models with Text: At this level, the model for the Mailer becomes more complete. |
MML 3 is the first level where a model becomes a proper reflection of the software being built. The models are not just a roadmap for the reader, but show the structure of the actual code and are therefore good source code documentation. On the other hand, the transition of model to code is done mostly manually. This means that with the passage of time, after more and more changes, the models do not reflect the actual code anymore. The code is the thing that is polished until the customer is satisfied. The code is the thing that is changed when requirements change or bugs must be fixed. The code is the product. Keeping the models up-to-date is often considered to be unimportant and to time consuming, so after a while the once perfect source code documentation becomes useless.
Example
At this level, the model for the Mailer becomes more complete. There is a use case model, a class model, and a sequence diagram showing the user functionality, the structure of the system, and the way objects communicate to get the job done, respectively.