Below are the first 10 and last 10 pages of uncorrected machine-read text (when available) of this chapter, followed by the top 30 algorithmically extracted key phrases from the chapter as a whole.
Intended to provide our own search engines and external engines with highly rich, chapter-representative searchable text on the opening pages of each chapter. Because it is UNCORRECTED material, please consider the following text as a useful but insufficient proxy for the authoritative book pages.
Do not use for reproduction, copying, pasting, or reading; exclusively for search engines.
OCR for page 27
CHAPTER 111 Tec 1no Oslo Cal Considerations To achieve an effective SSA process in the future, a number of applicable technologies will need to be exploited. In this chapter the panel con- siders those technologies. Indeed, the panel's evaluation of computer technologies has been developed at such length that it has been placed in the Appendix--though this is not intended to diminish its importance. While it is obvious that semiconductor technologies and data base and system software techniques are central to the total system design, it may be less obvious how important to system design are the considerations of modeling, Communications, user terminals, applications software, and human factors. These topics are examined here. INTERFACING AND MODELING The panel strongly supports the SSA planning group in its intentions to (1) emphasize system modularity in the architecture and design of the future system and (2) employ advanced modeling techniques as a means of formulating, communicating, testing, and updating the plan for the future process from the architecture phase through design, implementation, transition, evolution, and evaluation. The essential role of modularity in dividing a very large system into subsystems and components of compre- hensible and manageable proportions was discussed in Chapter II. Here the panel relates the concept of modularity, including the specification of definite interfaces among the subsystem and component modules, to the notion of modeling and provides specific explanation of the use of modeling. System Modularity in Relation to Interfacing and Modeling 27 The essential idea of modularity is to subdivide a large and complex system into parts that interact with one another across well-defined interfaces. The specifications for the parts should be functional and relate to the needs of people, as well as be free of implementation details. The specifications are cast in terms of types and amounts of information, clearly describable transformations of information, allowable time delays, and constraints imposed by privacy and security considerations. If a module must be complex internally
OCR for page 28
2g in order to realize simple interfacing with other modules, the complex module can itself be further subdivided. There is no theorem stating that repeated subdivisions must ultimately result in simple modules with simple interfaces. But practical experience suggests that such is indeed the case. After discussion with the GAS planners, the panel has concluded that a basic tenet of the future SSA system should be modularity at all levels. The interfaces among the modules need to be clear and definite. The best way to determine whether an interface specification is clear is to try to program it.* If the interfaces can be represented in computer-program form, as a software system of data plus processing procedures, it is vir- tually certain that the modules as well as their interconnections can be modeled. When used for system modeling, interface specifications provide a description of the system that actually works to design. There is no guarantee that if the model operates well, the actual process or system will do equally well. Still, there are two conditions that are construc- tive: (1) If the model does not operate well, neither wi 1 1 the actual system;-* and ~ 2 ~ if the model behaves well and the actual system turns out not to do so, the trouble probably lies in the implementation of the modeled specifications and not in the specifications themselves. Modeling Methods and Techniques The modeling that the panel envisions as a fundamental part of the development of the future system is not the routine application of some single, magical technique that is available to solve all the operational problems of the SSA. Indeed, there are many methods and techniques ~ The future SSA system has a number of prospective subsystems that could profit from well conceived modeling techniques. Examples of such sub- systems are the operation of the data base under various conditions; the flow of clients and workloads at a field office; and the operation of the nationwide communications network under a range of traffic loads. It will take expert judgment plus experimentation to select the appro- priate techniques and adapt them to the situation. All the methods and techniques start with problem definition, which must be guided by systemic modularity and must yield good interface specifications. For modeling the interactions and interrelationships at the upper levels of the future system--that is, for macroscopic modeling--there x The specification must also be "sufficiently complete." Because the specification is abstract, it will not be complete in the full detail of actual) ty. Programing does not provide a demonstration of "sufficient completeness, " but it creates a clear and definite representation with respect to which experts can make good judgments about completeness. *^Barring accidental compensations in which design errors are corrected by implementation errors.
OCR for page 29
29 are two promising approaches: (1) "dynamic modeling" by programming in a high-level function-application language such as LISP or APL and (2) 'simulating" by programming in a simulation language such as DYNAMO, GASP, GPSS, SIMSCRIPT, or SIMULA. At lower levels--for microscopic modeling--those two approaches continue to work. Here, more specialized techniques enter the picture. Finite state machine methodology, as applied by IBM on a fairly large scale in the development of its system network architecture, and Petri Nets, as developed at Applied Data Research, Inc., the University of Michigan, and M.I.T., seem especially promising for certain applications. Applications of Modeling In the most ambitious application of modeling to a computer-infor- mation system development program such as the one under consideration, the model could be used to represent the concept, architecture, design, schedule, medium of communication, and conditions in which actual components are first tested. The model also would be the setting in which prospective users first become acquainted with the new process/ system and trained in its use. The grand model would be updated as each decision is made to modify the design or refine the developmental schedule, and as each step of implementation is taken that provides a more certain measure of performance. From the earliest phases of planning onward, there would be a running model of the process/system and something like a dynamic PERT chart of its developmental situation. The process of development would then be essentially the perfection of the grand model, and the process of implementation would be essen- tially its realization. System developers in the information industries are adopting the methodology just described. Even so, it would be rather risky just yet to put all the future eggs into one dynamically modeled basket. The model might turn out to be harder to develop than the actuality. The panel, therefore, stops short--but only a little short--of recommending a switch to a revolutionary new scheme of model-based development. It supports, in particular, the plans for task and job modeling that have been developed in connection with the human factors test and evaluation facility, and it urges that major efforts be made in all of the following areas of modeling: 0 comparisons of alternative architectures, including various distributions and centralizations; · dynamic representation of process and system designs at various levels; modeling of human interaction, through terminals and hard copy, with the computer-communications system; communications network modeling;
OCR for page 30
30 computer-based scheduling and reporting of progress; · computer-based cost projections, reporting, and analysis; and . use of models in education and training of prospective users. The idea is to give modeling a real chance to overcome some of the chaos and confusion that have beset the development of large and complex information systems in the past. Wherever it is unproductive, the modeling effort should be examined carefully to make sure that it has been genuine, but there is no absolute need to press on with it, because more conventional methods can be employed as back-up. At the very least, a major modeling effort would put a great deal of the development work on-line in a large time-shared computer-- an essential prerequisite for the successful prosecution of a large developmental program like that of the SSA. COMMON ICAT ION S SSA Communications Requirements The SSA's future communications requirements fall basically into the following four categories: · High-speed, high-capacity communications facilities between major computer/data base storage centers. · Medium or low speed, low capacity communications facilities between SSA district offices and the major computer facilities (this may include low capacity facilities to communications "hubbing points," from which high capacity facilities would be used to the computer facilities). Mobile communications (low speed) for field operations. SSA administrative networks (voice grade communications facili- ties) between all locations. Decisions about major system alternatives (regional versus central data base), as well as about how much information is to be transferred between SSA facilities, will have a significant impact on the final communications requirements and network design. For example, if only one major computer facility (with associated single data base) is required, the design of the communication network, placement of communi- cations nodes, interconnection of facilities via high-speed data lines , will be different than the design of a communications network to interconnect several major computer facilities with multiple data bases.
OCR for page 31
31 SSA Future System Communications Solutions _ In broad terms, the SSA has the following options for meeting the complex communications needs of the future process: Build a complete communications system from scratch (construct a microwave system, launch satellites, and so forth). Bootstrap the SSA requirements onto another major government- owned network. · Procure raw facilities or services from common carriers and design and develop a configuration of its own communications network by procuring the appropriate terminal/communications processors, multiplex equipment, etc. As part of this option, different types of raw facilities would be considered, including digital facilities (DDS), analog facilities (private line, WATS, MTS), bandwidth facilities, and so on. Procure complete data network capabilities from value-added type common carriers. Procure complete integrated system capabilities from a carriers Some of the alternatives may be eliminated readily. For example, SSA would be hard-put to justify the cost of pursuing the first alter- native. Start-up and continuing operational costs of a privately owned communications network would be prohibitive based on any traffic projections for the SSA's future system. Similarly, the second alternative would require a significant amount of interaction and cooperation WIth another agency. At Ends come, ~c Is unlikely that this option would merit consideration, except for continued use of the Federal Telecommunications System (FTS). The panel recommends that the comunications system design be struc- tured as a separate and identifiable task and be concerned only with the last three possible options, except as noted above. The final approach to the network design will depend to a large extent on (1) an evaluation of the current network (SSADARS) and (2) how much of the day-to-day operational responsibility and management the SSA wants to assume over the network. At the present time, SSA utilizes the government FTS system for most of its administrative communications. Although the panel is not suggesting that SSA look toward a separate administrative network, it is important to note that once a large, sophisticated data network is put in place, it is possible to incorporate voice communications into that same network. Communications-Related Software Requirements Problems relating to the software and computers associated with the network design will be dependent, to a large degree, on whether SSA
OCR for page 32
32 decides to procure complete raw facilities and design and implement the network using an in-house staff or to procure services from a vendor with an in-place data network (so-called value-added facilities). In the latter case, most of the infra-network design and software will already exist. The most fundamental concern in software design for a communications network is that of its interfaces and protocols with the future system and associated applications. Although the level of sophistication in the terminals (or terminal clusters) of the future system can have some impact, the panel recommends that the communications network be treated as a "transparent conduit." In this context, the word conduit is not meant to imply raw facilities or physical pipes. Rather, the network would be transparent when viewed from the applications programs perspec- tive. More specifically, the applications programs and software systems will perform their functions completely separate from the communications network. Information to be transmitted will be "handed off" to the network; the application programs will not be concerned with network operational functions, such as the particular routing, and data speed. The concept of separating the network from the applications, as proposed by the panel, is similar to that utilized within industry. Impact of Communications Technology No major technological development in communications is needed to meet the implementation requirements of SSA's proposed future system. Although communications breakthroughs will certainly come in the form of fiber optics, say, and lasers, none are required to meet the SSA require- ments. Today's communications systems knowledge and hardware capability are adequate to meet SSA future needs in any desired design concept. The network design problem and the required technology associated with the SSA future system are comparable to those of several industrial organizations that have existing networks. New developments in the field of communications could, however, improve the future SSA process. Therefore, the network design by SSA should remain flexible in the early days of implementation. Further- more, the system should not be planned around communications systems or facilities that are so special in nature (whether they exist today or are proposed for the future) that the communications network design would dominate the system design. The network should be so structured conceptually as to allow future changes which may be beneficial. Other technological considerations include: . It is assumed that the "price-per-unit-of-information-trans- ferred" will decrease in the future. This will happen even though the price of raw facilities and/or the cost of communications equipment will probably increase. This implies that, even though the relative cost of the communications system is small when compared to the overall cost of the future
OCR for page 33
33 system, the communications cost should decrease as technology advance s e o Different communications systems should be considered to meet different needs . For example, facsimile broadcast and/or video transmission may suggest that satellite links serve as an effec- tive communications mode, whereas other transmission facilities may be considered for other communications needs O Specific technologies may enhance specific solutions to meet the SSA's requirements . @' Security considerations will be an important factor in the design of the communications system. Parse 1 Recommends t ion The future SSA commune cations network should be a widely dispel sea, sophisticated, highly interactive system that enables hi gh transmission reliability, minimum cost ~ adaptable lity to terminal and host equipment types, and flexibility in call set-up and data transport. The data com- munications network that best satisfies these requirements has the Following characteristics: It makes use of a packet-trans~iss~on technology with error detection/correction protocols to satisfy reliability and cost considerations. It is a hybrid switching network supporting both line and packet switching and permitting an economical choice of the best mode of communications. It has features that facilitate communications among a wide range of incompatible terminals and Computers with differing protocols, formats, speeds, and codes. The 'abbe of communications network that the panel believes SSA should develop is illustrated in figure ~ (page 34~. Terminals and/or d~s~ribntea p-ocess'ng locations may be connected to the switching node &i rectly or via multi-party lines, depending on the volumes of traffic and the economics of the network. The node would adapt to the protocol and speed or the interacting terminal. The network consists of high speed lines utilizing ~ packet-type protocol in a full-duplex mode. Link-by-~nk error detection and correction is inherent. Each node matches the protocol of ~ he host complex and uses high speed lines to utilize the hos'_ comer ex' s capability efficiently. The network inher- ently provi des speed and protocol converse on for connections between non-co~pacib~'e terminals ~ An attenuate approach which is an extension of this concept, has been proposed for possible consideration. This approach incorporates
OCR for page 34
34 i) At\ Q Cal in , . ~ O I ~ by'` 1 ~ I ~,1 c o ._ ._ C — ~ .' Qua DC O° 1- _0- By\ O_ \ \ \ \ \ \ ~ Q i, o: ~ \ 0 O '~0 I ~ / ,~ \ a, ~ w ·_ CL ·— ~ ·= C, O Q a, a.= a, I J Z \ \ \/ 'a ~ O UJ ° 4- A, ~ C., To o LL A \ ~ J \ / ~0 I ~ ~ FIGURE 5 Data Oriented Network
OCR for page 35
35 all terminal interaction functions into the basic design of the communi- cations network. The communications nodes would poll the terminals, provide terminal screen formats and other terminal entry aids, edit the data before transmitting to the host, and store and accumulate data for later delivery, if this is required. Summary The panel has the following observations and recommendations in the area of the future communications subsystem design: . . The design effort for the communications subsystem should be a separate and identifiable design task. Interface points, appropriate protocol, etc., should be established and coordina- ted with the main system design effort. The network design effort could be structured to have a short term positive impact on SSA's current communications needs and then evolve to meet the requirements of the future system. The communications subsystem should be designed so that it can be supported by today's communications capabilities rather than be dependent on communications systems or technologies that may be developed in the future. · The communications network should not be the driving factor in the design of the SSA system, but rather the future system should be designed with major concern directed toward the data base, computer facilities, and work force. The communications system should be designed as a separate effort to serve the rest of the system. The communications system and network should be structured as a transparent conduit that transmits the informa- tion required by the future system. The design should be compatible with the SSA functional systems and applications design. A decision, for example, as to whether the future sys- tem should be structured around regional computer centers and a regional data base organization should be dictated by the functional and operational requirements of the future system and not by the design of the communications network. · The cost of the communications system is not a dominant factor in the overall future system design and should not bias any major considerations, such as regionalized data base storage. The communications system design can be adapted to any concept without significant cost variations, particularly as related to the overall cost of this project.
OCR for page 36
36 TERMINALS SSA Considerations A key element in SSA's future system will be the selection of the actual setting in which the end terminals will be used. The decision to place a terminal on every desk would provide fingertip access to the full system. However, because of the expense and the possible adverse human reaction, this approach should be evaluated against other alterna- tives, such as shared and off-line use in conjunction with a modified interviewer interface with the client. Optical character input could offer a middle-of-the-road approach in which traditional forms are processed for entry into the system at the conclusion of an interview. Display quality, function, and price of the terminal are obvious tradeoffs. Color could be effective for highlighting the information to be presented. Some limited graphic capability could be useful for preparation of reports. The choice of printers (thermal, ink jet, mechanical) and display (storage, refresh) will be influenced by the terminal's planned location in an office, because noise and lighting must be considered. Convenience and high volume print capability may dictate that different types of printers be used for different functions within the same facility. The degree to which system functions are distributed will affect the need for storage and programmable intelligence at local work stations. In considering terminal specifications, many factors need attention, including line protocols for network attachment, reliability, alternate backup procedures to cover power failures, and support programming. In addition, serious consideration should be given to procuring communica- tions software and developing only application code. Data privacy and security must be addressed explicitly. Data access limitations and data encryption during transmission are sensitive aspects in overall system design that will have an impact on terminal selection, use, and features. Terminal placement must provide at least the same degree of confidentiality as does today's client/interviewer method. A degree of commonality among work stations is desirable. SSA may decide to design a minimal configuration for all offices, and to use standard enhancement features to achieve functional capability in excess of that provided by the basic work station. Current Status Today's available, off the shelf terminals range widely from simple hard copy typewriter devices to highly interactive cathode-ray tube displays. Configurations can range from central processor-dependent, host-connected devices to self-contained, user-programmable clusters with their own disk, tape, and cassette storage peripherals, capable of off-line, store-and-forward, or interactive use. Attachable alter- natives range from plug-compatible units interchangeable among several suppliers to unique channel or teleprocessing connections. User programmability can be restricted to a central processor, distributed to
OCR for page 37
37 an intermediate controller or minicomputer separated from the central host or contained in the terminal work station. Terminal logic can vary from hardwired to microprocessor control. Display devices offer a wide range of features, built-in functions, price ranges, and connection protocols. While monochrome or black and white displays have been available for many years, some vendors now offer color capability. Screen sizes vary from the smaller sizes of 100 to 200 characters, through medium sizes capable of displaying several hundred characters, to larger sizes capable of displaying several thousand characters. Cathode-ray tubes are most prevalent, although plasma or gas panel displays are available. Both alphanumeric and graphic displays are widely available. Channel attachments for high speed or teleprocessing capability for remote work station use are geographic and performance choices. Functions such as scrolling, split screen, formating, multiple character fonts, upper and lower case fonts, large type fonts, text editing, and field checking can be provided by the terminal itself or by central host/minicomputer programming. Associated with the display are various input/output devices. For hard copy output, this permits the use of matrix, ink jet, thermal, or line printers which attach to the display, controller, or computer. Light pens are a popular interactive input medium. Optical scanners are available for direct input of pre-printed or hand-lettered forms, as are mark sense and magnetic readers. Keyboard input can be a standard typewriter or a special purpose unit. Support programming systems abound. COBOL, RPG, FORTRAN, and PL/1 are readily available, as are many unique, special languages. Data base and inquiry program products support a wide variety of display terminals. Access method, communications control, and network management programs are available so that users can concentrate upon developing application programs without having to acquire special talent for the specialized communications tasks. Diagnostic programs are also available to aid in isolating fault. Anticipated Trends Terminal prices are likely to continue to decline, both in terms of actual dollars and of increased functions for the same or moderately higher costs. Intelligent microprocessor-controlled displays will further obscure the distinction between controller and display as intelligence shifts increasingly to the display terminal. The trend toward intelli- gent work stations should also result in suppliers offering additional terminal functions with increased possibility of user customization. Color and mixed alphanumeric-graphic features are expected to become more widespread. Improvements in lines, speeds, and network support will make large networks practical for more users. Technology advances will be evolutionary. Plasma technology offers the potential for more compact, lower-powered display terminals, but cathode ray tubes should dominate. Electroluminescent, light-emitting diode, liquid crystal, and deformographic technologies are among those
OCR for page 38
38 that could move from research to development status for specialized display usage late in this decade or in the next. Increased screen content, as well as physically larger viewing areas or projection dis- plays, are anticipated. Image density will improve and image usage should increase. However, new display devices should remain compatible with previously obtained computer attachments and programming support. Use of optical character readers for input and mixed graphic/image alphanumeric applications should grow in the foreseeable future. The major commercial thrust will increasingly emphasize broader system support. Extensive programming support, coupled with functions customized to the user and created by unique microcode, should further simplify incorporation of terminal stations into major computer networks. The most significant advances in display stations should come in color cathode-ray tube (CRT) displays--both in quality and price as well as in the peripherals--especially local storage media that can be attached to a terminal. Bubble technology holds the prospect of non-volatile electronic memory in terminals to complement mechanical media such as disk, tape, and cassettes. APPLICATIONS SOFTWARE Some 300 years ago the English philosopher John Locke, seeking to explain the adaptability of human behavior, referred to the human mind as a tabula rasa, a blank slate on which the impressions received from daily experience are engraved. Today, to use a metaphor in tech- nology, this concept can be employed to describe that most malleable of machines--the computer. Probably the most significant characteristic of computers is their programmability--their functional performance can be tailored to specific information processing tasks. This tailoring is brought about by the patterns and sequences of instructions known as computer programs. Thus, the objectives of a data processing system are achieved by way of its programs and through their integration with each other and with new data. In order to realize these objectives, it is necessary to define the goals of the system and to take the steps that are best calculated to achieve them. One cannot tell whether a system is successful until one first translates the concept into functional characteristics for which standards of success have been defined, and then establishes an appropriate organization and methodology to ensure that the standards are applied to the system's development. Systems that have been designed with every expectation of success have turned out unsuccessful in operation, or have even had to be dis- carded before implementation was achieved. Such unfortunate experiences result from limiting success criteria to (1) those that are most easily quantifiable--namely, the project cost and duration, (2) the conditions existing at the time the system was initally conceived, and (3) the operations of the computer system itself, with the consequent exclusion of the external and particularly the human environment.
OCR for page 39
39 The existence of these limitations can adversely affect the rele- vance, efficiency, and maintainability of the system. Some specific illustrations follow. System Relevance The principal prerequisite for program relevance is a realistic detailed description of the functional requirements the programs are intended to satisfy. It is imperative that management appreciates its necessity and that this task be completed before program design is undertaken. This is even more important in the development of on-line systems than it is to those operating in the batch mode. In batch system development, a reasonable though somewhat artificial interface exists between the operations of an office and its often physically remote computer systems. In on-line systems, on the other hand, computer operations are essentially fused with those of the office. Such matters as the sequence in which data is entered, the degree to which the terminal operator looks to the computer for assistance, the degree to which such assistance is provided by the computer program by prompting and other techniques are matters of joint and equal concern to the programmer and to the office personnel. The definition of functional requirements and the design of the programs that satisfy those require- ments are much more intimately intertwined than is true in batch systems. This coupling must be explicitly defined in the initial development phase when functional requirements are being examined. Only through such definition can adequate information be made available to the computer system designers and programmers and the relevance of system operations be assured. System designs for on-line systems are likely to be much more lengthy and detailed than a batch system-oriented management is likely to expect or appreciate. The added time and cost must be understood and supported, if the subsequent program products are to achieve the desired degree of operational success. One must consider the individuals involved and their everyday operations. They are no longer outside the computer system, looking in. They are an integral part of it. It often happens that the performance requirements of a system are limited to those that exist at the time a study is undertaken. Existing requirements are necessary, but hardly ever sufficient. Changes in requirements are not only inevitable, but are likely to occur at an accelerating rate in the future. A successful system is dynamtc-- constantly compatible with such changes under varying conditions. Yet, inestimable amounts of money have been spent in modifying systems to expand a data record by only one position to accommodate an increased range of data values, because the system designer had not anticipated that it would ever be needed. The SSA should plan to accommodate as wide a range of changes as possible. System relevance is not merely a goal to be achieved, it is to be an essential characteristic of the SSA system throughout its useful life.
OCR for page 40
40 System Efficiency - Overall system efficiency generally has meant the maximum use of systems resources such as machine cycles, memory, secondary storage, and communications lines. With the increasing development of interactive programs, attention must also be given to the more productive use of the human resources involved. In on-line systems, office operations and computer operations are so integrated that neither one can be performed efficiently without the other. Efficient organization of instructions within a computer program is for naught if the terminal operator does not understand what is expected. Similarly, office operations cannot be conducted efficiently if the computer operations with which they are intertwined are slow or inefficient. Such mutual efficiency is called the "man-machine interface." It is likely to be achieved only by the direct introduction of operating personnel into the design process. Systems must be efficient from the users' points of view as well as the computer' s. The arbitration of situations where these demands conflict must be viewed as one of the project management's most impor- tant responsibilities. Maintainability . _ System maintenance may be defined as the attempt to preserve or improve the accuracy and efficiency of a system in the face of newly discovered or newly altered circumstances. A rule of systems develop- ment is that maintenance is unavoidable, but should be minimized. It -is usually costly and time-consuming to perform. Maintenance may be minimized in either of two ways: (1) by ensuring immunity from changes that can be foreseen and avoided initially, and (2) by ensuring responsiveness to changes that cannot be avoided or foreseen. The key to successful software maintenance, in other words, lies in the original design and concept of the system. Much can be done at the outset to make the system easy or difficult to maintain. Therefore, maintenance should be considered as an integral part of the initial system design. Some of the principal factors to be considered: o The more flexible a program is to begin with, the less mainte- nance it will require later. Such flexibility can be attained only by a clear definition of what each program is to do, combined with a full test of the program to ensure that its actual operation conforms with its planned performance. It is also generally true that the simpler a program is, the more likely it is to remain relevant. Unfortunately, it is often the case that the more skillful the programming personnel are, the less likely they are to content themselves with writing simple programs. It is important for the system designer to observe the principle that the simplest of several possible solutions to a problem is the best. Assurance of such simplicity requires systematic application of the many
OCR for page 41
41 o practices that have been developed for the simplification of program development. These include, the use of "top-down" and structured design and programming techniques, the use of table- driven programs, the isolation of highly variable data and specialized functions in self-contained and easily accessible and modifiable modules. The important consideration, however, is that such principles not only be enunciated, but that their practice be institutionalized. Programming standards and practices are often pronounced with great fanfare. Equally necessary, but often absent, are strong management support and a technique for rewarding adherence or penalizing indifference to these principles by programmers and designers. While it is important to minimize the need to change programs it is equally important to ensure responsiveness to changes that need to be made. Even the most perceptive of system designers will be unable to anticipate all innovations --' changes that may occur. It is imperative that appropriate resources be quickly available for such accommodation. One resource is detailed system and program documentation. This must be complete and uniform so that a general familiarity with its character can be established easily. The structure of programs must reflect the same general approach so that each program does not become a new mystery to unravel. One of the very serious problems in program maintenance is the time it takes the maintenance programmer to understand what has to be done before he can correct the problem or make the necessary change. This can be minimized by making the original code simple and uniform. Maintainability will be enhanced by other factors as well: o Use of a single commonly employed high level computer language, such as COBOL. It is essential to use a language that is commonly known and for which expert programmers can be acquired easily and inexpensively. Also, it is important to avoid the use of different languages for related programs, lest a programmer be required who knows all of the languages involved. Continuity of program operation will be fostered by the continuity of the personnel associated with the project. If the people who design a system are per- mitted to turn it over when implemented to a separate group of maintenance personnel, a substantial volume of invariably undocumented knowledge will be lost. The incentive to implement a program properly will be increased if the responsibility for its maintenance . ..,
OCR for page 42
42 is shouldered, at least in part, by the project developers. The panel recognizes that on a project of the scale of the SSA process, with much of the programming possibly being done by contract personnel, it will be difficult to maintain continuity. However, continuity should be considered carefully when staff- ing for key program tasks. In recent years, the line separating vendor-supplied system control programs from user-written application programs has become increasingly blurred. At the same time, the data processing services used by applications programs have become increasingly complex. Programs can be made obsolete not only by changes in functional requirements but also by changes in the hardware and system software environment in which the programs are executed. Maintenance operations can be greatly facilitated if application program interfaces with such system software are isolated and standard- ized. Summary: System Synthesis and the Role of Project Management Before a system can achieve success, the criteria for its success must be defined. In defining these criteria,~it is necessary to include . .. .. . standards of success other than those that are easily quantifiable. Success must be measurable in the external context in which the system operates and, in particular, in light of the activities performed by the people who interact with the system. This context, furthermore, needs to be considered as subject to constant change. The panel recommends, therefore, that the SSA design the system to be programmed to anticipate change whenever possible and to be quickly responsive to change even when it cannot be anticipated. Part of this can be achieved by ensuring that the system design embraces the entire operational setting of which the computer system is but a part, includ- ing people, management, and procedures. Part can also be achieved by the judicious selection of the facilities and techniques used to construct the computer system. Normally, such functions fall under the general rubric of systems analysis. Successful systems operation demands as well, however, that systems synthesis be performed--that the multiple objectives and requirements be considered together so that while all are achieved, none is addressed at the expense of the others and that full weight is given to system accuracy, efficiency and maintainability. This task of systems synthesis is a highly important responsibility of the managers of data processing systems. In most cases, it will be found that these desiderata co-exist in an almost symbiotic relationship. A system that is designed to satisfy high standards of accuracy and efficiency also will generally be one
OCR for page 43
43 that is easy to maintain. In addition, a system that is easy to maintain is likely to operate accurately and ef f iciently. Trade-off situations will occasionally be encountered in which the achievement at one objective must be subordinated to the achievement of another. For example, program efficiency may suggest one approach while considerations of program maintainability will encourage another. Also, the privacy and security of system data are issues of great public concern. While emphasis must be given to these concerns, and necessary measures enacted to regulate strictly the access to the system data' such measures can affect the efficiency of system operations. It is critical, therefore, that the managers of system software development be conscious of the existence of such tradeoffs and that the manner and reasons for resolving the matters be explicitly documented Accordingly, management must stipulate the ob jectives of the process and their interrelationships. It must also employ sampling techniques and other tools of quality assurance and performance measurement both during and after the development period to ensure that the objectives are both understood and realized.
Representative terms from entire chapter: