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.

311Figure 14.23Mapping records onto blocks (boundary clash).Some JSP heuristics(a)(b)Figure 14.24 A simple program to extract records from blocks. (a) Structure Diagram.(b) Pseudocode.always shown as shorter than a block, but this is not a real restriction). Figure 14.24shows the structure of the library routine that might be designed with JSP to extractrecords from the blocks and then pass them to a user program, one record at a time.Inversion of this program would then result in the construction of two coroutines: asection of their execution sequencing is shown in Figure 14.25.So program inversion is a further example of a ‘design heuristic’, in the sensethat it is a well-developed technique that can be used to overcome a problem thatitself arises because of the needs and assumptions of the method. Because the methodassumes the existence of certain ordering constraints upon the input streams, atechnique is needed that can create these constraints whenever a particular problemdoes not fit the requirement.

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

Saved successfully!

Ooh no, something went wrong!