Further Considerations - Page 2
Review of problem solving process
The main stages in the process can be summarized in the following list:
- Understand the problem
- Design a solution
- Implement the solution
- Test the solution
- Document the solution
Understand the problem
Problem specification will frequently need clarification and further information. Questions will have to be asked, answers sought and ambiguities dealt with.
Design a solution
Reaching a design solution is the most difficult part. A computer is only capable of simple tasks (done quickly). Creativity is required. It may be beneficial to create simple designs and then extend from these to progress to a fuller design. Top level designs embody the overall aim of the program. Individual aspects of the design can then be incorporated gradually and progressively.
Design constructs covered so far:
- assignment step
- read in step
- write out step
- if step
- case step
- while loop
- when loop
Implement the solution
Transition from design to code should be relatively simple. If problems are encountered, it is preferable to return to the design as opposed to trying to hack the code. Understanding syntax is crucial. The correct handling of data input and output is extremely important. String and Integer data are not the same beast.
Test the solution
Even if a program appears to compile and run correctly, it is still necessary to fully test it. Does it answer the problem specification fully? Has the program been tested with extremes of data? Has a full set of test data been built and run?
Document the solution
Any solution must be documented. A program cannot exist in isolation. Any program may require future modification. This will be easier to achieve if supporting documentation is available, accurate and complete. The program writer may not be the program modifier.
Other documentation will include User and Programmer documentation. An important consideration is the fact that any program written is generally produced for a users benefit, not the program writer.
Program comments can be helpful for any future review of the design.
Comments, suggestions, ideas to
Stuart Banner
