Software maintenance

Get Started. It's Free
or sign up with your email address
Software maintenance by Mind Map: Software maintenance

1. Meaning

1.1. The modification of a software product after delivery to correct faults, to improve performance or other attributes, or to adapt the product to a modified environment”

2. Maintenance Cost

3. Maintenance cost factors

4. Team stability

4.1. Maintenance costs are reduced if the same staff are involved with them for some time.

5. Contractual responsibility

5.1. The developers of a system may have no contractual responsibility for maintenance so there is no incentive to design for future change

6. Staff skills

6.1. Maintenance staff are often inexperienced and have limited domain knowledge

7. Program age and structure

7.1. As programs age, their structure is degraded and they become harder to understand and change.

8. Maintenance Prediction

8.1. Concerned of maintenance prediction

8.1.1. Assessing parts of the system may cause problems

8.1.2. Assessing parts of the system may have high maintenance costs

8.2. Factor that influence the relationship of change prediction

8.2.1. Number and complexity of system interfaces

8.2.2. The business processes where the system is used

8.2.3. Number of inherently volatile system requirements

9. Why maintenance

9.1. Requirement change during development

9.2. Systems MUST be maintained remain useful in an environment.

9.3. Systems are tightly coupled with their environment.

10. Type of maintenance

11. Corrective Maintenance

11.1. Identify and remove defect

11.2. Correct actual error

12. Perfective Maintenance

12.1. Improve performance, dependability, maintainability,

12.2. Update documentation

13. Adaptive Maintenance

13.1. Update to new upgraded environment

13.2. Incorporate new capability

14. Preventive Maintenance

14.1. Identify and detect latent fault

14.2. System with safety concerns

15. Emergency Maintenance

15.1. Unscheduled corrective

16. List of Guideline

16.1. Predicting maintainability (What part of the system that will be the most expensive to maintain?)

16.1.1. Predictions of maintainability can be made by assessing the complexity of system components.

16.1.1.1. Complexity depends on

16.1.1.1.1. Complexity of control structures

16.1.1.1.2. Complexity of data structures

16.1.1.1.3. Object, method (procedure) and module size.

16.1.1.2. Process metrics

16.1.1.2.1. Number of requests for corrective maintenance

16.1.1.2.2. Average time required for impact analysis

16.1.1.2.3. Object, method (procedure) and module size.

16.2. Predicting maintenance cost What will be the lifetime maintenance cost of this system? What will be the costs of maintaining this system over the next year?

16.3. Predicting system changes What part of the system most likely to be affected by change request? How many change request can be expected?