Like any other product development, system development requires careful analysis and design before implementation. System development generally has the following phases −
The project planning part involves the following steps −
The techniques used in information system planning are −
The requirement analysis part involves understanding the goals, processes and the constraints of the system for which the information system is being designed.
It is basically an iterative process involving systematic investigation of the processes and requirements. The analyst creates a blueprint of the entire system in minute details, using various diagramming techniques like −
Requirement analysis has the following sub-processes −
The requirement analysis stage generally completes by creation of a 'Feasibility Report'. This report contains −
The feasibility report and the proposed alternatives help in preparing the costs and benefits study.
Based on the costs and benefits, and considering all problems that may be encountered due to human, organizational or technological bottlenecks, the best alternative is chosen by the end-users of the system.
System design specifies how the system will accomplish this objective. System design consists of both logical design and physical design activity, which produces 'system specification' satisfying system requirements developed in the system analysis stage.
In this stage, the following documents are prepared −
The most creative and challenging phase of the system life cycle is system design, which refers to the technical specifications that will be applied in implementing the candidate system. It also includes the construction of programmers and program testing.
It has the following stages −
The final report prior to implementation phase includes procedural flowcharts, record layout, report layout and plan for implementing the candidate system. Information on personnel, money, hardware, facility and their estimated cost must also be available. At this point projected cost must be close to actual cost of implementation.
System testing requires a test plan that consists of several key activities and steps for programs, strings, system, and user acceptance testing. The system performance criteria deals with turnaround time,backup,file protection and the human factors.
Testing process focuses on both −
The internal logic of the system/software, ensuring that all statements have been tested;
The external functions, by conducting tests to find errors and ensuring that the defined input will actually produce the required results.
In some cases, a 'parallel run' of the new system is performed, where both the current and the proposed system are run in parallel for a specified time period and the current system is used to validate the proposed system.
At this stage, system is put into production to be used by the end users. Sometime, we put system into a Beta stage where users' feedback is received and based on the feedback, the system is corrected or improved before a final release or official release of the system.
Maintenance is necessary to eliminate the errors in the working system during its working life and to tune the system to any variation in its working environment. Often small system deficiencies are found, as system is brought into operation and changes are made to remove them. System planner must always plan for resources availability to carry on these maintenance functions.