Our experiences, and those of our customers, colleagues, and competitors,
have shown that a similar or even larger increase is nowpossible, through what we call
Domain-Speci?¬?c Modeling. Indeed, the early adopters of DSM have been enjoying
productivity increases of 500??“1000% in production for over 10 years now.
WHAT IS DOMAIN-SPECIFIC MODELING?
Domain-Speci?¬?c Modeling requires an experienced developer to create three things,
which together form the development environment for other developers in that
domain. A domain here is generally a highly focused problem domain, typically
worked on by 5??“500 developers in the same organization. The three things are as
follows:
A domain-speci?¬?c modeling language
xiii
A domain-speci?¬?c code generator
A domain framework
With these three parts of a DSM solution in place, the developers need only create
models in the DSM language, and the applications are automatically generated as
code running on top of the domain framework. The generated code need not be edited
or even looked at, thus completing the analogy with the move from assemblers to
compilers: with each major leap of our industry, developers need no longer look at the
previous generation??™s source format.
The changes wrought by Domain-Speci?¬?c Modeling may seem radical, but at
its heart are three simple practices that any experienced software engineer will
recognize:
Don??™t repeat yourself
Automate after three occurrences
Customized solutions ?¬?t better than generic ones
Other books have discussed these principles, the basic ideas of modeling, and how
to move modeling to be more central to the development process.
Pages:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25