Back to the 2025 paper

Module 1: Introduction & SDLC

20257m

What are the major characteristics of software that distinguish it from hardware?

Worked SolutionAI Assisted

Characteristics of Software vs Hardware

Software is a logical, non-physical product and differs fundamentally from hardware. The classic distinguishing characteristics (per Pressman/Sommerville):

1. Software is developed/engineered, not manufactured

  • Hardware: after design, mass-manufactured (identical copies are cheaply produced on a production line, e.g., a chip made millions of times).
  • Software: after design, it is created once and copied — every copy costs almost nothing, but the "manufacturing" is the one-time development cost. Quality must be built in during design, not added later on a production line.

2. Software does not "wear out" (but it does degrade)

  • Hardware: follows a bathtub curve — high early failure rate (infant mortality), then a low constant failure rate, then rising failures as components wear out (corrosion, fatigue).
  • Software: does not wear out physically. Failures come from design/latent defects, which surface when new usage paths are exercised. Over time, repeated changes introduce new errors, so the software appears to degrade (the "deterioration" is really a result of changes/de-facto error introduction), until it is re-engineered or retired.

3. Much of software is custom-built, not assembled from components

  • Hardware is largely built from standard off-the-shelf components.
  • Software components are more custom and intertwined; true component reuse is harder, so most software is constructed to fit a specific customer.

4. Software is intangible / loses its nature over time

  • Software has no physical mass; it appears as programs, data, and documents. Project progress is not visible ("software has no physical presence"), making schedule and progress measurement difficult compared to hardware.

5. Software is complex, changeable, and not governed by physical laws

  • Complexity is inherent (Brooks' essential complexity). Software is flexible — it can be changed late in the cycle more easily than hardware — but this flexibility also invites requirements churn ("software can be changed at any time").
  • No physical constraints (no friction, no gravity) govern software, so its behaviour is discrete/logical, and all failures trace back to human/design errors.

Summary table

Aspect Hardware Software
Production Manufactured in volume Developed once, then copied
Failure pattern Wears out (bathtub curve) Doesn't wear out; fails from design defects
Change Physically expensive to change Easy to change logically, but risky to manage
Tangibility Physical Intangible (logic)
Scope of reuse Standard components common Reuse still difficult
Quality focus Production process Design and process discipline

Similar questions

Official AppAndroid App

PYQDeck for Android

Solve BEU previous-year exam papers anywhere, anytime. Fast search, offline paper viewing, and step-by-step solutions designed specifically for your phone.