Other Tutorials by

Visual Basic - Visual Basic tutorials

VB6 beginners tutorial - Learn VB6

Advanced VB6 tutorial - Learn Advanced VB6

You are here: > Systems Analysis and Design

Software Quality Factors

Till now we have been talking software quality in general. What it means to be a quality product. We also looked at CMM in brief. We need to know various quality factors upon which quality of a software produced is evaluated. These factors are given below.

The various factors, which influence the software, are termed as software factors. They can be broadly divided into two categories. The classification is done on the basis of measurability. The first category of the factors is of those that can be measured directly such as number of logical errors and the second category clubs those factors which can be measured only indirectly for example maintainability but the each of the factors are to be measured to check for the content and the quality control. Few factors of quality are available and they are mentioned below.

  • Correctness - extent to which a program satisfies its specification and fulfills the client's objective.

  • Reliability - extent to which a program is supposed to perform its function with the required precision.

  • Efficiency - amount of computing and code required by a program to perform its function.

  • Integrity - extent to which access to software and data is denied to unauthorized users.

  • Usability- labor required to understand, operate, prepare input and interpret output of a program

  • Maintainability- effort required to locate and fix an error in a program.

  • Flexibility- effort needed to modify an operational program.

  • Testability- effort required to test the programs for their functionality.

  • Portability- effort required to run the program from one platform to other or to different hardware.

  • Reusability- extent to which the program or it’s parts can be used as building blocks or as prototypes for other programs.

  • Interoperability- effort required to couple one system to another.

Now as you consider the above-mentioned factors it becomes very obvious that the measurements of all of them to some discrete value are quite an impossible task. Therefore, another method was evolved to measure out the quality. A set of matrices is defined and is used to develop expressions for each of the factors as per the following expression

Fq = C1*M1 + C2*M2 + …………….Cn*Mn

where Fq is the software quality factor, Cn are regression coefficients and Mn is metrics that influences the quality factor. Metrics used in this arrangement is mentioned below.

  • Auditability- ease with which the conformance to standards can be verified.

  • Accuracy- precision of computations and control

  • Communication commonality- degree to which standard interfaces, protocols and bandwidth are used.

  • Completeness- degree to which full implementation of functionality required has been achieved.

  • Conciseness- program’s compactness in terms of lines of code.

  • Consistency- use of uniform design and documentation techniques throughout the software development.

  • Data commonality- use of standard data structures and types throughout the program.

  • Error tolerance – damage done when program encounters an error.

  • Execution efficiency- run-time performance of a program.

  • Expandability- degree to which one can extend architectural, data and procedural design.

  • Hardware independence- degree to which the software is de-coupled from its operating hardware.

  • Instrumentation- degree to which the program monitors its own operation and identifies errors that do occur.

  • Modularity- functional independence of program components.

  • Operability- ease of programs operation.

  • Security- control and protection of programs and database from the unauthorized users.

  • Self-documentation- degree to which the source code provides meaningful documentation.

  • Simplicity- degree to which a program is understandable without much difficulty.

  • Software system independence- degree to which program is independent of nonstandard programming language features, operating system characteristics and other environment constraints.

  • Traceability- ability to trace a design representation or actual program component back to initial objectives.

  • Training- degree to which the software is user-friendly to new users.

There are various ‘checklists’ for software quality. One of them was given by Hewlett-Packard that has been given the acronym FURPS – for Functionality, Usability, Reliability, Performance and Supportability.

Functionality is measured via the evaluation of the feature set and the program capabilities, the generality of the functions that are derived and the overall security of the system.

Considering human factors, overall aesthetics, consistency and documentation assesses usability.

Reliability is figured out by evaluating the frequency and severity of failure, the accuracy of output results, the mean time between failure (MTBF), the ability to recover from failure and the predictability of the program.

Performance is measured by measuring processing speed, response time, resource consumption, throughput and efficiency. Supportability combines the ability to extend the program, adaptability, serviceability or in other terms maintainability and also testability, compatibility, configurability and the ease with which a system can be installed.


<< Previous Page | Contents | Next Page >>


Home | About Us | Privacy Policy | Contact Us

Copyright © | All Rights Reserved