Characteristics of Software
Characteristics of Software Engineering:
1. Software is developed or engineered, it is not manufactured in the Classical Sense:
Although some similarities exist between software development and hardware manufacture. These two activities are fundamentally different. In both activities, high quality achieved through good design, but the manufacturing phase for hardware was. It can introduce quality problems that are non-existent for software.
Both activities are dependent on people, but the relationship between people is varying. These two activities require the construction of a “product” but the approaches are different. Software costs are concentrated on engineering which means that software projects can’t manage as if they were manufacturing.
2. Software doesn’t “Wear Out”:
The following figure shows the relationship between failure rate and time. Consider the failure rate as a function of time for hardware. The relationship says the bathtub curve, which indicates that hardware exhibits relatively high failure rates early in its life.
As time passes, however, the failure rate rises again as hardware components suffer from the cumulative effects of dust, vibration, abuse, temperature extremes, and many other environmental maladies. So, stated simply, the hardware begins to wear out. Software is not susceptible to the environmental maladies that cause hardware to wear out.
3. Although the industry is moving toward component-based construction, most software continues to be custom-built:
A software component should design and implement so that it can be reused in many different programs. Modern reusable components encapsulate both data and the processing that is applied to the data, enabling the software engineer to create new applications from reusable parts.