Feature Requirements List
Use this template when specifying a new feature that requires domain modeling, functional requirements, data constraints, behavioral rules, and integration contracts.
When to Use
Section titled “When to Use”- Defining a new product capability with multiple requirement types.
- Establishing domain concepts and their relationships before implementation.
- Creating a traceable requirements document with MoSCoW prioritization.
Document Sections
Section titled “Document Sections”- Overview — Feature summary, scope, target personas, related documents.
- Domain Modeling — Concepts, conceptual model (PlantUML class diagram), relationships, business rules.
- Functional Requirements (
FR) — What the system shall do. - Data Requirements (
DR) — Entity constraints, validation rules, cardinality. - Behavioral Requirements (
BR) — State transitions, lifecycle events, side effects. - Integration Requirements (
IR) — API contracts, external system interactions. - User Interface Requirements (
UIR) — Views, actions, validation feedback. - Non-Functional Requirements (
NFR) — Performance, security, scalability targets. - Requirements Summary — Cross-reference index with MoSCoW breakdown.
Requirement ID Conventions
Section titled “Requirement ID Conventions”| Prefix | Category | Example |
|---|---|---|
FR | Functional | FR-ORD-001 |
DR | Data | DR-ORD-001 |
BR | Behavioral | BR-ORD-001 |
IR | Integration | IR-ORD-001 |
UIR | User Interface | UIR-ORD-001 |
NFR | Non-Functional | NFR-ORD-001 |
Template
Section titled “Template”The full template is extensive. Key sections are shown below; see the complete source at workspace/knowledge-base/templates/incremental-service/requirements-list.md.
Domain Modeling Block
Section titled “Domain Modeling Block”## Domain Modeling
### Domain Concepts
| Concept | Definition | Related Arda Entity ||---|---|---|| Concept 1 | Brief definition in business terms | `EntityName` or "New" |
### Conceptual Model
PlantUML class diagram showing domain concepts with `<<concept>>` and `<<existing>>` stereotypes, using domain language for relationships.
### Key Business Rules
1. Business Rule 1: e.g., "An Order must have at least one OrderLine before it can be submitted."2. Business Rule 2: e.g., "An ItemSupply can only be deleted if no Items reference it."Functional Requirement Block
Section titled “Functional Requirement Block”### FR-CODE-001: Requirement Title
- **Priority**: Must Have | Should Have | Could Have | Won't Have- **Status**: Proposed | Approved | Implemented | Verified- **Description**: Clear, concise statement of what the system shall do.- **Rationale**: Why this requirement exists and its business value.- **Acceptance Criteria**: 1. Measurable criterion 1 2. Measurable criterion 2- **Dependencies**: FR-CODE-002- **Notes**: Additional context or edge cases.Behavioral Requirement Block
Section titled “Behavioral Requirement Block”### BR-CODE-001: Behavior Title
- **Trigger**: What event or action initiates this behavior?- **Pre-conditions**: What must be true before execution?- **Description**: Detailed description of the behavior.- **Post-conditions**: What is guaranteed after success?- **Side Effects**: What other entities or systems are affected?- **Error Scenarios**:
| Condition | Error Type | Error Message/Code ||---|---|---|| Condition 1 | `AppError.Type` | Message |State transition diagrams (PlantUML) should accompany behavioral requirements that involve lifecycle states.
Copyright: © Arda Systems 2025-2026, All rights reserved