12 KiB
Software Architecture Document: {{PROJECT_NAME}}
Document Version: 1.0 Date: {{DATE}} Status: {{STATUS}} Architecture Framework: arc42 (simplified) Standard Compliance: ISO/IEC/IEEE 42010:2022
1. Introduction and Goals
1.1 Requirements Overview
{{REQUIREMENTS_OVERVIEW}}
1.2 Quality Goals
{{QUALITY_GOALS}}
1.3 Stakeholders
{{STAKEHOLDERS_SUMMARY}}
2. Constraints
2.1 Technical Constraints
{{TECHNICAL_CONSTRAINTS}}
2.2 Organizational Constraints
{{ORGANIZATIONAL_CONSTRAINTS}}
2.3 Conventions
{{CONVENTIONS}}
3. Context and Scope
3.1 Business Context
{{BUSINESS_CONTEXT}}
Business Context Diagram:
{{BUSINESS_CONTEXT_DIAGRAM}}
External Interfaces: {{EXTERNAL_INTERFACES}}
3.2 Technical Context
{{TECHNICAL_CONTEXT}}
Technical Context Diagram:
{{TECHNICAL_CONTEXT_DIAGRAM}}
4. Solution Strategy
4.1 Technology Decisions
{{TECHNOLOGY_DECISIONS}}
4.2 Top-Level Decomposition
{{TOP_LEVEL_DECOMPOSITION}}
4.3 Approach to Quality Goals
{{QUALITY_APPROACH}}
5. Building Block View
5.1 Level 1: System Context (C4 Model)
{{SYSTEM_CONTEXT}}
System Context Diagram:
{{SYSTEM_CONTEXT_DIAGRAM}}
5.2 Level 2: Container Diagram (C4 Model)
{{CONTAINER_DIAGRAM}}
Container Diagram:
{{CONTAINER_DIAGRAM_MERMAID}}
5.3 Level 3: Component Diagram (C4 Model)
{{COMPONENT_DIAGRAM}}
Components within API Container:
{{COMPONENT_DIAGRAM_MERMAID}}
Key Components: {{KEY_COMPONENTS}}
Infrastructure Layer Components: {{INFRASTRUCTURE_COMPONENTS}}
6. Runtime View
6.1 Scenario 1: User Registration
{{SCENARIO_USER_REGISTRATION}}
Sequence Diagram:
{{SCENARIO_1_SEQUENCE_DIAGRAM}}
6.2 Scenario 2: Product Purchase Flow
{{SCENARIO_PURCHASE_FLOW}}
Sequence Diagram:
{{SCENARIO_2_SEQUENCE_DIAGRAM}}
6.3 [Additional Key Scenarios]
{{ADDITIONAL_SCENARIOS}}
7. Crosscutting Concepts
7.1 Security Concept
{{SECURITY_CONCEPT}}
7.2 Error Handling Concept
{{ERROR_HANDLING_CONCEPT}}
7.3 Configuration Management Concept
{{CONFIG_MANAGEMENT_CONCEPT}}
7.4 Data Access Pattern
{{DATA_ACCESS_PATTERN}}
8. Architecture Decisions (ADRs)
{{ADR_LIST}}
Critical ADRs Summary: {{CRITICAL_ADRS_SUMMARY}}
9. Quality Requirements
9.1 Quality Tree
{{QUALITY_TREE}}
9.2 Quality Scenarios
{{QUALITY_SCENARIOS}}
10. Risks and Technical Debt
10.1 Known Technical Risks
{{TECHNICAL_RISKS}}
10.2 Technical Debt
{{TECHNICAL_DEBT}}
10.3 Mitigation Strategies
{{MITIGATION_STRATEGIES}}
11. Glossary
| Term | Definition |
|---|---|
| {{TERM_1}} | {{DEFINITION_1}} |
| Container | Deployable/runnable unit (C4 Model), NOT Docker container |
| Component | Grouping of related functionality within a container |
| SSR | Server-Side Rendering |
| RBAC | Role-Based Access Control |
| JWT | JSON Web Token |
12. References
- arc42 Architecture Template v8.2 - https://arc42.org/
- C4 Model for Visualizing Software Architecture - https://c4model.com/
- ISO/IEC/IEEE 42010:2022 - Architecture description
- Michael Nygard's ADR Format - https://cognitect.com/blog/2011/11/15/documenting-architecture-decisions
- {{PROJECT_NAME}} Requirements Document
- {{PROJECT_NAME}} ADRs Directory
Maintenance
Last Updated: {{DATE}}
Update Triggers:
- New architectural decisions (create new ADR, update Section 8)
- New microservices or containers added (update C4 Container diagram)
- New components in existing services (update C4 Component diagram)
- New external systems or integrations (update Context diagram)
- Major refactoring affecting system structure
- Changes to quality requirements or scenarios
Verification:
- All C4 diagrams (Context, Container, Component) are consistent
- All ADRs referenced in Section 8 exist in adrs/ directory
- Runtime view scenarios cover main use cases
- All external systems documented in Technical Context
- All placeholders replaced with actual content
Revision History
| Version | Date | Author | Changes |
|---|---|---|---|
| 1.0 | {{DATE}} | {{AUTHOR}} | Initial version |
Version: 4.0.0 (Added Infrastructure Layer guidance: Section 5.3 Infrastructure Components + Section 7.4 Data Access Pattern) Template Last Updated: 2025-11-18