Resumen
With software controlling more equipment, software engineering is becoming an integral part of the lives of people. However, unlike many other engineering fields, the products produced through software engineering are largely intangible. Also, unlike the products of other engineering fields, software products are unlikely to remain stable over a long period of time. Here, the unique characteristics of software that distinguish it from other engineering fields are examined. Early in a hardware product's life-cycle, there are some problems with the system. However, as hardware gets old, physical deterioration causes it to fail. In other words, the hardware wears out and the failure rate rises again. Software, on the other hand, is not subject to hardware's same wear and tear. There are no environmental factors that cause software to break. There are no moving parts in software; nothing can physically deteriorate. Software should not wear out. Unfortunately, it does. Countless authors in the field of software engineering have identified this problem. This problem is more than just an inconvenience for software engineers and users. The reengineering required for these software products does not come without a price. It is common to hear of reengineering projects costing hundreds of thousands, to millions of dollars |