docs: added templates for usecase experiments

This commit is contained in:
2025-10-03 00:39:10 +02:00
parent 960a7c4850
commit 935cae67e5
4 changed files with 1183 additions and 0 deletions

217
examples/TEMPLATE-ARC42.md Normal file
View File

@@ -0,0 +1,217 @@
# Software Architecture Documentation (arc42)
## About this document
**Purpose.** This document follows the **arc42** template to describe, communicate, and evolve the architecture of the system in a clear, lightweight, and practical way. For background on arc42, see the official overview and documentation.
---
## 1. Introduction and Goals
Briefly explains why the system exists and which forces shape the architecture (business goals, functional scope, quality goals, stakeholders).
**Add your content here…**
### 1.1 Requirements Overview
Summarize key functional requirements or link to your product/backlog sources; keep this concise and focused on what drives architecture.
**Add your content here…**
### 1.2 Quality Goals
Capture 35 top quality attributes (e.g., performance, security, evolvability) that guide trade-offs and decisions.
**Add your content here…**
### 1.3 Stakeholders
List stakeholders (roles, responsibilities, concerns) whose needs the architecture must satisfy.
**Add your content here…**
---
## 2. Architecture Constraints
Record constraints (technical, organizational, legal, standards, runtime environments, toolchains) that restrict options and influence design.
**Add your content here…**
---
## 3. System Scope and Context
Defines whats in/out of scope and how the system interacts with its environment (users, neighboring systems, external services).
**Add your content here…**
### 3.1 Business Context
Show business actors, interactions, and the value exchange; describe business-level inputs/outputs.
**Add your content here…**
### 3.2 Technical Context
Show technical interfaces, protocols, data formats, and integration endpoints between the system and external systems.
**Add your content here…**
---
## 4. Solution Strategy
Summarize the key architecture approach: principal patterns, frameworks, major decisions, and the rationale linked to goals and constraints.
**Add your content here…**
---
## 5. Building Block View
Explains the static decomposition of the system into building blocks (modules/components/subsystems), their responsibilities, and dependencies—the “floor plan”.
**Add your content here…**
### 5.1 Level 1 System/Top-Level
Show the top-level breakdown into major subsystems or layers and how they collaborate.
**Add your content here…**
### 5.2 Level 2 Key Components
Zoom into one or more subsystems from 5.1 and present their main components and relationships.
**Add your content here…**
### 5.3 Level 3 Internal Structure (as needed)
Detail important components (data structures, classes, packages) when necessary for understanding or change.
**Add your content here…**
---
## 6. Runtime View
Describes significant scenarios to illustrate behavior and interactions of building blocks (sequence/flow, error paths, non-functional aspects).
**Add your content here…**
### 6.x Scenario <Name>
State context, triggers, participating blocks, message/interaction flow, and notable variations.
**Add your content here…**
---
## 7. Deployment View
Maps software artifacts to infrastructure (nodes, regions, runtime platforms), including redundancy, scaling, and operational concerns.
**Add your content here…**
### 7.1 Infrastructure Overview
Present environments (dev/test/stage/prod), regions/zones, and high-level topology.
**Add your content here…**
### 7.2 Deployment Mapping
Describe which artifacts run where; capture capacity, sizing assumptions, and elasticity.
**Add your content here…**
### 7.3 Cross-Environment Differences
List relevant differences (configs, data stores, integrations, security postures).
**Add your content here…**
---
## 8. Cross-Cutting Concepts
Central rules & approaches that apply across the system (domain model, architecture patterns, security, logging, error handling, configuration, i18n, etc.).
**Add your content here…**
### 8.1 Domain & Data
Share ubiquitous language, key domain concepts, data ownership, and data lifecycle.
**Add your content here…**
### 8.2 Security
Threat model highlights, authn/authz, secrets handling, crypto, secure defaults.
**Add your content here…**
### 8.3 Observability & Operations
Logging, metrics, tracing, health checks, dashboards, incident response hooks.
**Add your content here…**
### 8.4 Error Handling & Resilience
Policies for retries, timeouts, backoff, circuit breakers, idempotency.
**Add your content here…**
### 8.5 Configuration & Feature Flags
How configuration is structured, validated, and delivered; flag strategy.
**Add your content here…**
### 8.6 Performance & Caching
Hot paths, caching layers, data locality, performance budgets and profiles.
**Add your content here…**
### 8.7 Code & API Guidelines
Language/framework idioms, API style (REST/gRPC/GraphQL), versioning and compatibility rules.
**Add your content here…**
### 8.8 Compliance & Data Protection
Relevant standards/regulations (e.g., ISO, GDPR), data retention, audit trails.
**Add your content here…**
---
## 9. Architecture Decisions
A log of significant decisions (ADRs): context, options considered, decision, consequences, status (proposed/accepted/superseded).
**Add your content here…**
---
## 10. Quality Requirements
Elaborate quality scenarios (stimulus → response measure) tied to the goals in 1.2, including measurable acceptance criteria.
**Add your content here…**
### 10.1 Quality Tree
Visualize quality attributes and their refinements to orient priorities.
**Add your content here…**
### 10.2 Quality Scenarios
Concrete scenarios per attribute (e.g., “Under X load, 95th-pct latency ≤ Y ms”).
**Add your content here…**
---
## 11. Risks and Technical Debt
List key risks, assumptions, unknowns, and consciously accepted debt with mitigation/retirement plans.
**Add your content here…**
---
## 12. Glossary
Define important domain and technical terms to ensure a shared vocabulary; add abbreviations and acronyms.
**Add your content here…**
---
## 13. Best-Practice Requirements & Quality Checklist
Use these requirements to review and keep the document—and architecture—healthy over time.
### 13.1 Structural Completeness
- **All 12 arc42 chapters present or explicitly marked “N/A” with rationale.**
**Add your content here…**
- **Each section starts with a purpose blurb and ends with concrete, current content or a tracked TODO.**
**Add your content here…**
- **Cross-references link related content (e.g., 4 ↔ 5/8, 1.2 ↔ 10).**
**Add your content here…**
### 13.2 Consistency & Traceability
- **Every major decision in 4 is backed by ADRs in 9 and aligned with 1.2/10.**
**Add your content here…**
- **Interfaces in 3.2 are consistent with components in 5 and scenarios in 6.**
**Add your content here…**
- **Deployment (7) matches runtime needs (6) and non-functional drivers (10).**
**Add your content here…**
### 13.3 Quality & Measurability
- **Quality goals (1.2) translated into measurable scenarios (10.2) with thresholds.**
**Add your content here…**
- **Operational SLOs/SLIs defined and observable (8.3) and tied to alerts/dashboards.**
**Add your content here…**
### 13.4 Risk & Debt Management
- **Top risks ranked with mitigations, owners, and review cadence (11).**
**Add your content here…**
- **Technical debt items carry impact, “pay-down” trigger, and target release.**
**Add your content here…**
### 13.5 Security & Compliance Hygiene
- **Threat model snapshot exists; controls mapped (8.2).**
**Add your content here…**
- **Data protection & retention addressed; lawful bases documented (8.8).**
**Add your content here…**
### 13.6 Evolution & Maintainability
- **Document is versioned; changes tracked with changelog and ADR status updates.**
**Add your content here…**
- **Architecture fitness checks (e.g., lightweight ATAM or quality scenario tests) scheduled.**
**Add your content here…**
- **Diagrams are living (source-controlled), with legend, date, and level of detail.**
**Add your content here…**
### 13.7 Fitness-for-Purpose Read-Through
- **One-page executive summary aligns with goals and constraints.**
**Add your content here…**
- **A new team member can understand system scope (3), big picture (5.1), and how to run it (7) within 60 minutes.**
**Add your content here…**