MIS - System Development Life Cycle
Like any other product development, system development requires careful analysis and design before implementation. System development generally has the following phases:
Planning and Requirement Analysis
The project planning part involves the following steps:
- Reviewing various project requests
- Prioritizing the project requests
- Allocating the resources
- Identifying the project development team
The techniques used in information system planning are:
- Critical Success Factor
- Business System Planning
- End/Mean Analysis
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:
- Data flow diagrams
- Context diagrams
Requirement analysis has the following sub-processes:
- Conducting preliminary investigation
- Performing detailed analysis activities
- Studying current system
- Determining user requirements
- Recommending a solution
The requirement analysis stage generally completes by creation of a 'Feasibility Report'. This report contains:
- A preamble
- A goal statement
- A brief description of the present system
- Proposed alternatives in details
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.
Designing System Architecture
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:
- Detailed specification
- Hardware/software plan
Building or Developing the System
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:
- Acquiring hardware and software, if necessary
- Database design
- Developing system processes
- Coding and testing each module
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.
Testing the System
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.
Deployment of the 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.
System Evaluation and Maintenance
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.