OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
Avoid Flowcharts, Base Program Structures on Data Structures

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?



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 1993-2007 XML.org. This site is hosted by OASIS