Turn Desktop View Off
by Dinesh Thakur

Developing methods that can produce high-quality software is another fundamental goal of software engineering. We can view quality of a software product as having three dimensions:

1- Product operation:

Correctness:

 Correctness is the extent to which a program satisfies its specifications.

Reliability:

Reliability is the property that defines how well the software meets its requirements.

Efficiency:

Efficiency is a factor relating to all issues in the execution of software; it includes considerations such as response time, memory requirement, and throughput.

Usability:

Usability, or the effort required locating and fixing errors in operating programs.

2- Product transition:


Portability:

Portability is the effort required to transfer the software from one configuration to another.

Reusability:

Reusability is the extent to which parts of the software can be reused in other related applications.

3- Product revision:

Maintainability:

Maintainability is the effort required to maintain the system in order to check the quality.

Testability:

Testability is the effort required to test to ensure that the system or a module performs its intended function.

Flexibility:

Flexibility is the effort required to modify an operational program.