Spread the love
  • Correctness

This first step is the degree which software adheres to its specific requirements. It also addresses one of the most important concers that I wrote in Software Quality. Right needs – Right Solutions which means developing the appropriate solution. At each step while developing a software, we have to make sure that we are addressing the problem as defined in the requirements. Then we can provide a right solution for the problem.

  • Reliability

The frequently and critically  software failure. Go back to recent years and remember that you were documenting some staff or doing your homework on Microsoft Word. Then you suddenly had a hardware problem and the blue screen came up, and you lost all of your work. 🙂 Probably everyone had such kind of an experience. If you had experienced so, you are already familiar with the concept of Reliability. We can define a software failure as any unexpected any unacceptable behavior that happens in permissible operating conditions.

  • Robustness

This is the degree which erroneous situations handled perfectly. Also Reliability is relies on Robustness. Let’s give an example and explain it. Let’s say you created a particular input field to handle a numeric data, what happens if an alphabetic data entered? The program can terminate itself abnormally. However if the program is more robust, it can handle the situation with an appropriate error message.

  • Usability

Usability is the ease with which users can learn and execute tasks in the software. In order to be effective, your software must be entirely usable. If your system is too difficult to use, users won’t care about the functionality. The interaction with the system and users must be designed perfectly. You should include help options, appropriate messages, use of colors, error recovery and etc.

  • Maintainability

Maintainability is the ease with which changes can be made to the software. Simply making changes in order to fix problems, enhancing the functionality and keeping up with evolving requirements. If you have written any kind of software, you probably know this subject very well. Because every software developer must maintain their softwares regularly.

  • Reusability

The ease with which software components can be reused in the development of other software systems. While developing a system, it frequently makes sense to use existing components of a software if it fits with the needs of the client. Using these existing components will reduce the development efforts as well.

  • Portability

The ease which software components can be used in multiple computer environments.

  • Efficiency

The degree which the software fulfills its purpose without wasting resources. There are two key resources for a program to be efficient. These resources are CPU time and Memory usage.