What is software?
Computer programs that instruct a computer’s execution, including design documents and specifications.
How does software relate to computer hardware?
Software provides instructions that hardware follows to perform tasks.
When did software development begin?
With digital computers in the mid‑20th century.
What were early programs written in?
Machine language specific to the hardware.
Why were high‑level programming languages introduced in 1958?
To make software more human‑readable, portable, and easier to develop.
Who first used the word “software”?
Mathematician John Wilder Tukey in 1958.
What were early high‑level programming languages?
Fortran, Lisp, and COBOL.
What are the two main types of software?
Operating systems (OS) and application software.
What are the three main purposes of an operating system?
Allocate hardware resources
Provide hardware abstraction
Offer common services (like network and disk access)
Why are operating systems essential?
They allow applications to run on different hardware without being rewritten.
What is application software?
Programs that perform specific user tasks using OS resources.
Why is application software diverse?
Because computers can perform a huge range of tasks.
What is the traditional software model?
Software is purchased, downloaded, installed, and run on the customer’s hardware.
What is Software as a Service (SaaS)?
A delivery model where software is hosted online and accessed via the Internet.
By 2023, what became the primary way companies deliver apps?
SaaS delivered via web applications.
What are the stages of software development?
Design, programming, testing, release, and maintenance.
What drives software development?
Requirements from users.
What drives software maintenance?
Events like bug fixes, change requests, and new features.
Why is reuse common during development?
Using COTS or open‑source software speeds up development.
How much of software cost is maintenance?
Often 75% or more of total lifetime cost.
What is software quality?
Meeting requirements and customer expectations.
Why build quality early?
It is more cost‑effective than fixing issues later.
What is the main goal of software testing?
To identify bugs and ensure key functions work as intended.
What is a safety‑critical system?
A system where failures may cause injury or death.