13.07.2015 Views

Software Design 2e - DIM

Software Design 2e - DIM

Software Design 2e - DIM

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

⎛ b b b∅1 ∅2. . . ∅⎜ f f f⎜D1 D2. . . D⎜ d d dD1 D2. . . D⎜ c c c⎝∅1 ∅2. . . ∅mj ()mj ()mj ()(One question that arises is whether the D f i elements should be preserved across thistransformation. In Budgen (1995) the preference was to omit these. However, sincethey do form the basis of subprogram functionality, in this exposition we have retainedthem, while changing to the use of a lower case letter d to emphasize that this is anindirect description.)Step 5: Completing the design process⎞⎟⎟⎟⎟⎠mj ()jT4→⎛ b b b∅1 ∅2. . . ∅⎜ f f f⎜d1d2. . . dmj⎜ d d dD1 D2. . . D⎜ c c c⎝D1 D2. . . DFor our purpose, this represents a ‘bringing together’ of the Structure Charts, which wecan represent in a very simplified manner as shown below:mj ()()mj ()mj ()⎞⎟⎟⎟⎟⎠j273The role of heuristics in SSA/SD∑b b b⎛∅ ∅ ∅ ⎞1 2 . . . mj ()⎜ f f f ⎟⎜d1 d2. . . dmj() ⎟j⎜ d d dD D D ⎟1 2 . . . mj ()⎜ c c c⎝D D D ⎟1 2 . . . mj () ⎠j5E →⎛⎜⎜⎜⎜⎝b∅1 b b∅2. . . ∅nf fd1d2. . . dn dD1 dD2. . . Dn cD1 cD2. . . Dn ⎞⎟⎟⎟⎟⎠13.4 The role of heuristics in SSA/SDThe relatively relaxed structuring of SSA/SD, and the number of variations in the formof the process, has the result that it is harder to classify and identify well-defined formsof problem that can lead to the development of heuristics. So the type of heuristic thathas evolved is likely to be one that is related to the form of the solution rather than tothe form of the process that led to it.We have already encountered one significant example of a heuristic of this type,which is that of devising an ‘empty’ central transform when there is no obvious suitablecandidate. This is a prime example of the use of a design heuristic to assist withthe design transformations, as it provides guidance on the restructuring of a designmodel (which in itself may be quite correct) to allow a particular transformation to beapplied to it.Indeed, the very act of identifying the central transform during TransformAnalysis is itself a form of heuristic. There are no prescriptive guidelines for performingthis task, and the results of selecting different candidates will be quite different intheir structure, as is demonstrated in the simple example in Figure 13.10, where theeffects of selecting different candidates to be the central transform can be seen.The technique of levelling, as used for developing a DFD, is probably a furthercandidate for classification as a heuristic, since the available guidelines are rules ofthumb rather than systematic rules. However, since it is a normal operation during

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!