Computer Software and Operating Systems (9hrs) · Computer Fundamentals & Emerging Technologies

Introduction to Software

Watch lectures

Introduction to Software

1. What Software Is

Software is the collection of programs, procedures, associated data and documentation that instructs the hardware what to do and how to do it. Hardware is the physical machine; software is the logical, intangible part — "the hardware is the body, software is the mind".

Term Meaning
Algorithm A finite, ordered set of unambiguous steps that solves a problem
Program An algorithm expressed in a programming language (source code)
Software Programs + data + documentation + procedures + support services delivered to a user
Firmware Software permanently stored in ROM/flash inside a device (BIOS, printer, router) — between hardware and software

2. Characteristics of Software

  • Intangible / logical — cannot be touched; its value is in the logic, not the material. A copy costs almost nothing, which is why software is protected by licences rather than possession.
  • Engineered, not manufactured — it is developed by analysis, design, coding and testing, so quality depends on process, not on a production line.
  • Does not wear out, but deteriorates — no physical fatigue, yet every modification introduces the risk of new defects (the "software entropy" curve: failure rate rises as changes accumulate).
  • Complex and immaterial to inspect — a 100,000-line program cannot be visually verified; testing and reviews substitute for inspection.
  • Maintainable and reusable — most lifetime cost is maintenance, not initial development; components are reused through libraries and frameworks.
  • Documentation-dependent — without requirement, design and user documents, software becomes unmaintainable when its authors leave.

3. Program vs Software in One Picture

   ALGORITHM  ──code──►  PROGRAM  ──+ data, docs, procedures──►  SOFTWARE PRODUCT
   (logic)                (source/executable)                      (delivered & maintained)

4. Why Software is Developed in a Disciplined Way

The software crisis of the late 1960s — projects delivered late, over budget, full of defects ("the software crisis") — led to software engineering and the Software Development Life Cycle (SDLC):

SDLC phase Activity Deliverable
Requirement analysis What the user needs (functional + non-functional) SRS document
Design How to build it — architecture, modules, database, interfaces Design document
Coding Translate design into a program Source code
Testing Unit, integration, system, acceptance tests Test reports, working build
Deployment Install, train, migrate data Released product
Maintenance Corrective, adaptive, perfective, preventive changes Patches and versions

Models for organising these phases: Waterfall (sequential), Incremental/Iterative, Agile/Scrum (short sprints), Spiral (risk-driven), DevOps (continuous integration and delivery).

5. Broad Categories of Software

                       SOFTWARE
         ┌──────────────────┼───────────────────┐
    SYSTEM SOFTWARE    APPLICATION SOFT.     UTILITY / TOOLS
    (runs the machine) (does user's work)   (maintains the system)
    • Operating system  • General purpose    • Antivirus, backup
    • Translators       (Word, browser,      • Disk cleaner,
      (compiler,         media player)         defragmenter
       interpreter,     • Custom/tailor-made  • Compression tools
       assembler)        (school ERP, bank    • Debuggers, IDE,
    • Device drivers      software)            version control
    • Loader/linker     • Packages: office,  • Performance monitors
    • Firmware/BIOS       CAD, gaming

Middleware (web servers, database engines, message brokers) sits between the OS and application software. Detailed treatment of system and application software follows in the next topics.

6. Software vs Hardware

Basis Hardware Software
Nature Physical, tangible Logical, intangible
Production Manufactured in a factory Engineered/developed by people
Failure mode Wears out with use and age Degrades with modification; bugs are design faults
Repairable? Yes — replace the failed part Yes — patch/reinstall; no "spare parts" concept
Cost structure High material + manufacturing cost per unit High development cost, near-zero copying cost
Copies Each unit costs money Copies are essentially free (licence limits use)
Maintenance Preventive/scheduled servicing Continuous upgrading, bug fixes, versioning
Protection Patents on physical design Copyright, licence, patent, trade secret
Dependency Cannot do anything without software Cannot run without hardware

7. Licences and Distribution Models

  • Proprietary / commercial — paid licence, source closed (Microsoft Office, Windows).
  • Open source — source available, may be modified and redistributed (Linux, Firefox, Python) under GPL/MIT/Apache licences.
  • Freeware / shareware — free to use, or free trial with paid upgrade.
  • SaaS / subscription — software used over the internet (Google Docs, Office 365) with no local installation.

8. Exam Points

  • Define software; differentiate software from hardware (tabular) — 5 marks, very frequent.
  • What is the difference between an algorithm, a program and software? — 3-5 marks.
  • Characteristics of software: why does software not "wear out" but still deteriorate? — 5 marks.
  • Explain the software development life cycle phases — 5-7 marks.
  • Classify software into system, application and utility with examples — 5 marks.
  • What is firmware? Give two examples — 2-3 marks.
Budget AppAndroid App

Pocketly on Android

Log daily food, travel, and hostel expenses instantly. Set monthly spending limits and see where your money goes without complex spreadsheets.

← All Computer Fundamentals & Emerging Technologies modules