Most programming languages start with a simple example known as ‘Hello World!’. Although MDE is not a programming language, we can use the same simple example to introduce some of the concepts of MDE.
Obviously, we do not need all of the extra stuff introduced here in order to produce an application that displays ‘Hello World!’ to the user. However, in a more complex system the ‘extra stuff’ becomes very useful.
The Engineering Development Plan
The Development Process
In order to develop any reasonably sized software system, with good engineering practices, it is necessary to have a development process. This process is an important part of the engineering development plan.
We will use a fairly standard and recognisable process comprising the following phases:
- Requirements: what does the customer want.
- Analysis: clarify what the customer wants, ensure it is what the end user wants, define the problem for which you will produce a solution.
- Architecture: Define one or more solutions to the problem.
- Develop: Create, construct, build, test the parts that comprise the (or one of the) solution.
- Integrate: Connect the parts and check they all work together as intended/expected.
- Verify: Test and confirm that the solution does actually solve the problem defined as part of the analysis.
- Validate: Test and confirm that the solution does actually solve the problem that the end user wanted solving.