Software Maintenance Cost Factors
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
• Technical factors
Non-Technical Factors
The non-technical factors include:
• Application domain
• Staff stability
• Program lifetime
• Dependence on External Environment
• Hardware stability
• 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.
• 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.
• 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.
• 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.
• 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.
• 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
• 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.
• 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.
• 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