Chapter 18 of Concise Survey of Computer Methods. Lund, Sweden: Studentlitteratur, and New York: Petrocelli/Charter, 1974.

Commentary 1990

This chapter may be noted for its early skepticism with regard to phase controlled system development and its advocacy of the experimental approach, later known as prototyping.

Summary of the Chapter

The development of large data systems has given rise to difficulties owing to: lack of the technical understanding of the problems; lag in the development of the appropriate educations; poor mutual understanding between project managers, system designers and programmers, and computer scientists; inadequate management methods; lack of standards of methods and performance; tendency to overpromise the achievement to be expected of projected systems.

As one approach to managing large data system projects, the development may be regarded as taking place by 5 stages: analysis of requirements; design; implementation; installation; and maintenance. The analogy with projects of development of physical items, which is the basis of this view of data system projects, is not so close as to prevent difficulties from this approach, however.

As an alternative approach, the development problem may be regarded as primarily one of overall design. Recognizing that the overall design can only be regarded as a hypothesis until all its parts have been worked out in detail, one arrives at a view of the project as a succession of experimental stages.

Large data systems contain important human elements, both during their design and operation. It is suggested that the insight into the psychological and sociological factors which will be of importance to the system design may be gained through a dialog involving the designers and the people who will be involved in the operation.

The actual work on the design of large data systems may profit from an insight into general problem solving methods. Some of the essential issues are that the designer should view the problem from many different sides before making any design decisions, and that he should keep an open eye for alternative solutions.

With large systems a major design problem is to find an order of treatment of the usually conflicting design requirements. A sketch of a systematic method for finding such an order is given.

As a technique for arriving at the initial design goals it is suggested that a meeting between the people that will be involved in the system be held. During the meeting a list of design goals is set up, with a grading of each goal along both a usefulness and a cost scale.

As a help towards solving the difficult problem of documentation of large data systems, four rules are given: First, let the documentation be produced while the actual development is in progress. Second, maintain a plan and a table of contents of the intended final documentation at all times during the development of the system. Third, help the reader to find his way in the documentation. Fourth, choose and hold a suitable terminology.

As part of the development of the design of a large data system it is helpful to look at the proposed design from the angle of several design areas: the interfaces of the processing done by people and that done by computers; the processing cycles of the system; the computer programs; the processing to be done by people; what will not be done and why.

Certain areas of a large data system can only be designed on the basis of experiments. Typical areas of this kind are: input and output formats; statistical properties of input data; the difficult processes.

A proposed design of a large data system should be checked against several general points: coverage of goals; simplicity; performance; reliability and stability; security and supervisability; modifiability.