update
This commit is contained in:
@@ -60,8 +60,6 @@ This document defines the documentation framework for a software project. It est
|
|||||||
### 2. Solution Design
|
### 2. Solution Design
|
||||||
`solution-design.md`
|
`solution-design.md`
|
||||||
|
|
||||||
**Document ID**: Each `solution-design.md` file should have a unique document ID (e.g., `SD-001`, `SD-002`) for cross-referencing. Use the format `SD-XXX` where `XXX` is a 3-digit sequential number.
|
|
||||||
|
|
||||||
**Purpose**: Translate requirements into an *viable solution* — how the system solves the user problem. Defines approach, components, and trade-offs before technical details.
|
**Purpose**: Translate requirements into an *viable solution* — how the system solves the user problem. Defines approach, components, and trade-offs before technical details.
|
||||||
|
|
||||||
**Why It Matters**:
|
**Why It Matters**:
|
||||||
@@ -72,7 +70,6 @@ This document defines the documentation framework for a software project. It est
|
|||||||
- Provides a reference for evaluating specification choices against intended solution
|
- Provides a reference for evaluating specification choices against intended solution
|
||||||
|
|
||||||
**Content Guidelines**:
|
**Content Guidelines**:
|
||||||
- Document ID: Include the solution design document ID at the top (e.g., `SD-001`)
|
|
||||||
- Problem decomposition: Break down the user problem into smaller, solvable pieces
|
- Problem decomposition: Break down the user problem into smaller, solvable pieces
|
||||||
- Solution approach: Describe the high-level approach (e.g., "Use event sourcing for audit trail", "Implement caching layer for performance")
|
- Solution approach: Describe the high-level approach (e.g., "Use event sourcing for audit trail", "Implement caching layer for performance")
|
||||||
- Alternatives considered: Document at least 2-3 alternative approaches with rationale for why they were rejected
|
- Alternatives considered: Document at least 2-3 alternative approaches with rationale for why they were rejected
|
||||||
@@ -80,7 +77,7 @@ This document defines the documentation framework for a software project. It est
|
|||||||
- Decision rationale: Explain why each major decision was made (e.g., "Chose NATS over Kafka for simpler ops", "Used server-side rendering for SEO")
|
- Decision rationale: Explain why each major decision was made (e.g., "Chose NATS over Kafka for simpler ops", "Used server-side rendering for SEO")
|
||||||
- Risk assessment: Identify potential risks and how they will be mitigated
|
- Risk assessment: Identify potential risks and how they will be mitigated
|
||||||
- Traceability: Link each solution component to specific requirement ID(s) (e.g., FR-001, NFR-201) that it addresses
|
- Traceability: Link each solution component to specific requirement ID(s) (e.g., FR-001, NFR-201) that it addresses
|
||||||
- Decision IDs: Assign unique IDs to major decisions (e.g., `SD-001-D1` for "Use NATS for async messaging") to enable specification traceability
|
- Decision IDs: Assign unique IDs to major decisions using the format `SD-XXX` (e.g., `SD-001` for "Use NATS for async messaging") to enable specification traceability
|
||||||
|
|
||||||
**Best Practices**:
|
**Best Practices**:
|
||||||
- Write solution design from the user's perspective first, then justify technical choices
|
- Write solution design from the user's perspective first, then justify technical choices
|
||||||
@@ -507,8 +504,6 @@ Break down the user problem into smaller, solvable pieces.
|
|||||||
|---------|-------------|-------------|
|
|---------|-------------|-------------|
|
||||||
| [Problem ID] | Brief description of the problem | How this affects the user |
|
| [Problem ID] | Brief description of the problem | How this affects the user |
|
||||||
|
|
||||||
**Solution Design ID**: SD-001
|
|
||||||
|
|
||||||
**Example**:
|
**Example**:
|
||||||
- **P-001**: Users cannot compare multiple wines side-by-side → They must navigate between wine pages, losing context and making comparisons difficult
|
- **P-001**: Users cannot compare multiple wines side-by-side → They must navigate between wine pages, losing context and making comparisons difficult
|
||||||
|
|
||||||
@@ -574,11 +569,11 @@ Link each solution component to specific requirements and assign Solution Design
|
|||||||
|
|
||||||
| Solution Component | Requirement ID | Decision ID | Description |
|
| Solution Component | Requirement ID | Decision ID | Description |
|
||||||
|-------------------|----------------|-------------|-------------|
|
|-------------------|----------------|-------------|-------------|
|
||||||
| Comparison table UI | FR-101 | SD-001-D1 | Display wines in table format |
|
| Comparison table UI | FR-101 | SD-001 | Display wines in table format |
|
||||||
| Filtering | FR-102 | SD-001-D2 | Filter wines by criteria |
|
| Filtering | FR-102 | SD-002 | Filter wines by criteria |
|
||||||
| Sorting | FR-103 | SD-001-D3 | Sort wines by any column |
|
| Sorting | FR-103 | SD-003 | Sort wines by any column |
|
||||||
| Real-time updates | NFR-201 | SD-001-D4 | Updates appear within 100ms |
|
| Real-time updates | NFR-201 | SD-004 | Updates appear within 100ms |
|
||||||
| Export comparison | FR-201 | SD-001-D5 | Export comparison to PDF/CSV |
|
| Export comparison | FR-201 | SD-005 | Export comparison to PDF/CSV |
|
||||||
|
|
||||||
|
|
||||||
### Specification Template
|
### Specification Template
|
||||||
|
|||||||
Reference in New Issue
Block a user