Computer science from A to Z
Q is for Quality
We know what makes a quality car: reliability, solidity, safety, elegance, comfort...
But what makes high-quality software?
The properties we would ideally like to see in software are not so different. It must be reliable, producing an accurate result when provided with valid data. It must be robust, detecting the data it cannot process without “crashing”. It must be secure, resisting attacks by “pirates”. It must be efficient, fast, and not use too many of the computer's resources. It must be easy to use for beginners, and a powerful tool for expert users.
To get close to this ideal, engineers sometimes use rigorous mathematical methods: if we are able to describe what we expect of software using formulae, proving that it meets these requirements is a simple matter of proving a theorem. This is an essential approach for applications in which security is critical, such as smart cards or vehicle control systems.
Did you know...?
For "free" software, quality is achieved in another way: it is possible for anyone to inspect the “source codes”, which are distributed to numerous users who are encouraged to signal any problems they encounter. Thus, any defects in a piece of software are quickly identified and corrected.