Waterfall Flashcards

(30 cards)

1
Q

Why are software development models important?

A

They help manage software projects by allocating resources, estimating timelines, and mitigating risks.

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

Why do software projects require separation between coding and management?

A

Coding and management require different skill sets; management focuses on planning, while coding focuses on execution.

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

Why did early software development adopt manufacturing models?

A

They provided structure, homogeneity, and predictability to project planning.

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

What is a key difference between physical engineering and software engineering?

A

In physical engineering, changes during construction (e.g., bridges) are costly, whereas in software, changes can be relatively cheap.

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

Why is the software development model called “Waterfall”?

A

It follows a step-by-step approach where progress flows in one direction, like a waterfall.

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

What is a major limitation of the Waterfall model?

A

It is rigid and does not easily allow changes once a phase is completed.

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

What is the purpose of the requirements capture phase?

A

To define what the software should do, ideally with client input.

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

What is a common criticism of the requirements capture phase?

A

It can lead to overly complex requirements that users may struggle to understand.

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

What is the goal of the design phase?

A

To transform requirements into a structured plan, including software components and data schemas.

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

Name two common tools used in software design.

A

UML diagrams (e.g., class diagrams, sequence diagrams), database schemas.

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

What happens in the implementation phase?

A

Development teams write code based on the design specifications.

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

What technique is often used to integrate different software components?

A

Continuous Integration (CI).

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

How much time in a software project is typically allocated to coding?

A

About one-third of the total project time.

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

What is the purpose of the verification phase?

A

To remove defects (debugging) and ensure the software works as expected.

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

When do most user-reported bugs occur?

A

After deployment, often due to unforeseen user behaviours.

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

How does Test-Driven Development (TDD) help in verification?

A

It incorporates unit testing early in development to catch issues sooner.

17
Q

Why is maintenance an ongoing process in software?

A

Software evolves with feature updates, bug fixes, and compatibility changes.

18
Q

How do version numbers reflect software evolution?

A

Versions indicate major, minor, and patch updates (e.g., v1.2.3).

19
Q

Give an example of a dependency that can trigger maintenance.

A

Changes in libraries, languages, or operating systems.

20
Q

Why is Waterfall often considered an “anti-model”?

A

It is mainly used as a reference to compare with newer, more flexible models.

21
Q

When does Waterfall make sense in software development?

A

When reworking earlier stages is costly, such as in highly regulated environments.

22
Q

What is a common problem when integrating third-party frameworks in Waterfall projects?

A

Misalignment between the design phase and actual API functionality.

23
Q

How do augmented Waterfall models improve on the original?

A

They overlap phases and allow iterative feedback.

24
Q

What did Winston W. Royce suggest to improve Waterfall?

A

Passing over phases twice and incorporating prototyping.

25
How does top-down design work?
It starts with abstract components and refines them into smaller parts.
26
How does bottom-up design work?
It starts by building lower-level components and integrates them into the full system.
27
28
What is a hybrid approach used in GUI programming?
Top-down for UI layout, bottom-up for object persistence.
29
What is Semantic Versioning?
A standard format for version numbers: Major.Minor.Patch[.tag].
30
How does TeX versioning differ from Semantic Versioning?
It follows irrational convergence, gradually approaching π (3.14159265…).