Free Trial

Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.

  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint
Share this Page URL



Software is often the single largest cost item in a computer-based application. Though software is a product, it is different from other physical products.

  1. Software costs are concentrated in engineering (analysis and design) and not in production.

  2. Cost of software is not dependent on volume of production.

  3. Software does not wear out (in the physical sense).

  4. Software has no replacement (spare) parts.

  5. Software maintenance is a difficult problem and is very different from hardware (physical product) maintenance.

  6. Most software are custom-built.

  7. Many legal issues are involved (e.g. intellectual property rights, liability).

As stated earlier, commercial software are generally different from computer programs written for academic or research purposes. The characteristics of real-world software are given in Box 1.1.

Development of software is also different in some way from building a physical object such as a bridge, house or factory. Problems solved with software solutions are complex. Finding solutions requires some ingenuity and good planning. The progress made in a software project is not visible to the eyes as in the case of other projects. Due to the uncertainty and uniqueness of each project, it is difficult to estimate project duration and cost accurately. During the course of a project, there can be changes in the requirements and environment. Since software is not a physical product and its development is not visible to the eyes, customers often feel no compunction to put pressure for incorporating some changes at the last minute. There is no universal method for software development that can be followed in all situations. The method used in a well-managed software project may not be suitable for a similar project when the project size is different. However, keeping in view the above characteristics of software, some systematic approaches, engineering principles, tools and techniques have been devised to produce quality software within time and resource constraints.

Box 1.1: Characteristics of real-world software

  • It is generally developed by software firms for their clients under formal business contracts.

  • Like any product, software is designed based on some software specification.

  • It is usually developed in teams and not by individuals.

  • It generally includes clear and detailed documentation (i.e. design manual and users' manual).

  • It is meant for users who need not have good knowledge of computers.

  • It generally has user-friendly interfaces so that users having limited expertise in computers can operate the system.

  • Generally. software is designed to be run on different platforms.

  • It has a lifetime in years, after which it becomes obsolete. Hence, software is designed keeping its intended life and cost in view.

  • It generally requires some modification from time to time to accommodate changes taking place in the organization and the environment.

  • It is developed under formalized product reviews (quality assurance) and formalized testing procedures.

  • The cost of software failure may amount to an economic catastrophe. Hence, software is designed for utmost reliability.

  • A computer system is prone to misuse or sabotage by persons having ulterior motives from within or from outside the organization. Hence, software is designed to be tamper-proof and protected from misuse or damage.

  • Ethical issues (like protecting privacy) are also taken into consideration in designing software.

  • Safari Books Online
  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint