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.