Software change is unavoidable process
Software change occurs because of following reasons.
New requirements emerge when the software is used.
The buisness environment changes.
Errors needs to be repaired.
New equipment must be accommodated.
The performance or reliability may have to be improved.
A key problem for organisations is implementing and managing change to their legacy systems.
Organisations have huge investments in their software systems- they are crucial buisness assets. To maintain the value of these buisness assets these software systems must be changed and updated at appropriate time.
The software change strategies that could be applied separately or together are as given below.
Software maintenance: The changes are made on the software due to requirements.
Architectural transforms: It is the process of changing one architecture into another form.
Software re-engineering: New features can be added to existing system and then the system is reconstructed for better use of it in future.
The software evolution process is dependent upon the type of software being maintained.
In the maintenance process initially the request for change is made.
Change management In this phase the status of all the change requests is identified
Impact analysis following activities are performed in this phase:
Identify all systems and system products affected by a change request.
Make an estimate of the resources needed to affected by a change request.
Analyze the benefits of the change.
4.system release -planning in this phase the schedule and contents of software release is planned. The changes can be made to all types of software maintenance.
5. Change implementation -The implementation of changes can be done by first designing the changes, then coding for these changes and finally testing the changes. Preferably the regression testing must be performed while testing the changes.
6. System release During the software release
Data conversion should be described.
Software maintenance is an activity in which program is modified after it has been put into use.
software maintenance usually it is not preffered to apply major software changes to system 's architecture.
Maintenance is a process in which changes are implemented by either modifying the existing system's architecture or by adding components to the system.
Need for maintenance
Maintenance is applicable to software developed using any software life cycle model. The system changes and hence maintenance must be performed in order to:
Improve the design
Interface with other systems.
Adoption of environment
Migrate legacy software
Replacement of old software by new software.
In software maintenance report four keys should be mentioned
Maintaining control over the software's day to day functions.
Maintaining control over software modification.
Repairing of functions.
Performance degradation should be avoided.