Metrics for Software Quality
The goal of software engineering is to produce high quality software. To achieve this goal software engineers use effective methods along with modern tools while developing the software. Simply producing, the software in this manner is not sufficient, it is necessary to measure the quality of software being software. Basically, the quality of software depends upon.
- Requirements that describe the problem,
- The design method used to produce the software,
- The code that leads to executable program,
- And the tests that are carried out in order to uncover the errors from the software. The project manager evaluates the quality of the software project using following factors.
- Errors and defects in the software,
- Quality metrics collected by each software engineer who is involved in the software development process.
Such an evaluation of software quality helps in improving quality assurance and control activities. Typically, following metrics are used for software assessing the software quality.
1. Work product errors per function,
2. Errors found in the per review hour,
3. Errors found in the testing.
This error data is useful in computing the defect removal efficiency.
Measuring Quality
Following are the measure of the software quality.
- Correctness,
- Integrity,
- Usability,
- Maintainability
Correctness
Correctness is a degree to which the software produces the desired functionality.
Integrity
Integrity is basically an ability of the system to withstand against the attacks. Typically attacks are on program, data and documents. There are two attributes that are associated with integrity is threat and security.
Usability
Usability means user friendliness of the system or ability of the system that indicates the usefulness of the system. The following are the characteristic that are useful for measuring the usability. The user friendliness is measured using following four characteristic :
- The time required to make the system efficient,
- The skill required to learn the system,
- The net increase in pr4oductivity after regular use of the system,
- The user attitude towards the system.
Maintainability
Maintainability is an ability of the system to accommodate the correctness made after encountering errors, adapting the environment changes and adapt the changes made in the system in order to satisfy the user. The metric used for maintainability is MTTC i.e., mean time of change. The MTTC can be defined as the time required to analyze the change request, design an appropriate modification and implementation of those desired changes.
Thus after sufficient understanding of software metrics and measurement we can look for managing the risks that arise during the software development activities.