Software Flashcards

(44 cards)

1
Q

What is software?

A

Computer programs that instruct a computer’s execution, including design documents and specifications.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

How does software relate to computer hardware?

A

Software provides instructions that hardware follows to perform tasks.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

When did software development begin?

A

With digital computers in the mid‑20th century.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What were early programs written in?

A

Machine language specific to the hardware.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Why were high‑level programming languages introduced in 1958?

A

To make software more human‑readable, portable, and easier to develop.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Who first used the word “software”?

A

Mathematician John Wilder Tukey in 1958.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What were early high‑level programming languages?

A

Fortran, Lisp, and COBOL.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What are the two main types of software?

A

Operating systems (OS) and application software.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What are the three main purposes of an operating system?

A

Allocate hardware resources
Provide hardware abstraction
Offer common services (like network and disk access)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Why are operating systems essential?

A

They allow applications to run on different hardware without being rewritten.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is application software?

A

Programs that perform specific user tasks using OS resources.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Why is application software diverse?

A

Because computers can perform a huge range of tasks.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is the traditional software model?

A

Software is purchased, downloaded, installed, and run on the customer’s hardware.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is Software as a Service (SaaS)?

A

A delivery model where software is hosted online and accessed via the Internet.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

By 2023, what became the primary way companies deliver apps?

A

SaaS delivered via web applications.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What are the stages of software development?

A

Design, programming, testing, release, and maintenance.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

What drives software development?

A

Requirements from users.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

What drives software maintenance?

A

Events like bug fixes, change requests, and new features.

19
Q

Why is reuse common during development?

A

Using COTS or open‑source software speeds up development.

20
Q

How much of software cost is maintenance?

A

Often 75% or more of total lifetime cost.

21
Q

What is software quality?

A

Meeting requirements and customer expectations.

22
Q

Why build quality early?

A

It is more cost‑effective than fixing issues later.

23
Q

What is the main goal of software testing?

A

To identify bugs and ensure key functions work as intended.

24
Q

What is a safety‑critical system?

A

A system where failures may cause injury or death.

25
What is a software bug?
A flaw causing the system to behave incorrectly.
26
What is a vulnerability?
A bug that creates a security risk.
27
What is a zero‑day vulnerability?
A flaw unknown to developers and unpatched.
28
Why did the Internet greatly increase security risks?
It allowed remote cyberattacks.
29
What is malware?
Malicious software allowing attackers to run their own code.
30
What defines a programming language?
A formal system for writing software that can be translated into machine instructions.
31
What is machine code?
Hardware‑specific instructions executed directly by the CPU.
32
What is assembly language?
A human‑readable version of machine code.
33
What do high‑level languages provide?
Human readability, portability, and abstraction from hardware.
33
What does a compiler do?
Translates high‑level code into machine code before execution.
34
What does an interpreter do?
Converts code into machine instructions at run time.
35
How is software protected legally?
Through copyright for source code and sometimes patents for processes.
36
Which is faster: compiled or interpreted languages?
Compiled (often 10–100× faster).
37
What is proprietary software?
Software distributed under restrictive licenses.
37
What does a software license do?
Defines how users may use, share, or modify the software.
38
What is open-source software?
Software that allows free use, sharing, and modification.
39
What are software patents used for?
To protect novel software inventions, though they are controversial.
40
How has software changed daily life?
It powers appliances, elevators, phones, cars, and nearly all modern devices.
41
What major technologies were enabled by software?
The Internet, video games, mobile phones, GPS, and digital communication tools.
42
How has software changed creative work?
Enabled CAD, 3D modeling, digital editing, and animation.