A framework for sequential maintenance process activities has been given below. It can be used in iterative manner and can be extended so that customized items and processes can be included.
These activities go hand-in-hand with each of the following phase:
● Identification & Tracing – It involves activities pertaining to identification of requirement of modification or maintenance. It is generated by user or system may itself report via logs or error messages.Here, the maintenance type is classified also.
● Analysis – The modification is analyzed for its impact on the system including safety and security implications. If probable impact is severe, alternative solution is looked for. A set of required modifications is then materialized into requirement specifications. The cost of modification/maintenance is analyzed and estimation is concluded.
● Design – New modules, which need to be replaced or modified, are designed against requirement specifications set in the previous stage. Test cases are created for validation and verification.
● Implementation – The new modules are coded with the help of structured design created in the design step.Every programmer is expected to do unit testing in parallel.
● System Testing – Integration testing is done among newly created modules. Integration testing is also carried out between new modules and the system. Finally the system is tested as a whole, following regressive testing procedures.
● Acceptance Testing – After testing the system internally, it is tested for acceptance with the help of users. If at this state, user complaints some issues they are addressed or noted to address in next iteration.
● Delivery – After acceptance test, the system is deployed all over the organization either by small update package or fresh installation of the system. The final testing takes place at client end after the software is delivered.
● Training facility is provided if required, in addition to the hard copy of user manual.
● Maintenance management – Configuration management is an essential part of system maintenance. It is aided with version control tools to control versions, semi-version or patch management.