. Code: Abstractions can be identi?¬?ed with a bottom-up approach: examine
existing applications and features and generalize from them. This is not limited to
?¬?nding abstractions for the language, but also helps identify the structures of
IDENTIFYING AND DEFINING MODELING CONCEPTS 231
generatedcode (seeChapter11for details). In particular, the advice of experienced
programmers and coding guidelines need to be acknowledged: other developers
follow these as they relate closely to established manual practices. It is not
recommended, however, to followonly a bottom-up approach as you also need to
predict future possibilities. This is important since after automating the
development tasks with DSM you can develop features or whole applications
that you could not develop earlier because of the higher costs or longer
development times.
Sometimes, the above-mentioned sources may not be available: the domain is new,
there are no past experiences available, or the speci?¬?cations were not made available
in the ?¬?rst place. The domain knowledge is then scattered in the organization and
found only in individuals??™ memory. Then, you should create concrete examples of
alternative ways to specify the problem??”not just one but multiple examples with
prototypes. The sample applications are not only useful for identifying abstractions
but can also be used later to test the DSM solution.
Pages:
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420