A Systems Design Life Cycle

 

A computer-based information system has a life cycle just as a living organism or a new product does.  The various stages in the systems life cycle are show in the Table below.  The idea for a new information system is stimulated by a need to improve existing procedures or take advantage of a new opportunity.  This need leads to a preliminary survey to determine if a system can be developed to meet the objectives of the individuals suggesting it. If the results of the survey are positive, it is refined to produce a more detailed feasibility study.  From the outcome of the feasibility study, a decision is made whether to proceed with the design of a system.  If a positive decision is made, one of the alternatives sketched in the feasibility study is chosen for development.

 

In systems analysis, the existing information processing procedures are documented in detail.  During requirements analysis, designers attempt to learn what users expect a new system to do.  One major task during this phase is to define the boundaries of the system. Does the problem concern only inventory control, or should any new system also consider problems in purchasing when  inventory has to be replenished?  During analysis, data are also collected on the volume of transactions, decision points, and existing files.

 

The most challenging and creative part of the life cycle is the design of a new system.  One approach to this task is to develop an ideal system relatively unconstrained by cost or technology.  The ideal system is then refined until it becomes feasible. Designers must prepare detailed specifications for the system being designed.  They specify the exact logic to be followed in processing and the contents structure of the file.  Designers select input and output methods, and develop the formats for input and output.  These requirements for processing, inputs, and outputs lead to the specification of programming requirements, which can be turned over to a programming staff for coding.

 

Table: The Systems Life Cycle

 

Inception

    Preliminary Survey

Feasibility study

    Existing procedures

    Alternative systems

    Cost estimates

Systems analysis

    Details of present procedures

    Collection of data on volume,

    Inputs/output, files

Requirements analysis

Design

    Ideal system unconstrained

    Revisions to make ideal

    Acceptable

Specifications

   Processing logic

   Database design, input/output

   Programming requirements

   Manual procedures

Building the system

   Programming (or some alternative)

Testing

   Until tests

   Combined modules tests

   Acceptance tests

Training

Conversation and installation

Operations

   Maintenance

   Enhancements

 

In the building stage, we develop the components needed to construct the system. Often this involves writing computer programs to perform the logical operations of processing. In some firms, this task is done by a separate group of programmers.  Other organizations use analyst-programmers: The same individuals who perform the systems analysis and design also code the resulting programs.  Programs have to be tested carefully, first as units and then in combined modules.  Usually a programming task is broken down into a series of smaller sub-tasks or modules.  All the individual modules must operate together if the system is to work properly.  During the final stage of testing,  there will be some type of acceptance test in which users verify that the system works satisfactorily.

 

Since one purpose of the new information processing system is to change existing procedures, training is crucial.  All individuals have to understand, what is required by the new system.  When training has been completed, it is possible to undertake conversion; it may be necessary to write special programs to convert existing files into new ones or to create files from manual records.  Finally, after all these stage, a team install the system.

 

The system now operates on a routing basis.  This does not mean we do not change the system, however; there is constant need for maintenance and enhancements.  Maintenance is required because programs inevitably have errors that must be corrected when they appear.  Because of the creative nature of design, users and the IS staff  may have not communicated accurately, so certain aspects of the system must be modified as operational experience is gained.  As users work with the system, they will learn more about it and  will develop ideas for changes and enhancements.

 

It is important to spend  adequate time in analysis and design rather than rushing in to development.  If a system is well specified, there are fewer changes during programming.  These later changes often require major redesign of programs and files, a very time-consuming and costly process. The entire systems life cycle can be compared to constructing a building. Changes are relatively inexpensive in the early, conceptual stages.  They become a little more expensive at the blueprint stage and exorbitant once the walls are erected.  Systems changes are much the same. In the conceptual stages of analysis and design, they are reasonable.  However, while programs are written and some are complete, major design changes have the potential for creating huge time and cost overruns.