Software is a generic term covering the concepts, procedures and instructions which enable computer systems to do useful things. Usually, software is conceived in terms of computer programs, discrete units of software which make the computer to carry out specific tasks, and or systems or packages. The importance of software is obvious, since it is the software which applies the power of the computer to solve the users' problems. Many of the users need a clear understanding of the capabilities of software more than hardware aspects. It is known for some years now that the "rapid increase in the capabilities of computer systems has not been matched by corresponding increases in the development and quality of software. This situation has caused much disenchantment with computer systems. The methods by which computer software is produced have changed considerably in recent years with the emergence of "software engineering", which enabled improvements in programming practice, such as structured, or modular programming. As one of the solutions to the software problem increased production and availability of packaged software is encouraged. Another solution to the problem is the use of fourth generation languages and flexible integrated software to produce prototypes of programmes to meet the user needs. It is hoped that these solutions would be able to meet fairly standard requirements. For the average user they mean that there will be an increasing number of packages to meet most of his needs.