Hi Folks, Here is a brief summary of the first chapter of the Jackson Structured Design book:
Lessons Learned Section 1.3 gives another example of a program that is written to correspond to a flowchart. The program works, and the coding is impeccable. But the structure is utterly wrong. Avoid flowcharts. For many people it has long been an article of faith that flowcharting should precede coding. There is a kernel of important truth here: coding cannot be the first stage in
building a program; it must be preceded by design. But flowcharting is not designing. Design is about structure, and flowcharts, as their name suggests, are about the flow of control. At the time when the designer should be thinking about the shape of his
problem, the flowchart encourages his to think about execution of the program inside the computer. Flowcharts tend to conceal structure. Another, more positive, lesson is that program structures should be based on data structures. There are deep underlying reasons why this is so… (he gives many reasons) …The computer system sees
the world through the medium of its data structures.
The Jackson Design Technique This is the basis of the Jackson design technique: We start by (1) considering the data structures, which we then use to (2) form a program structure. We list the executable operations needed
to carry out the task, and (3) allocate each operation to a component of the program structure.
There are, of course, further steps in the design process, but these three are the first and the most important: the quality of the work we do as we take these steps will determine the quality of the programs we write. ----------------------------------- “program structures should be based on data structures” When you design a program, how do you base your program structures on the structures in the XML input? /Roger |