Figure 1.1 illustrates
these different approaches.
At one extreme, we don??™t create any models but specify the functionality directly
in code. If the developed feature is small and the functionality can be expressed
directly in code, this is an approach that works well. It works because programming
environments can translate the speci?¬?cation made with a programming language
into an executable program or other kind of ?¬?nished product. Code can then be
tested and debugged, and if something needs to be changed, we change the code??”
not the executable.
Most software developers, however, also create models. Pure coding concepts
are, in most cases, too far from the requirements and from the actual problem
domain. Models are used to raise the level of abstraction and hide the implementation
details. In a traditional development process, models are, however, kept
totally separate from the code as there is no automated transformation available
from those models to code. Instead developers read the models and interpret
them while coding the application and producing executable software. During
4 INTRODUCTION
implementation, models are no longer updated and are often discarded once the
coding is done. This is simply because the cost of keeping the models up-to-date is
greater than the bene?¬?ts we get from the models.
Pages:
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32