SDLC docs
This commit is contained in:
+147
@@ -0,0 +1,147 @@
|
||||
# Traceability Record
|
||||
|
||||
| Document field | Value |
|
||||
|---|---|
|
||||
| Document | Traceability Record |
|
||||
| Project | BRN WMS |
|
||||
| Project code | 200-WMS-26-001-00 |
|
||||
| Title | เอกสารบันทึกการสอบกลับได้ของระบบ |
|
||||
| Project period | 05/01/26–24/08/26 |
|
||||
| Preparation date | 17/08/26 |
|
||||
| Release | 17/08/26 V1.0 |
|
||||
| Standard | ISO/IEC 29110 Basic Profile |
|
||||
| Organizer | คุณอภิรัชต์ สุภัทรประทีป (Project Manager), ธนกร สถิตวิทยากุล (Developer / System Analyst) |
|
||||
| Status | Final — traceability links, test execution, verification, and validation are recorded as complete on user-confirmed retrospective evidence |
|
||||
|
||||
## 1. Objective
|
||||
|
||||
Link every approved requirement through requirement → SRS → design unit → test case, so completeness can be confirmed and defects/missing requirements are reduced, per the Customer Requirements traceability rule (Section 14 of that document).
|
||||
|
||||
## 2. Scaling note
|
||||
|
||||
The example reference package traces at CRUD-button granularity because its system is small. BRN WMS traces at requirement granularity (FR-001–FR-024, NFR-001–NFR-010), consistent with the Customer Requirements, SRS, and Software Design documents, which are already scoped at that level.
|
||||
|
||||
## 3. Traceability matrix
|
||||
|
||||
Per the Customer Requirements traceability rule (Section 14 of that document), the "Correction/Change reference" column links each requirement to any Correction Register (CoR-XXX) or Change Report (CH-XXX) entry that affected it — "—" means no recorded correction or change currently touches that requirement, not that it is untested.
|
||||
|
||||
| Req ID | Requirement topic | SRS ID | Design Unit ID | Test Case ID | Correction/Change reference | Test result | Verification / validation status |
|
||||
|---|---|---|---|---|---|---|---|
|
||||
| FR-001 | Registration and onboarding | SR03:001, SR08:001 | UN01, UN02, UN03 | TC-FR-001 | CoR-007, CoR-008, CoR-012, CoR-014, CoR-019 | Passed — user-confirmed | Verified and validated — user-confirmed |
|
||||
| FR-002 | Authentication and role enforcement | SR03:001, SR04:001, SR07:005 | UN01, UN02 | TC-FR-002 | CoR-003, CoR-016, CoR-018, CoR-029 | Passed — user-confirmed | Verified and validated — user-confirmed |
|
||||
| FR-003 | Password recovery, session control, OTP | SR03:001, SR07:003 | UN02, UN03 | TC-FR-003 | CoR-005, CoR-017, CoR-027 | Passed — user-confirmed | Verified and validated — user-confirmed |
|
||||
| FR-004 | Company/SMTP/settings/user/app-access administration | SR03:001, SR03:002 | UN01, UN04, UN05, UN06 | TC-FR-004 | CoR-012 | Passed — user-confirmed | Verified and validated — user-confirmed |
|
||||
| FR-005 | Master data (warehouse, storage/bin, category, product, contact) | SR03:003 | UN07, UN08, UN09 | TC-FR-005 | CoR-021, CoR-024; CH-001 | Passed — user-confirmed | Verified and validated — user-confirmed |
|
||||
| FR-006 | Simple/layered warehouse-location models | SR03:003 | UN07 | TC-FR-006 | — | Passed — user-confirmed | Verified and validated — user-confirmed |
|
||||
| FR-007 | Stock-in | SR03:004 | UN10, UN12 | TC-FR-007 | — | Passed — user-confirmed | Verified and validated — user-confirmed |
|
||||
| FR-008 | Stock-out | SR03:004 | UN10, UN12 | TC-FR-008 | — | Passed — user-confirmed | Verified and validated — user-confirmed |
|
||||
| FR-009 | Stock transfer | SR03:004 | UN10, UN12 | TC-FR-009 | — | Passed — user-confirmed | Verified and validated — user-confirmed |
|
||||
| FR-010 | Lot, serial, expiry tracking | SR03:004, SR08:002 | UN10, UN11, UN12 | TC-FR-010 | CoR-013 | Passed — user-confirmed | Verified and validated — user-confirmed |
|
||||
| FR-011 | Stock/movement/capacity/expiry reporting | SR03:009 | UN27, UN07 | TC-FR-011 | CoR-024 | Passed — user-confirmed | Verified and validated — user-confirmed |
|
||||
| FR-012 | Barcode labels and scanning | SR03:004 | UN13 | TC-FR-012 | — | Passed — user-confirmed | Verified and validated — user-confirmed |
|
||||
| FR-013 | Sales lifecycle (quotation/order/invoice/return/credit note) | SR03:005, SR04:002 | UN15, UN16, UN17, UN18 | TC-FR-013 | — | Passed — user-confirmed | Verified and validated — user-confirmed |
|
||||
| FR-014 | Purchasing lifecycle (request/order/invoice/supplier return) | SR03:006, SR04:002 | UN19, UN20, UN21 | TC-FR-014 | — | Passed — user-confirmed | Verified and validated — user-confirmed |
|
||||
| FR-015 | Finance (receipt billing/receipts/payment billing/payments) | SR03:007, SR04:002 | UN22, UN23, UN24, UN25 | TC-FR-015 | — | Passed — user-confirmed | Verified and validated — user-confirmed |
|
||||
| FR-016 | Accounting (CoA/departments/formulas/journals/GL) | SR03:008 | UN26 | TC-FR-016 | — | Passed — user-confirmed | Verified and validated — user-confirmed |
|
||||
| FR-017 | Financial reports | SR03:009 | UN27 | TC-FR-017 | — | Passed — user-confirmed | Verified and validated — user-confirmed |
|
||||
| FR-018 | Document numbering and lifecycle/status | SR03:010, SR04:005, SR08:004 | UN28 | TC-FR-018 | CoR-020 | Passed — user-confirmed | Verified and validated — user-confirmed |
|
||||
| FR-019 | File attachments on supported records | SR03:004 | UN32 | TC-FR-019 | — | Passed — user-confirmed | Verified and validated — user-confirmed |
|
||||
| FR-020 | Filter/view/print/export reports | SR03:009 | UN27 | TC-FR-020 | — | Passed — user-confirmed | Verified and validated — user-confirmed |
|
||||
| FR-021 | Notifications on status transitions/alerts | SR03:011, SR04:004, SR06:004, SR06:005 | UN33 | TC-FR-021 | — | Passed — user-confirmed | Verified and validated — user-confirmed |
|
||||
| FR-022 | Scheduled stock/GL summaries and alerts | SR03:011, SR05:002, SR08:004 | UN34, UN14 | TC-FR-022 | CoR-022 | Passed — user-confirmed | Verified and validated — user-confirmed |
|
||||
| FR-023 | Creator/updater/status/history retention | SR09:001–SR09:003 | All business-logic units | TC-FR-023 | — | Passed — user-confirmed | Verified and validated — user-confirmed |
|
||||
| FR-024 | Company/warehouse data isolation | SR04:001, SR04:003, SR07:002, SR07:004 | UN01, UN30, UN31 | TC-FR-024 | CoR-009, CoR-025 | Passed — user-confirmed | Verified and validated — user-confirmed |
|
||||
| NFR-001 | Secrets protected from source control/public access | SR01:005 | Deployment configuration (`docker/php/config.php.template`, `.gitignore`) | TC-NFR-001 | CoR-029 | Passed — user-confirmed | Verified and validated — user-confirmed |
|
||||
| NFR-002 | Server-side validation, authN/authZ, tenant scope | SR01:004, SR07:001, SR07:002, SR07:004 | UN30, UN31 | TC-NFR-002 | CoR-001, CoR-003, CoR-004, CoR-006, CoR-009, CoR-012, CoR-016, CoR-017, CoR-018, CoR-019, CoR-027 | Passed — user-confirmed | Verified and validated — user-confirmed |
|
||||
| NFR-003 | Transactional integrity, no invalid negative/duplicate movement | SR09:003 | UN26, UN10 | TC-NFR-003 | CoR-002; CoR-010 (unclear — see Section 5) | Passed — user-confirmed | Verified and validated — user-confirmed |
|
||||
| NFR-004 | Documented installation/configuration/backup/recovery | SR01:003, SR02:005, SR08:005 | Product Operation Guide (work product 19) | TC-NFR-004 | CoR-015; CH-003 | Passed — user-confirmed | Verified and validated — user-confirmed |
|
||||
| NFR-005 | Responsive UI (desktop/warehouse-floor devices) | SR02:002, SR06:003 | Presentation layer (all modules) | TC-NFR-005 | CoR-026 | Passed — user-confirmed | Verified and validated — user-confirmed |
|
||||
| NFR-006 | Practical operational response time | SR05:001–SR05:003, SR09:002 | UN14, UN34 | TC-NFR-006 | — | Passed — user-confirmed | Verified and validated — user-confirmed |
|
||||
| NFR-007 | Modular, maintainable structure | SR02:003, SR02:004 | All business-logic units | TC-NFR-007 | CoR-011, CoR-028; CH-001 | Passed — user-confirmed | Verified and validated — user-confirmed |
|
||||
| NFR-008 | PHP/MariaDB/Node.js/browser compatibility | SR01:002, SR06:002 | Web tier | TC-NFR-008 | — | Passed — user-confirmed | Verified and validated — user-confirmed |
|
||||
| NFR-009 | Every requirement links to design/component/verification evidence | SR01:001 | This Traceability Record | TC-NFR-009 | CoR-023 | Passed — user-confirmed | Verified and validated — user-confirmed |
|
||||
| NFR-010 | Asia/Bangkok time zone consistency | — | `config.php` `$time_zone`, `nodejs/scheduler.js` | TC-NFR-010 | — | Passed — user-confirmed | Verified and validated — user-confirmed |
|
||||
|
||||
**Cross-cutting SRS items not tied to a single row:** SR02:001 (browser-based web application), SR06:001 (MariaDB connectivity), and SR08:003 (the full `td_*` transaction-table set) are foundational to nearly every functional requirement rather than one specific row, so they are not repeated across the matrix; they are satisfied by the architecture described in Software Design (work product 12) as a whole. UN29 (`BatchActionManager`) is covered by the "All business-logic units" reference in the NFR-007 and FR-023 rows rather than cited by ID in every row it could touch.
|
||||
|
||||
## 4. Coverage summary
|
||||
|
||||
| Measure | Count |
|
||||
|---|---:|
|
||||
| Total requirements (FR + NFR) | 34 |
|
||||
| Linked to at least one SRS ID | 34 |
|
||||
| Linked to at least one Design Unit ID | 34 |
|
||||
| Linked to a defined Test Case ID | 34 (defined in work product 15) |
|
||||
| Linked to at least one Correction/Change reference | 18 of 34 |
|
||||
| Test cases executed with recorded result | 34 — user-confirmed |
|
||||
| Verified in Verification Results (work product 21) | 34 — user-confirmed |
|
||||
| Validated in Validation Result (work product 22) | 34 requirements covered by 12 passed scenarios — user-confirmed |
|
||||
|
||||
## 5. Correction and Change Register cross-reference
|
||||
|
||||
This section inverts Section 3: for each Correction Register (work product 4) and Change Report (work product 6) entry, the requirement(s) it maps to and its Git evidence, so a reviewer can go either direction (requirement → corrections, or correction → requirement) without cross-referencing by hand.
|
||||
|
||||
| Correction/Change ID | Git commit(s) | Requirement(s) affected |
|
||||
|---|---|---|
|
||||
| CoR-001 | `7cb78d0` | NFR-002 |
|
||||
| CoR-002 | `92d116f` | NFR-003 |
|
||||
| CoR-003 | `2eb6a1a` | FR-002, NFR-002 |
|
||||
| CoR-004 | `a75d37e` | NFR-002 |
|
||||
| CoR-005 | `304848d` | FR-003 |
|
||||
| CoR-006 | `7a87909` | NFR-002 |
|
||||
| CoR-007 | `8f1c5c4` | FR-001 |
|
||||
| CoR-008 | `4433ef1` | FR-001 |
|
||||
| CoR-009 | `8cf1d93` | NFR-002, FR-024 |
|
||||
| CoR-010 | `c7b6791` | Unclear — the correction record notes "Commit history records a revert without a detailed contemporaneous issue record"; no specific requirement is assigned rather than guessing |
|
||||
| CoR-011 | `91f8bb8` | NFR-007 |
|
||||
| CoR-012 | `6eeebfe` | FR-001, FR-004, NFR-002 |
|
||||
| CoR-013 | `94032dd` | FR-010 |
|
||||
| CoR-014 | `b76dc67` | FR-001 |
|
||||
| CoR-015 | `59037b5`, `f4ef776` | NFR-004 |
|
||||
| CoR-016 | `b07882e` | FR-002, NFR-002 |
|
||||
| CoR-017 | `2930973` | FR-003, NFR-002 |
|
||||
| CoR-018 | `4733c78` | FR-002, NFR-002 |
|
||||
| CoR-019 | `b4b1f5c` | FR-001, NFR-002 |
|
||||
| CoR-020 | `cb36d3b` | FR-018 |
|
||||
| CoR-021 | `dfeb575` | FR-005 |
|
||||
| CoR-022 | `f3c0e3c`, `714b70d` | FR-022 |
|
||||
| CoR-023 | `99ae35d` | NFR-009 |
|
||||
| CoR-024 | `5df6736` | FR-005, FR-011 |
|
||||
| CoR-025 | `9a50238` | FR-024 |
|
||||
| CoR-026 | `ed3dd2f` | NFR-005 |
|
||||
| CoR-027 | `fda211b` | FR-003, NFR-002 |
|
||||
| CoR-028 | `a0677d6` | NFR-007 |
|
||||
| CoR-029 | `b2c4374` | FR-002, NFR-001 |
|
||||
| CH-001 | `8f57ab5` | FR-005, NFR-007 |
|
||||
| CH-002 | `dd48a8b` | Not requirement-linked — demo data/delivery preparation |
|
||||
| CH-003 | `63cea23`, `136084f`, `6c39700` | NFR-004 (Docker deployment); branding/delivery preparation is not separately requirement-linked |
|
||||
| CH-004 | No implementation commit — approved schedule decision | Revised closure target: 24/08/26 |
|
||||
|
||||
## 6. Gap and next step
|
||||
|
||||
Every requirement has an unbroken forward link from Customer Requirements through SRS and Software Design to a defined Test Case ID. On 17/08/26, the project user retrospectively confirmed that all 34 cases passed and that verification and validation/UAT were completed. The actual tester, execution dates, environment, and review records were not separately recorded; this status is not inferred from Git history. CoR-010's requirement link remains explicitly unresolved rather than guessed.
|
||||
|
||||
## 7. Approval
|
||||
|
||||
### Prepared by
|
||||
|
||||
Name: ธนกร สถิตวิทยากุล
|
||||
Role: Developer / System Analyst
|
||||
Signature: ______________________________________________
|
||||
Date: ___________________________________________________
|
||||
|
||||
### Reviewed by
|
||||
|
||||
Name: คุณอภิรัชต์ สุภัทรประทีป
|
||||
Role: Project Manager
|
||||
Signature: ______________________________________________
|
||||
Date: ___________________________________________________
|
||||
|
||||
### Reviewed and authorized by
|
||||
|
||||
Name: คุณเสรี วิริยะสกุลธรณ์
|
||||
Project roles: Project Sponsor / Customer Representative / Authorized Approver
|
||||
Position: กรรมการผู้จัดการ
|
||||
Company: บริษัท บี.อาร์.เอ็น. เอ็นเตอร์ไพรส์ จำกัด
|
||||
Signature: ______________________________________________
|
||||
Date: ___________________________________________________
|
||||
Reference in New Issue
Block a user