Skip to content

Quizzes

Daan van Berkel edited this page Sep 10, 2026 · 17 revisions

Each chapter of the book closes with a quiz. The questions in the quiz allow you to apply the theory in the book.

This wiki page summarizes the discussion we had while going through the various quizzes.

Part 1: Coupling

Chapter 1: Coupling and System Design

What is Coupling?

  1. A common design flaw
  2. A connection between two or more components
  3. A design pattern
  4. A dependency in an object model

See the corresponding discussion.

What is a System?

  1. A software solution
  2. A hardware appliance
  3. Any set of components working together to implement a defined purpose
  4. All of the answers are correct

See the corresponding discussion.

How does coupling affect system design?

  1. Coupling affects how components are integrated with each other
  2. Coupling affects components' boundaries
  3. Coupling defines whether the components can implement the system's purpose.
  4. All of the answers are correct

See the corresponding discussion.

Chapter 2

Assuming that you are not a watch repairer and your watch has stopped working, to what Cynefin domain does repairing your watch belong?

  1. Clear
  2. Complicated
  3. Complex
  4. Chaotic

See the corresponding discussion.

Which Cynefin domain reflects a game of chess?

  1. Clear
  2. Complicated
  3. Complex
  4. Chaotic

See the corresponding discussion.

Which Cinefyn domain reflects a game of chess, but one in which you are allowed to cheat and use a computer?

  1. Clear
  2. Complicated
  3. Complex
  4. Chaotic

See the corresponding discussion.

Which of the following Cynefin domains describes situations with no relationships between causes and their effects?

  1. Clear
  2. Complicated
  3. Complex
  4. Chaotic

See the corresponding discussion.

What type of Cynefin domain is described here?

Assume you need to modify the behavior of a legacy system. The engineers who built it are no longer with the company, there are no tests, and the only way to learn the outcome of making the change is to deploy it to a test/staging environment and see how it behaves. What type of Cynefin domain is this?

  1. Clear
  2. Complicated
  3. Complex
  4. Chaotic

See the corresponding discussion.

Chapter 3

Which of the following properties of a system affect(s) its complexity?

  1. Size
  2. Number of system components
  3. Interactions between components
  4. All of the answers are correct

See the corresponding discussion.

Which of the following statements is/are true?

  1. Complex interactions can lead to unintended results
  2. Linear interactions can lead to unintended results
  3. Complex interactions can lead to intended results but in unintended ways
  4. Answers 1 and 3 are correct

See the corresponding discussion.

What is the difference between local and global complexity?

  1. Global complexity describes interactions inside a component, and local complexity is the complexity of interactions between components
  2. Local complexity describes interactions inside a component, and global complexity is the complexity of interactions between components
  3. Global and local complexities are synonymous in the context of software design
  4. Global complexity results from the use of global variables, while local complexity relates to to local fields

See the corresponding discussion.

What type of complexity is more important in the context of software design?

  1. Local complexity
  2. Global complexity
  3. Both local and global complexity are equally important
  4. Both local and global complexity are equally unimportant

See the corresponding discussion.

This chapter emphasizes that not all constraints are desirable in system design. What should be the main focus instead?

  1. Encourage complex interactions
  2. Constrain shared knowledge
  3. Enable desired interactions
  4. Answer 2 and 3 are correct

See the corresponding discussion.