Lec 6 Flashcards

Maintenance Lecture

1
Q

Software maintenance:

A

Modifying a software after it has been put into use.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

when we evolve Generic products we create _________________.

A

new versions from it

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Types of maintenance:-

  • _________________________
  • _________________________
  • _________________________
A
  • Maintenance to repair software faults.
  • Maintenance to adapt software different environment.
  • Maintenance to add to or modify the system’s functionality.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

usually Maintenance costs ______________ than development.

( Greater - Less )

A

Greater

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Maintenance costs depends on :-

  • ______________________________
  • ______________________________
A
  • technical and non-technical factors.

- extent of corruption of the software structure.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Maintenance cost factors:-

  • _____________________
  • _____________________
  • _____________________
  • _____________________
A
  • Team stability
  • Contractual responsibility
  • Staff skills
  • Program age and structure
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Maintenance prediction:

A

measure which part of the system cause problem and have high Maintenance cost.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Change acceptance depends on ______________________________.

A

maintainability of the components affected by the change.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Implementing changes degrades the system and ______________________.

A

reduces its maintainability

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Maintenance costs depend on_______________________________.

A

number of changes and costs of change depend on maintainability

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is change prediction?

A

number of changes require to understand the relationship between the system and it’s environment.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Factors of the relationship between system and it’s environment:-

  • _____________________________.
  • _____________________________.
  • _____________________________.
A
  • Number and complexity of system interfaces.
  • Number of inherently volatile system requirements.
  • The business processes the system used.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Complexity depends on:-

  • ____________________________.
  • ____________________________.
  • ____________________________.
A
  • Complexity of control structures e.g. (if, loops).
  • Complexity of data structures e.g. (array , tree , queue).
  • Object, method and module size.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q
process metrics:-
\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_.
\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_.
\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_.
\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_.
A
  • Number of requests.
  • Average time required for impact analysis.
  • Average time taken to implement a change request.
  • Number of outstanding change requests.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is system re-engineering?

A

Re-structuring part or all of legacy system without changing its
functionality.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Advantages of re-engineering _________________ and __________________.

A

Reduced risk / Reduced cost

17
Q

Re-engineering process activities:-

  • ____________________________.
  • ____________________________.
  • ____________________________.
  • ____________________________.
  • ____________________________.
A
  • 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.).
18
Q

What is re-factoring?

A

improve the system to slow down degradation.

19
Q

Reasons of “Bad smells” in program code:-

  • _________________________.
  • _________________________.
  • _________________________.
  • _________________________.
A
  • Duplicate code.
  • Switch (case) statements.
  • Long methods.
  • Data clumping (same group of data items re-occur in several places).
20
Q

Legacy system management:-

  • ________________________.
  • ________________________.
  • ________________________.
  • ________________________.
A
  • Scrap the system completely and modify business.
  • Continue maintaining the system.
  • Transform the system by re-engineering.
  • Replace it with a new system.
21
Q

Legacy system categories/types:- “4 types”

A
  • 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).