Explain software maintenance activities.
Maintenance Activities
IEEE provides a framework for sequential maintenance process activities. It can be used in an 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 phases:
• Identification & Tracing - It involves activities pertaining to the identification of requirements of modification or maintenance. It is generated by the 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 the probable impact is severe, an 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, users complain about some issues they are addressed or noted to address in the next iteration.
• Delivery - After the acceptance test, the system is deployed all over the organization either by a small update package or fresh installation of the system. The final testing takes place at the client end after the software is delivered.
The training facility is provided if required, in addition to the hard copy of the 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.
OR,
Different phases of software maintenance /Activities of software maintenance
In the life cycle of software development, a software maintenance plan is a very crucial phase. Hence, it is executed in the system through a well-planned software maintenance process which is known as Software Maintenance Life Cycle (SMLC). SMLC is implemented in seven different phases. Those are:
Phase 1 – Identification
As the name goes, in this phase, the modifications are ‘identified’. Before implementing the changes for the requests raised, the modifications are first analyzed and classified according to the attention or maintenance it requires. This phase can be automated or manually done by a user.
Phase 2 – Analysis
The practicality and feasibility of each verified modification request are planned to incorporate changes in the software. The analysis includes validated changes or input where the cost of modification is also estimated.
Phase 3 – Design
The new framework of the software is determined according to the result of the analysis. Survey or test software is also developed for the purpose of safety and security.
Phase 4 – Implementation
This is where the main or new software framework is implemented; as in, the codes are crafted, and in the new support system, specifications are added.
Phase 5 – System testing
In this testing, the implementation of codes and specifications are tested. This stage determines if any further changes or additions are required in the new model of software.
Phase 6 – Acceptance Testing
This stage is performed by third-party end-users. They run a dummy software test, also known as a dry run test, to check if the implemented specifications are working properly, which was mentioned in the modification request.
Phase 7 – Delivery
As and when the testing phase is cleared and the developers get a green signal from the third party users, they deliver the software to the primary users.
Comments
Post a Comment