<< Chapter < Page Chapter >> Page >

Software maintenance measurement

Grady and Caswell discuss establishing a corporate-wide software measurement program, in which software maintenance measurement forms and data collection are described. The Practical Software and Systems Measurement (PSM) project describes an issue-driven measurement process that is used by many organizations and is quite practical.

There are software measures that are common to all endeavors, the following categories of which the Software Engineering Institute (SEI) has identified: size; effort; schedule; and quality. These measures constitute a good starting point for the maintainer.

Specific measures

Abran presents internal benchmarking techniques to compare different internal maintenance organizations. The maintainer must determine which measures are appropriate for the organization in question. IEEE1219-98 suggests measures which are more specific to software maintenance measurement programs. That list includes a number of measures for each of the four sub-characteristics of maintainability:

  • Analyzability: Measures of the maintainer’s effort or resources expended in trying to diagnose deficiencies or causes of failure, or in identifying parts to be modified
  • Changeability: Measures of the maintainer’s effort associated with implementing a specified modification
  • Stability: Measures of the unexpected behavior of software, including that encountered during testing
  • Testability: Measures of the maintainer’s and users’ effort in trying to test the modified software

Certain measures of the maintainability of software can be obtained using available commercial tools.

Maintenance process

The Maintenance Process subarea provides references and standards used to implement the software maintenance process. The Maintenance Activities topic differentiates maintenance from development and shows its relationship to other software engineering activities.

Maintenance processes

Maintenance processes provide needed activities and detailed inputs/outputs to those activities, and are described in software maintenance standards IEEE 1219 and ISO/IEC 14764.

The maintenance process model described in the Standard for Software Maintenance (IEEE1219) starts with the software maintenance effort during the post-delivery stage and discusses items such as planning for maintenance.

ISO/IEC 14764 is an elaboration of the IEEE/EIA 12207.0-96 maintenance process. The activities of the ISO/IEC maintenance process are similar to those of the IEEE, except that they are aggregated a little differently.

Each of the ISO/IEC 14764 primary software maintenance activities is further broken down into tasks, as follows.

  • Process Implementation
  • Problem and Modification Analysis
  • Modification Implementation
  • Maintenance Review/Acceptance
  • Migration
  • Software Retirement

Maintenance activities

As already noted, many maintenance activities are similar to those of software development. Maintainers perform analysis, design, coding, testing, and documentation. They must track requirements in their activities just as is done in development, and update documentation as baselines change. ISO/IEC14764 recommends that, when a maintainer refers to a similar development process, he must adapt it to meet his specific need. However, for software maintenance, some activities involve processes unique to software maintenance.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Software engineering. OpenStax CNX. Jul 29, 2009 Download for free at http://cnx.org/content/col10790/1.1
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Software engineering' conversation and receive update notifications?

Ask