This Article 
 Bibliographic References 
 Add to: 
Systematic Program Development
January 1988 (vol. 14 no. 1)
pp. 12-29

A constructive method of program development is presented. It is based on a simple strategy for problem decomposition that is claimed to be more supportive of goal-oriented programming than the Wirth-Dijkstra top-down refinement method. With the proposed method, a program is developed by making a sequence of refinements, each of which can establish the postcondition for a corresponding sequence of progressively weaker preconditions until a mechanism has been composed that will establish the postcondition for the original given precondition for the problem. The strategy can minimize case analysis, simplify constructive program proofs, and ensure a correspondence between program structure and data structure.

[1] N. Wirth, "Program development by stepwise refinement,"Commun. ACM, vol. 14, no. 4, pp. 221-227, Apr. 1971.
[2] E. W. Dijkstra, "A short introduction to the art of programming." Technological Univ. Eindhoven, Rep. EWD316. Aug. 1971.
[3] E. W. Dijkstra,A Discipline of Programming. Englewood Cliffs, NJ: Prentice-Hall, 1976.
[4] D. Gries,The Science of Programming. New York: Springer-Verlag, 1981.
[5] M. A. Jackson,Principle of Program Design. London: Academic, 1975.
[6] M. A. Jackson,Systems Development. London: Prentice-Hall, 1983.
[7] P. Suppes, Introduction to Logic. Princeton, NJ: Van Nostrand, 1957.
[8] A. Mayer, "Geschichte dea Prinzips der kleinston Action." Leipzig, 1977.
[9] W. M. Turski, "On programming by iterations,"IEEE Trans. Software Eng., vol. SE-10, pp. 175-178, Mar. 1984, and private communication.
[10] E. Hehner, "do considered od,"Acta Inform., vol. 11, pp. 287-304, 1979.
[11] R. G. Dromey, "Forced termination of loops,"Software Practice and Experience. vol. 15, pp. 29-40, Jan. 1985.
[12] R. G. Dromey, "Program development by inductive stepwise refinement,"Software Practice and Experience, vol. 15, pp. 1-28, Jan. 1985.
[13] G. D. Berglund, "A guided tour of program design methodologies,"Computer, vol. 14, pp. 13-37, Oct. 1981.
[14] M. A. Jackson,Constructive Methods of Program Design(Lecture Notes in Computer Science vol. 44). Berlin: Springer-Verlag, 1976, pp. 236-262.

Index Terms:
program development; problem decomposition; goal-oriented programming; refinements; postcondition; case analysis; constructive program proofs; program structure; data structure; programming; software engineering
R.G. Dromey, "Systematic Program Development," IEEE Transactions on Software Engineering, vol. 14, no. 1, pp. 12-29, Jan. 1988, doi:10.1109/32.4619
Usage of this product signifies your acceptance of the Terms of Use.