Metrics for software Quality

By
Advertisement
  • Measuring Quality
 It consists of 4 parameter.

1.    Correctness
2.    Maintainability
3.    Integrity
4.    Usability

Correctness
  1. A program must operate correctly or it provides little value to its users.
  2. Correctness is the degree to which the software performs its required function.
  3. The most common measure for correctness is defects per KLOC, where a defect is defined as a verified lack of conformance to requirements.
  4. When considering the overall quality of a software product, defects are those problems reported by a user of the program 
Maintainability

Maintenance required more effort than any other software engineering activity. It is the ease with which a program can be corrected if an error is encountered, adapted if its environment changes, or enhanced if the customer desires a change in requirement. There is no way to measure maintainability directly; therefore, we must use indirect measures.

Integrity

Software integrity has become increasingly important in the age of hackers and firewalls. This attribute measures a system's ability to withstand attacks (both accidental and intentional) to its security. Attacks can be made on all three components of software:

1.    Programs
2.    Data
3.    Documents

To measure integrity, two additional attributes must be defined:
1.    Threat
2.    Security

    Threat is the probability (which can be estimated or derived from practical evidence) that an attack of a specific type will occur within a given time.

    Security is the probability (which can be estimated or derived from practical evidence) that the attack of a specific type will be prevent.

    Integrity of a system can then be defined as

    Integrity = summation [(1 – threat) X (1 – security)]

    Where threat and security are summed over each type of attack.

Usability

the phrase "user-friendliness" has become everywhere in discussions of software products. If a program is not user-friendly, it is often doomed to failure, even if the functions that it performs are valuable. Usability is an attempt to quantify user-friendliness and can be measured in terms of four characteristics:

1.    the physical and or intellectual skill required to learn the system,
2.    the time required to become moderately efficient in the use of the system
3.    productivity measured when the system is used by someone who is moderately efficient
4.    A subjective assessment (sometimes through a questionnaire) of users’ attitudes toward the system.

Defect Removal Efficiency

A quality metric that provides benefit at both the project and process level is defect removal efficiency (DRE). DRE is a measure of the filtering ability of quality assurance and control activities as they are applied throughout all process framework activities.

To compute DRE:

DRE = E / (E + D)

Where E= no. of error before release and D = defect found after release of software to end users

The ideal value for DRE is 1. That is, no defects are found in the software. Realistically, D will be greater than 0, but the value of DRE can still approach 1. As E increases (for a given value of D), the overall value of DRE begins to approach 1. In fact, as E increases, it is likely that the final value of D will decrease (errors are filtered out before they become defects). DRE encourages a software project team to institute techniques for finding as many errors as possible before delivery. DRE can also be used within the project to assess a team’s ability to find errors before they are passed to the next framework activity or software engineering task.

For example, the requirements analysis task produces an analysis model that can be reviewed to find and correct errors. Those errors that are not found during the review of the analysis model are passed on to the design task.

When used in this context, we redefine DRE as

DREi = Ei/(Ei + Ei+1)

Ei is the number of errors found during software engineering activity i. Ei+1 number of errors found during software engineering activity i+1

A quality objective for a software team is to achieve DREi that approaches 1. That is, errors should be filtered out before they are passed on to the next activity.

0 comments:

Post a Comment