ch9: software evolution

0.0(0)
studied byStudied by 0 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/16

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

17 Terms

1
New cards

evolution and servicing stages

Organizations must maintain value of software by changing and updating it.

<p>Organizations must maintain value of software by changing and updating it. </p>
2
New cards

software evolution

An iterative stage in a software system’s life cycle where it is in
operational use and is evolving as new requirements are
proposed and implemented in the system.

<p>An iterative stage in a software system’s life cycle where it is in<br>operational use and is evolving as new requirements are<br>proposed and implemented in the system.</p>
3
New cards

software servicing

At this stage, 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
New cards

software retirement

The software may still be used but no further changes are made
to it.

5
New cards

change identification and evolution processes

knowt flashcard image
6
New cards

change implementation

Iteration of the development process where the revisions
to the system are designed, implemented and tested.

<p><span>Iteration of the development process where the revisions</span><br><span>to the system are designed, implemented and tested.</span></p>
7
New cards

urgent change requests

Change requests that may have to be implemented without
going through all stages of the software engineering process.

<p><span>Change requests that may have to be implemented without</span><br><span>going through all stages of the software engineering process.</span></p>
8
New cards

software maintenance

Modifying a program after it has been put into use. Three types:

  1. Bug fixing

  2. Modifying for new environment

  3. Implementing new/changed requirements

9
New cards

types of maintenance

a) fault repairs
b) environmental adaptation
c) functionality addition and modification

10
New cards

maintenance effort distribution

knowt flashcard image
11
New cards

maintenance costs

Costs of preserving software, which is usually greater than development cost.

12
New cards

software reengineering

Restructuring or rewriting part or all of a legacy system
without changing its functionality, after a system has been maintained for some time.

<p>Restructuring or rewriting part or all of a legacy system<br>without changing its functionality, <em>after </em>a system has been maintained for some time. </p>
13
New cards

advantages of reengineering

  • reduced risk

  • reduced cost

14
New cards

reengineering process activities

  1. source code translation

  2. reverse engineering

  3. program structure improvement

  4. program modularization

  5. data reengineering

15
New cards

reengineering cost factors

  • software quality

  • tool support

  • extent of data conversion required

  • availability of expert staff

16
New cards

refactoring

‘Preventative maintenance’; Process of continuously making improvements to a program to slow down degradation through change.

17
New cards

bad smells

  • duplicate code

  • long methods

  • switch statements

  • data clumping

  • speculative generality