Software Evolution Flashcards Preview

COMP 3521: Software Engineering > Software Evolution > Flashcards

Flashcards in Software Evolution Deck (15)
Loading flashcards...
1

Evolution

  • 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

Software change

  • Key problem to organize and manage in an organization

3

Servicing

  • 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

Phase-out

  • 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

Change

  • Driven by system evolution
  • Continues throughout system lifetime

6

Change implementation

  • Iteration of design, implement, and test

7

Agile and evolution

  • Incremental-based, so evolution is no different than development

8

Legacy systems

  • Systems that rely on obsolete languages and technologies

9

Legacy system replacement

  • Scrap system
  • Continue to maintain system
  • Transform system
  • Replace system

10

System replacement analysis

  • Assess system quality
  • Assess business value

11

Maintenance costs

  • 2–100 times as much as development costs

12

Complexity metrics

  • Determine maintainability by complexity of system components

13

Software reengineering

  • Recreate new system from a legacy system

14

Refactoring

  • Improving program to slow down degradation

15

Bad smells in program code

  • Duplicate code
  • Long methods
  • Data clumping
  • Speculative generality