Mermaid Requirement Diagrams

Requirement diagrams visualize system requirements and their relationships. Perfect for documenting functional requirements, tracing requirements, and showing requirement dependencies.

Use Case

Use requirement diagrams when you need to:

  • Document system requirements
  • Show requirement relationships
  • Trace requirements to design
  • Visualize requirement dependencies
  • Manage requirement coverage

Code

 1```mermaid
 2requirementDiagram
 3    requirement FunctionalReq {
 4        id: 1
 5        text: System shall process payments
 6        risk: high
 7        verifymethod: test
 8    }
 9    
10    element PaymentSystem {
11        type: system
12    }
13    
14    FunctionalReq - satisfies -> PaymentSystem
15```

Result:

Examples

Example 1: System Requirements

 1```mermaid
 2requirementDiagram
 3    requirement Req1 {
 4        id: 1
 5        text: User authentication required
 6        risk: high
 7        verifymethod: test
 8    }
 9    
10    requirement Req2 {
11        id: 2
12        text: Data encryption at rest
13        risk: high
14        verifymethod: inspection
15    }
16    
17    requirement Req3 {
18        id: 3
19        text: API response time < 200ms
20        risk: medium
21        verifymethod: test
22    }
23    
24    element AuthSystem {
25        type: system
26    }
27    
28    element Database {
29        type: system
30    }
31    
32    Req1 - satisfies -> AuthSystem
33    Req2 - satisfies -> Database
34    Req3 - satisfies -> AuthSystem
35```

Result:

Requirement Properties

  • id - Requirement identifier
  • text - Requirement description
  • risk - Risk level (high, medium, low)
  • verifymethod - Verification method (test, inspection, analysis, demonstration)

Relationship Types

  • - satisfies -> - Requirement satisfies element
  • - contains -> - Requirement contains sub-requirement
  • - derives -> - Requirement derives from another
  • - refines -> - Requirement refines another

Notes

  • Requirements must have id and text
  • Elements represent system components
  • Relationships show requirement traceability
  • Use descriptive requirement text

Gotchas/Warnings

  • ⚠️ Properties: Must include id and text in requirements
  • ⚠️ Risk: Use consistent risk levels
  • ⚠️ Relationships: Use appropriate relationship types
  • ⚠️ Complexity: Large requirement diagrams can be hard to maintain

Related Snippets