pseudocode-to-specification
Pseudocode to Specification
Extract functional requirements and business specifications from pseudocode, algorithms, or code snippets.
Core Workflow
1. Analyze Pseudocode
Parse structure, control flow, and identify:
- Inputs, outputs, and data transformations
- Variables, constants, and data structures
- Algorithms and logic patterns
- Assumptions and implicit requirements
Ask for clarification on:
- Ambiguous variable names or operations
- Missing context about data sources/destinations
- Unclear business rules or constraints
- Undefined error handling or edge cases
2. Extract Functional Requirements
Document core business functionality as requirements:
FR-001: [Function Name]
Business Purpose: [Why this function exists]
Description: System shall [action] when [condition]
Inputs: [business data, parameters, context]
Processing Logic: [business rules and decision steps]
Outputs: [business results, side effects]
Business Rules: [constraints, validations, calculations]
Preconditions: [required business state]
Postconditions: [resulting business state]
For detailed requirement patterns: requirements-patterns.md
3. Extract Business Data Requirements
Identify business entities and their requirements:
- Business entities and their meaning
- Business attributes and their purpose
- Business constraints and validation rules
- Business relationships between entities
- Data lifecycle and state transitions
Document as:
Business Entity: [EntityName]
Business Meaning: [What this represents]
Attributes:
- name: [Business meaning, constraints]
- field: [Business purpose, validation rules]
Relationships:
- [Business relationship] with [OtherEntity]
- Cardinality: [min..max]
Business Rules:
- [Business constraint or invariant]
Lifecycle States:
- [State] → [State] when [condition]
4. Document Business Workflow and Logic
Analyze business process flow:
- Sequential business operations
- Business decision points and conditions
- Iterative business processes
- Business exception paths
- Business event triggers
Generate business workflow specification:
Business Process: [ProcessName]
Purpose: [Business goal]
Step 1: [Business Action]
- Business Condition: [when/if from business perspective]
- Action: [what happens in business terms]
- Business Rules Applied: [relevant rules]
- Next: [step or branch]
Step 2: [Business Decision]
Branches:
- If [business condition]: Go to Step 3
- Else: Go to Step 5
- Decision Criteria: [business factors]
Business Error Conditions:
- [ErrorCondition]: [Business impact and recovery]
For complex business logic, use decision tables. See mermaid-diagrams.md for business flow notation.
5. Generate Service Function Specifications
Document service functions in business terms:
Function: [functionName]
Business Purpose: [What business problem this solves]
Business Context: [When/why this is needed]
Inputs:
- param1: [Business meaning, constraints]
- param2: [Business meaning, required/optional]
Processing Logic:
1. [Business rule or validation]
2. [Business calculation or transformation]
3. [Business decision point]
Outputs: [Business result description]
Business Rules:
- [Rule 1: condition → action]
- [Rule 2: validation or constraint]
Error Conditions:
- [Business error]: [Condition and meaning]
Example Business Scenarios:
Scenario: [situation]
Input: [business context]
Output: [expected business result]
6. Identify Integration Points
Document functional dependencies on external systems:
Integration: [SystemName]
Business Purpose: [Why this dependency exists]
Data Exchanged: [Business data sent/received]
Business Rules:
- [When interaction occurs]
- [What triggers communication]
Failure Impact:
- Business consequence: [Impact on business process]
- Mitigation: [Business workaround or fallback]
7. Document Assumptions and Constraints
Business Assumptions:
- Expected data volumes and patterns
- User behavior expectations
- Business process frequency
- External system availability
Business Constraints:
- Regulatory requirements
- Business policy limitations
- Data retention requirements
- Compliance requirements
8. Identify Business Acceptance Criteria
Define how to verify functional correctness:
- Normal business scenarios
- Business edge cases and boundary conditions
- Business error conditions
- Business rules validation
Format:
Acceptance Criterion: AC-001
For: [FR-XXX]
Given: [business context]
When: [business action]
Then: [expected business outcome]
Business Scenarios:
Scenario 1: Normal case
- Context: [typical business situation]
- Action: [user/system action]
- Expected: [business result]
Scenario 2: Edge case
- Context: [boundary condition]
- Action: [user/system action]
- Expected: [business result]
Output Formats
Generate functional specification based on context. Standard format:
Functional Specification Document:
# [System/Component] Functional Specification
## 1. Overview
[Business purpose, scope, and objectives]
## 2. Functional Requirements
[FR-001, FR-002, etc. - business functionality]
## 3. Business Data Requirements
[Business entities, attributes, relationships, constraints]
## 4. Business Workflow and Logic
[Business process flows, decision logic, business rules]
## 5. Service Function Specifications
[Business functions, inputs/outputs, processing logic]
## 6. Integration Points
[External system dependencies at functional level]
## 7. Business Rules and Constraints
[Complete business logic, validation rules, calculations]
## 8. Business Acceptance Criteria
[How to verify functional correctness]
## 9. Assumptions and Dependencies
[Business assumptions and constraints]
## 10. Appendices
[Business flow diagrams, glossary, references]
User Stories (Agile Format):
Epic: [High-level business capability]
Story 1: As a [role], I want [capability] so that [business benefit]
Acceptance Criteria:
- Given [business context], when [user action], then [business outcome]
- Given [business context], when [user action], then [business outcome]
Business Rules:
- [Rule 1: condition → action]
- [Rule 2: constraint or validation]
Story 2: [Next story following same pattern]
For additional specification formats: specification-templates.md
Key Principles
Focus Strictly on Functional Requirements:
- Extract WHAT the system does, not HOW it's built
- Describe business behavior, not technical implementation
- Specify business rules, not design patterns
- Document business logic, not architecture
- Exclude performance, security, scalability (non-functional)
Maintain Business Traceability:
- Link requirements to business logic in pseudocode
- Use identifiers: FR (functional), BR (business rule), AC (acceptance criteria)
- Reference pseudocode sections showing business logic
Clarify Business Intent:
- Extract WHY (business purpose) and WHAT (business capability)
- Describe business value and outcomes
- Separate business requirements from technical choices
- Mark inferred business rules vs stated logic
Validate Functional Completeness:
- Ensure all business logic paths documented
- Verify all business inputs/outputs specified
- Check all business error conditions covered
- Confirm all business rules extracted
Common Business Patterns
Recognize and document business patterns:
CRUD Operations: Create/read/update/delete → Business entity management spec with business rules State Machines: State transitions → Business lifecycle spec with state meanings and transition conditions Business Process: Sequential steps → Business workflow spec with decision points Data Transformation: Input → process → output → Business function spec with transformation rules Event-Driven: Trigger → react → Business event spec with business triggers and actions
Functional Specification Quality Checklist
Before finalizing, verify:
- ✓ All business logic from pseudocode extracted
- ✓ Requirements describe WHAT (functionality), not HOW (design/implementation)
- ✓ Business rules complete and clear
- ✓ Business entities and relationships defined
- ✓ Business workflows cover all decision paths
- ✓ Business error conditions documented
- ✓ Business assumptions stated
- ✓ Integration dependencies at functional level (data exchanged, not technical protocols)
- ✓ Acceptance criteria defined (functional verification, not test cases)
- ✓ No design decisions (architecture, patterns, technology choices)
- ✓ No implementation details (algorithms, data structures, code)
- ✓ No testing strategies (test plans, test cases, coverage)
- ✓ No deployment considerations (infrastructure, environments, scaling)
- ✓ Focus maintained exclusively on business functionality and requirements
Examples
Simple Algorithm:
Input pseudocode:
function calculateShippingCost(weight, distance, priority):
if weight <= 0 or distance <= 0:
throw error "Invalid input"
baseCost = weight * 0.5 + distance * 0.1
if priority == "express":
baseCost = baseCost * 1.5
return round(baseCost, 2)
Generated functional specification excerpt:
FR-001: Shipping Cost Calculation
Business Purpose:
Calculate shipping cost based on package characteristics and service level
Business Inputs:
- weight: Package weight in kg (must be positive)
- distance: Shipping distance in km (must be positive)
- priority: Service level (express or standard)
Business Logic:
1. Validate business constraints:
- Weight must represent a real package (> 0)
- Distance must be a valid route (> 0)
2. Calculate base cost using business formula:
- Weight component: weight × $0.50 per kg
- Distance component: distance × $0.10 per km
3. Apply service level multiplier:
- Express service: 1.5× base cost
- Standard service: 1.0× base cost (no change)
4. Round to currency precision (2 decimal places)
Business Rules:
- BR-001: Weight and distance must be positive values
- BR-002: Express service costs 50% more than standard
- BR-003: Cost calculated in USD currency
Business Output:
- Shipping cost in USD
Business Error Conditions:
- Invalid package weight: Cannot calculate for non-physical package
- Invalid distance: Cannot calculate for invalid route
- Unknown service level: Must specify express or standard service
Acceptance Criteria:
- Given valid weight and distance, when calculating standard shipping,
then cost equals (weight × 0.5 + distance × 0.1) rounded to 2 decimals
- Given valid inputs with express priority, when calculating,
then cost is 1.5× the standard calculation
Complex Workflow:
For detailed workflow examples with branching logic and integration points, see specification-templates.md.
Additional Resources
Load as needed:
- specification-templates.md - Industry-standard spec formats
- requirements-patterns.md - Common requirement structures
- mermaid-diagrams.md - Mermaid diagram notation and examples