System development procedure is a process consisting of the major steps of system analysis and design. It starts when management or sometimes system development personnel felt that a new system or an improvement in the existing system is required.
The systems development lifecycle is classically thought of as the set of activities that analysts, designers and users carry out to develop and implement an information system. The System development life cycle consists of the following activities.
To create a new program of the system or to improve or modify an existing one, people have to recognize that a problem or need exists at the very beginning. This problem or need may result from changing operation conditions.
Managers, employees of departments are affected by changing conditions, and data processing personnel often participate in requirements sessions, until the problem has been defined and specified study goals have been outlining.
These goals should then be put in writing and approved by all concerned employees. This step cannot be bypassed. In this session, the requests are clarified and then, technical feasibility, economic feasibility, operational feasibility studies are made.
After a project request is approved, its cost, priority, completion time and personnel requirements are estimated and used to determine where to add it to any existing project list.
Problem definition is not a single task. It integrates various components which need to be detailed and processed using suitable tools. The major functional definitions include need technical feasibility, economical feasibility, behavioral feasibility study, etc.
After the users and specialists have identified the need for specific changes, a study team gathers and then analyzes data about current processing operations. At least one member usually represents (the person has a knowledge of the information needs) the departments affected by the study.
Another is a system analyst – Information specialist who’s knowledgeable about the technical aspects of analyzing, designing and implementing computer based processing systems. And a third may be an author who can see that proper accuracy and security controls are built into a new system. The following are the major issues of system analysis:
At this level, the programmers, the designers and system analyst sit together and perform the major tasks such as entity analysis, functional analysis, preparing data flow diagram (DFD), designing data dictionary, etc. The major activities related to the system analysis is the feasibility study.
The details of feasibility studies are:
System design is the process of creating alternative solutions to satisfy the study goals, evaluating the choices and then drawing up the specifications for the chosen alternative. Design begins after the study team has analyzed the current procedure. Since, many factors have a bearing on the design process, it can be a challenging task.
It must be considered how changes made in one application department will affect related applications. After analyzing the current system and studying the flowchart, the study team prepares alternative way also. The job of the designers is to decide if the benefits and possible savings expected from design alternative outweigh the costs.
System analyst begins the design process by identifying reports and then other outputs system will produce. Then, the specific data on each are pinpointed. The system design also describes the data to be input, calculated or stored. Individual data items and calculation procedures are written in detail. Designers select file structures and storage devices, such as magnetic disk, magnetic tape, etc.
The procedures, they write say how to process the data and produce the output. Designers are responsible for providing programmers with complete and clearly outlined software specifications.
The system design is not a single task. The functional system design should have elaborative –Output design, Input design, Files design and storing mechanism inside the computer system, data and program processing and general program flow design.
After top managers give their approval to create custom made software, the design specifications provide the input for the programming analysis phase of the study process. Programming analysis is the process of breaking down the design specification into the specific input/output, text manipulation/calculation, logic / comparison and storage/ retrieval operations which are required to satisfy the study goals.
Analysis tools such as program flowcharts (is the detailed program showing how individual processing steps will be performed within the computer to convert input data into the desired output) is used.
During programming analysis or software development phase, the programmers and designers prepare the flowcharts, write the pseudopodia in structured English and select the programming language for wiring the program code.
The detailed input/output, text manipulation/ calculation, logic/ comparison, and storage/retrieval operations identified during the programming analysis stage provide the input for program preparation. One or more programmers concert these operations into a program of instruction written in a language and form acceptable to the computer hardware.
During system testing, the system is used experimentally to ensure that the software does not fail. In other words, we can say that it will run according to its specifications and in the way users expect. Especially, test data are input for processing and the results examined.
Before the program is delivered to the market, the system designers use the program in a virtual system which testifies the system and helps draw inferences for system conversion.
After the program preparation is completed, the new system must be checked for errors and tested before it can be used on a routine basis. When the software appears to be running properly, changeover is made. During this period, those who prepare input data and use output results must cooperate with data processing specialists if the new system is to be successful.
Finally, systems and programs, that have been successfully implemented are usually subject to continual change. A first class maintenance effort requires the co-operation of those people served by the system / program and those responsible for maintaining it. Of course, the need for a major change could trigger a new system study i.e. big change in current system evolves a new system.
Elimination of errors, adding modules, removing unnecessary modules, maker more user-friendly, etc. are some considerations of maintenance of a software product.
Implementation is the process of having systems personnel check out and put new equipment into use, train users, install the new application and construct any files of data needed to use it. This phase is less creative than system design.
Depending on the size of the organization that will be involved in using the application and the risk involved in its use, system developers may choose to test the operation in only one area of the firm with only one or two persons.
Sometimes, they will run both old and new system in a parallel way to compare the results. In still other situations, system developers stop using the old system one day and start using the new one the next.
Evaluation of the system is performed to identify its strengths and weaknesses. The actual evaluation can occur along any of the following dimensions.
Maintenance is necessary to eliminate errors in the working system during its working life and to tune the system to any variations in its working environment. Often small system deficiencies are found as a new system is brought into operations and changes are made to remove them.
From the above, we can conclude that the following steps determine the software development sequence.
Khanal, R.C. Khanal, R.C. Computer Concept for XII. Pashupatigriha Marga, Thapathali, Kathmandu, Nepal: Ekta Books Distributors Pvt. Ltd., 2010. 9-13.
Shrestha,Prachand, Ram et.,Computer Science-XII, Asmita Books Publication