Software Maintenance Cost Factors Assignment Help | Software Maintenance Cost Factors Homework Help

Software Maintenance Cost Factors

The key factors that distinguish development and maintenance and which lead to higher maintenance cost are divided into two sub-categories.
•    Non-technical factors
•    Technical factors

Non-Technical Factors

The non-technical factors include:
•    Application domain
•    Staff stability
•    Program lifetime
•    Dependence on External Environment
•    Hardware stability

Application Domain

•    If the application of the program is clearly defined and well understood, the system requirements may be definitive and maintenance due to changing requirements to minimized.
•    If the application is completely new, it is likely that the initial requirements will be modified frequently, as users gain experience with the system.

Staff Stability

•    It is easier for the original writer of a program to understand and change a program rather than some other individual who must understood the program by study of its documentation and code listing.
•    If the programmer of a system also maintains that system, maintenance cost will be reduced.
•    In practice, the nature of the programming profession is such that individuals change jobs regularly. It is unusual for one person to develop and maintain a program throughout its useful life.

Program Lifetime

•    The useful life of a program depend on its application.
•    Programs become obsolete when the application becomes obsolete or their original hardware is replaced and conversion costs exceed rewriting costs.
•    The older a program, the more it has been maintained and the more degraded is its structure.
•    Maintenance costs tend to rise with program age.

Dependence on External Environment

•    If a program is dependent on its external environment, it must be modified as the environment change.
•    For example:
- Changes in a taxation system might require payroll, accounting, and stock control programs to be modified.

-    Taxation changes are relatively common and maintenance costs for these programs are related tot eh frequency of these changes.
•    A program used in a mathematical application does not normally depend on humans changing the assumptions on which the program is based.

Hardware Stability

•    If a program is designed to operate on a particular hardware configuration and that configuration does not change during the program’s lifetime, no maintenance cost due to hardware changes will be incurred.
•    However, hardware developments are so rapid that this situation is rare.
•    The program must be modified to use new hardware that replaces obsolete equipment.

Technical Factors

Technical factors include the following:
•    Module independence
•    Programming language
•    Programming style
•    Program validation and testing
•    Documentation
•    Configuration management techniques
•    All the above technical factors are described below.

Module Independence

•    It should be possible to modify one program unit of a system without affecting any other unit.

Programming Language

•    Programs written in a high-level programming language are usually easier to understand (and hence maintain) than programs written in a low-level language.

Programming Style

•    The way in which a program is written contributes to its understandability and hence the ease with which it can be modified.

Program Validation and Testing

•    Generally, more the time and effort are spend on designing validation and program testing, the fewer errors in the program and, consequently, maintenance cost resulting from error correction are lower.
•    Maintenance costs due to error correction are governed by the type of error to be repaired.
•    Coding errors are usually relatively cheap to correct; design errors are more expensive as they may involve the rewriting of one or more program units.
•    Errors in the software requirements are usually the most expensive to correct because of the drastic redesign which is usually involved.

Documentation

•    If a program is supported by clear, complete yet concise documentation, the task of understanding the program can be relatively straightforward.
•    Program maintenance costs tend to be less for well-documented systems than for systems supplied with poor or incomplete documentation.

Configuration Management Techniques

•    One of the most significant costs of maintenance is keeping track of all system documents and ensuring that these are kept consistent.
•    Effective configuration management can help control this cost.

For more help in Software Maintenance Cost Factors click the button below to submit your homework assignment