Life Cycle Phases
There are many lifecycle models in use. The number of phases, and the activities that take place within each phase, vary from one model to another. The generic phases outlined below, however, will appear in some form in most, if not all, of these models:
- Requirements analysis - in this stage, the scope of the system is defined, and a set of requirements is derived (i.e. the functionality and levels of service that the new system must provide). The requirements are then formally documented in a requirements specification, which forms the input to the design phase. The activities that take place in the analysis phase may include an initial feasibility study to determine whether the project justifies the resources required to complete it. The existing system will then be thoroughly investigated to determine what business processes are involved, the nature and volume of the data used, and the issues that need to be addressed by the new system.
- Design - a system will be designed to meet the requirements specified as the result of the previous phase. The output of this phase will be a blueprint that is used by systems and software engineers to implement the hardware and software components for the new system. Some of the issues dealt with here include database design, the design of data entry screens, detailed software specifications, and system architecture.
- Implementation - in this phase the system is actually built. Hardware is installed, database and software applications are written, and data is loaded into the system.
- Testing - once the system is fully operational, it should be thoroughly tested before it is handed over to the client to ensure that all of the specified requirements have been met, and that the system is functioning correctly under operational conditions. Testing of individual system components (unit testing) is normally carried out throughout the implementation stage in order to correct any minor problems that may arise before they have a chance to escalate into major problems.
- Maintenance - once the client has accepted the new system and it is in daily use, there will inevitably be adjustments to be made to the system throughout its useful life. Hardware elements will need to be replaced or upgraded, and the need for additional functionality or information processing features may necessitate modifications to software or database programs. Eventually, changes in the business environment in which the system must operate will create the need for a new system, and the cycle will begin again.