0
7.2kviews
Explain different metrics used for maintaining Software Quality.

Mumbai University > Computer Engineering > Sem6 > Software Engineering

Marks: 10M

Year: May 2015

1 Answer
2
121views

Quality Metrics

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 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. Let us discuss the concept of defect removal efficiency (DRE) and Measuring Quality of software.

    1) Measuring Quality

    There are many measures of software quality Correctness, Integrity, Usability and Maintainability provide useful indicators to project team

    Following are the measure of software quality –

    I) Correctness :

    Correctness is a degree to which the software produces the desired functionality. The correctness can be measured as

    Correctness = Defects per KLOC

    Where defects means lack of conformance to requirements. Such defects are generally reported by the user of the program.

    II) Integrity:

    Integrity is basically an ability of the system to withstand against the attacks. Typically attacks are on programs, data and documents.

    There are two attributes that are associated with integrity: threat and security.

    Threat is the probability that specific types of attacks may occur.

    Security is the probability that the system will repel against the specific attacks.

    Integrity can be measure as:

    Integrity = ∑ ((1-threat) * (1-security))

    III) Usability :

    Usability means user friendliness of the system or ability of the system that indicates the usefulness of the system.

    Following are the characteristics that are useful for measuring the usability. The user friendliness is measured using following four characteristics –

    a) The time required to make the system efficient

    b) The skill required to learn the system

    c) The net increase in productivity after regular use of the system

    d) The user attitude towards the system.

    IV) Maintainability :

    Maintainability is the ability of the system to accommodate the corrections made after encountering errors, adapting the environment 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 to Change. The MTTC can be defined as the time required to analyse the change request, design an appropriate modification and implementation of those desired changes.

    Lower the value of MTTC means the software is more maintainable.

    2) Defect Removal Efficiency (DRE)

    • While developing the software project many work products such as SRS, design document, source code are being created. Along with these work products many errors may get generated. Project manager has to identify all these errors to bring quality software.
    • Error tracking is a process of assessing the status of the software project.
    • The software team performs the formal technical reviews to test the software developed. In this review various errors are identified and corrected. Any errors that remain uncovered and are found in later are called defects.
    • The defects removal efficiency can be defined as:

    DRE = E/(E+D)

    Where DRE is the defect removal efficiency,

    E is the error and

    D is defect.

  • The DRE represents the effectiveness of quality assurance activities. The DRE also helps the project manager to assess the progress of software project as it gets developed through its scheduled work task.

  • During error tracking activity following metrics are computed

  1. Errors per requirement specification page : denoted by $E_{req}$
  2. Errors per component – design level : denoted by $E_{design}$
  3. Errors per component – code level : denoted by $E_{code}$
  4. DRE – requirement analysis
  5. DRE – architectural design
  6. DRE – component level design
  7. DRE – coding

    The project manager calculates current values for $E_{req}, E_{design}, E_{code}$. These values are then compared with past projects. If the current differs more than 20 % from the average, then there may be cause for concern and investigation needs to be made in this regard.

  • These error tracking metrics can also be used for better target review and testing resources.
Please log in to add an answer.