Software Architecture: Layers, Services and Their Trade-offs · seed 1 · A4, ink-friendly. The answer key prints on its own page for grown-ups.

Choices that are costly to reverse

Computing · Software Engineering · ages 21-22
Name ______________________   Date ____________
  1. The shop has separate service release processes, and updates preserve compatible public contracts. What do these conditions enable?

    • Deploying one service while neighbours keep their current releases
    • Changing an interface before its callers are ready
    • Treating team ownership as sufficient for release independence
  2. Which choice concerns the architecture's ownership of state?

    • Which service formats the order receipt
    • Which service owns the order records
    • Which service routes the payment request
  3. Moving stored records after clients depend on their location is always a cheap local edit.

    Circle one:   True   False

  4. Checkout requires confirmed payment before producing a receipt. The payment service fails before checkout receives confirmation. Which outcome is possible?

    • Return a success receipt and confirm payment later
    • Checkout can stop or wait before producing a receipt
    • Use the stored order as evidence that payment was accepted
  5. In the lesson's save-order route, input goes from the interface through the rules layer to storage. What work does this route include?

    • Saving before checking the order's rules
    • Checking the order after storage reports success
    • Passing through the rules layer before storage
  6. An order is stored, but a network failure leaves its payment outcome unknown. The services keep their own records. What must this design address?

    • Recovery across the separate order and payment outcomes
    • A fresh payment request treated as if the earlier request failed
    • Treat the saved order as the completed transaction
  7. A team proposes more services because it prefers that style. What evidence would best justify the added boundaries?

    • A record of which service libraries the team prefers
    • A stated workload problem and a supported cost comparison
    • A count of the services used by a similar team
  8. Order-status read traffic rises. These reads use only order records and need no shared stock transaction. Which boundary could allow separate scaling of that workload?

    • A boundary around stock writes
    • A boundary around checkout writes
    • A boundary around the order-status reads
LightMySky · lightmysky.comW1-mt_uz_OkFgysJ-s1

Answer key

For grown-ups. Fold this page away before handing over the rest.

Choices that are costly to reverse W1-mt_uz_OkFgysJ-s1

  1. Deploying one service while neighbours keep their current releases · Separate release processes and compatible contracts can allow one service to deploy without releasing every other service.
  2. Which service owns the order records · Assigning ownership of order records shapes component responsibilities and relationships.
  3. False · Moving those records can require migration and compatibility work across dependent components.
  4. Checkout can stop or wait before producing a receipt · Without confirmed payment, this checkout can stop or wait. Its handling rules determine the actual outcome.
  5. Passing through the rules layer before storage · This specified route validates the order in the rules layer before saving it. Other routes need not traverse all layers.
  6. Recovery across the separate order and payment outcomes · The design needs a policy for partial completion and an uncertain payment outcome. Separate services do not imply universal data replication.
  7. A stated workload problem and a supported cost comparison · A boundary should address a stated problem under relevant constraints, with expected benefits compared against its costs.
  8. A boundary around the order-status reads · The stated workload and data constraints support considering a boundary around those reads. Its costs still need evaluation.
Worksheet · LightMySky