Software Maintenance: Concepts And Practice, Second Edition

Chapter 6: Program Understanding

Overview

Programmers have become part historian, part detective and part clairvoyant
Corbi ([69], p. 295)

This chapter aims to

  1. Explain the role of program understanding in maintenance activities.

  2. Discuss the aims of program understanding.

  3. Explain the comprehension needs of members of a maintenance project.

  4. Discuss comprehension process models and their application to maintenance tasks.

  5. Discuss the role of the mental model in understanding programs.

  6. Discuss the different comprehension strategies and explain the differences.

  7. Discuss the effect of each strategy on various aspects of maintenance activities.

  8. Discuss the factors that impact on source code understanding.

  9. Give a foundation for the selection of suitable tools, techniques and methods.

6.1 Introduction

Part I discussed the types of change to which a software system can be subjected: corrective (due to defects); adaptive (due to changes in its environment); perfective (to accommodate new requirements); and preventive (to facilitate future maintenance work). It also looked at the framework within which change may be implemented effectively. However, an area not yet touched upon, but which is fundamental to an effective change process, is understanding. Prior to implementing any change, it is essential to understand the software product as a whole and the programs affected by the change in particular [49, 69, 276, 220]. During maintenance, this involves:

  • having a general knowledge of what the software system does and how it relates to its environment;

  • identifying where in the system changes are to be effected; and

  • having an in-depth knowledge of how the parts to...

UNLIMITED FREE
ACCESS
TO THE WORLD'S BEST IDEAS

SUBMIT
Already a GlobalSpec user? Log in.

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.

Customize Your GlobalSpec Experience

Category: Enterprise Asset Management Software (EAM)
Finish!
Privacy Policy

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.