Software Evolution and Maintenance

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

1. The majority of the software budget in large companies is devoted to changing and evolving existing software rather than developing new software.

2. ▶ Software evolution processes depend on

3. whats the driver for system evolution ?

4. The processes of change identification and system evolution are cyclic and continue throughout the lifetime of a system.

5. Reengineering

5.1. Re-structuring or re-writing part or all of a legacy system without changing its functionality.

5.2. Advantages

5.2.1. Reduced risk

5.2.2. Reduced cost

5.2.3. Process Activities

5.3. activities

6. Refactoring

6.1. Refactoring is the process of making improvements to a program to slow down degradation through change.

6.2. When you refactor a program, you should not add functionality but rather concentrate on program improvement.

6.3. You can think of refactoring as ‘preventative maintenance’ that reduces the problems of future change.

7. why Software change is inevitable?

8. Software Maintenance

8.1. ▶ Modifying a program after it has been put into use.

8.2. ▶ The term is usually applied to custom software in which separate development groups are involved before and after delivery.

8.3. ▶ Maintenance does not normally involve major changes to the system’s architecture.

8.4. ▶ Changes are implemented by modifying existing components and adding new components to the system.

8.5. Types of Maintenance

8.5.1. Fault repairs ▶ Changing a system to fix bugs/vulnerabilities and correct deficiencies in the way meets its requirements

8.5.2. Environmental adaptation ▶Changing a system so that it operates in a different environment (computer, OS, etc.) from its initial implementation.

8.5.3. Functionality addition and modification ▶ Modifying the system to satisfy new requirements in response to organizational or business change.

8.6. Maintenance Costs

8.7. Maintenance Prediction

8.7.1. is concerned with assessing which parts of the system may cause problems and have high maintenance costs

8.7.2. Change acceptance depends on the maintainability of the components affected by the change;