Lec 6 Flashcards
Maintenance Lecture
Software maintenance:
Modifying a software after it has been put into use.
when we evolve Generic products we create _________________.
new versions from it
Types of maintenance:-
- _________________________
- _________________________
- _________________________
- Maintenance to repair software faults.
- Maintenance to adapt software different environment.
- Maintenance to add to or modify the system’s functionality.
usually Maintenance costs ______________ than development.
( Greater - Less )
Greater
Maintenance costs depends on :-
- ______________________________
- ______________________________
- technical and non-technical factors.
- extent of corruption of the software structure.
Maintenance cost factors:-
- _____________________
- _____________________
- _____________________
- _____________________
- Team stability
- Contractual responsibility
- Staff skills
- Program age and structure
Maintenance prediction:
measure which part of the system cause problem and have high Maintenance cost.
Change acceptance depends on ______________________________.
maintainability of the components affected by the change.
Implementing changes degrades the system and ______________________.
reduces its maintainability
Maintenance costs depend on_______________________________.
number of changes and costs of change depend on maintainability
What is change prediction?
number of changes require to understand the relationship between the system and it’s environment.
Factors of the relationship between system and it’s environment:-
- _____________________________.
- _____________________________.
- _____________________________.
- Number and complexity of system interfaces.
- Number of inherently volatile system requirements.
- The business processes the system used.
Complexity depends on:-
- ____________________________.
- ____________________________.
- ____________________________.
- Complexity of control structures e.g. (if, loops).
- Complexity of data structures e.g. (array , tree , queue).
- Object, method and module size.
process metrics:- \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_. \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_. \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_. \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_.
- Number of requests.
- Average time required for impact analysis.
- Average time taken to implement a change request.
- Number of outstanding change requests.
What is system re-engineering?
Re-structuring part or all of legacy system without changing its
functionality.
Advantages of re-engineering _________________ and __________________.
Reduced risk / Reduced cost
Re-engineering process activities:-
- ____________________________.
- ____________________________.
- ____________________________.
- ____________________________.
- ____________________________.
- Source code translation (change the code to new language).
- Reverse engineering.
- Program structure improvement.
- Program modularization(Reorganize the program structure).
- Data reengineering(Clean-up and restructure system data.).
What is re-factoring?
improve the system to slow down degradation.
Reasons of “Bad smells” in program code:-
- _________________________.
- _________________________.
- _________________________.
- _________________________.
- Duplicate code.
- Switch (case) statements.
- Long methods.
- Data clumping (same group of data items re-occur in several places).
Legacy system management:-
- ________________________.
- ________________________.
- ________________________.
- ________________________.
- Scrap the system completely and modify business.
- Continue maintaining the system.
- Transform the system by re-engineering.
- Replace it with a new system.
Legacy system categories/types:- “4 types”
- Low quality - Low business value (should be scrapped).
- Low quality - high business value (should be re-engineered).
- high quality - Low business value ( scrap completely or Replace with COTS).
- high quality - high business value (continue with normal maintain).