Unit-1 –Introduction to Software and
(1) Software & Software Engineering
Computer software is the product that software professionals build and then support over the long term.
It encompasses programs that execute within a computer of any size and architecture, content that is
presented as the computer programs execute, and descriptive information in both hard copy and virtual
forms that encompass virtually any electronic media.
Characteristics of software :
 Software is developed or engineered; it is not manufactured in the classical sense:
Although some similarities exist between software development and hardware manufacturing, but few
activities are fundamentally different.
In both activities, high quality is achieved through good design, but the manufacturing phase for
hardware can introduce quality problems than software.
 Software doesn’t “wear out.”
Hardware components suffer from the growing effects of dust, vibration, abuse, temperature extremes,
and many other environmental maladies. Stated simply, the hardware begins to wear out.
Software is not susceptible to the environmental maladies that cause hardware to wear out. In theory,
therefore, the failure rate curve for software should take the form of the “idealized curve”.
When a hardware component wears out, it is replaced by a spare part.
There are no software spare parts.
Every software failure indicates an error in design or in the process through which design was translated
into machine executable code.
Therefore, the software maintenance tasks that accommodate requests for change involve considerably
more complexity than hardware maintenance.
However, the implication is clear—software doesn’t wear out. But it does deteriorate.
Hardware Failure curve
Software Failure curve
 Although the industry is moving toward component-based construction, most software continues to be
A software component should be designed and implemented so that it can be reused in many different
Prof. Rupesh G. Vaishnav, CE Department | 2160701 – Software Engineering