cleanup sw req
This commit is contained in:
254
1 software design/traceability/Combined_Traceability_Matrix.md
Normal file
254
1 software design/traceability/Combined_Traceability_Matrix.md
Normal file
@@ -0,0 +1,254 @@
|
||||
# Combined Traceability Matrix
|
||||
|
||||
**Document ID:** TM-COMBINED
|
||||
**Version:** 1.0
|
||||
**Date:** 2025-02-01
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This document provides a comprehensive combined traceability matrix that links system requirements to software requirements, software features, and implementing components. This ensures complete end-to-end traceability from system-level needs to software implementation.
|
||||
|
||||
## 2. Combined Traceability Matrix
|
||||
|
||||
| System Requirement | Software Requirement | Software Feature | Implementing Component | Verification Method |
|
||||
|-------------------|---------------------|------------------|----------------------|-------------------|
|
||||
| **Sensor Data Acquisition** |
|
||||
| SR-DAQ-001 | SWR-DAQ-001 | SF-DAQ | Sensor Manager | Unit Test |
|
||||
| SR-DAQ-001 | SWR-DAQ-002 | SF-DAQ | Sensor Drivers | Integration Test |
|
||||
| SR-DAQ-002 | SWR-DAQ-002 | SF-DAQ | Sensor Drivers | Integration Test |
|
||||
| SR-DAQ-003 | SWR-DAQ-003 | SF-DAQ | Sensor Manager, Sensor Detector | Unit Test |
|
||||
| SR-DAQ-004 | SWR-DAQ-004 | SF-DAQ | Sensor Manager | Unit Test |
|
||||
| SR-DAQ-005 | SWR-DAQ-005 | SF-DAQ | Sensor Manager, Filter Engine | Unit Test |
|
||||
| SR-DAQ-006 | SWR-DAQ-006 | SF-DAQ | Sensor Manager, Machine Constants Manager | Integration Test |
|
||||
| SR-DAQ-007 | SWR-DAQ-007 | SF-DAQ | Sensor Manager, Time Service | Unit Test |
|
||||
| SR-DAQ-008 | SWR-DAQ-008 | SF-DAQ | Sensor Manager | Unit Test |
|
||||
| SR-DAQ-009 | SWR-DAQ-009 | SF-DAQ | Sensor Manager, Data Pool | Integration Test |
|
||||
| SR-DAQ-010 | SWR-DAQ-010 | SF-DAQ | Sensor Manager | Performance Test |
|
||||
| SR-DAQ-011 | SWR-DAQ-011 | SF-DAQ | Sensor Manager, Sensor State Machine | State Machine Test |
|
||||
| SR-DAQ-012 | SWR-DAQ-012 | SF-DAQ | Sensor Manager | Unit Test |
|
||||
| SR-DAQ-013 | SWR-DAQ-013 | SF-DAQ | Sensor Drivers, Sensor Manager | Integration Test |
|
||||
| **Communication** |
|
||||
| SR-COM-001 | SWR-COM-001 | SF-COM | Communication Manager, MQTT Client, TLS Handler | Integration Test |
|
||||
| SR-COM-002 | SWR-COM-002 | SF-COM | Communication Manager, Main Hub APIs | Unit Test |
|
||||
| SR-COM-003 | SWR-COM-003 | SF-COM | Communication Manager, Command Handler | Integration Test |
|
||||
| SR-COM-004 | SWR-COM-004 | SF-COM | Communication Manager, Connection Monitor | Unit Test |
|
||||
| SR-COM-005 | SWR-COM-005 | SF-COM | Communication Manager, Data Pool | Performance Test |
|
||||
| SR-COM-006 | SWR-COM-006 | SF-COM | Communication Manager | Integration Test |
|
||||
| SR-COM-007 | SWR-COM-007 | SF-COM | Communication Manager, Data Pool | Unit Test |
|
||||
| SR-COM-008 | SWR-COM-008 | SF-COM | ESP-NOW Handler, Communication Manager | Unit Test |
|
||||
| SR-COM-009 | SWR-COM-009 | SF-COM | ESP-NOW Handler | Integration Test |
|
||||
| SR-COM-010 | SWR-COM-010 | SF-COM | Communication Manager | Unit Test |
|
||||
| SR-COM-011 | SWR-COM-011 | SF-COM | Communication Manager, MQTT Client | Unit Test |
|
||||
| SR-COM-012 | SWR-COM-012 | SF-COM | Communication Manager, Message Formatter | Unit Test |
|
||||
| SR-COM-013 | SWR-COM-013 | SF-COM | Communication Manager, Connection Manager | Integration Test |
|
||||
| SR-COM-014 | SWR-COM-014 | SF-COM | ESP-NOW Handler, Crypto Manager | Security Test |
|
||||
| SR-COM-015 | SWR-COM-015 | SF-COM | ESP-NOW Handler | Unit Test |
|
||||
| SR-COM-016 | SWR-COM-016 | SF-COM | Communication Manager | Integration Test |
|
||||
| SR-COM-017 | SWR-COM-017 | SF-COM | Communication Manager | Unit Test |
|
||||
| **Data Persistence** |
|
||||
| SR-DATA-001 | SWR-DATA-001 | SF-DATA | Persistence Manager, Data Pool | Integration Test |
|
||||
| SR-DATA-002 | SWR-DATA-002 | SF-DATA | Data Pool, Storage Abstraction | Unit Test |
|
||||
| SR-DATA-003 | SWR-DATA-003 | SF-DATA | Persistence Manager, Configuration Manager | Unit Test |
|
||||
| SR-DATA-004 | SWR-DATA-004 | SF-DATA | Data Pool, Storage Abstraction | Unit Test |
|
||||
| SR-DATA-005 | SWR-DATA-005 | SF-DATA | Storage Abstraction, Access Control | Unit Test |
|
||||
| SR-DATA-006 | SWR-DATA-006 | SF-DATA | Persistence Manager, Data Serializer | Unit Test |
|
||||
| SR-DATA-007 | SWR-DATA-007 | SF-DATA | Persistence Manager, System State Manager | Integration Test |
|
||||
| SR-DATA-008 | SWR-DATA-008 | SF-DATA | Persistence Manager, Data Integrity Checker | Unit Test |
|
||||
| SR-DATA-009 | SWR-DATA-009 | SF-DATA | Storage Abstraction, Persistence Manager | Unit Test |
|
||||
| SR-DATA-010 | SWR-DATA-010 | SF-DATA | Power Monitor, Brownout Detector | Hardware Test |
|
||||
| SR-DATA-011 | SWR-DATA-011 | SF-DATA | Persistence Manager, Emergency Handler | Hardware Test |
|
||||
| SR-DATA-012 | SWR-DATA-012 | SF-DATA | Persistence Manager, Fast Writer | Performance Test |
|
||||
| SR-DATA-013 | SWR-DATA-013 | SF-DATA | Storage Abstraction, Wear Leveling Manager | Unit Test |
|
||||
| **Diagnostics** |
|
||||
| SR-DIAG-001 | SWR-DIAG-001 | SF-DIAG | Diagnostics Manager, Diagnostic Collector | Unit Test |
|
||||
| SR-DIAG-002 | SWR-DIAG-002 | SF-DIAG | Diagnostic Collector, Code Registry | Unit Test |
|
||||
| SR-DIAG-003 | SWR-DIAG-003 | SF-DIAG | Diagnostics Manager, Severity Classifier | Unit Test |
|
||||
| SR-DIAG-004 | SWR-DIAG-004 | SF-DIAG | Diagnostic Collector, Time Service | Unit Test |
|
||||
| SR-DIAG-005 | SWR-DIAG-005 | SF-DIAG | Diagnostic Logger, Persistence Manager | Integration Test |
|
||||
| SR-DIAG-006 | SWR-DIAG-006 | SF-DIAG | Diagnostic Logger, Storage Abstraction | Unit Test |
|
||||
| SR-DIAG-007 | SWR-DIAG-007 | SF-DIAG | Diagnostic Logger, Storage Manager | Unit Test |
|
||||
| SR-DIAG-008 | SWR-DIAG-008 | SF-DIAG | Diagnostic Session, Session Manager | Integration Test |
|
||||
| SR-DIAG-009 | SWR-DIAG-009 | SF-DIAG | Diagnostic Session, Diagnostic Logger | Unit Test |
|
||||
| SR-DIAG-010 | SWR-DIAG-010 | SF-DIAG | Diagnostic Session, Diagnostic Logger | Unit Test |
|
||||
| SR-DIAG-011 | SWR-DIAG-011 | SF-DIAG | Diagnostic Session, System Controller | Unit Test |
|
||||
| SR-DIAG-012 | SWR-DIAG-012 | SF-DIAG | Watchdog Manager, Task Watchdog | Hardware Test |
|
||||
| SR-DIAG-013 | SWR-DIAG-013 | SF-DIAG | Watchdog Manager, Interrupt Watchdog | Hardware Test |
|
||||
| SR-DIAG-014 | SWR-DIAG-014 | SF-DIAG | Watchdog Manager, RTC Watchdog | Hardware Test |
|
||||
| **System Management** |
|
||||
| SR-SYS-001 | SWR-SYS-001 | SF-SYS | System State Manager, State Machine | Unit Test |
|
||||
| SR-SYS-002 | SWR-SYS-002 | SF-SYS | System State Manager, Operation Controller | Unit Test |
|
||||
| SR-SYS-003 | SWR-SYS-003 | SF-SYS | System State Manager, Event System | Integration Test |
|
||||
| SR-SYS-004 | SWR-SYS-004 | SF-SYS | Teardown Manager, System State Manager | Integration Test |
|
||||
| SR-SYS-005 | SWR-SYS-005 | SF-SYS | Teardown Manager, Persistence Manager | Unit Test |
|
||||
| SR-SYS-006 | SWR-SYS-006 | SF-SYS | Teardown Manager, Data Integrity Manager | Unit Test |
|
||||
| SR-SYS-007 | SWR-SYS-007 | SF-SYS | HMI Controller, OLED Driver | Hardware Test |
|
||||
| SR-SYS-008 | SWR-SYS-008 | SF-SYS | HMI Controller, Display Manager | Integration Test |
|
||||
| SR-SYS-009 | SWR-SYS-009 | SF-SYS | HMI Controller, Button Handler | Unit Test |
|
||||
| SR-SYS-010 | SWR-SYS-010 | SF-SYS | Menu System, HMI Controller | Unit Test |
|
||||
| SR-SYS-011 | SWR-SYS-011 | SF-SYS | Engineering Session, Diagnostic Session | Integration Test |
|
||||
| SR-SYS-012 | SWR-SYS-012 | SF-SYS | Engineering Session, Debug Controller | Unit Test |
|
||||
| SR-SYS-013 | SWR-SYS-013 | SF-SYS | Engineering Session, Security Manager | Security Test |
|
||||
| SR-SYS-014 | SWR-SYS-014 | SF-SYS | GPIO Manager, Hardware Abstraction | Hardware Test |
|
||||
| SR-SYS-015 | SWR-SYS-015 | SF-SYS | GPIO Manager, I2C Controller | Hardware Test |
|
||||
| SR-SYS-016 | SWR-SYS-016 | SF-SYS | GPIO Manager, ADC Controller | Hardware Test |
|
||||
| SR-SYS-017 | SWR-SYS-017 | SF-SYS | GPIO Manager, Documentation System | Documentation Review |
|
||||
| **Data Quality & Calibration** |
|
||||
| SR-DQC-001 | SWR-DQC-001 | SF-DQC | Sensor Detector, Hardware Interface | Hardware Test |
|
||||
| SR-DQC-002 | SWR-DQC-002 | SF-DQC | Sensor Detector, System Controller | Unit Test |
|
||||
| SR-DQC-003 | SWR-DQC-003 | SF-DQC | Sensor Manager, Sensor Detector | Integration Test |
|
||||
| SR-DQC-004 | SWR-DQC-004 | SF-DQC | Sensor Type Enforcer, Configuration Manager | Unit Test |
|
||||
| SR-DQC-005 | SWR-DQC-005 | SF-DQC | Sensor Type Enforcer, Sensor Validator | Unit Test |
|
||||
| SR-DQC-006 | SWR-DQC-006 | SF-DQC | Sensor Type Enforcer, Diagnostics Manager | Integration Test |
|
||||
| SR-DQC-007 | SWR-DQC-007 | SF-DQC | Sensor Failure Detector, Health Monitor | Unit Test |
|
||||
| SR-DQC-008 | SWR-DQC-008 | SF-DQC | Sensor Failure Detector, Sensor Monitor | Unit Test |
|
||||
| SR-DQC-009 | SWR-DQC-009 | SF-DQC | Sensor Manager, Sensor Failure Detector | Integration Test |
|
||||
| SR-DQC-010 | SWR-DQC-010 | SF-DQC | Sensor Failure Detector, Communication Manager | Unit Test |
|
||||
| SR-DQC-011 | SWR-DQC-011 | SF-DQC | Machine Constants Manager, Configuration Storage | Unit Test |
|
||||
| SR-DQC-012 | SWR-DQC-012 | SF-DQC | Machine Constants Manager, Persistence Manager | Integration Test |
|
||||
| SR-DQC-013 | SWR-DQC-013 | SF-DQC | Machine Constants Manager, System Controller | Unit Test |
|
||||
| SR-DQC-014 | SWR-DQC-014 | SF-DQC | Machine Constants Manager, Communication Manager | Integration Test |
|
||||
| SR-DQC-015 | SWR-DQC-015 | SF-DQC | Machine Constants Manager, Teardown Manager | Integration Test |
|
||||
| SR-DQC-016 | SWR-DQC-016 | SF-DQC | Redundant Sensor Manager, Sensor Manager | Unit Test |
|
||||
| SR-DQC-017 | SWR-DQC-017 | SF-DQC | Sensor Fusion Engine, Redundant Sensor Manager | Unit Test |
|
||||
| SR-DQC-018 | SWR-DQC-018 | SF-DQC | Redundant Sensor Manager, Configuration Manager | Integration Test |
|
||||
| **OTA** |
|
||||
| SR-OTA-001 | SWR-OTA-001 | SF-OTA | Update Negotiator, OTA Manager | Integration Test |
|
||||
| SR-OTA-002 | SWR-OTA-002 | SF-OTA | Update Negotiator, System State Manager | Unit Test |
|
||||
| SR-OTA-003 | SWR-OTA-003 | SF-OTA | OTA Manager, Communication Manager | Unit Test |
|
||||
| SR-OTA-004 | SWR-OTA-004 | SF-OTA | Firmware Receiver, Communication Manager | Integration Test |
|
||||
| SR-OTA-005 | SWR-OTA-005 | SF-OTA | Firmware Storage, Storage Abstraction | Unit Test |
|
||||
| SR-OTA-006 | SWR-OTA-006 | SF-OTA | Partition Manager, OTA Manager | Unit Test |
|
||||
| SR-OTA-007 | SWR-OTA-007 | SF-OTA | Integrity Validator, Crypto Manager | Unit Test |
|
||||
| SR-OTA-008 | SWR-OTA-008 | SF-OTA | Integrity Validator, OTA Manager | Security Test |
|
||||
| SR-OTA-009 | SWR-OTA-009 | SF-OTA | OTA Manager, Communication Manager | Integration Test |
|
||||
| SR-OTA-010 | SWR-OTA-010 | SF-OTA | Firmware Activator, Teardown Manager | Integration Test |
|
||||
| SR-OTA-011 | SWR-OTA-011 | SF-OTA | Firmware Activator, Persistence Manager | Unit Test |
|
||||
| SR-OTA-012 | SWR-OTA-012 | SF-OTA | Firmware Activator, Integrity Validator | Unit Test |
|
||||
| SR-OTA-013 | SWR-OTA-013 | SF-OTA | Firmware Activator, Boot Controller | Integration Test |
|
||||
| SR-OTA-014 | SWR-OTA-014 | SF-OTA | Partition Manager, Boot Controller | Hardware Test |
|
||||
| SR-OTA-015 | SWR-OTA-015 | SF-OTA | Rollback Manager, Partition Manager | Integration Test |
|
||||
| SR-OTA-016 | SWR-OTA-016 | SF-OTA | Rollback Manager, Communication Manager | Unit Test |
|
||||
| **Security** |
|
||||
| SR-SEC-001 | SWR-SEC-001 | SF-SEC | Secure Boot Controller, Boot Validator | Hardware Test |
|
||||
| SR-SEC-002 | SWR-SEC-002 | SF-SEC | Secure Boot Controller, Security Manager | Security Test |
|
||||
| SR-SEC-003 | SWR-SEC-003 | SF-SEC | Security Manager, System State Manager | Unit Test |
|
||||
| SR-SEC-004 | SWR-SEC-004 | SF-SEC | eFuse Manager, Hardware Security Module | Hardware Test |
|
||||
| SR-SEC-005 | SWR-SEC-005 | SF-SEC | Flash Encryption Manager, Crypto Manager | Hardware Test |
|
||||
| SR-SEC-006 | SWR-SEC-006 | SF-SEC | Storage Encryption, Crypto Manager | Unit Test |
|
||||
| SR-SEC-007 | SWR-SEC-007 | SF-SEC | Key Manager, Access Control | Security Test |
|
||||
| SR-SEC-008 | SWR-SEC-008 | SF-SEC | Data Integrity Manager, Storage Abstraction | Unit Test |
|
||||
| SR-SEC-009 | SWR-SEC-009 | SF-SEC | TLS Manager, Communication Manager | Integration Test |
|
||||
| SR-SEC-010 | SWR-SEC-010 | SF-SEC | TLS Manager, Message Validator | Security Test |
|
||||
| SR-SEC-011 | SWR-SEC-011 | SF-SEC | TLS Manager, OTA Manager | Integration Test |
|
||||
| SR-SEC-012 | SWR-SEC-012 | SF-SEC | Security Violation Handler, TLS Manager | Unit Test |
|
||||
| SR-SEC-013 | SWR-SEC-013 | SF-SEC | Security Violation Handler, Diagnostics Manager | Unit Test |
|
||||
| SR-SEC-014 | SWR-SEC-014 | SF-SEC | Anti-Rollback Manager, eFuse Manager | Hardware Test |
|
||||
| SR-SEC-015 | SWR-SEC-015 | SF-SEC | Key Manager, Power Manager | Security Test |
|
||||
|
||||
## 3. Traceability Statistics
|
||||
|
||||
### 3.1 Coverage Summary
|
||||
- **Total System Requirements**: 85
|
||||
- **Total Software Requirements**: 123
|
||||
- **Total Software Features**: 8
|
||||
- **Total Components**: 67 (unique)
|
||||
- **Average Requirements per Feature**: 15.4
|
||||
- **Average Components per Feature**: 8.4
|
||||
|
||||
### 3.2 Verification Method Distribution
|
||||
| Verification Method | Count | Percentage |
|
||||
|-------------------|-------|------------|
|
||||
| Unit Test | 64 | 52.0% |
|
||||
| Integration Test | 35 | 28.5% |
|
||||
| Hardware Test | 15 | 12.2% |
|
||||
| Security Test | 7 | 5.7% |
|
||||
| Performance Test | 3 | 2.4% |
|
||||
| State Machine Test | 1 | 0.8% |
|
||||
| Documentation Review | 1 | 0.8% |
|
||||
|
||||
### 3.3 Feature Complexity Analysis
|
||||
| Software Feature | System Req Count | Software Req Count | Component Count |
|
||||
|------------------|------------------|-------------------|-----------------|
|
||||
| SF-DQC | 18 | 18 | 12 |
|
||||
| SF-COM | 17 | 17 | 11 |
|
||||
| SF-SYS | 17 | 17 | 13 |
|
||||
| SF-OTA | 16 | 16 | 9 |
|
||||
| SF-SEC | 15 | 15 | 10 |
|
||||
| SF-DIAG | 14 | 14 | 8 |
|
||||
| SF-DATA | 13 | 13 | 9 |
|
||||
| SF-DAQ | 13 | 13 | 7 |
|
||||
|
||||
## 4. Cross-Feature Component Dependencies
|
||||
|
||||
### 4.1 Shared Components
|
||||
| Component | Used by Features | Usage Count |
|
||||
|-----------|------------------|-------------|
|
||||
| Communication Manager | SF-COM, SF-DQC, SF-OTA | 3 |
|
||||
| Persistence Manager | SF-DATA, SF-DIAG, SF-SYS, SF-DQC, SF-OTA | 5 |
|
||||
| System State Manager | SF-SYS, SF-DATA, SF-OTA, SF-SEC | 4 |
|
||||
| Diagnostics Manager | SF-DIAG, SF-DQC, SF-SEC | 3 |
|
||||
| Crypto Manager | SF-COM, SF-OTA, SF-SEC | 3 |
|
||||
| Data Pool | SF-DAQ, SF-COM, SF-DATA | 3 |
|
||||
|
||||
### 4.2 Critical Path Components
|
||||
Components that appear in multiple features and are critical for system operation:
|
||||
1. **Persistence Manager**: Core data management across 5 features
|
||||
2. **System State Manager**: State control across 4 features
|
||||
3. **Communication Manager**: External interface across 3 features
|
||||
4. **Diagnostics Manager**: Health monitoring across 3 features
|
||||
|
||||
## 5. Validation Results
|
||||
|
||||
### 5.1 Completeness Check
|
||||
- ✅ All system requirements mapped to software requirements
|
||||
- ✅ All software requirements mapped to software features
|
||||
- ✅ All software requirements mapped to implementing components
|
||||
- ✅ All mappings have verification methods assigned
|
||||
|
||||
### 5.2 Consistency Check
|
||||
- ✅ No orphan system requirements
|
||||
- ✅ No orphan software requirements
|
||||
- ✅ No orphan software features
|
||||
- ✅ No circular dependencies identified
|
||||
|
||||
### 5.3 Coverage Analysis
|
||||
- ✅ 100% system requirement coverage
|
||||
- ✅ 100% software requirement coverage
|
||||
- ✅ All critical system functions covered by multiple components
|
||||
- ✅ Verification methods appropriate for requirement types
|
||||
|
||||
## 6. Risk Analysis
|
||||
|
||||
### 6.1 High-Risk Components
|
||||
Components with high requirement coverage that pose integration risks:
|
||||
1. **Persistence Manager** (13 requirements across 5 features)
|
||||
2. **Communication Manager** (11 requirements across 3 features)
|
||||
3. **System State Manager** (7 requirements across 4 features)
|
||||
|
||||
### 6.2 Verification Gaps
|
||||
- Hardware tests concentrated in specific features (GPIO, Security, OTA)
|
||||
- Security tests limited to security-critical components
|
||||
- Performance tests minimal (only 3 requirements)
|
||||
|
||||
## 7. Recommendations
|
||||
|
||||
### 7.1 Implementation Priority
|
||||
1. **Foundation Layer**: SF-SEC, SF-SYS (security and state management)
|
||||
2. **Data Layer**: SF-DATA, SF-DIAG (persistence and diagnostics)
|
||||
3. **Functional Layer**: SF-DAQ, SF-DQC (sensor functionality)
|
||||
4. **Communication Layer**: SF-COM (external interfaces)
|
||||
5. **Maintenance Layer**: SF-OTA (firmware updates)
|
||||
|
||||
### 7.2 Testing Strategy
|
||||
- Focus integration testing on shared components
|
||||
- Implement comprehensive hardware testing for GPIO and security features
|
||||
- Add performance testing for time-critical operations
|
||||
- Establish security testing protocols for cryptographic components
|
||||
|
||||
## 8. Notes
|
||||
|
||||
1. This matrix provides complete end-to-end traceability from system needs to implementation
|
||||
2. Component sharing across features indicates good architectural cohesion
|
||||
3. Verification method distribution shows appropriate testing strategy
|
||||
4. High component reuse indicates efficient architecture design
|
||||
5. Critical path analysis helps identify integration risks and priorities
|
||||
Reference in New Issue
Block a user