04Stage 4 of 8 · Design
How does the system interlock?
Here you connect building blocks, interfaces and flows to a verifiable design.
You need
- Chosen option with rationale
- Module contracts
Who
Payment module owner leads
with Platform team, Operations
How to proceed
- 1
Design building blocks and their interfaces.
- 2
Track central runtimes, including possible outages.
- 3
Set data responsibility and distribution on runtime environments.
In the shop
Payment flow and building block view
- Contract
- The stock module reserves two mugs for B-1042 with an expiry date.
- Flow
- Reserve stock, authorise payment P-731, confirm the order.
- Failure case
- If the response is lost, query the payment status via pay-B-1042.
- Distribution
- Application on two instances, managed database, external provider.
This creates
- Structural and maturity aspects
- Interface contracts
- Deployment view
Tools for this:C4 modelSequence diagramDeployment viewarc42 architecture documentationAll under “Show & record” →
Done when
- Building blocks and interfaces are shown in one view.
- The payment flow also shows the case of lost responses.
- The distribution across runtime environments is described.
Appropriate Building Blocks
Communication · ConceptAPI contractsAPI contracts define data, meaning and observable interface behavior as binding rules.Documentation · ArtifactSequence diagramA sequence diagram shows messages and responses in the chronological order of a workflow.Documentation · ArtifactDeployment viewA deployment view maps software building blocks to their runtime environment and infrastructure.Documentation · ModelC4 modelThe C4 model explains system structure across suitable levels from context to code.