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:
We’ll be covering the following topics in this tutorial:
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.