Requirement gathering and analysis
We will collect factual data, requirements to understand the processes involved, identifying problems and recommending feasible suggestions for improving the system functioning. This involves studying the business processes, gathering operational data, understand the information flow, finding out bottlenecks and evolving solutions for overcoming the weaknesses of the system so as to achieve the organizational goals. It also includes subdividing of the complex process involving the entire system, identification of data store and manual processes.
Based on the user requirements and the detailed analysis of a new system, the new system must be designed. This is the phase of system designing. The logical system design arrived at as a result of system analysis and is converted into physical system design. The logical design produced during the analysis is turned into a physical design.In the design stage, the programming language and the hardware and software platform in which the new system will run are also decided. Data structure, control process, equipment source, workload and limitation of the system, Interface, documentation, training, procedures of using the system, taking backups and staffing requirement are decided at this stage.
The system design needs to be implemented to make it a workable system. This is also called the programming phase in which the programmer converts the program specifications into computer instructions, which we refer to as programs. It is an important stage where the defined procedures are transformed into control specifications by the help of a computer language. The programs coordinate the data movements and control the entire process in a system. A well-written code reduces the testing and maintenance effort. It is generally felt that the programs must be modular in nature. This helps in fast development, maintenance, and future changes.
Before actually implementing the new system into operations, a test run of the system is done removing all the bugs. It is an important phase of a successful system. After codifying the whole programs of the system, a test plan should be developed and run on a given set of test data. The output of the test run should match the expected results. Using the test data following test run are carried out functional testing like unit testing, integration testing, system testing, acceptance testing are done as well as non-functional testing are also done. When it is ensured that the system is running error-free, the users are called with their own actual data so that the system could be shown running as per their requirements.
The purpose of the deployment phase is to put the product into production. After the project team tests the product until the product passes each testing phase, the product is ready to ‘go live’ to be used in a real environment by all end users of the product. There are various phases of the deployment process the project team must follow to ensure the code and technology deploy appropriately. The phases include deployment preparation and procedures, product deployment, transferring ownership of the product, and closing the deployment phase.
Maintenance is to eliminate errors in the system during its working life and to tune the system to any variations in its working environments. It must meet the scope of any future enhancement, future functionality and any other added functional features to cope up with the latest future needs. It has been seen that there are always some errors found in the systems that must be noted and corrected. It also means the review of the system from time to time. The review of the system is done for knowing the full capabilities of the system, knowing the required changes or the additional requirements and studying the performance. If a major change to a system is needed, a new project may have to be set up to carry out the change.