Hardware is visible and tangible physical components or equipment. In the development of hardware products, human creative activity in the raw materials into tangible physical products.
While software products are in the form of programs and documents, by running on the computer to reflect his role. In the process of developing software products, people's production activities in the creative abstraction of the problem solving model, and then write a program based on the solution model, and finally after debugging, run the program to get the results of solving the problem. The whole production, development process is completed in an invisible way, its visibility is extremely poor, which brings great difficulties to the management of software development, production process.
Two, the software product quality is reflected in different ways and hardware products
Quality is reflected in two different ways. Hardware product design can be finalized after mass production, product quality through the quality inspection system can be guaranteed. But once the production, processing errors. Hardware products may be scrapped because of quality problems. Software products can not be manufactured in the traditional sense of production, software development technology, software production or "customized", can only be designed or implemented for specific issues. But the software you love the product once realized, the production process is just a copy of it, and copy the quality of the software produced is the same. Designed software even if there are quality problems, the product will not be scrapped, through modification, testing, but also "scrapped" software "repair", put into normal operation. Visible software quality assurance mechanism than the hardware has greater flexibility.
Three, the cost of software products and hardware products are different
Hardware products in the composition of the cost of tangible substances accounted for a large proportion. In terms of the survival cycle of hardware products, the cost of design, production accounted for the vast majority of the link, and after-sales service accounts for only a small portion.
Software production mainly relies on mental labor. The cost of software products in the composition of human resources accounted for a considerable proportion. Software product production costs are mainly in the development and development. After successful development, the product production is simple, through the copy can be mass production.
Four, the failure curve of software products is different from hardware products
Hardware products have aging and depreciation problems. When a hardware component wears out it can be replaced with a new one. Hardware will eventually become obsolete as major components wear out.
With software, there is no depreciation or wear and tear, and it can last forever if needed. But software troubleshooting is much more complex than hardware troubleshooting. Software failures are mainly due to errors in software design or coding, which must be redesigned and recoded to solve the problem.
Software has a high failure rate during the initial stages of its development, mainly due to unrealistic requirements analysis or design errors. When errors in the development process are corrected, the failure rate drops to a certain level and remains relatively stable until the software is discarded. Failure rates can also increase dramatically when major changes are made to the software.
Fifth, most of the software is still custom generated
Hardware products once the design is finalized, its production technology, processing technology and process management is also determined, so that the realization of hardware products to facilitate the standardization of the series of batch production. As hardware products have a standard framework and interface, regardless of which manufacturer's products, users can buy integrated, assembly and replacement use.
While software product reuse is the software industry tireless pursuit of the goal, in some localized scope of several leading software companies have also established a number of software components reuse of technical standards. For example, OMG's CORBA, mICROSOFT's COM, sun's J2EE, etc., but currently do not do a wide range of software alternatives. Most software is still customized for specific tasks or users.