Software Evolution Flashcards
1
Q
Evolution
A
- The stage in a software systems life cycle during which it is in operational use and is evolving as new requirements are proposed and implemented in the system
2
Q
Software change
A
- Key problem to organize and manage in an organization
3
Q
Servicing
A
- The stage in a software system’s life cycle during which the software remains useful, but the only changes made are those required to keep it operational, i.e., bug fixes and changes to reflect changes in the software’s environment—no new functionality is added
4
Q
Phase-out
A
- The stage in a software system’s life cycle during which the software may still be used, but no further changes are made to it
5
Q
Change
A
- Driven by system evolution
- Continues throughout system lifetime
6
Q
Change implementation
A
- Iteration of design, implement, and test
7
Q
Agile and evolution
A
- Incremental-based, so evolution is no different than development
8
Q
Legacy systems
A
- Systems that rely on obsolete languages and technologies
9
Q
Legacy system replacement
A
- Scrap system
- Continue to maintain system
- Transform system
- Replace system
10
Q
System replacement analysis
A
- Assess system quality
- Assess business value
11
Q
Maintenance costs
A
- 2–100 times as much as development costs
12
Q
Complexity metrics
A
- Determine maintainability by complexity of system components
13
Q
Software reengineering
A
- Recreate new system from a legacy system
14
Q
Refactoring
A
- Improving program to slow down degradation
15
Q
Bad smells in program code
A
- Duplicate code
- Long methods
- Data clumping
- Speculative generality