 # Calculating Software Quality Attributes

For a good assessment or analysis of software, it is important to have systemized functions of approaches to know about software quality attributes. After getting a complete in-depth knowledge about software quality attributes, the most prominent point arises is ‘how to calculate software quality attributes’. From this discussion, a proper mathematical concept is illustrated to calculate software quality attributes.

1. Correctness: The correctness ensures the appropriate specifications, fulfilling all possible end-user objectives. It can be calculated as

= (Number of non-conformance to requirements) / (Total number of requirements) * 100

This calculation can also be expressed as: = (Number of requirements fulfilled) / (Total number of requirements) * 100

2. Reliability: Keeping the major factors; performance and reliability in mind, a program should perform its functions to accomplish the pre-decided objectives. To calculate reliability, the formula is:

= (Mean time to failure) / (Total run time) * 100

Another form: = (Mean time between failure) / (Total run time) * 100

3. Efficiency: Amount of resource and code required by a program to perform or execute a particular function. To calculate efficiency, the formula is :

Efficiency = (Memory usage) / (Total memory) * 100

4. Integrity: It may be defined as the degree of extent upto which an authorized entity can control the entire system. Integrity may be calculated using following formula:

Integrity = (Number of successful attempts) / (Total number of attempts) * 100

5. Usability: The effort required in learning, operating, preparing inputs and interpreting output of a program. To calculate usability, the formula is given by:

Usability = (Total training time) / (Total development time) * 100

6. Maintainability: The effort required in identifying and fixing an error in software program. Maintainability can be evaluated as:

Maintainability = (Amount of time spend to fix a bug) / (Total Development time) * 100

7. Testability: Specifies the amount of effort required in testing a program or an application to verify and validate its intended functioning. Testability of an application may be calculated from the given formula:
8. Flexibility: The amount of effort required to modify a program. It can be calculated as:

Flexibility = (Time spent to fix a bug) / (Total development time) * 100

9. Portability: It is a software codebase which enables us to reuse the existing code, at the time of moving software environment from one to another. Portability can be expressed as:

Portability = (Number of successful ports) / (Total number of ports) * 100

10. Reusability: The software program can easily run in other applications. It is defined as the packaging and scope of functions of the program. It can be calculated as:

Reusability = (Number of reusable components) / (Total number of components) * 100

11. Interoperability: The amount of effort or potential required to couple one system with another known as interoperability. This can be expressed as:

Interoperability = (Time spent in coupling the system) / (Installation time) * 100

## Conclusion

Productivity comes with serious effort on each and every attributes. Application needs to be manipulated or examined by applying extensive approach in terms of mathematical form, to evaluate exact condition in different factors. By calculating software quality attributes, a user or tester gets aware of upcoming or existing disabilities in software product that are the most crucial prospects to determine software abilities.