There is no point in building a software system unless it is available for use. Availability can be compromised in a number of ways:
- The software doesn’t run on the equipment available to the users
- It often crashes
- The network over which it runs is unreliable
- …
Availability is often an issue with real time systems, but can be significant in other situations too. For example, consider a software system that is used in preparing quarterly financial results, but takes longer than three months to update. If changes are needed, there is a conflict between providing the functionality that is required, and providing any functionality at all. Obviously this example has been exaggerated for effect, but the point is that availability can be affected by maintenance requirements as well as by physical problems.